mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-02 02:46:43 +07:00
[SCSI] ibmvfc: Fix command timeout errors
Currently the ibmvfc driver sets the IBMVFC_CLASS_3_ERR flag in the VFC Frame if both the adapter and the device claim support for Class 3. However, this bit actually refers to Class 3 Error Recovery, which is currently not supported by the VIOS. Setting this bit can cause lots of command timeout responses from the VIOS resulting in general instability. Fix this by never setting this bit. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
76e3a19d06
commit
d4b17a20f3
@ -1573,9 +1573,6 @@ static int ibmvfc_queuecommand(struct scsi_cmnd *cmnd,
|
|||||||
vfc_cmd->resp_len = sizeof(vfc_cmd->rsp);
|
vfc_cmd->resp_len = sizeof(vfc_cmd->rsp);
|
||||||
vfc_cmd->cancel_key = (unsigned long)cmnd->device->hostdata;
|
vfc_cmd->cancel_key = (unsigned long)cmnd->device->hostdata;
|
||||||
vfc_cmd->tgt_scsi_id = rport->port_id;
|
vfc_cmd->tgt_scsi_id = rport->port_id;
|
||||||
if ((rport->supported_classes & FC_COS_CLASS3) &&
|
|
||||||
(fc_host_supported_classes(vhost->host) & FC_COS_CLASS3))
|
|
||||||
vfc_cmd->flags = IBMVFC_CLASS_3_ERR;
|
|
||||||
vfc_cmd->iu.xfer_len = scsi_bufflen(cmnd);
|
vfc_cmd->iu.xfer_len = scsi_bufflen(cmnd);
|
||||||
int_to_scsilun(cmnd->device->lun, &vfc_cmd->iu.lun);
|
int_to_scsilun(cmnd->device->lun, &vfc_cmd->iu.lun);
|
||||||
memcpy(vfc_cmd->iu.cdb, cmnd->cmnd, cmnd->cmd_len);
|
memcpy(vfc_cmd->iu.cdb, cmnd->cmnd, cmnd->cmd_len);
|
||||||
|
Loading…
Reference in New Issue
Block a user