]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/ata/libata-scsi.c
Merge branch 'for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
[karo-tx-linux.git] / drivers / ata / libata-scsi.c
index 6a5fcf14dbc3acdee603c38c9775db43caf01293..e364e86e84d75b7d4ec8f18bba0eb4fc2b21a43c 100644 (file)
@@ -1165,7 +1165,7 @@ static int ata_scsi_dev_config(struct scsi_device *sdev,
 
                depth = min(sdev->host->can_queue, ata_id_queue_depth(dev->id));
                depth = min(ATA_MAX_QUEUE - 1, depth);
-               scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, depth);
+               scsi_change_queue_depth(sdev, depth);
        }
 
        blk_queue_flush_queueable(q, false);
@@ -1244,21 +1244,17 @@ void ata_scsi_slave_destroy(struct scsi_device *sdev)
  *     @ap: ATA port to which the device change the queue depth
  *     @sdev: SCSI device to configure queue depth for
  *     @queue_depth: new queue depth
- *     @reason: calling context
  *
  *     libsas and libata have different approaches for associating a sdev to
  *     its ata_port.
  *
  */
 int __ata_change_queue_depth(struct ata_port *ap, struct scsi_device *sdev,
-                            int queue_depth, int reason)
+                            int queue_depth)
 {
        struct ata_device *dev;
        unsigned long flags;
 
-       if (reason != SCSI_QDEPTH_DEFAULT)
-               return -EOPNOTSUPP;
-
        if (queue_depth < 1 || queue_depth == sdev->queue_depth)
                return sdev->queue_depth;
 
@@ -1283,15 +1279,13 @@ int __ata_change_queue_depth(struct ata_port *ap, struct scsi_device *sdev,
        if (sdev->queue_depth == queue_depth)
                return -EINVAL;
 
-       scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, queue_depth);
-       return queue_depth;
+       return scsi_change_queue_depth(sdev, queue_depth);
 }
 
 /**
  *     ata_scsi_change_queue_depth - SCSI callback for queue depth config
  *     @sdev: SCSI device to configure queue depth for
  *     @queue_depth: new queue depth
- *     @reason: calling context
  *
  *     This is libata standard hostt->change_queue_depth callback.
  *     SCSI will call into this callback when user tries to set queue
@@ -1303,12 +1297,11 @@ int __ata_change_queue_depth(struct ata_port *ap, struct scsi_device *sdev,
  *     RETURNS:
  *     Newly configured queue depth.
  */
-int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth,
-                               int reason)
+int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth)
 {
        struct ata_port *ap = ata_shost_to_port(sdev->host);
 
-       return __ata_change_queue_depth(ap, sdev, queue_depth, reason);
+       return __ata_change_queue_depth(ap, sdev, queue_depth);
 }
 
 /**
@@ -3593,7 +3586,7 @@ void ata_scsi_simulate(struct ata_device *dev, struct scsi_cmnd *cmd)
                ata_scsi_rbuf_fill(&args, ata_scsiop_read_cap);
                break;
 
-       case SERVICE_ACTION_IN:
+       case SERVICE_ACTION_IN_16:
                if ((scsicmd[1] & 0x1f) == SAI_READ_CAPACITY_16)
                        ata_scsi_rbuf_fill(&args, ata_scsiop_read_cap);
                else