linux-stable/drivers/net
Venkat Duvvuru c1bb0a5588 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>
2016-03-03 17:18:03 -05:00
..
appletalk
arcnet
bonding bonding: don't use stale speed and duplex information 2016-02-16 15:14:01 -05:00
caif
can can: gs_usb: fixed disconnect bug by removing erroneous use of kfree() 2016-02-26 08:36:33 +01:00
cris
dsa net: dsa: mv88e6xxx: Add support for Marvell 88E6240 2016-02-16 16:04:07 -05:00
ethernet be2net: don't enable multicast flag in be_enable_if_filters() routine 2016-03-03 17:18:03 -05:00
fddi defxx: fix build warning 2016-01-25 10:51:52 -08:00
fjes
hamradio
hippi
hyperv hv_netvsc: Restore needed_headroom request 2016-02-13 06:04:44 -05:00
ieee802154
ipvlan
irda net/irda: bfin_sir: remove duplicate defines 2016-01-21 10:45:45 -08:00
phy phy: micrel: Disable auto negotiation on startup 2016-03-01 16:52:09 -05:00
plip net: plip: use new parport device model 2016-01-09 21:02:05 -05:00
ppp ppp: lock ppp->flags in ppp_read() and ppp_poll() 2016-03-01 16:15:07 -05:00
slip
team team: Replace rcu_read_lock with a mutex in team_vlan_rx_kill_vid 2016-01-18 11:52:38 -05:00
usb qmi_wwan: add Sierra Wireless EM74xx device ID 2016-03-03 16:31:52 -05:00
vmxnet3 Driver: Vmxnet3: Update Rx ring 2 max size 2016-02-21 22:04:15 -05:00
wan dscc4: Undefined signed int shift 2016-02-13 06:10:21 -05:00
wimax
wireless rtlwifi 2016-02-19 15:51:18 -05:00
xen-netback xen-netback: free queues after freeing the net device 2016-01-15 15:13:19 -05:00
dummy.c
eql.c
geneve.c lwt: fix rx checksum setting for lwt devices tunneling over ipv6 2016-02-19 15:39:30 -05:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macvlan.c macvlan: make operstate and carrier more accurate 2016-01-29 12:15:45 -08:00
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c
veth.c
virtio_net.c
vrf.c net: vrf: Remove direct access to skb->data 2016-02-25 15:34:26 -05:00
vxlan.c vxlan: fix missing options_len update on RX with collect metadata 2016-03-03 17:10:31 -05:00
xen-netfront.c xen-netfront: request Tx response events more often 2016-01-28 16:08:55 -08:00