[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>
This commit is contained in:
Andrew Vasquez 2010-03-19 16:59:17 -07:00 committed by James Bottomley
parent cad454b12a
commit 12cec63e40
1 changed files with 4 additions and 5 deletions

View File

@ -620,11 +620,10 @@ qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb)
* vp_idx does not match
* Event is not global, vp_idx does not match
*/
if ((mb[1] == 0xffff && (mb[3] & 0xff) != 0xff)
|| (mb[1] != 0xffff)) {
if (vha->vp_idx != (mb[3] & 0xff))
break;
}
if (IS_QLA2XXX_MIDTYPE(ha) &&
((mb[1] == 0xffff && (mb[3] & 0xff) != 0xff) ||
(mb[1] != 0xffff)) && vha->vp_idx != (mb[3] & 0xff))
break;
/* Global event -- port logout or port unavailable. */
if (mb[1] == 0xffff && mb[2] == 0x7) {