Re: RESEND: [PATCH] libata-sff: Fix oops reported in kerneloops.org for pnp devices with no ctl

Jeff Garzik
2008-05-29T18:14:23Z

Linus Torvalds wrote:
>
> On Thu, 29 May 2008, Jeff Garzik wrote:
>>> It may be that you meant to make it an "else if" case, ie if there was no
>>> IO-read, then you do a ndelay(400) as a last desperate case, but that's not
>>> how your ata_sdd_sync() is actually written.
>> The double-ndelay is definitely wrong, but we do need one. Technically it
>> should -only- be a 400ns delay, but we also have a register read in there to
>> make sure any posted writes are flushed.
>
> Well, but the "read + delay" is already in ata_sdd_pause().

Right, that's what I meant by double-ndelay.

> So it's "ata_sdd_sync()" that I think is bogus. Based on its name alone,
> it shouldn't have a delay in it (except, as mentioned, possibly for the
> fallback case where no port can be used for reading).

Agreed,

Jeff