--- drivers/ata/libata-eh.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) Index: tree0/drivers/ata/libata-eh.c =================================================================== --- tree0.orig/drivers/ata/libata-eh.c +++ tree0/drivers/ata/libata-eh.c @@ -671,6 +671,9 @@ static void ata_eh_set_pending(struct at ap->pflags |= ATA_PFLAG_EH_PENDING; + ata_port_printk(ap, KERN_INFO, "XXX EH_SET_PENDING\n"); + dump_stack(); + if (!fastdrain) return; @@ -1077,6 +1080,11 @@ void ata_eh_about_to_do(struct ata_link struct ata_eh_context *ehc = &link->eh_context; unsigned long flags; + if (link) + ata_link_printk(link, KERN_INFO, "XXX about_to_do %x\n", action); + else if (dev) + ata_dev_printk(dev, KERN_INFO, "XXX about_to_do %x\n", action); + spin_lock_irqsave(ap->lock, flags); ata_eh_clear_action(link, dev, ehi, action); @@ -1890,8 +1898,8 @@ static void ata_eh_link_report(struct at nr_failed++; } - if (!nr_failed && !ehc->i.err_mask) - return; + //if (!nr_failed && !ehc->i.err_mask) + // return; frozen = ""; if (ap->pflags & ATA_PFLAG_FROZEN)