libata: kill dead code paths in reset path
authorTejun Heo <htejun@gmail.com>
Mon, 7 Apr 2008 16:25:35 +0000 (01:25 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 17 Apr 2008 19:44:25 +0000 (15:44 -0400)
Some code paths which had been made obsolete by recent reset
simplification were still around.  Kill them.

* ata_eh_reset() checked for ATA_DEV_UNKNOWN to determine
  classification failure.  This is no longer applicable.

* ata_do_reset() should convert ATA_DEV_UNKNOWN to ATA_DEV_NONE
  regardless of reset result (e.g. -EAGAIN).

* LLDs don't need to convert ATA_DEV_UNKNOWN to ATA_DEV_NONE.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-eh.c
drivers/ata/sata_inic162x.c
drivers/ata/sata_sil24.c

index 99f83bd..88cdc49 100644 (file)
@@ -2052,15 +2052,13 @@ static int ata_do_reset(struct ata_link *link, ata_reset_fn_t reset,
                classes[dev->devno] = ATA_DEV_UNKNOWN;
 
        rc = reset(link, classes, deadline);
-       if (rc)
-               return rc;
 
        /* convert all ATA_DEV_UNKNOWN to ATA_DEV_NONE */
        ata_link_for_each_dev(dev, link)
                if (classes[dev->devno] == ATA_DEV_UNKNOWN)
                        classes[dev->devno] = ATA_DEV_NONE;
 
-       return 0;
+       return rc;
 }
 
 static int ata_eh_followup_srst_needed(struct ata_link *link,
@@ -2209,21 +2207,6 @@ int ata_eh_reset(struct ata_link *link, int classify,
        if (rc && rc != -EAGAIN)
                goto fail;
 
-       /* was classification successful? */
-       if (classify && classes[0] == ATA_DEV_UNKNOWN &&
-           !(lflags & ATA_LFLAG_ASSUME_CLASS)) {
-               if (try < max_tries) {
-                       ata_link_printk(link, KERN_WARNING,
-                                       "classification failed\n");
-                       rc = -EINVAL;
-                       goto fail;
-               }
-
-               ata_link_printk(link, KERN_WARNING,
-                               "classfication failed, assuming ATA\n");
-               lflags |= ATA_LFLAG_ASSUME_ATA;
-       }
-
  done:
        ata_link_for_each_dev(dev, link) {
                /* After the reset, the device state is PIO 0 and the
index 9f47d00..d27bb9a 100644 (file)
@@ -428,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;
index 0687893..20757fa 100644 (file)
@@ -693,9 +693,6 @@ static int sil24_softreset(struct ata_link *link, unsigned int *class,
        sil24_read_tf(ap, 0, &tf);
        *class = ata_dev_classify(&tf);
 
-       if (*class == ATA_DEV_UNKNOWN)
-               *class = ATA_DEV_NONE;
-
  out:
        DPRINTK("EXIT, class=%u\n", *class);
        return 0;