The ndo_start_xmit() method must not attempt to free the skb to transmit
when returning NETDEV_TX_BUSY. Therefore, make sure the
korina_send_packet() function returns NETDEV_TX_OK when it frees a packet.

Fixes: ef11291bcd5f ("Add support the Korina (IDT RC32434) Ethernet MAC")
Suggested-by: Jakub Kicinski <k...@kernel.org>
Signed-off-by: Vincent Stehlé <vincent.ste...@laposte.net>
Cc: David S. Miller <da...@davemloft.net>
Cc: Florian Fainelli <florian.faine...@telecomint.eu>
---


Changes since v1:
- Keep freeing the packet but return NETDEV_TX_OK, as suggested by Jakub


 drivers/net/ethernet/korina.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/korina.c b/drivers/net/ethernet/korina.c
index bf48f0ded9c7d..925161959b9ba 100644
--- a/drivers/net/ethernet/korina.c
+++ b/drivers/net/ethernet/korina.c
@@ -219,7 +219,7 @@ static int korina_send_packet(struct sk_buff *skb, struct 
net_device *dev)
                        dev_kfree_skb_any(skb);
                        spin_unlock_irqrestore(&lp->lock, flags);
 
-                       return NETDEV_TX_BUSY;
+                       return NETDEV_TX_OK;
                }
        }
 
-- 
2.29.2

Reply via email to