Message ID | 20241018170347.647896-1-colin.i.king@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Herbert Xu |
Headers | show |
Series | [next] crypto: cavium: Fix inverted logic on timeout end check | expand |
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.
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);
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(-)