diff --git a/drivers/net/can/grcan.c b/drivers/net/can/grcan.c index 39802f107eb1ba1bf07b4d60c5f8607df6795797..3cb876de11d6b72b08ef86ed3184f329a31346bd 100644 --- a/drivers/net/can/grcan.c +++ b/drivers/net/can/grcan.c @@ -1113,8 +1113,10 @@ static int grcan_close(struct net_device *dev) priv->closing = true; if (priv->need_txbug_workaround) { + spin_unlock_irqrestore(&priv->lock, flags); del_timer_sync(&priv->hang_timer); del_timer_sync(&priv->rr_timer); + spin_lock_irqsave(&priv->lock, flags); } netif_stop_queue(dev); grcan_stop_hardware(dev);