qla2xxx: Pause risc before manipulating risc semaphore.
authorJoe Carnuccio <joe.carnuccio@qlogic.com>
Tue, 4 Aug 2015 17:37:54 +0000 (13:37 -0400)
committerJames Bottomley <JBottomley@Odin.com>
Thu, 27 Aug 2015 00:43:12 +0000 (17:43 -0700)
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/qla2xxx/qla_init.c

index f64bb6b7a08f44de825e9008ebba25ef102d6adb..014f44f7a7c44689ec4b023287a25da05e2c7bed 100644 (file)
@@ -1282,6 +1282,9 @@ qla25xx_manipulate_risc_semaphore(scsi_qla_host_t *vha)
            vha->hw->pdev->subsystem_device != 0x0240)
                return;
 
+       WRT_REG_DWORD(&vha->hw->iobase->isp24.hccr, HCCRX_SET_RISC_PAUSE);
+       udelay(100);
+
 attempt:
        timeout_msec = TIMEOUT_SEMAPHORE;
        n = timeout_msec / delta_msec;