Re: patch: fix 30 second hang while resuming

From: Anish Mistry <mistry.7_at_osu.edu>
Date: Fri, 4 Mar 2005 16:55:09 -0500
On Sunday 27 February 2005 06:12 pm, Nate Lawson wrote:
> Nate Lawson wrote:
> > My system hangs a long time in ata_generic_reset() while
> > resuming.  I did some hunting and found that the loop was running
> > for the full 310 * 100 ms (31 seconds).  The bug is that the loop
> > never exits when mask goes to 0 even though this is a termination
> > condition (see end of the loop where the code masks off 1 and 2).
> >
> > The attached patch fixes this by exiting when the mask is set to
> > 0 instead of looping the full 31 seconds.  This is correct since
> > setting the mask to 0 is how the loop marks master/slave "done". 
> > It also has a minor whitespace fix.
>
> Apologies, the last patch was not quite right.  You need to check
> that both status values are not "busy" as well as the mask.  This
> check could be merged in elsewhere as well.  This was just a
> convenient place to put it.
>
> Please use the attached patch instead.
This works well for me.  Is this going to be committed?

-- 
Anish Mistry

Received on Fri Mar 04 2005 - 20:51:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:29 UTC