diff options
author | Chad Dupuis <chad.dupuis@qlogic.com> | 2013-02-08 01:57:46 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-02-22 07:24:42 -0500 |
commit | 1bcc46cb74d3ba7471eac57af8931ca1a03e7b36 (patch) | |
tree | 52439be1bf861588368e690058754cc2bee170fb /drivers | |
parent | 37f489b580929c542dddc4bb6389d3aeb9bd39be (diff) |
[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')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_bsg.c | 8 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_dbg.c | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c index f7cb6a3fa7d4..5b49766e0ae7 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) | |||
746 | goto done_free_dma_rsp; | 746 | goto done_free_dma_rsp; |
747 | } | 747 | } |
748 | 748 | ||
749 | if ((config[0] & INTERNAL_LOOPBACK_MASK) != 0) { | ||
750 | ql_dbg(ql_dbg_user, vha, 0x70c4, | ||
751 | "Loopback operation already in " | ||
752 | "progress.\n"); | ||
753 | rval = -EAGAIN; | ||
754 | goto done_free_dma_rsp; | ||
755 | } | ||
756 | |||
749 | ql_dbg(ql_dbg_user, vha, 0x70c0, | 757 | ql_dbg(ql_dbg_user, vha, 0x70c0, |
750 | "elreq.options=%04x\n", elreq.options); | 758 | "elreq.options=%04x\n", elreq.options); |
751 | 759 | ||
diff --git a/drivers/scsi/qla2xxx/qla_dbg.c b/drivers/scsi/qla2xxx/qla_dbg.c index af045ed0a230..c1d2310c615e 100644 --- a/drivers/scsi/qla2xxx/qla_dbg.c +++ b/drivers/scsi/qla2xxx/qla_dbg.c | |||
@@ -24,7 +24,7 @@ | |||
24 | * | Async Events | 0x5071 | 0x502b-0x502f | | 24 | * | Async Events | 0x5071 | 0x502b-0x502f | |
25 | * | | | 0x5047,0x5052 | | 25 | * | | | 0x5047,0x5052 | |
26 | * | Timer Routines | 0x6011 | | | 26 | * | Timer Routines | 0x6011 | | |
27 | * | User Space Interactions | 0x70c3 | 0x7018,0x702e, | | 27 | * | User Space Interactions | 0x70c4 | 0x7018,0x702e, | |
28 | * | | | 0x7020,0x7024, | | 28 | * | | | 0x7020,0x7024, | |
29 | * | | | 0x7039,0x7045, | | 29 | * | | | 0x7039,0x7045, | |
30 | * | | | 0x7073-0x7075, | | 30 | * | | | 0x7073-0x7075, | |