diff options
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/libata-scsi.c | 7 | ||||
-rw-r--r-- | drivers/ata/sata_nv.c | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 62e6b9ea96af..1683ebda900b 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c | |||
@@ -1208,6 +1208,7 @@ void ata_scsi_slave_destroy(struct scsi_device *sdev) | |||
1208 | * ata_scsi_change_queue_depth - SCSI callback for queue depth config | 1208 | * ata_scsi_change_queue_depth - SCSI callback for queue depth config |
1209 | * @sdev: SCSI device to configure queue depth for | 1209 | * @sdev: SCSI device to configure queue depth for |
1210 | * @queue_depth: new queue depth | 1210 | * @queue_depth: new queue depth |
1211 | * @reason: calling context | ||
1211 | * | 1212 | * |
1212 | * This is libata standard hostt->change_queue_depth callback. | 1213 | * This is libata standard hostt->change_queue_depth callback. |
1213 | * SCSI will call into this callback when user tries to set queue | 1214 | * SCSI will call into this callback when user tries to set queue |
@@ -1219,12 +1220,16 @@ void ata_scsi_slave_destroy(struct scsi_device *sdev) | |||
1219 | * RETURNS: | 1220 | * RETURNS: |
1220 | * Newly configured queue depth. | 1221 | * Newly configured queue depth. |
1221 | */ | 1222 | */ |
1222 | int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth) | 1223 | int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth, |
1224 | int reason) | ||
1223 | { | 1225 | { |
1224 | struct ata_port *ap = ata_shost_to_port(sdev->host); | 1226 | struct ata_port *ap = ata_shost_to_port(sdev->host); |
1225 | struct ata_device *dev; | 1227 | struct ata_device *dev; |
1226 | unsigned long flags; | 1228 | unsigned long flags; |
1227 | 1229 | ||
1230 | if (reason != SCSI_QDEPTH_DEFAULT) | ||
1231 | return -EOPNOTSUPP; | ||
1232 | |||
1228 | if (queue_depth < 1 || queue_depth == sdev->queue_depth) | 1233 | if (queue_depth < 1 || queue_depth == sdev->queue_depth) |
1229 | return sdev->queue_depth; | 1234 | return sdev->queue_depth; |
1230 | 1235 | ||
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index 1eb4e020eb5c..0c82d335c55d 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c | |||
@@ -1975,7 +1975,7 @@ static int nv_swncq_slave_config(struct scsi_device *sdev) | |||
1975 | ata_id_c_string(dev->id, model_num, ATA_ID_PROD, sizeof(model_num)); | 1975 | ata_id_c_string(dev->id, model_num, ATA_ID_PROD, sizeof(model_num)); |
1976 | 1976 | ||
1977 | if (strncmp(model_num, "Maxtor", 6) == 0) { | 1977 | if (strncmp(model_num, "Maxtor", 6) == 0) { |
1978 | ata_scsi_change_queue_depth(sdev, 1); | 1978 | ata_scsi_change_queue_depth(sdev, 1, SCSI_QDEPTH_DEFAULT); |
1979 | ata_dev_printk(dev, KERN_NOTICE, | 1979 | ata_dev_printk(dev, KERN_NOTICE, |
1980 | "Disabling SWNCQ mode (depth %x)\n", sdev->queue_depth); | 1980 | "Disabling SWNCQ mode (depth %x)\n", sdev->queue_depth); |
1981 | } | 1981 | } |