diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c index fd19d2d163b8e695bee4c670df6336e9ecdae195..7f2126b6a179fa54888b7de0a469767b71692762 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -661,6 +661,8 @@ static int mtk_tx_map(struct sk_buff *skb, struct net_device *dev, itxd = mtk_qdma_phys_to_virt(ring, itxd->txd2); } while (itxd != txd); + spin_unlock_irqrestore(ð->page_lock, flags); + return -ENOMEM; }