.. | .. |
---|
545 | 545 | static void dwmac_rk_rx_clean(struct stmmac_priv *priv, |
---|
546 | 546 | struct dwmac_rk_lb_priv *lb_priv) |
---|
547 | 547 | { |
---|
548 | | - if (likely(lb_priv->rx_skbuff_dma)) { |
---|
| 548 | + struct sk_buff *skb; |
---|
| 549 | + |
---|
| 550 | + skb = lb_priv->rx_skbuff; |
---|
| 551 | + |
---|
| 552 | + if (likely(lb_priv->rx_skbuff)) { |
---|
549 | 553 | dma_unmap_single(priv->device, |
---|
550 | 554 | lb_priv->rx_skbuff_dma, |
---|
551 | 555 | lb_priv->dma_buf_sz, DMA_FROM_DEVICE); |
---|
552 | | - lb_priv->rx_skbuff_dma = 0; |
---|
553 | | - } |
---|
554 | | - |
---|
555 | | - if (likely(lb_priv->rx_skbuff)) { |
---|
556 | | - dev_consume_skb_any(lb_priv->rx_skbuff); |
---|
| 556 | + dev_kfree_skb(skb); |
---|
557 | 557 | lb_priv->rx_skbuff = NULL; |
---|
558 | 558 | } |
---|
559 | 559 | } |
---|
.. | .. |
---|
582 | 582 | } |
---|
583 | 583 | |
---|
584 | 584 | frame_len -= ETH_FCS_LEN; |
---|
585 | | - prefetch(skb->data - NET_IP_ALIGN); |
---|
586 | 585 | skb_put(skb, frame_len); |
---|
587 | | - dma_unmap_single(priv->device, |
---|
588 | | - lb_priv->rx_skbuff_dma, |
---|
589 | | - lb_priv->dma_buf_sz, |
---|
590 | | - DMA_FROM_DEVICE); |
---|
591 | 586 | |
---|
592 | 587 | return dwmac_rk_loopback_validate(priv, lb_priv, skb); |
---|
593 | 588 | } |
---|
.. | .. |
---|
621 | 616 | static void dwmac_rk_tx_clean(struct stmmac_priv *priv, |
---|
622 | 617 | struct dwmac_rk_lb_priv *lb_priv) |
---|
623 | 618 | { |
---|
624 | | - struct sk_buff *skb = lb_priv->tx_skbuff; |
---|
| 619 | + struct sk_buff *skb; |
---|
625 | 620 | struct dma_desc *p; |
---|
626 | 621 | |
---|
| 622 | + skb = lb_priv->tx_skbuff; |
---|
627 | 623 | p = lb_priv->dma_tx; |
---|
628 | 624 | |
---|
629 | 625 | if (likely(lb_priv->tx_skbuff_dma)) { |
---|
.. | .. |
---|
635 | 631 | } |
---|
636 | 632 | |
---|
637 | 633 | if (likely(skb)) { |
---|
638 | | - dev_consume_skb_any(skb); |
---|
| 634 | + dev_kfree_skb(skb); |
---|
639 | 635 | lb_priv->tx_skbuff = NULL; |
---|
640 | 636 | } |
---|
641 | 637 | |
---|
.. | .. |
---|
659 | 655 | lb_priv->tx_skbuff = skb; |
---|
660 | 656 | |
---|
661 | 657 | des = dma_map_single(priv->device, skb->data, |
---|
662 | | - nopaged_len, DMA_TO_DEVICE); |
---|
| 658 | + nopaged_len, DMA_TO_DEVICE); |
---|
663 | 659 | if (dma_mapping_error(priv->device, des)) |
---|
664 | 660 | goto dma_map_err; |
---|
665 | | - lb_priv->tx_skbuff_dma = des; |
---|
666 | 661 | |
---|
667 | 662 | stmmac_set_desc_addr(priv, desc, des); |
---|
668 | 663 | lb_priv->tx_skbuff_dma_len = nopaged_len; |
---|