2020-09-28 17:28:10

by Shannon Nelson

[permalink] [raw]
Subject: Re: [patch 12/35] net: ionic: Remove WARN_ON(in_interrupt()).

On 9/27/20 12:48 PM, Thomas Gleixner wrote:
> From: Sebastian Andrzej Siewior <[email protected]>
>
> in_interrupt() is ill defined and does not provide what the name
> suggests. The usage especially in driver code is deprecated and a tree wide
> effort to clean up and consolidate the (ab)usage of in_interrupt() and
> related checks is happening.
>
> In this case the check covers only parts of the contexts in which these
> functions cannot be called. It fails to detect preemption or interrupt
> disabled invocations.
>
> As the functions which are invoked from ionic_adminq_post() and
> ionic_dev_cmd_wait() contain a broad variety of checks (always enabled or
> debug option dependent) which cover all invalid conditions already, there
> is no point in having inconsistent warnings in those drivers.
>
> Just remove them.
>
> Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
> Signed-off-by: Thomas Gleixner <[email protected]>
> Cc: Shannon Nelson <[email protected]>
> Cc: Pensando Drivers <[email protected]>
> Cc: "David S. Miller" <[email protected]>
> Cc: Jakub Kicinski <[email protected]>
> Cc: [email protected]
Thanks.

Acked-by: Shannon Nelson <[email protected]>

> ---
> drivers/net/ethernet/pensando/ionic/ionic_main.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> --- a/drivers/net/ethernet/pensando/ionic/ionic_main.c
> +++ b/drivers/net/ethernet/pensando/ionic/ionic_main.c
> @@ -248,8 +248,6 @@ static int ionic_adminq_post(struct ioni
> struct ionic_queue *adminq;
> int err = 0;
>
> - WARN_ON(in_interrupt());
> -
> if (!lif->adminqcq)
> return -EIO;
>
> @@ -346,8 +344,6 @@ int ionic_dev_cmd_wait(struct ionic *ion
> int done;
> int err;
>
> - WARN_ON(in_interrupt());
> -
> /* Wait for dev cmd to complete, retrying if we get EAGAIN,
> * but don't wait any longer than max_seconds.
> */
>