lkml.org 
[lkml]   [2019]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.4 05/15] net: systemport: Fix reception of BPDUs
    Date
    From: Florian Fainelli <f.fainelli@gmail.com>

    [ Upstream commit a40061ea2e39494104602b3048751341bda374a1 ]

    SYSTEMPORT has its RXCHK parser block that attempts to validate the
    packet structures, unfortunately setting the L2 header check bit will
    cause Bridge PDUs (BPDUs) to be incorrectly rejected because they look
    like LLC/SNAP packets with a non-IPv4 or non-IPv6 Ethernet Type.

    Fixes: 4e8aedfe78c7 ("net: systemport: Turn on offloads by default")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/broadcom/bcmsysport.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c
    index 143b9a384af8..53b3c1a5851c 100644
    --- a/drivers/net/ethernet/broadcom/bcmsysport.c
    +++ b/drivers/net/ethernet/broadcom/bcmsysport.c
    @@ -126,6 +126,10 @@ static int bcm_sysport_set_rx_csum(struct net_device *dev,

    priv->rx_chk_en = !!(wanted & NETIF_F_RXCSUM);
    reg = rxchk_readl(priv, RXCHK_CONTROL);
    + /* Clear L2 header checks, which would prevent BPDUs
    + * from being received.
    + */
    + reg &= ~RXCHK_L2_HDR_DIS;
    if (priv->rx_chk_en)
    reg |= RXCHK_EN;
    else
    --
    2.19.1
    \
     
     \ /
      Last update: 2019-03-13 20:22    [W:2.645 / U:0.912 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site