Re: PATCH: clean up the IDE iops, add ones for a dead iface

From: David Woodhouse (dwmw2@infradead.org)
Date: Fri Feb 21 2003 - 04:13:00 EST


On Wed, 2003-02-19 at 16:56, Linus Torvalds wrote:
> On 19 Feb 2003, Benjamin Herrenschmidt wrote:
> > Hrm... I tend to agree with Russell here... 0x7f is the "safe" value
> > for IDE. IDE controllers with nothing wired shall have a pull down
> > on D7. The reason is simple: busy loops in the IDE code waiting for
> > BSY to go down.
>
> But that's a BUG.
>
> We've seen that before: try unplugging a PCMCIA IDE card unexpectedly.
>
> Guess what? It will start returning 0xff. And the machine dies, because
> the PCMCIA interrupt happened due to the removal event will also be shared
> by the IDE driver, so the IDE driver will react badly even before anybody
> has had a chance to tell it that the hardware no longer exists.

Er, actually they make the card detect pins a different length for a
reason -- not just so they look pretty :)

You are guaranteed a certain amount of time between the card detect
firing to signal removal, and the actual disconnection of the device.

And you can't rely on getting 0xFF; sometimes your box just locks up
hard if you try to access the missing hardware any time after the
'warning period' has expired and the device has actually gone.

Admittedly that's a fairly screwed box -- but I have them and was
expected to make them userproof.

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



This archive was generated by hypermail 2b29 : Sun Feb 23 2003 - 22:00:32 EST