aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_isr.c
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2010-03-19 19:59:17 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-03-27 15:11:30 -0400
commit12cec63e40f9b9c2a4766a0f43404a9642062f35 (patch)
treedda8079ff812c8d8235813b75d3d90758f4472a2 /drivers/scsi/qla2xxx/qla_isr.c
parentcad454b12a23c24fd7f409402cf51434655e76c1 (diff)
[SCSI] qla2xxx: Correct vp_idx checking during PORT_UPDATE processing.
Checks should only be done for NPIV-capable ISPs. Original code could result in PORT_UPDATEs being missed on non-NPIV-capable ISPs. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_isr.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_isr.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index ab90329ff2e4..295337d1fcb8 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -620,11 +620,10 @@ skip_rio:
620 * vp_idx does not match 620 * vp_idx does not match
621 * Event is not global, vp_idx does not match 621 * Event is not global, vp_idx does not match
622 */ 622 */
623 if ((mb[1] == 0xffff && (mb[3] & 0xff) != 0xff) 623 if (IS_QLA2XXX_MIDTYPE(ha) &&
624 || (mb[1] != 0xffff)) { 624 ((mb[1] == 0xffff && (mb[3] & 0xff) != 0xff) ||
625 if (vha->vp_idx != (mb[3] & 0xff)) 625 (mb[1] != 0xffff)) && vha->vp_idx != (mb[3] & 0xff))
626 break; 626 break;
627 }
628 627
629 /* Global event -- port logout or port unavailable. */ 628 /* Global event -- port logout or port unavailable. */
630 if (mb[1] == 0xffff && mb[2] == 0x7) { 629 if (mb[1] == 0xffff && mb[2] == 0x7) {