lkml.org 
[lkml]   [2020]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.5 027/151] net: stmmac: dwmac1000: Disable ACS if enhanced descs are not used
    Date
    From: Remi Pommarel <repk@triplefau.lt>

    [ Upstream commit b723bd933980f4956dabc8a8d84b3e83be8d094c ]

    ACS (auto PAD/FCS stripping) removes FCS off 802.3 packets (LLC) so that
    there is no need to manually strip it for such packets. The enhanced DMA
    descriptors allow to flag LLC packets so that the receiving callback can
    use that to strip FCS manually or not. On the other hand, normal
    descriptors do not support that.

    Thus in order to not truncate LLC packet ACS should be disabled when
    using normal DMA descriptors.

    Fixes: 47dd7a540b8a0 ("net: add support for STMicroelectronics Ethernet controllers.")
    Signed-off-by: Remi Pommarel <repk@triplefau.lt>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c
    +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c
    @@ -24,6 +24,7 @@
    static void dwmac1000_core_init(struct mac_device_info *hw,
    struct net_device *dev)
    {
    + struct stmmac_priv *priv = netdev_priv(dev);
    void __iomem *ioaddr = hw->pcsr;
    u32 value = readl(ioaddr + GMAC_CONTROL);
    int mtu = dev->mtu;
    @@ -35,7 +36,7 @@ static void dwmac1000_core_init(struct m
    * Broadcom tags can look like invalid LLC/SNAP packets and cause the
    * hardware to truncate packets on reception.
    */
    - if (netdev_uses_dsa(dev))
    + if (netdev_uses_dsa(dev) || !priv->plat->enh_desc)
    value &= ~GMAC_CONTROL_ACS;

    if (mtu > 1500)

    \
     
     \ /
      Last update: 2020-03-17 12:08    [W:4.798 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site