diff options
author | Tejun Heo <htejun@gmail.com> | 2006-03-05 03:55:58 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-03-05 11:09:42 -0500 |
commit | 48a8a14ff1f13aa4dba3f6b4381b886727609db4 (patch) | |
tree | 429ca20edef799c283e1226b790693d0ad71e478 /drivers/scsi/libata-core.c | |
parent | 623a3128aa2b86caa8e06e762e9e444177e4fa47 (diff) |
[PATCH] libata: revalidate after transfer mode configuration
Revalidate device after transfer mode configuration. This also makes
dev->id up-to-date.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/scsi/libata-core.c')
-rw-r--r-- | drivers/scsi/libata-core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index 5d0adfa4610a..5dbcf0cf4a10 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c | |||
@@ -1625,6 +1625,12 @@ static void ata_dev_set_mode(struct ata_port *ap, struct ata_device *dev) | |||
1625 | idx = ofs + dev->xfer_shift; | 1625 | idx = ofs + dev->xfer_shift; |
1626 | WARN_ON(idx >= ARRAY_SIZE(xfer_mode_str)); | 1626 | WARN_ON(idx >= ARRAY_SIZE(xfer_mode_str)); |
1627 | 1627 | ||
1628 | if (ata_dev_revalidate(ap, dev, 0)) { | ||
1629 | printk(KERN_ERR "ata%u: failed to revalidate after set " | ||
1630 | "xfermode, disabled\n", ap->id); | ||
1631 | ata_port_disable(ap); | ||
1632 | } | ||
1633 | |||
1628 | DPRINTK("idx=%d xfer_shift=%u, xfer_mode=0x%x, base=0x%x, offset=%d\n", | 1634 | DPRINTK("idx=%d xfer_shift=%u, xfer_mode=0x%x, base=0x%x, offset=%d\n", |
1629 | idx, dev->xfer_shift, (int)dev->xfer_mode, (int)base, ofs); | 1635 | idx, dev->xfer_shift, (int)dev->xfer_mode, (int)base, ofs); |
1630 | 1636 | ||