aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/libata-core.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 21ae752cd95c..5e8a32052a1e 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -1121,9 +1121,10 @@ err_out:
1121} 1121}
1122 1122
1123 1123
1124static inline u8 ata_dev_knobble(const struct ata_port *ap) 1124static inline u8 ata_dev_knobble(const struct ata_port *ap,
1125 struct ata_device *dev)
1125{ 1126{
1126 return ((ap->cbl == ATA_CBL_SATA) && (!ata_id_is_sata(ap->device->id))); 1127 return ((ap->cbl == ATA_CBL_SATA) && (!ata_id_is_sata(dev->id)));
1127} 1128}
1128 1129
1129/** 1130/**
@@ -1137,9 +1138,9 @@ static inline u8 ata_dev_knobble(const struct ata_port *ap)
1137void ata_dev_config(struct ata_port *ap, unsigned int i) 1138void ata_dev_config(struct ata_port *ap, unsigned int i)
1138{ 1139{
1139 /* limit bridge transfers to udma5, 200 sectors */ 1140 /* limit bridge transfers to udma5, 200 sectors */
1140 if (ata_dev_knobble(ap)) { 1141 if (ata_dev_knobble(ap, &ap->device[i])) {
1141 printk(KERN_INFO "ata%u(%u): applying bridge limits\n", 1142 printk(KERN_INFO "ata%u(%u): applying bridge limits\n",
1142 ap->id, ap->device->devno); 1143 ap->id, i);
1143 ap->udma_mask &= ATA_UDMA5; 1144 ap->udma_mask &= ATA_UDMA5;
1144 ap->host->max_sectors = ATA_MAX_SECTORS; 1145 ap->host->max_sectors = ATA_MAX_SECTORS;
1145 ap->host->hostt->max_sectors = ATA_MAX_SECTORS; 1146 ap->host->hostt->max_sectors = ATA_MAX_SECTORS;