aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorJoe Carnuccio <joe.carnuccio@qlogic.com>2015-08-04 13:37:54 -0400
committerJames Bottomley <JBottomley@Odin.com>2015-08-26 17:43:12 -0700
commit8dd7e3a55949f17fecba4aedb2cb943b153e5e55 (patch)
tree90b4d19461e4fe67d2e370f8c6bee148eac7ed6f /drivers/scsi
parentqla2xxx: Use ssdid to gate semaphore manipulation. (diff)
downloadlinux-dev-8dd7e3a55949f17fecba4aedb2cb943b153e5e55.tar.xz
linux-dev-8dd7e3a55949f17fecba4aedb2cb943b153e5e55.zip
qla2xxx: Pause risc before manipulating risc semaphore.
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>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index f64bb6b7a08f..014f44f7a7c4 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -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;