| From cbfda6d36df9d3e63b4f4e6efe33812c8afa0c30 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 6 Apr 2021 11:05:33 -0700 |
| Subject: scsi: pm80xx: Increase timeout for pm80xx mpi_uninit_check() |
| |
| From: Igor Pylypiv <ipylypiv@google.com> |
| |
| [ Upstream commit 3f744a14f331f56703a9d74e86520db045f11831 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/scsi/pm8001/pm80xx_hwi.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c |
| index f617177b7bb3..60c7d215726b 100644 |
| --- a/drivers/scsi/pm8001/pm80xx_hwi.c |
| +++ b/drivers/scsi/pm8001/pm80xx_hwi.c |
| @@ -1489,9 +1489,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); |
| -- |
| 2.30.2 |
| |