]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ata/libata-eh.c
libata: improve AC_ERR_DEV handling for ->post_internal_cmd
[linux-2.6-omap-h63xx.git] / drivers / ata / libata-eh.c
index 185876aba64742acadef65193c26c286c5e14acf..0dbee550f9e812f22431866896bbee76dfae03f4 100644 (file)
@@ -1151,7 +1151,9 @@ static unsigned int ata_eh_analyze_tf(struct ata_queued_cmd *qc,
                return ATA_EH_SOFTRESET;
        }
 
-       if (!(qc->err_mask & AC_ERR_DEV))
+       if (stat & (ATA_ERR | ATA_DF))
+               qc->err_mask |= AC_ERR_DEV;
+       else
                return 0;
 
        switch (qc->dev->class) {