Re: patch: fix 30 second hang while resuming

From: Nate Lawson <nate_at_root.org>
Date: Fri, 04 Mar 2005 14:10:58 -0800
Anish Mistry wrote:
> 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?
> 

Already done (by Matthew Dodd).  It will hopefully be MFCd before 5.4.

-- 
Nate
Received on Fri Mar 04 2005 - 21:11:02 UTC

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