bnx2x: Prevent tunnel config for 577xx
authorMintz, Yuval <Yuval.Mintz@cavium.com>
Sun, 4 Dec 2016 13:30:18 +0000 (15:30 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Dec 2016 20:08:40 +0000 (15:08 -0500)
Only the 578xx adapters are capable of configuring UDP ports for
the purpose of tunnelling - doing the same on 577xx might lead to
a firmware assertion.
We're already not claiming support for any related feature for such
devices, but we also need to prevent the configuration of the UDP
ports to the device in this case.

Fixes: f34fa14cc033 ("bnx2x: Add vxlan RSS support")
Reported-by: Anikina Anna <anikina@gmail.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c

index 6f9fc20f05127c24ea6aec103afa830d6e72dfb0..4febe60eadc2ef57e592943ef6b3515a22bd3111 100644 (file)
@@ -10138,7 +10138,7 @@ static void __bnx2x_add_udp_port(struct bnx2x *bp, u16 port,
 {
        struct bnx2x_udp_tunnel *udp_port = &bp->udp_tunnel_ports[type];
 
-       if (!netif_running(bp->dev) || !IS_PF(bp))
+       if (!netif_running(bp->dev) || !IS_PF(bp) || CHIP_IS_E1x(bp))
                return;
 
        if (udp_port->count && udp_port->dst_port == port) {
@@ -10163,7 +10163,7 @@ static void __bnx2x_del_udp_port(struct bnx2x *bp, u16 port,
 {
        struct bnx2x_udp_tunnel *udp_port = &bp->udp_tunnel_ports[type];
 
-       if (!IS_PF(bp))
+       if (!IS_PF(bp) || CHIP_IS_E1x(bp))
                return;
 
        if (!udp_port->count || udp_port->dst_port != port) {