Commit 78342da3 authored by Vasu Dev's avatar Vasu Dev Committed by James Bottomley

[SCSI] libfc: handle RRQ exch timeout

Cleanup exchange held due to RRQ when RRQ exch times out, in this case the
ABTS is already done causing RRQ req therefore proceeding with cleanup in
fc_exch_rrq_resp should be okay to restore exch resource.
Signed-off-by: default avatarVasu Dev <vasu.dev@intel.com>
Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent 571f824c
...@@ -1608,7 +1608,7 @@ static void fc_exch_rrq_resp(struct fc_seq *sp, struct fc_frame *fp, void *arg) ...@@ -1608,7 +1608,7 @@ static void fc_exch_rrq_resp(struct fc_seq *sp, struct fc_frame *fp, void *arg)
if (IS_ERR(fp)) { if (IS_ERR(fp)) {
int err = PTR_ERR(fp); int err = PTR_ERR(fp);
if (err == -FC_EX_CLOSED) if (err == -FC_EX_CLOSED || err == -FC_EX_TIMEOUT)
goto cleanup; goto cleanup;
FC_DBG("Cannot process RRQ, because of frame error %d\n", err); FC_DBG("Cannot process RRQ, because of frame error %d\n", err);
return; return;
......
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