diff mbox series

mpt3sas: Improvised loop logic

Message ID 20231020105849.6350-1-ranjan.kumar@broadcom.com (mailing list archive)
State Accepted
Headers show
Series mpt3sas: Improvised loop logic | expand

Commit Message

Ranjan Kumar Oct. 20, 2023, 10:58 a.m. UTC
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")
Cc: stable@vger.kernel.org
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Martin K. Petersen Oct. 25, 2023, 2:35 a.m. UTC | #1
Ranjan,

> 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!
Martin K. Petersen Oct. 30, 2023, 3:34 p.m. UTC | #2
On Fri, 20 Oct 2023 16:28:49 +0530, Ranjan Kumar wrote:

> 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-queue, thanks!

[1/1] mpt3sas: Improvised loop logic
      https://git.kernel.org/mkp/scsi/c/3c978492c333
diff mbox series

Patch

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 61a32bf00747..a75f670bf551 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -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;