Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 07 Feb 2005 10:36:21 -0800
From:      Nate Lawson <nate@root.org>
To:        "Matthew N. Dodd" <mdodd@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/ata ata-all.c
Message-ID:  <4207B525.1050308@root.org>
In-Reply-To: <20050207171448.1007516A56B@hub.freebsd.org>
References:  <20050207171448.1007516A56B@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4207B525.1050308>