From: Chad Dupuis Date: Thu, 22 Nov 2012 06:56:03 +0000 (+0530) Subject: qla2xxx: Reject loopback request if one is already in progress. X-Git-Tag: v2.6.39-400.9.0~24^2~4 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4502957bf9f82db513bf72b0dc8e3663d77be962;p=users%2Fjedix%2Flinux-maple.git 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. JIRA Key: V2632FC-309 ER: 99818 Signed-off-by: Saurav Kashyap --- diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c index 05d5b6c7a12af..957491e50e6eb 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); diff --git a/drivers/scsi/qla2xxx/qla_dbg.c b/drivers/scsi/qla2xxx/qla_dbg.c index beeed951aca88..ed4d094425033 100644 --- a/drivers/scsi/qla2xxx/qla_dbg.c +++ b/drivers/scsi/qla2xxx/qla_dbg.c @@ -22,7 +22,7 @@ * | Async Events | 0x5071 | 0x502b-0x502f | * | | | 0x5047,0x5052 | * | Timer Routines | 0x6011 | | - * | User Space Interactions | 0x70c3 | 0x7018,0x702e | + * | User Space Interactions | 0x70c4 | 0x7018,0x702e | * | | | 0x7020,0x7024 | * | | | 0x7039,0x7045 | * | | | 0x7073-0x7075 |