[SCSI] qla2xxx: Ignore driver ack bit if corresponding presence bit is not set.
authorSaurav Kashyap <saurav.kashyap@qlogic.com>
Wed, 21 Nov 2012 07:40:36 +0000 (02:40 -0500)
committerJames Bottomley <JBottomley@Parallels.com>
Fri, 30 Nov 2012 15:10:38 +0000 (15:10 +0000)
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla2xxx/qla_os.c

index 67f7b56..9ad66a3 100644 (file)
@@ -4230,7 +4230,7 @@ qla83xx_need_reset_handler(scsi_qla_host_t *vha)
        while (1) {
                qla83xx_rd_reg(vha, QLA83XX_IDC_DRIVER_ACK, &drv_ack);
                qla83xx_rd_reg(vha, QLA83XX_IDC_DRV_PRESENCE, &drv_presence);
-               if (drv_ack == drv_presence)
+               if ((drv_ack & drv_presence) == drv_presence)
                        break;
 
                if (time_after_eq(jiffies, ack_timeout)) {