aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-scsi.c7
-rw-r--r--drivers/ata/sata_nv.c2
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index b4ee28dec521..5d52c2fcd076 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 */
1222int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth) 1223int 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 }