drivers/crypto/cavium/cpt/cptpf_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Currently the timeout check will immediately break out of the
while loop because timeout-- is always true on the first
iteration because timeout was initialized to 100. The check
is inverted, it should exit when timeout is zero. Fix this
by adding the missing ! operator.
Fixes: 9e2c7d99941d ("crypto: cavium - Add Support for Octeon-tx CPT Engine")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
---
drivers/crypto/cavium/cpt/cptpf_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/crypto/cavium/cpt/cptpf_main.c b/drivers/crypto/cavium/cpt/cptpf_main.c
index 6872ac344001..48f878460f41 100644
--- a/drivers/crypto/cavium/cpt/cptpf_main.c
+++ b/drivers/crypto/cavium/cpt/cptpf_main.c
@@ -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);
--
2.39.5
On Fri, Oct 18, 2024 at 11:04 AM Colin Ian King <colin.i.king@gmail.com> wrote:
>
> Currently the timeout check will immediately break out of the
> while loop because timeout-- is always true on the first
> iteration because timeout was initialized to 100. The check
> is inverted, it should exit when timeout is zero. Fix this
> by adding the missing ! operator.
>
> Fixes: 9e2c7d99941d ("crypto: cavium - Add Support for Octeon-tx CPT Engine")
> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> ---
> drivers/crypto/cavium/cpt/cptpf_main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/crypto/cavium/cpt/cptpf_main.c b/drivers/crypto/cavium/cpt/cptpf_main.c
> index 6872ac344001..48f878460f41 100644
> --- a/drivers/crypto/cavium/cpt/cptpf_main.c
> +++ b/drivers/crypto/cavium/cpt/cptpf_main.c
> @@ -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);
> --
> 2.39.5
>
>
This bug was recently fixed by my patch:
https://lore.kernel.org/all/20241018162311.4770-1-everestkc@everestkc.com.np/
Thanks,
Everest K.C.
© 2016 - 2026 Red Hat, Inc.