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>
