Re: ide timer trbl ...

Martin Dalecki (dalecki@evision-ventures.com)
Mon, 11 Mar 2002 21:12:18 +0100


Alan Cox wrote:
>>Would you mind as well to just apply ide-clean-18 and ide-clean-19
>>on top of each other and recheck?
>>
>
> We see that one on 2.4 if you enable some of the work in progress options.
> It seems that the timeout path is forgetting to clear the old handler. I've
> not pinned it down since its deep in the WIP stuff.

Ahh... this is really helpfull. Indeed I see the same. At most
places ide_set_handler get's just called without clearing
it before. This means that the IRQ handler routine abused as timeout handler
doesn't clear it as well. For example one could imagine that reset_pollfunc
get's called multiple times one after another on asynchronous interfaces.

Hmm but if one thinks a bit further: the timer is an entity related to a
command. If we stop sending commands with the assumption that master vers. slave
oprtations are mutual on each other, then it becomes abvious that this timeout
timer is indeed an entity, which should be hooked to a particular drive and not
just the interface (ide_hwif_t). So the fix will be a bit much
more involved. This may very well explain the problems of Zwambe as
well... (disks overlapping with CD-ROM operations).

Please correct me if my reasoning is wrong.

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