aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/libata-core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 6a2083a6d175..479f95a5c0a3 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2333,6 +2333,10 @@ static int ata_dev_set_mode(struct ata_device *dev)
2333 dev->flags |= ATA_DFLAG_PIO; 2333 dev->flags |= ATA_DFLAG_PIO;
2334 2334
2335 err_mask = ata_dev_set_xfermode(dev); 2335 err_mask = ata_dev_set_xfermode(dev);
2336 /* Old CFA may refuse this command, which is just fine */
2337 if (dev->xfer_shift == ATA_SHIFT_PIO && ata_id_is_cfa(dev->id))
2338 err_mask &= ~AC_ERR_DEV;
2339
2336 if (err_mask) { 2340 if (err_mask) {
2337 ata_dev_printk(dev, KERN_ERR, "failed to set xfermode " 2341 ata_dev_printk(dev, KERN_ERR, "failed to set xfermode "
2338 "(err_mask=0x%x)\n", err_mask); 2342 "(err_mask=0x%x)\n", err_mask);