Re: Trouble with APM suspend in 5.3-R

Gleb Smirnoff <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
On Mon, Nov 15, 2004 at 10:27:10AM +0300, Andrew Belashov wrote:
A> Gleb Smirnoff wrote:
A> >On Wed, Nov 10, 2004 at 02:11:56PM +0300, Andrew Belashov wrote:
A> >A> >1) Merge revision 1.233 of ata-all.c to your 5.3-RELEASE ata-all.c
A> >A> 
A> >A> This revision helped me two weeks ago. Now, suspending worked correctly,
A> >A> but resume does not work. Kernel panics by kernel stack overflow.
A> >A> I do't have full back trace, but manualy reconstructed:
A> >
A> >To fix resume you need ata-all.patch. I've sent it to list recently.
A> 
A> After resolving problem with kernel stack overflow, I have applied
A> ata-all.patch. It really solves a problem!
A> 
A> However, problems of a similar nature arise if USB CardBus inserted.
A> System freeze when resumed and sleep in "usbdly". From sources:
A> 
A> ---[sys/dev/usb/usb_subr.c]---------
A> /* Delay for a certain number of ms */
A> void
A> usb_delay_ms(usbd_bus_handle bus, u_int ms)
A> {
A> 	/* Wait at least two clock ticks so we know the time has passed. */
A> 	if (bus->use_polling || cold)
A> 		delay((ms+1) * 1000);
A> 	else
A> 		tsleep(&ms, PRIBIO, "usbdly", (ms*hz+999)/1000 + 1);
A> }
A> ---[sys/dev/usb/usb_subr.c]---------

Seems like we need some hardware person to work with this. Short and precise
description of the problem is "tsleep() is broken on APM suspend".

-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
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.