]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
crypto: cavium - Fix the if condition to exit loop after timeout
authorEverest K.C <everestkc@everestkc.com.np>
Fri, 18 Oct 2024 16:23:10 +0000 (10:23 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:52:51 +0000 (13:52 +0100)
[ Upstream commit 53d91ca76b6c426c546542a44c78507b42008c9e ]

The while loop breaks in the first run because of incorrect
if condition. It also causes the statements after the if to
appear dead.
Fix this by changing the condition from if(timeout--) to
if(!timeout--).

This bug was reported by Coverity Scan.
Report:
CID 1600859: (#1 of 1): Logically dead code (DEADCODE)
dead_error_line: Execution cannot reach this statement: udelay(30UL);

Fixes: 9e2c7d99941d ("crypto: cavium - Add Support for Octeon-tx CPT Engine")
Signed-off-by: Everest K.C. <everestkc@everestkc.com.np>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/crypto/cavium/cpt/cptpf_main.c

index 6872ac3440010f1f4029a6adcf78464230db35b1..ec17beee24c07deae0196c8d81c3dae5f27fd6fb 100644 (file)
@@ -44,7 +44,7 @@ static void cpt_disable_cores(struct cpt_device *cpt, u64 coremask,
                dev_err(dev, "Cores still busy %llx", coremask);
                grp = cpt_read_csr64(cpt->reg_base,
                                     CPTX_PF_EXEC_BUSY(0));
-               if (timeout--)
+               if (!timeout--)
                        break;
 
                udelay(CSR_DELAY);
@@ -394,7 +394,7 @@ static void cpt_disable_all_cores(struct cpt_device *cpt)
                dev_err(dev, "Cores still busy");
                grp = cpt_read_csr64(cpt->reg_base,
                                     CPTX_PF_EXEC_BUSY(0));
-               if (timeout--)
+               if (!timeout--)
                        break;
 
                udelay(CSR_DELAY);