patch: fix 30 second hang while resuming
mistry.7 at osu.edu
Fri Mar 4 21:51:28 GMT 2005
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?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20050304/c9ff650b/attachment.bin
More information about the freebsd-stable