Trouble with APM suspend in 5.3-R

Andrew Belashov bel at orel.ru
Sun Nov 14 23:27:20 PST 2004


Gleb Smirnoff wrote:
> On Wed, Nov 10, 2004 at 02:11:56PM +0300, Andrew Belashov wrote:
> A> >1) Merge revision 1.233 of ata-all.c to your 5.3-RELEASE ata-all.c
> A> 
> A> This revision helped me two weeks ago. Now, suspending worked correctly,
> A> but resume does not work. Kernel panics by kernel stack overflow.
> A> I do't have full back trace, but manualy reconstructed:
> 
> To fix resume you need ata-all.patch. I've sent it to list recently.

After resolving problem with kernel stack overflow, I have applied
ata-all.patch. It really solves a problem!

However, problems of a similar nature arise if USB CardBus inserted.
System freeze when resumed and sleep in "usbdly". From sources:

---[sys/dev/usb/usb_subr.c]---------
/* Delay for a certain number of ms */
void
usb_delay_ms(usbd_bus_handle bus, u_int ms)
{
	/* Wait at least two clock ticks so we know the time has passed. */
	if (bus->use_polling || cold)
		delay((ms+1) * 1000);
	else
		tsleep(&ms, PRIBIO, "usbdly", (ms*hz+999)/1000 + 1);
}
---[sys/dev/usb/usb_subr.c]---------



More information about the freebsd-mobile mailing list