Skip site navigation (1)Skip section navigation (2)
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>