scsi: don't force tagged_supported in drivers
authorChristoph Hellwig <hch@lst.de>
Mon, 3 Nov 2014 19:40:56 +0000 (20:40 +0100)
committerChristoph Hellwig <hch@lst.de>
Wed, 12 Nov 2014 10:19:44 +0000 (11:19 +0100)
Now that we also get proper values in cmd->request->tag for untagged
commands, there is no need to force tagged_supported to on in drivers
that need host-wide tags.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Reviewed-by: Hannes Reinecke <hare@suse.de>
drivers/scsi/fnic/fnic_main.c
drivers/scsi/libsas/sas_scsi_host.c
drivers/scsi/qla4xxx/ql4_os.c
drivers/scsi/scsi_debug.c
drivers/scsi/stex.c
drivers/scsi/ufs/ufshcd.c

index 0f29e3f89b26e28551cf7262c7ba13878a0f50d3..cf1560c30b7f034a27413be791e360493fd00f62 100644 (file)
@@ -95,8 +95,6 @@ static int fnic_slave_alloc(struct scsi_device *sdev)
 {
        struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
 
-       sdev->tagged_supported = 1;
-
        if (!rport || fc_remote_port_chkready(rport))
                return -ENXIO;
 
index 56d698af073dc920e2b4b8140a11147427e9ed28..89e8b687a6793371994979bcd04c4a6d2ffe1cd7 100644 (file)
@@ -945,7 +945,6 @@ int sas_slave_configure(struct scsi_device *scsi_dev)
                SAS_DPRINTK("device %llx, LUN %llx doesn't support "
                            "TCQ\n", SAS_ADDR(dev->sas_addr),
                            scsi_dev->lun);
-               scsi_dev->tagged_supported = 0;
                scsi_adjust_queue_depth(scsi_dev, 1);
        }
 
index 784f59e555109c373c9ee9e84b1ea2e04b95790b..f8724f2e0158d5fca31949593d9a0df86aafada7 100644 (file)
@@ -162,7 +162,6 @@ static int qla4xxx_eh_device_reset(struct scsi_cmnd *cmd);
 static int qla4xxx_eh_target_reset(struct scsi_cmnd *cmd);
 static int qla4xxx_eh_host_reset(struct scsi_cmnd *cmd);
 static int qla4xxx_slave_alloc(struct scsi_device *device);
-static int qla4xxx_slave_configure(struct scsi_device *device);
 static umode_t qla4_attr_is_visible(int param_type, int param);
 static int qla4xxx_host_reset(struct Scsi_Host *shost, int reset_type);
 static int qla4xxx_change_queue_depth(struct scsi_device *sdev, int qdepth,
@@ -203,7 +202,6 @@ static struct scsi_host_template qla4xxx_driver_template = {
        .eh_host_reset_handler  = qla4xxx_eh_host_reset,
        .eh_timed_out           = qla4xxx_eh_cmd_timed_out,
 
-       .slave_configure        = qla4xxx_slave_configure,
        .slave_alloc            = qla4xxx_slave_alloc,
        .change_queue_depth     = qla4xxx_change_queue_depth,
 
@@ -9059,7 +9057,6 @@ static int qla4xxx_slave_alloc(struct scsi_device *sdev)
        ddb = sess->dd_data;
 
        sdev->hostdata = ddb;
-       sdev->tagged_supported = 1;
 
        if (ql4xmaxqdepth != 0 && ql4xmaxqdepth <= 0xffffU)
                queue_depth = ql4xmaxqdepth;
@@ -9068,12 +9065,6 @@ static int qla4xxx_slave_alloc(struct scsi_device *sdev)
        return 0;
 }
 
-static int qla4xxx_slave_configure(struct scsi_device *sdev)
-{
-       sdev->tagged_supported = 1;
-       return 0;
-}
-
 static int qla4xxx_change_queue_depth(struct scsi_device *sdev, int qdepth,
                                      int reason)
 {
index fce4e47becc7c4f9cf1f502a8a7d92995eba20c3..b02571390d01de63558051099e26c17a440f0bd8 100644 (file)
@@ -2700,7 +2700,6 @@ static int scsi_debug_slave_configure(struct scsi_device *sdp)
        devip = devInfoReg(sdp);
        if (NULL == devip)
                return 1;       /* no resources, will be marked offline */
-       sdp->tagged_supported = 1;
        sdp->hostdata = devip;
        blk_queue_max_segment_size(sdp->request_queue, -1U);
        if (scsi_debug_no_uld)
index 2bb8a9e74dac6fde9bace303c5eac2465e2981cb..98a62bc15069773ba2de93dd9d4164e8655919f0 100644 (file)
@@ -543,22 +543,12 @@ stex_ss_send_cmd(struct st_hba *hba, struct req_msg *req, u16 tag)
        readl(hba->mmio_base + YH2I_REQ); /* flush */
 }
 
-static int
-stex_slave_alloc(struct scsi_device *sdev)
-{
-       /* Cheat: usually extracted from Inquiry data */
-       sdev->tagged_supported = 1;
-
-       return 0;
-}
-
 static int
 stex_slave_config(struct scsi_device *sdev)
 {
        sdev->use_10_for_rw = 1;
        sdev->use_10_for_ms = 1;
        blk_queue_rq_timeout(sdev->request_queue, 60 * HZ);
-       sdev->tagged_supported = 1;
 
        return 0;
 }
@@ -1380,7 +1370,6 @@ static struct scsi_host_template driver_template = {
        .proc_name                      = DRV_NAME,
        .bios_param                     = stex_biosparam,
        .queuecommand                   = stex_queuecommand,
-       .slave_alloc                    = stex_slave_alloc,
        .slave_configure                = stex_slave_config,
        .eh_abort_handler               = stex_abort,
        .eh_host_reset_handler          = stex_reset,
index 5eb4931e2adcfb02b24d6ceaa28040bc9bdee63d..67e2280e2be3b67e55f17d3ef44bc6a5f1870439 100644 (file)
@@ -2695,8 +2695,7 @@ static void ufshcd_set_queue_depth(struct scsi_device *sdev)
 
        dev_dbg(hba->dev, "%s: activate tcq with queue depth %d\n",
                        __func__, lun_qdepth);
-       if (sdev->tagged_supported)
-               scsi_adjust_queue_depth(sdev, lun_qdepth);
+       scsi_adjust_queue_depth(sdev, lun_qdepth);
 }
 
 /*
@@ -2766,7 +2765,6 @@ static int ufshcd_slave_alloc(struct scsi_device *sdev)
        struct ufs_hba *hba;
 
        hba = shost_priv(sdev->host);
-       sdev->tagged_supported = 1;
 
        /* Mode sense(6) is not supported by UFS, so use Mode sense(10) */
        sdev->use_10_for_ms = 1;
@@ -2806,8 +2804,6 @@ static int ufshcd_change_queue_depth(struct scsi_device *sdev,
        switch (reason) {
        case SCSI_QDEPTH_DEFAULT:
        case SCSI_QDEPTH_RAMP_UP:
-               if (!sdev->tagged_supported)
-                       depth = 1;
                scsi_adjust_queue_depth(sdev, depth);
                break;
        case SCSI_QDEPTH_QFULL: