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/