scsi: mpt3sas: Perform additional retries if doorbell read returns 0
authorRanjan Kumar <ranjan.kumar@broadcom.com>
Tue, 29 Aug 2023 09:00:19 +0000 (14:30 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 31 Aug 2023 01:39:06 +0000 (21:39 -0400)
commit4ca10f3e31745d35249a727ecd108eb58f0a8c5e
tree2893b4292081cd990622ca4f296c436e9efd83bd
parentbe946e31bcf2b1c01f1af443c238bc15fe9f6294
scsi: mpt3sas: Perform additional retries if doorbell read returns 0

The driver retries certain register reads 3 times if the returned value is
0. This was done because the controller could return 0 for certain
registers if other registers were being accessed concurrently by the BMC.

In certain systems with increased BMC interactions, the register values
returned can be 0 for longer than 3 retries. Change the retry count from 3
to 30 for the affected registers to prevent problems with out-of-band
management.

Fixes: b899202901a8 ("scsi: mpt3sas: Add separate function for aero doorbell reads")
Cc: stable@vger.kernel.org
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
Link: https://lore.kernel.org/r/20230829090020.5417-2-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_base.c
drivers/scsi/mpt3sas/mpt3sas_base.h