This is a note to let you know that I've just added the patch titled scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers to the 6.1-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: scsi-megaraid_sas-increase-register-read-retry-rount-from-3-to-30-for-selected-registers.patch and it can be found in the queue-6.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 8e3ed9e786511ad800c33605ed904b9de49323cf Mon Sep 17 00:00:00 2001 From: Chandrakanth patil <chandrakanth.patil@xxxxxxxxxxxx> Date: Tue, 3 Oct 2023 16:30:18 +0530 Subject: scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers From: Chandrakanth patil <chandrakanth.patil@xxxxxxxxxxxx> commit 8e3ed9e786511ad800c33605ed904b9de49323cf upstream. In BMC environments with concurrent access to multiple registers, certain registers occasionally yield a value of 0 even after 3 retries due to hardware errata. As a fix, we have extended the retry count from 3 to 30. The same errata applies to the mpt3sas driver, and a similar patch has been accepted. Please find more details in the mpt3sas patch reference link. Link: https://lore.kernel.org/r/20230829090020.5417-2-ranjan.kumar@xxxxxxxxxxxx Fixes: 272652fcbf1a ("scsi: megaraid_sas: add retry logic in megasas_readl") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Chandrakanth patil <chandrakanth.patil@xxxxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxx> Link: https://lore.kernel.org/r/20231003110021.168862-2-chandrakanth.patil@xxxxxxxxxxxx Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/scsi/megaraid/megaraid_sas_base.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c @@ -263,13 +263,13 @@ u32 megasas_readl(struct megasas_instanc * Fusion registers could intermittently return all zeroes. * This behavior is transient in nature and subsequent reads will * return valid value. As a workaround in driver, retry readl for - * upto three times until a non-zero value is read. + * up to thirty times until a non-zero value is read. */ if (instance->adapter_type == AERO_SERIES) { do { ret_val = readl(addr); i++; - } while (ret_val == 0 && i < 3); + } while (ret_val == 0 && i < 30); return ret_val; } else { return readl(addr); Patches currently in stable-queue which might be from chandrakanth.patil@xxxxxxxxxxxx are queue-6.1/scsi-megaraid_sas-increase-register-read-retry-rount-from-3-to-30-for-selected-registers.patch