Date: Wed, 26 Jun 2002 13:27:48 -0700 (PDT) From: Doug Ambrisko <ambrisko@ambrisko.com> To: murat demirbas <demirbas@cis.ohio-state.edu> Cc: freebsd-mobile@FreeBSD.ORG Subject: Re: Soundcard freezes after a suspend... Message-ID: <200206262027.g5QKRm002976@ambrisko.com> In-Reply-To: <200206232033.g5NKX7l16315@gamma.cis.ohio-state.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
murat demirbas writes:
| I managed to install FreeBSD 4.5 on my Thinkpad T20 a few days ago...
| I am enjoying the ride... Wireless support is awesome...
| Everything is almost perfect...
|
| I configured APM so I can suspend my laptop...
| However, when I resume the laptop, the soundcard freezes...
|
| I get the following error when I attempt to play XMMS:
| bash-2.05a#
| ** WARNING **: oss_open(): Failed to open audio device (/dev/dsp): Device busy
|
|
| I couldn't figure out the problem... My soundcard works fine when I
| reboot the system but freezes again after the first suspend...
|
| Can anybody suggest a quick fix? I won't mind entering a few commands to restart snd device...
|
|
| More information on my system:
| I configured soundcard my putting "device pcm" in my Kernel.conf
| My soundcard is CS46xx
| Yes, I disabled "PCI bus sleep mode" from BIOS
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?200206262027.g5QKRm002976>
