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: Christoph Hellwig <hch@lst.de> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Reviewed-by: Hannes Reinecke <hare@suse.de>
This commit is contained in:
parent
c8b09f6fb6
commit
ee11560f3a
|
@ -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)
|
||||||
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);
|
||||||
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 = {
|
||||||
.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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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 = {
|
||||||
.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)
|
||||||
|
|
||||||
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)
|
||||||
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,
|
||||||
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:
|
||||||
|
|
Loading…
Reference in a new issue