• Ido Shamay's avatar
    net/mlx4_en: Call register_netdevice in the proper location · e5eda89d
    Ido Shamay authored
    Netdevice registration should be performed a the end of the driver
    initialization flow. If we don't do that, after calling register_netdevice,
    device callbacks may be issued by higher layers of the stack before
    final configuration of the device is done.
    
    For example (VXLAN configuration race), mlx4_SET_PORT_VXLAN was issued
    after the register_netdev command. System network scripts may configure
    the interface (UP) right after the registration, which also attach
    unicast VXLAN steering rule, before mlx4_SET_PORT_VXLAN was called,
    causing the firmware to fail the rule attachment.
    
    Fixes: 837052d0 ("net/mlx4_en: Add netdev support for TCP/IP offloads of vxlan tunneling")
    Signed-off-by: default avatarIdo Shamay <idos@mellanox.com>
    Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e5eda89d
en_netdev.c 78.1 KB