Re: IDE problems in 2.6.12-rc1-bk1 onwards (was Re: 2.6.12-rc3-mm1)

From: Alan Cox
Date: Wed May 04 2005 - 10:46:59 EST


On Llu, 2005-05-02 at 20:39, Richard Purdie wrote:
> We've had this conversation before - I tried the -ac tree and found that
> whilst it will retry, it blocked whilst waiting and this blocking meant the
> status of the drive never changed. The "cardctl eject" command would
> therefore just sit there locked up which didn't really solve my problem.

You have to do that, stick a scope on the port and you'll see that the
IDE layer is still writing to the I/O ports until the last reference is
dropped.

> The changeover to the driver model means all the callbacks.get handled by
> the kobjects and the function only needs to be called once. I applied that
> patch and so far it seems to be working very well. As an added bonus,
> hotunpluging is also working. I can still make it oops but seemingly not in
> the ide layer any longer (now it looks vfs related :).

It is definitely the right way to go, but you do also have to kill the
IDE ops and know that every current operating reference is no longer
using the old IDE ops before you can safely reuse a PCMCIA port/PCI
slot, otherwise you merely trade easy to find bugs for really nasty
hotplug races.

Alan

-
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/