Subject: Re: [PATCH net v4] ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave()

From: Jakub Kicinski <[email-masked]>
Date: Thu, 8 Dec 2022 08:47:53 -0800

On Thu, 8 Dec 2022 20:01:21 +0800 Yang Yingliang wrote:
> It is not allowed to call kfree_skb() or consume_skb() from hardware
> interrupt context or with hardware interrupts being disabled.
> 
> It should use dev_kfree_skb_irq() or dev_consume_skb_irq() instead.
> The difference between them is free reason, dev_kfree_skb_irq() means
> the SKB is dropped in error and dev_consume_skb_irq() means the SKB
> is consumed in normal.
> 
> In this case, dev_kfree_skb() is called in free_tx_buffers() to drop
> the SKBs in tx buffers, when the card is down, so replace it with
> dev_kfree_skb_irq() here.

Make sure you read this:

https://www.kernel.org/doc/html/next/process/maintainer-netdev.html