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>
 
        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);