lkml.org 
[lkml]   [2020]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.4 084/175] net: bcmgenet: set Rx mode before starting netif
    Date
    From: Doug Berger <opendmb@gmail.com>

    [ Upstream commit 72f96347628e73dbb61b307f18dd19293cc6792a ]

    This commit explicitly calls the bcmgenet_set_rx_mode() function when
    the network interface is started. This function is normally called by
    ndo_set_rx_mode when the flags are changed, but apparently not when
    the driver is suspended and resumed.

    This change ensures that address filtering or promiscuous mode are
    properly restored by the driver after the MAC may have been reset.

    Fixes: b6e978e50444 ("net: bcmgenet: add suspend/resume callbacks")
    Signed-off-by: Doug Berger <opendmb@gmail.com>
    Acked-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/genet/bcmgenet.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
    index 6f01f4e03cef..3d3b1005d076 100644
    --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
    +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
    @@ -69,6 +69,9 @@
    #define GENET_RDMA_REG_OFF (priv->hw_params->rdma_offset + \
    TOTAL_DESC * DMA_DESC_SIZE)

    +/* Forward declarations */
    +static void bcmgenet_set_rx_mode(struct net_device *dev);
    +
    static inline void bcmgenet_writel(u32 value, void __iomem *offset)
    {
    /* MIPS chips strapped for BE will automagically configure the
    @@ -2852,6 +2855,7 @@ static void bcmgenet_netif_start(struct net_device *dev)
    struct bcmgenet_priv *priv = netdev_priv(dev);

    /* Start the network engine */
    + bcmgenet_set_rx_mode(dev);
    bcmgenet_enable_rx_napi(priv);

    umac_enable_set(priv, CMD_TX_EN | CMD_RX_EN, true);
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-06-09 02:08    [W:4.144 / U:0.112 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site