From b625cdcd68479b3d540a915785b6d9809b52a2f8 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Tue, 14 Feb 2023 06:37:54 +0000 Subject: [PATCH] stmmac read mac form eeprom --- kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk-tool.c | 25 ++++++++++--------------- 1 files changed, 10 insertions(+), 15 deletions(-) diff --git a/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk-tool.c b/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk-tool.c index 70b458d..46633a6 100644 --- a/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk-tool.c +++ b/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk-tool.c @@ -545,15 +545,15 @@ static void dwmac_rk_rx_clean(struct stmmac_priv *priv, struct dwmac_rk_lb_priv *lb_priv) { - if (likely(lb_priv->rx_skbuff_dma)) { + struct sk_buff *skb; + + skb = lb_priv->rx_skbuff; + + if (likely(lb_priv->rx_skbuff)) { dma_unmap_single(priv->device, lb_priv->rx_skbuff_dma, lb_priv->dma_buf_sz, DMA_FROM_DEVICE); - lb_priv->rx_skbuff_dma = 0; - } - - if (likely(lb_priv->rx_skbuff)) { - dev_consume_skb_any(lb_priv->rx_skbuff); + dev_kfree_skb(skb); lb_priv->rx_skbuff = NULL; } } @@ -582,12 +582,7 @@ } frame_len -= ETH_FCS_LEN; - prefetch(skb->data - NET_IP_ALIGN); skb_put(skb, frame_len); - dma_unmap_single(priv->device, - lb_priv->rx_skbuff_dma, - lb_priv->dma_buf_sz, - DMA_FROM_DEVICE); return dwmac_rk_loopback_validate(priv, lb_priv, skb); } @@ -621,9 +616,10 @@ static void dwmac_rk_tx_clean(struct stmmac_priv *priv, struct dwmac_rk_lb_priv *lb_priv) { - struct sk_buff *skb = lb_priv->tx_skbuff; + struct sk_buff *skb; struct dma_desc *p; + skb = lb_priv->tx_skbuff; p = lb_priv->dma_tx; if (likely(lb_priv->tx_skbuff_dma)) { @@ -635,7 +631,7 @@ } if (likely(skb)) { - dev_consume_skb_any(skb); + dev_kfree_skb(skb); lb_priv->tx_skbuff = NULL; } @@ -659,10 +655,9 @@ lb_priv->tx_skbuff = skb; des = dma_map_single(priv->device, skb->data, - nopaged_len, DMA_TO_DEVICE); + nopaged_len, DMA_TO_DEVICE); if (dma_mapping_error(priv->device, des)) goto dma_map_err; - lb_priv->tx_skbuff_dma = des; stmmac_set_desc_addr(priv, desc, des); lb_priv->tx_skbuff_dma_len = nopaged_len; -- Gitblit v1.6.2