summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSawan Chandak <sawan.chandak@cavium.com>2017-03-31 14:37:03 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2017-04-07 17:07:15 -0400
commitbf6061b17a8d47ef0d9344d3ef576a4ff0edf793 (patch)
treefadb515e10c40715c819fa7af86db5bfaf477d91
parent8eaf7dfcfcf222e56f7d1e0a9ffdd7be0f300c2f (diff)
downloadlinux-bf6061b17a8d47ef0d9344d3ef576a4ff0edf793.tar.gz
linux-bf6061b17a8d47ef0d9344d3ef576a4ff0edf793.tar.bz2
linux-bf6061b17a8d47ef0d9344d3ef576a4ff0edf793.zip
scsi: qla2xxx: Add fix to read correct register value for ISP82xx.
Add fix to read correct register value for ISP82xx, during check for register disconnect.ISP82xx has different base register. Fixes: a465537ad1a4 ("qla2xxx: Disable the adapter and skip error recovery in case of register disconnect") Signed-off-by: Sawan Chandak <sawan.chandak@cavium.com> Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com> Cc: <stable@vger.kernel.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 579363a6f44f..c9e45d2befe5 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -1126,8 +1126,13 @@ static inline
uint32_t qla2x00_isp_reg_stat(struct qla_hw_data *ha)
{
struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
+ struct device_reg_82xx __iomem *reg82 = &ha->iobase->isp82;
- return ((RD_REG_DWORD(&reg->host_status)) == ISP_REG_DISCONNECT);
+ if (IS_P3P_TYPE(ha))
+ return ((RD_REG_DWORD(&reg82->host_int)) == ISP_REG_DISCONNECT);
+ else
+ return ((RD_REG_DWORD(&reg->host_status)) ==
+ ISP_REG_DISCONNECT);
}
/**************************************************************************