Bartlomiej, your commit 5b31f855f10d0053e738baa6d91fb6a3fad35119 (introduction of IDE lock helpers) breaks Atari Falcon IDE on the first request going out to the drive, if I remove the request_irq() call from ide-probe.c (as it should be). ide_get_lock has the important side effect of registering the IDE interrupt as the current valid interrupt handler for the 'shared' ST-DMA interrupt dispatch. The lock must be held for all operations on the host that expect an interrupt to be taken. In the current form, the lock helpers only register the interrupt if the IDE_HFLAG_SERIALIZE host flag is set. This does not appear to be the case for the Falcon IDE host. Consequently, the lock does not seem to be taken at all times when IDE should be passed the interrupt. If I remove the extra request_irq() in ide-probe.c, the first request reading from the drive times out with hda: lost interrupt. Even if request_irq() is called in ide-probe.c for Falcon, the current code would open races with other users of the ST-DMA lock (in a worse way than the previous code did, i.e. by registering the IDE interrupt handler in addition to the ST-DMA dispatch for the IDE/SCSI/DMA/Floppy interrupt). I am currently working to eliminate such races in the interaction of IDE and SCSI drivers, and the duplicated interrupt has been shown up as a suspect there (incidentially, that's why the problem never showed in Geert's ARAnyM tests). Can you make sure the IDE_HFLAG_SERIALIZE is set for Falcon IDE, or the problematic test is removed in that case? Thanks, Michael -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html