lkml.org 
[lkml]   [2019]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 012/125] net: mscc: ocelot: dont handle netdev events for other netdevs
    Date
    From: Claudiu Manoil <claudiu.manoil@nxp.com>

    [ Upstream commit 7afb3e575e5aa9f5a200a3eb3f45d8130f6d6601 ]

    The check that the event is actually for this device should be moved
    from the "port" handler to the net device handler.

    Otherwise the port handler will deny bonding configuration for other
    net devices in the same system (like enetc in the LS1028A) that don't
    have the lag_upper_info->tx_type restriction that ocelot has.

    Fixes: dc96ee3730fc ("net: mscc: ocelot: add bonding support")
    Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
    Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/mscc/ocelot.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    --- a/drivers/net/ethernet/mscc/ocelot.c
    +++ b/drivers/net/ethernet/mscc/ocelot.c
    @@ -1506,9 +1506,6 @@ static int ocelot_netdevice_port_event(s
    struct ocelot_port *ocelot_port = netdev_priv(dev);
    int err = 0;

    - if (!ocelot_netdevice_dev_check(dev))
    - return 0;
    -
    switch (event) {
    case NETDEV_CHANGEUPPER:
    if (netif_is_bridge_master(info->upper_dev)) {
    @@ -1545,6 +1542,9 @@ static int ocelot_netdevice_event(struct
    struct net_device *dev = netdev_notifier_info_to_dev(ptr);
    int ret = 0;

    + if (!ocelot_netdevice_dev_check(dev))
    + return 0;
    +
    if (event == NETDEV_PRECHANGEUPPER &&
    netif_is_lag_master(info->upper_dev)) {
    struct netdev_lag_upper_info *lag_upper_info = info->upper_info;

    \
     
     \ /
      Last update: 2019-11-11 19:41    [W:4.205 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site