summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_bsg.c
diff options
context:
space:
mode:
authorChad Dupuis <chad.dupuis@qlogic.com>2013-02-08 01:57:46 -0500
committerJames Bottomley <JBottomley@Parallels.com>2013-02-22 12:24:42 +0000
commit1bcc46cb74d3ba7471eac57af8931ca1a03e7b36 (patch)
tree52439be1bf861588368e690058754cc2bee170fb /drivers/scsi/qla2xxx/qla_bsg.c
parent37f489b580929c542dddc4bb6389d3aeb9bd39be (diff)
downloadop-kernel-dev-1bcc46cb74d3ba7471eac57af8931ca1a03e7b36.zip
op-kernel-dev-1bcc46cb74d3ba7471eac57af8931ca1a03e7b36.tar.gz
[SCSI] qla2xxx: Reject loopback request if one is already in progress.
If another function on the port has initiated a loopback operation do not process the current request. Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_bsg.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_bsg.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c
index f7cb6a3..5b49766 100644
--- a/drivers/scsi/qla2xxx/qla_bsg.c
+++ b/drivers/scsi/qla2xxx/qla_bsg.c
@@ -746,6 +746,14 @@ qla2x00_process_loopback(struct fc_bsg_job *bsg_job)
goto done_free_dma_rsp;
}
+ if ((config[0] & INTERNAL_LOOPBACK_MASK) != 0) {
+ ql_dbg(ql_dbg_user, vha, 0x70c4,
+ "Loopback operation already in "
+ "progress.\n");
+ rval = -EAGAIN;
+ goto done_free_dma_rsp;
+ }
+
ql_dbg(ql_dbg_user, vha, 0x70c0,
"elreq.options=%04x\n", elreq.options);
OpenPOWER on IntegriCloud