mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
[SCSI] libfc: do not immediately retry the cmd when seq_send fails in fc_fcp_send_data
Currently, when seq_send() fails in fc_fcp_send_data(), fc_fcp_retry_cmd() would complete this failed I/O directly and let scsi-ml retry. However, target side is not notified which may hang the target. Instead, we should just bail out from from fc_fcp_send_data and let scsi-ml times it out and aborts this I/O instead. Signed-off-by: Yi Zou <yi.zou@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <jbottomley@parallels.com>
This commit is contained in:
parent
0a219edb26
commit
8467b96c03
@ -681,8 +681,7 @@ static int fc_fcp_send_data(struct fc_fcp_pkt *fsp, struct fc_seq *seq,
|
|||||||
error = lport->tt.seq_send(lport, seq, fp);
|
error = lport->tt.seq_send(lport, seq, fp);
|
||||||
if (error) {
|
if (error) {
|
||||||
WARN_ON(1); /* send error should be rare */
|
WARN_ON(1); /* send error should be rare */
|
||||||
fc_fcp_retry_cmd(fsp);
|
return error;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
fp = NULL;
|
fp = NULL;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user