->prereset() returns -ENOENT to tell libata that the port is empty and reset sequencing should be stopped. This is not an error condition. Update ata_eh_reset() such that it sets device classes to ATA_DEV_NONE and return success in on -ENOENT. This makes spurious error message go away. Signed-off-by: Tejun Heo <htejun@xxxxxxxxx> --- This should do it and better fits the intention of the return value. Two things to note. 1. I think these ports should be made dummy instead of returning -ENOENT on prereset(). -ENOENT from prereset() was a hack to keep ata_piix's behavior unchanged while converting it to new EH. If no one objcts, I'll convert similar usages to use dummy ports after new init model and drop -ENOENT hack in #upstream. 2. -ENODEV sounds more appropriate. Why have I used -ENOENT. :-) Thanks. diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 7349c3d..361953a 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -1625,8 +1625,14 @@ static int ata_eh_reset(struct ata_port *ap, int classify, rc = prereset(ap); if (rc) { if (rc == -ENOENT) { - ata_port_printk(ap, KERN_DEBUG, "port disabled. ignoring.\n"); + ata_port_printk(ap, KERN_DEBUG, + "port disabled. ignoring.\n"); ap->eh_context.i.action &= ~ATA_EH_RESET_MASK; + + for (i = 0; i < ATA_MAX_DEVICES; i++) + classes[i] = ATA_DEV_NONE; + + rc = 0; } else ata_port_printk(ap, KERN_ERR, "prereset failed (errno=%d)\n", rc); - 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