diff options
Diffstat (limited to 'drivers/scsi/bnx2fc/bnx2fc_els.c')
-rw-r--r-- | drivers/scsi/bnx2fc/bnx2fc_els.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/drivers/scsi/bnx2fc/bnx2fc_els.c b/drivers/scsi/bnx2fc/bnx2fc_els.c index d66dcbd0df1..fd382fe33f6 100644 --- a/drivers/scsi/bnx2fc/bnx2fc_els.c +++ b/drivers/scsi/bnx2fc/bnx2fc_els.c | |||
@@ -391,18 +391,6 @@ void bnx2fc_rec_compl(struct bnx2fc_els_cb_arg *cb_arg) | |||
391 | BNX2FC_IO_DBG(rec_req, "rec_compl: orig xid = 0x%x", orig_io_req->xid); | 391 | BNX2FC_IO_DBG(rec_req, "rec_compl: orig xid = 0x%x", orig_io_req->xid); |
392 | tgt = orig_io_req->tgt; | 392 | tgt = orig_io_req->tgt; |
393 | 393 | ||
394 | if (test_bit(BNX2FC_FLAG_IO_COMPL, &orig_io_req->req_flags)) { | ||
395 | BNX2FC_IO_DBG(rec_req, "completed" | ||
396 | "orig_io - 0x%x\n", | ||
397 | orig_io_req->xid); | ||
398 | goto rec_compl_done; | ||
399 | } | ||
400 | if (test_bit(BNX2FC_FLAG_ISSUE_ABTS, &orig_io_req->req_flags)) { | ||
401 | BNX2FC_IO_DBG(rec_req, "abts in prog " | ||
402 | "orig_io - 0x%x\n", | ||
403 | orig_io_req->xid); | ||
404 | goto rec_compl_done; | ||
405 | } | ||
406 | /* Handle REC timeout case */ | 394 | /* Handle REC timeout case */ |
407 | if (test_and_clear_bit(BNX2FC_FLAG_ELS_TIMEOUT, &rec_req->req_flags)) { | 395 | if (test_and_clear_bit(BNX2FC_FLAG_ELS_TIMEOUT, &rec_req->req_flags)) { |
408 | BNX2FC_IO_DBG(rec_req, "timed out, abort " | 396 | BNX2FC_IO_DBG(rec_req, "timed out, abort " |
@@ -433,6 +421,20 @@ void bnx2fc_rec_compl(struct bnx2fc_els_cb_arg *cb_arg) | |||
433 | } | 421 | } |
434 | goto rec_compl_done; | 422 | goto rec_compl_done; |
435 | } | 423 | } |
424 | |||
425 | if (test_bit(BNX2FC_FLAG_IO_COMPL, &orig_io_req->req_flags)) { | ||
426 | BNX2FC_IO_DBG(rec_req, "completed" | ||
427 | "orig_io - 0x%x\n", | ||
428 | orig_io_req->xid); | ||
429 | goto rec_compl_done; | ||
430 | } | ||
431 | if (test_bit(BNX2FC_FLAG_ISSUE_ABTS, &orig_io_req->req_flags)) { | ||
432 | BNX2FC_IO_DBG(rec_req, "abts in prog " | ||
433 | "orig_io - 0x%x\n", | ||
434 | orig_io_req->xid); | ||
435 | goto rec_compl_done; | ||
436 | } | ||
437 | |||
436 | mp_req = &(rec_req->mp_req); | 438 | mp_req = &(rec_req->mp_req); |
437 | fc_hdr = &(mp_req->resp_fc_hdr); | 439 | fc_hdr = &(mp_req->resp_fc_hdr); |
438 | resp_len = mp_req->resp_len; | 440 | resp_len = mp_req->resp_len; |