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

From: Linus Torvalds
Date: Thu May 29 2008 - 14:04:31 EST




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().

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).

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/