[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2cf646d7-9dc6-ee2b-d2a5-319b4f443c1b@gmail.com>
Date: Thu, 12 Apr 2018 09:32:59 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Jia-Ju Bai <baijiaju1990@...il.com>, andrew@...n.ch,
vivien.didelot@...oirfairelinux.com, preid@...ctromag.com.au
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] net: dsa: b53: Using sleep-able operations in
b53_switch_reset_gpio
On 04/11/2018 06:48 PM, Jia-Ju Bai wrote:
> b53_switch_reset_gpio() is never called in atomic context.
>
> The call chain ending up at b53_switch_reset_gpio() is:
> [1] b53_switch_reset_gpio() <- b53_switch_reset() <-
> b53_reset_switch() <- b53_setup()
>
> b53_switch_reset_gpio() is set as ".setup" in struct dsa_switch_ops.
> This function is not called in atomic context.
>
> Despite never getting called from atomic context, b53_switch_reset_gpio()
> calls non-sleep operations mdelay() and gpio_set_value().
> They are not necessary and can be replaced with msleep()
> and gpio_set_value_cansleep().
>
> This is found by a static analysis tool named DCNS written by myself.
> And I also manually check it.
>
> Signed-off-by: Jia-Ju Bai <baijiaju1990@...il.com>
Acked-by: Florian Fainelli <f.fainelli@...il.com>
--
Florian
Powered by blists - more mailing lists