summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Pylypiv <ipylypiv@google.com>2021-04-06 11:05:33 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2021-04-12 23:07:07 -0400
commit3f744a14f331f56703a9d74e86520db045f11831 (patch)
treec314d89a48c5b2c2a278a3df1ed20bf560f1f91d
parent08976cb548d67d8a492d75c9202fde28e21915e2 (diff)
downloadlinux-stable-3f744a14f331f56703a9d74e86520db045f11831.tar.gz
linux-stable-3f744a14f331f56703a9d74e86520db045f11831.tar.bz2
linux-stable-3f744a14f331f56703a9d74e86520db045f11831.zip
scsi: pm80xx: Increase timeout for pm80xx mpi_uninit_check()
The mpi_uninit_check() takes longer for inbound doorbell register to be cleared. Increase the timeout substantially so that the driver does not fail to load. Previously, the inbound doorbell wait time was mistakenly increased in the mpi_init_check() instead of mpi_uninit_check(). It is okay to leave the mpi_init_check() wait time as-is as these are timeout values and if there is a failure, waiting longer is not an issue. Link: https://lore.kernel.org/r/20210406180534.1924345-2-ipylypiv@google.com Fixes: e90e236250e9 ("scsi: pm80xx: Increase timeout for pm80xx mpi_uninit_check") Reviewed-by: Vishakha Channapattan <vishakhavc@google.com> Acked-by: Jack Wang <jinpu.wang@ionos.com> Signed-off-by: Igor Pylypiv <ipylypiv@google.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/pm8001/pm80xx_hwi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c
index 74ed072209f4..92cb57de5f8d 100644
--- a/drivers/scsi/pm8001/pm80xx_hwi.c
+++ b/drivers/scsi/pm8001/pm80xx_hwi.c
@@ -1502,9 +1502,9 @@ static int mpi_uninit_check(struct pm8001_hba_info *pm8001_ha)
/* wait until Inbound DoorBell Clear Register toggled */
if (IS_SPCV_12G(pm8001_ha->pdev)) {
- max_wait_count = 4 * 1000 * 1000;/* 4 sec */
+ max_wait_count = 30 * 1000 * 1000; /* 30 sec */
} else {
- max_wait_count = 2 * 1000 * 1000;/* 2 sec */
+ max_wait_count = 15 * 1000 * 1000; /* 15 sec */
}
do {
udelay(1);