diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 99f83bdc572b740433d6bdbe38e0bfb579144e7f..88cdc4938beaca421d66929ce76f03202f399f1c 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -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 diff --git a/drivers/ata/sata_inic162x.c b/drivers/ata/sata_inic162x.c index 9f47d0022453a0809990c8ada1a2f5ac1ccfa239..d27bb9a2568f77678e82dfbc032df8045daa4b94 100644 --- a/drivers/ata/sata_inic162x.c +++ b/drivers/ata/sata_inic162x.c @@ -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; diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index 068789361895cdd6e0c011e321b533f579ad87cc..20757fa6115d871521aba78ed57bdef74f1daf3b 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c @@ -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;