[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89i+08T_1pDZ-FWikarVq=5q4MVAx=+mRkSqeinfb10OdOg@mail.gmail.com>
Date: Fri, 16 Dec 2022 14:23:04 +0100
From: Eric Dumazet <edumazet@...gle.com>
To: Marek Vasut <marex@...x.de>
Cc: netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Geoff Levand <geoff@...radead.org>,
Jakub Kicinski <kuba@...nel.org>,
Linus Walleij <linus.walleij@...aro.org>,
Paolo Abeni <pabeni@...hat.com>,
Petr Machata <petrm@...dia.com>,
Wolfram Sang <wsa+renesas@...g-engineering.com>
Subject: Re: [PATCH] net: ks8851: Drop IRQ threading
On Fri, Dec 16, 2022 at 1:47 PM Marek Vasut <marex@...x.de> wrote:
>
> Request non-threaded IRQ in the KSZ8851 driver, this fixes the following warning:
> "
> NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!!
This changelog is a bit terse.
Why can other drivers use request_threaded_irq(), but not this one ?
> "
>
> Signed-off-by: Marek Vasut <marex@...x.de>
> ---
> Cc: "David S. Miller" <davem@...emloft.net>
> Cc: Dmitry Torokhov <dmitry.torokhov@...il.com>
> Cc: Eric Dumazet <edumazet@...gle.com>
> Cc: Geoff Levand <geoff@...radead.org>
> Cc: Jakub Kicinski <kuba@...nel.org>
> Cc: Linus Walleij <linus.walleij@...aro.org>
> Cc: Paolo Abeni <pabeni@...hat.com>
> Cc: Petr Machata <petrm@...dia.com>
> Cc: Wolfram Sang <wsa+renesas@...g-engineering.com>
> To: netdev@...r.kernel.org
> ---
> drivers/net/ethernet/micrel/ks8851_common.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/micrel/ks8851_common.c b/drivers/net/ethernet/micrel/ks8851_common.c
> index cfbc900d4aeb9..1eba4ba0b95cf 100644
> --- a/drivers/net/ethernet/micrel/ks8851_common.c
> +++ b/drivers/net/ethernet/micrel/ks8851_common.c
> @@ -443,9 +443,7 @@ static int ks8851_net_open(struct net_device *dev)
> unsigned long flags;
> int ret;
>
> - ret = request_threaded_irq(dev->irq, NULL, ks8851_irq,
> - IRQF_TRIGGER_LOW | IRQF_ONESHOT,
> - dev->name, ks);
> + ret = request_irq(dev->irq, ks8851_irq, IRQF_TRIGGER_LOW, dev->name, ks);
> if (ret < 0) {
> netdev_err(dev, "failed to get irq\n");
> return ret;
> --
> 2.35.1
>
Powered by blists - more mailing lists