2018-03-18 14:50:38

by Jia-Ju Bai

[permalink] [raw]
Subject: [PATCH] crypto: cavium: cpt: Replace mdelay with msleep in cpt_device_init

cpt_device_init() is never called in atomic context.

The call chain ending up at cpt_device_init() is:
[1] cpt_device_init() <- cpt_probe()
cpt_probe() is only set as ".probe" in pci_driver structure
"cpt_pci_driver".

Despite never getting called from atomic context, cpt_device_init() calls
mdelay(100), i.e. busy wait for 100ms.
That is not necessary and can be replaced with msleep to
avoid busy waiting.

This is found by a static analysis tool named DCNS written by myself.

Signed-off-by: Jia-Ju Bai <[email protected]>
---
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 34a6d8b..06ad85a 100644
--- a/drivers/crypto/cavium/cpt/cptpf_main.c
+++ b/drivers/crypto/cavium/cpt/cptpf_main.c
@@ -436,7 +436,7 @@ static int cpt_device_init(struct cpt_device *cpt)

/* Reset the PF when probed first */
cpt_reset(cpt);
- mdelay(100);
+ msleep(100);

/*Check BIST status*/
bist = (u64)cpt_check_bist_status(cpt);
--
1.9.1


2018-03-23 16:04:11

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH] crypto: cavium: cpt: Replace mdelay with msleep in cpt_device_init

On Sun, Mar 18, 2018 at 10:50:38PM +0800, Jia-Ju Bai wrote:
> cpt_device_init() is never called in atomic context.
>
> The call chain ending up at cpt_device_init() is:
> [1] cpt_device_init() <- cpt_probe()
> cpt_probe() is only set as ".probe" in pci_driver structure
> "cpt_pci_driver".
>
> Despite never getting called from atomic context, cpt_device_init() calls
> mdelay(100), i.e. busy wait for 100ms.
> That is not necessary and can be replaced with msleep to
> avoid busy waiting.
>
> This is found by a static analysis tool named DCNS written by myself.
>
> Signed-off-by: Jia-Ju Bai <[email protected]>

Patch applied. Thanks.
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt