From owner-freebsd-mobile Thu Jun 27 19:33: 6 2002 Delivered-To: freebsd-mobile@freebsd.org Received: from ambrisko.com (adsl-64-174-51-42.dsl.snfc21.pacbell.net [64.174.51.42]) by hub.freebsd.org (Postfix) with ESMTP id BCD1837B400; Thu, 27 Jun 2002 19:32:58 -0700 (PDT) Received: (from ambrisko@localhost) by ambrisko.com (8.11.6/8.11.6) id g5S2UEW57876; Thu, 27 Jun 2002 19:30:14 -0700 (PDT) (envelope-from ambrisko) From: Doug Ambrisko Message-Id: <200206280230.g5S2UEW57876@ambrisko.com> Subject: Re: Soundcard freezes after a suspend... In-Reply-To: <200206280041.g5S0fIp23464@gamma.cis.ohio-state.edu> To: murat demirbas Date: Thu, 27 Jun 2002 19:30:14 -0700 (PDT) Cc: freebsd-mobile@FreeBSD.ORG, cg@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL94b (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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