Date: Mon, 15 Nov 2004 23:18:54 +0300 From: Gleb Smirnoff <glebius@freebsd.org> To: Andrew Belashov <bel@orel.ru> Cc: freebsd-mobile@freebsd.org Subject: Re: Trouble with APM suspend in 5.3-R Message-ID: <20041115201854.GC96804@cell.sick.ru> In-Reply-To: <41985A4E.7050406@orel.ru> References: <41904661.nail8S61G6SLH@mail.com> <20041109075144.GB41761@cell.sick.ru> <4191F77C.1090606@orel.ru> <20041110111615.GB54769@cell.sick.ru> <41985A4E.7050406@orel.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041115201854.GC96804>