Date: Thu, 27 Jun 2002 19:30:14 -0700 (PDT) From: Doug Ambrisko <ambrisko@ambrisko.com> To: murat demirbas <demirbas@cis.ohio-state.edu> Cc: freebsd-mobile@FreeBSD.ORG, cg@FreeBSD.ORG Subject: Re: Soundcard freezes after a suspend... Message-ID: <200206280230.g5S2UEW57876@ambrisko.com> In-Reply-To: <200206280041.g5S0fIp23464@gamma.cis.ohio-state.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Cameron do you think this is okay for me to commit to -current and then to -stable after a week. I've been running this on -stable. It compiles in -current and I don't see why it wouldn't work there. However, my laptop doesn't like to suspend and resume very well in -current so it's hard to test there. Also it's a bit of a hack and I was wondering if you as the sound guy had any objections. It better then the now when sound is dead after a resume and needs either a kldunload/kldload cycle or worse a power cycle. Thanks, Doug A. murat demirbas writes: | Doug, | | I cannot thank you more... | My soundcard now works even after the suspends... | | I think csa.c should include this patch to end the suffering of laptop users... | | Thank you very much... | Best wishes, | \murat | | > murat demirbas writes: | > | I configured APM so I can suspend my laptop... | > | However, when I resume the laptop, the soundcard freezes... | > | My soundcard is CS46xx | > | > Try this patch in /sys/dev/sound/pci then rebuild your kernel and reboot. | > I'm sure it is not the best way for me but it works for me and is | > better then doing a kldunload/kldload. | > | > Doug A. | > | > Index: csa.c | > =================================================================== | > RCS file: /cvs/src/sys/dev/sound/pci/csa.c,v | > retrieving revision 1.8.2.10 | > diff -c -r1.8.2.10 csa.c | > *** csa.c 22 Apr 2002 15:49:32 -0000 1.8.2.10 | > --- csa.c 26 Jun 2002 20:25:18 -0000 | > *************** | > *** 360,365 **** | > --- 360,374 ---- | > return bus_generic_detach(dev); | > } | > | > + static int | > + csa_resume(device_t dev) | > + { | > + csa_detach(dev); | > + csa_attach(dev); | > + | > + return 0; | > + } | > + | > static struct resource * | > csa_alloc_resource(device_t bus, device_t child, int type, int *rid, | > u_long start, u_long end, u_long count, u_int flags) | > *************** | > *** 1023,1029 **** | > DEVMETHOD(device_detach, csa_detach), | > DEVMETHOD(device_shutdown, bus_generic_shutdown), | > DEVMETHOD(device_suspend, bus_generic_suspend), | > ! DEVMETHOD(device_resume, bus_generic_resume), | > | > /* Bus interface */ | > DEVMETHOD(bus_print_child, bus_generic_print_child), | > --- 1032,1038 ---- | > DEVMETHOD(device_detach, csa_detach), | > DEVMETHOD(device_shutdown, bus_generic_shutdown), | > DEVMETHOD(device_suspend, bus_generic_suspend), | > ! DEVMETHOD(device_resume, csa_resume), | > | > /* Bus interface */ | > DEVMETHOD(bus_print_child, bus_generic_print_child), | > | To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200206280230.g5S2UEW57876>