Commit ee11560f authored by Christoph Hellwig's avatar Christoph Hellwig

scsi: don't force tagged_supported in drivers

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: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarMike Christie <michaelc@cs.wisc.edu>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
parent c8b09f6f
...@@ -95,8 +95,6 @@ static int fnic_slave_alloc(struct scsi_device *sdev) ...@@ -95,8 +95,6 @@ static int fnic_slave_alloc(struct scsi_device *sdev)
{ {
struct fc_rport *rport = starget_to_rport(scsi_target(sdev)); struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
sdev->tagged_supported = 1;
if (!rport || fc_remote_port_chkready(rport)) if (!rport || fc_remote_port_chkready(rport))
return -ENXIO; return -ENXIO;
......
...@@ -945,7 +945,6 @@ int sas_slave_configure(struct scsi_device *scsi_dev) ...@@ -945,7 +945,6 @@ int sas_slave_configure(struct scsi_device *scsi_dev)
SAS_DPRINTK("device %llx, LUN %llx doesn't support " SAS_DPRINTK("device %llx, LUN %llx doesn't support "
"TCQ\n", SAS_ADDR(dev->sas_addr), "TCQ\n", SAS_ADDR(dev->sas_addr),
scsi_dev->lun); scsi_dev->lun);
scsi_dev->tagged_supported = 0;
scsi_adjust_queue_depth(scsi_dev, 1); scsi_adjust_queue_depth(scsi_dev, 1);
} }
......
...@@ -162,7 +162,6 @@ static int qla4xxx_eh_device_reset(struct scsi_cmnd *cmd); ...@@ -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_target_reset(struct scsi_cmnd *cmd);
static int qla4xxx_eh_host_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_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 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_host_reset(struct Scsi_Host *shost, int reset_type);
static int qla4xxx_change_queue_depth(struct scsi_device *sdev, int qdepth, static int qla4xxx_change_queue_depth(struct scsi_device *sdev, int qdepth,
...@@ -203,7 +202,6 @@ static struct scsi_host_template qla4xxx_driver_template = { ...@@ -203,7 +202,6 @@ static struct scsi_host_template qla4xxx_driver_template = {
.eh_host_reset_handler = qla4xxx_eh_host_reset, .eh_host_reset_handler = qla4xxx_eh_host_reset,
.eh_timed_out = qla4xxx_eh_cmd_timed_out, .eh_timed_out = qla4xxx_eh_cmd_timed_out,
.slave_configure = qla4xxx_slave_configure,
.slave_alloc = qla4xxx_slave_alloc, .slave_alloc = qla4xxx_slave_alloc,
.change_queue_depth = qla4xxx_change_queue_depth, .change_queue_depth = qla4xxx_change_queue_depth,
...@@ -9059,7 +9057,6 @@ static int qla4xxx_slave_alloc(struct scsi_device *sdev) ...@@ -9059,7 +9057,6 @@ static int qla4xxx_slave_alloc(struct scsi_device *sdev)
ddb = sess->dd_data; ddb = sess->dd_data;
sdev->hostdata = ddb; sdev->hostdata = ddb;
sdev->tagged_supported = 1;
if (ql4xmaxqdepth != 0 && ql4xmaxqdepth <= 0xffffU) if (ql4xmaxqdepth != 0 && ql4xmaxqdepth <= 0xffffU)
queue_depth = ql4xmaxqdepth; queue_depth = ql4xmaxqdepth;
...@@ -9068,12 +9065,6 @@ static int qla4xxx_slave_alloc(struct scsi_device *sdev) ...@@ -9068,12 +9065,6 @@ static int qla4xxx_slave_alloc(struct scsi_device *sdev)
return 0; 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, static int qla4xxx_change_queue_depth(struct scsi_device *sdev, int qdepth,
int reason) int reason)
{ {
......
...@@ -2700,7 +2700,6 @@ static int scsi_debug_slave_configure(struct scsi_device *sdp) ...@@ -2700,7 +2700,6 @@ static int scsi_debug_slave_configure(struct scsi_device *sdp)
devip = devInfoReg(sdp); devip = devInfoReg(sdp);
if (NULL == devip) if (NULL == devip)
return 1; /* no resources, will be marked offline */ return 1; /* no resources, will be marked offline */
sdp->tagged_supported = 1;
sdp->hostdata = devip; sdp->hostdata = devip;
blk_queue_max_segment_size(sdp->request_queue, -1U); blk_queue_max_segment_size(sdp->request_queue, -1U);
if (scsi_debug_no_uld) if (scsi_debug_no_uld)
......
...@@ -543,22 +543,12 @@ stex_ss_send_cmd(struct st_hba *hba, struct req_msg *req, u16 tag) ...@@ -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 */ 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 static int
stex_slave_config(struct scsi_device *sdev) stex_slave_config(struct scsi_device *sdev)
{ {
sdev->use_10_for_rw = 1; sdev->use_10_for_rw = 1;
sdev->use_10_for_ms = 1; sdev->use_10_for_ms = 1;
blk_queue_rq_timeout(sdev->request_queue, 60 * HZ); blk_queue_rq_timeout(sdev->request_queue, 60 * HZ);
sdev->tagged_supported = 1;
return 0; return 0;
} }
...@@ -1380,7 +1370,6 @@ static struct scsi_host_template driver_template = { ...@@ -1380,7 +1370,6 @@ static struct scsi_host_template driver_template = {
.proc_name = DRV_NAME, .proc_name = DRV_NAME,
.bios_param = stex_biosparam, .bios_param = stex_biosparam,
.queuecommand = stex_queuecommand, .queuecommand = stex_queuecommand,
.slave_alloc = stex_slave_alloc,
.slave_configure = stex_slave_config, .slave_configure = stex_slave_config,
.eh_abort_handler = stex_abort, .eh_abort_handler = stex_abort,
.eh_host_reset_handler = stex_reset, .eh_host_reset_handler = stex_reset,
......
...@@ -2695,8 +2695,7 @@ static void ufshcd_set_queue_depth(struct scsi_device *sdev) ...@@ -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", dev_dbg(hba->dev, "%s: activate tcq with queue depth %d\n",
__func__, lun_qdepth); __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) ...@@ -2766,7 +2765,6 @@ static int ufshcd_slave_alloc(struct scsi_device *sdev)
struct ufs_hba *hba; struct ufs_hba *hba;
hba = shost_priv(sdev->host); hba = shost_priv(sdev->host);
sdev->tagged_supported = 1;
/* Mode sense(6) is not supported by UFS, so use Mode sense(10) */ /* Mode sense(6) is not supported by UFS, so use Mode sense(10) */
sdev->use_10_for_ms = 1; sdev->use_10_for_ms = 1;
...@@ -2806,8 +2804,6 @@ static int ufshcd_change_queue_depth(struct scsi_device *sdev, ...@@ -2806,8 +2804,6 @@ static int ufshcd_change_queue_depth(struct scsi_device *sdev,
switch (reason) { switch (reason) {
case SCSI_QDEPTH_DEFAULT: case SCSI_QDEPTH_DEFAULT:
case SCSI_QDEPTH_RAMP_UP: case SCSI_QDEPTH_RAMP_UP:
if (!sdev->tagged_supported)
depth = 1;
scsi_adjust_queue_depth(sdev, depth); scsi_adjust_queue_depth(sdev, depth);
break; break;
case SCSI_QDEPTH_QFULL: case SCSI_QDEPTH_QFULL:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment