Re: Soundcard freezes after a suspend...

Doug Ambrisko <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
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 [email protected]
with "unsubscribe freebsd-mobile" in the body of the message
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.