aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/can
diff options
context:
space:
mode:
authorVenkat Duvvuru <venkatkumar.duvvuru@avagotech.com>2016-03-02 06:00:28 -0500
committerDavid S. Miller <davem@davemloft.net>2016-03-03 17:18:03 -0500
commitc1bb0a5588816ec26abc08aa9adcf90e32656781 (patch)
tree0215cfa330482f0ad1406c8e8cc63037e729c2d6 /drivers/net/can
parentnet: moxa: fix an error code (diff)
downloadlinux-dev-c1bb0a5588816ec26abc08aa9adcf90e32656781.tar.xz
linux-dev-c1bb0a5588816ec26abc08aa9adcf90e32656781.zip
be2net: don't enable multicast flag in be_enable_if_filters() routine
When the interface is opened (in be_open()) the routine be_enable_if_filters() must be called to switch on the basic filtering capabilities of an interface that are not changed at run-time. These include the flags UNTAGGED, BROADCAST and PASS_L3L4_ERRORS. Other flags such as MULTICAST and PROMISC must be enabled later by be_set_rx_mode() based on the state in the netdev/adapter struct. be_enable_if_filters() routine is wrongly trying to enable MULTICAST flag without checking the current adapter state. This can cause the RX_FILTER cmds to the FW to fail. This patch fixes this problem by only enabling the basic filtering flags in be_enable_if_filters(). The VF must be able to issue RX_FILTER cmd with any filter flag, as long as the PF allowed those flags (if_cap_flags) in the iface it provisioned for the VF. This rule is applicable even when the VF doesn't have the FILTMGMT privilege. There is a bug in BE3 FW that wrongly fails RX_FILTER multicast programming cmds on VFs that don't have FILTMGMT privilege. This patch also helps in insulating the VF driver from be_open failures due to the FW bug. A fix for the BE3 FW issue will be available in versions >= 11.0.283.0 and 10.6.334.0 Reported-by: Ivan Vecera <ivecera@redhat.com> Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@avagotech.com> Signed-off-by: Sathya Perla <sathya.perla@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/can')
0 files changed, 0 insertions, 0 deletions