cvs commit: src/sys/dev/ata ata-all.c

Nate Lawson nate at root.org
Mon Feb 7 10:36:27 PST 2005


Matthew N. Dodd wrote:
> mdodd       2005-02-07 17:14:42 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/dev/ata          ata-all.c 
>   Log:
>   Avoid using tsleep() in the resume path as it may result in the
>   system hanging if timer interrupts aren't running yet.
>   
>   This allows my Thinkpad to resume successfully with APM.
>   
>   Approved by:     sos
>   MFC after:       2 weeks
>   
>   Revision  Changes    Path
>   1.235     +4 -1      src/sys/dev/ata/ata-all.c

Thank you!  I grabbed the following backtrace when my system started 
hanging for about 30 seconds in the resume path and was going to look 
into fixing it:

sched_switch()
mi_switch()
sleepq_switch()
sleepq_timedwait()
msleep()
ata_udelay+0x5d
ata_generic_reset+0x546
ata_reinit+0x104
ata_resume+0x2e
...

-- 
Nate


More information about the cvs-all mailing list