Skip to contentSkip to conversation

mpt3sas: Improvised loop logic

PATCH Applied Ranjan Kumar 2 participants 3 messages Oct 20, 2023 – Oct 30, 2023

Subsystems (3)
lore
Share & tools
lore

Ranjan Kumar

author maintainer
#0 lore raw

PATCH 1/1 mpt3sas: Improvised loop logic

The loop continues to iterate until the count reaches 30, even after receiving the correct value.That is fixed by breaking when non-zero value is read.

Fixes 4ca10f3e3174 ("mpt3sas: Perform additional retries if doorbell read returns 0")
---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/scsi/mpt3sas/mpt3sas_base.c +2 -2
index 61a32bf00747..a75f670bf551 100644
@@ -223,8 +223,8 @@ _base_readl_ext_retry(const void __iomem *addr)
 
 	for (i = 0 ; i < 30 ; i++) {
 		ret_val = readl(addr);
-		if (ret_val == 0)
-			continue;
+		if (ret_val != 0)
+			break;
 	}
 
 	return ret_val;
Signature · 1 line
2.31.1
#1 lore raw

Ranjan,

Quoted 3 lines

The loop continues to iterate until the count reaches 30, even after receiving the correct value.That is fixed by breaking when non-zero value is read.

Applied to 6.7/scsi-staging, thanks!

Signature · 1 line
Martin K. Petersen	Oracle Linux Engineering