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 - 2024 Red Hat, Inc.