Hi, On Mon, Jul 30, 2018 at 09:48:38PM +0800, Jia-Ju Bai wrote: > piix4_poweroff() is never called in atomic context. > It calls mdelay() to busily wait, which is not necessary. > mdelay() can be replaced with msleep() and usleep_range(). > > This is found by a static analysis tool named DCNS written by myself. > > Signed-off-by: Jia-Ju Bai <[email protected]> > ---
This is a shutdown driver, so busy waiting is ok.
-- Sebastian
> drivers/power/reset/piix4-poweroff.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/power/reset/piix4-poweroff.c
> b/drivers/power/reset/piix4-poweroff.c
> index 20ce3ff5e039..5d4c72992d2c 100644
> --- a/drivers/power/reset/piix4-poweroff.c
> +++ b/drivers/power/reset/piix4-poweroff.c
> @@ -47,7 +47,7 @@ static void piix4_poweroff(void)
> io_offset + PIIX4_FUNC3IO_PMCNTRL);
>
> /* If the special cycle occurs too soon this doesn't work... */
> - mdelay(10);
> + usleep_range(10000, 11000);
>
> /*
> * The PIIX4 will enter the suspend state only after seeing a special
> @@ -59,7 +59,7 @@ static void piix4_poweroff(void)
> PIIX4_SUSPEND_MAGIC);
>
> /* Give the system some time to power down, then error */
> - mdelay(1000);
> + msleep(1000);
> pr_emerg("Unable to poweroff system\n");
> }
>
> --
> 2.17.0
>
signature.asc
Description: PGP signature

