]>
Commit | Line | Data |
---|---|---|
6a930a95 BS |
1 | From: Vasu Dev <vasu.dev@intel.com> |
2 | Subject: libfc: handle RRQ exch timeout | |
3 | References: bnc #465596 | |
4 | ||
5 | Cleanup exchange held due to RRQ when RRQ exch times out, in this case the | |
6 | ABTS is already done causing RRQ req therefore proceeding with cleanup in | |
7 | fc_exch_rrq_resp should be okay to restore exch resource. | |
8 | ||
9 | Signed-off-by: Vasu Dev <vasu.dev@intel.com> | |
10 | Acked-by: Bernhard Walle <bwalle@suse.de> | |
11 | --- | |
12 | ||
13 | drivers/scsi/libfc/fc_exch.c | 2 +- | |
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | |
15 | ||
16 | ||
17 | --- a/drivers/scsi/libfc/fc_exch.c | |
18 | +++ b/drivers/scsi/libfc/fc_exch.c | |
19 | @@ -1605,7 +1605,7 @@ static void fc_exch_rrq_resp(struct fc_s | |
20 | if (IS_ERR(fp)) { | |
21 | int err = PTR_ERR(fp); | |
22 | ||
23 | - if (err == -FC_EX_CLOSED) | |
24 | + if (err == -FC_EX_CLOSED || err == -FC_EX_TIMEOUT) | |
25 | goto cleanup; | |
26 | FC_DBG("Cannot process RRQ, because of frame error %d\n", err); | |
27 | return; |