DSA now correctly pads short packets within net/dsa/tag_brcm.c such that
this it is no longer necessary to do this within bgmac.

Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
---
 drivers/net/ethernet/broadcom/bgmac.c | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bgmac.c 
b/drivers/net/ethernet/broadcom/bgmac.c
index 1d96cd594ade..8eef9fb6b1fe 100644
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
@@ -128,8 +128,6 @@ bgmac_dma_tx_add_buf(struct bgmac *bgmac, struct 
bgmac_dma_ring *ring,
        dma_desc->ctl1 = cpu_to_le32(ctl1);
 }
 
-#define ENET_BRCM_TAG_LEN      4
-
 static netdev_tx_t bgmac_dma_tx_add(struct bgmac *bgmac,
                                    struct bgmac_dma_ring *ring,
                                    struct sk_buff *skb)
@@ -142,18 +140,6 @@ static netdev_tx_t bgmac_dma_tx_add(struct bgmac *bgmac,
        u32 flags;
        int i;
 
-       /* The Ethernet switch we are interfaced with needs packets to be at
-        * least 64 bytes (including FCS) otherwise they will be discarded when
-        * they enter the switch port logic. When Broadcom tags are enabled, we
-        * need to make sure that packets are at least 68 bytes
-        * (including FCS and tag) because the length verification is done after
-        * the Broadcom tag is stripped off the ingress packet.
-        */
-       if (netdev_uses_dsa(net_dev)) {
-               if (skb_put_padto(skb, ETH_ZLEN + ENET_BRCM_TAG_LEN))
-                       goto err_stats;
-       }
-
        if (skb->len > BGMAC_DESC_CTL1_LEN) {
                netdev_err(bgmac->net_dev, "Too long skb (%d)\n", skb->len);
                goto err_drop;
@@ -240,7 +226,6 @@ static netdev_tx_t bgmac_dma_tx_add(struct bgmac *bgmac,
 
 err_drop:
        dev_kfree_skb(skb);
-err_stats:
        net_dev->stats.tx_dropped++;
        net_dev->stats.tx_errors++;
        return NETDEV_TX_OK;
-- 
2.14.1

Reply via email to