]> err.no Git - linux-2.6/blobdiff - drivers/ata/sata_inic162x.c
ahci: retry enabling AHCI a few times before spitting out WARN_ON()
[linux-2.6] / drivers / ata / sata_inic162x.c
index 0b5a736a45e3d3bf6f8b4161e41309450063abd4..d27bb9a2568f77678e82dfbc032df8045daa4b94 100644 (file)
@@ -417,10 +417,8 @@ static int inic_hardreset(struct ata_link *link, unsigned int *class,
        if (ata_link_online(link)) {
                struct ata_taskfile tf;
 
-               /* wait a while before checking status */
-               ata_sff_wait_after_reset(ap, deadline);
-
-               rc = ata_sff_wait_ready(ap, deadline);
+               /* wait for link to become ready */
+               rc = ata_sff_wait_after_reset(link, 1, deadline);
                /* link occupied, -ENODEV too is an error */
                if (rc) {
                        ata_link_printk(link, KERN_WARNING, "device not ready "
@@ -430,8 +428,6 @@ static int inic_hardreset(struct ata_link *link, unsigned int *class,
 
                ata_sff_tf_read(ap, &tf);
                *class = ata_dev_classify(&tf);
-               if (*class == ATA_DEV_UNKNOWN)
-                       *class = ATA_DEV_NONE;
        }
 
        return 0;