]> www.infradead.org Git - users/hch/misc.git/commitdiff
can: grcan: move napi_enable() from under spin lock
authorJakub Kicinski <kuba@kernel.org>
Sat, 11 Jan 2025 02:47:42 +0000 (18:47 -0800)
committerJakub Kicinski <kuba@kernel.org>
Tue, 14 Jan 2025 03:05:11 +0000 (19:05 -0800)
I don't see any reason why napi_enable() needs to be under the lock,
only reason I could think of is if the IRQ also took this lock
but it doesn't. napi_enable() will soon need to sleep.

Acked-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Reviewed-by: Francois Romieu <romieu@fr.zoreil.com>
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Link: https://patch.msgid.link/20250111024742.3680902-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/can/grcan.c

index cdf0ec9fa7f3c2102f776be3422fdb779df9fe7b..21a61b86f67df7c99c51820e5a018bce774f866c 100644 (file)
@@ -1073,9 +1073,10 @@ static int grcan_open(struct net_device *dev)
        if (err)
                goto exit_close_candev;
 
+       napi_enable(&priv->napi);
+
        spin_lock_irqsave(&priv->lock, flags);
 
-       napi_enable(&priv->napi);
        grcan_start(dev);
        if (!(priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY))
                netif_start_queue(dev);