> We need to set the IRQ enable initially so that the identity information > can be read and the drive accessed etc. However, if no drives are > detected on a port, there is no callback into the low level driver - > the port_disable method is never called. (I believe it is with SATA.) No. It actually makes no sense to do so as libata is hot plug capable thus the usual case is "no drives are currently detected" > I tried asking about this several times before the driver was merged > and every time it was completely ignored. Provide a private postreset method thats static void my_postreset(struct ata_port *ap, unsigned int *classes) { if (classes[0] == ATA_DEV_NONE && classes[1] == ATA_DEV_NONE) { force IRQ off [should be off anyway] } else { return ata_std_postreset(ap, classes); } } - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html