Skip to content

Commit

Permalink
libata: kill dead code paths in reset path
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Tejun Heo authored and Jeff Garzik committed Apr 17, 2008
1 parent e50e3ce commit 2a0c15c
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 23 deletions.
19 changes: 1 addition & 18 deletions drivers/ata/libata-eh.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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
Expand Down
2 changes: 0 additions & 2 deletions drivers/ata/sata_inic162x.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
3 changes: 0 additions & 3 deletions drivers/ata/sata_sil24.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 2a0c15c

Please sign in to comment.