linux/drivers/net
Mintz, Yuval fd3c615ae1 qed: Fix race with multiple VFs
A PF syncronizes all IOV activity relating to its VFs
by using a single workqueue handling the work.
The workqueue would reach a bitmask of pending VF events
and act upon each in turn.

Problem is that the indication of a VF message [which sets
the 'vf event' bit for that VF] arrives and is set in
the slowpath attention context, which isn't syncronized with
the processing of the events.
When multiple VFs are present, it's possible that PF would
lose the indication of one of the VF's pending evens, leading
that VF to later timeout.

Instead of adding locks/barriers, simply move from a bitmask
into a per-VF indication inside that VF entry in the PF database.

Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-27 09:22:09 -05:00
..
appletalk
arcnet
bonding net: remove ndo_neigh_{construct, destroy} from stacked devices 2017-02-06 11:25:57 -05:00
caif
can can: flexcan: switch imx6 and vf610 to timestamp based offloading 2017-02-06 15:13:45 +01:00
cris
dsa net:dsa:mv88e6xxx: use watchdog ops for 6097 chip 2017-02-14 11:45:28 -05:00
ethernet qed: Fix race with multiple VFs 2017-02-27 09:22:09 -05:00
fddi
fjes drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
hamradio driver core patches for 4.11-rc1 2017-02-22 11:44:32 -08:00
hippi
hyperv char/misc driver patches for 4.11-rc1 2017-02-22 11:38:22 -08:00
ieee802154
ipvlan ipvtap: IP-VLAN based tap driver 2017-02-11 20:59:41 -05:00
irda net: irda: au1k_ir: drop useless include 2017-02-14 14:51:03 -05:00
phy net: phy: Add missing driver check in phy_aneg_done() 2017-02-24 11:42:55 -05:00
plip
ppp
slip
team net: remove ndo_neigh_{construct, destroy} from stacked devices 2017-02-06 11:25:57 -05:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-11 02:31:11 -05:00
vmxnet3 drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
wan net/wan: add MODULE_LICENSE for fsl_ucc_hdlc 2017-02-17 15:20:43 -05:00
wimax
wireless Revert "ath10k: Search SMBIOS for OEM board file extension" 2017-02-21 15:59:45 -05:00
xen-netback Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-02-22 10:15:09 -08:00
dummy.c
eql.c
geneve.c
gtp.c gtp: let userspace handle packets for invalid tunnels 2017-01-29 13:54:00 -05:00
ifb.c
Kconfig vmxnet3: prevent building with 64K pages 2017-02-17 15:25:49 -05:00
LICENSE.SRC
loopback.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-11 02:31:11 -05:00
macsec.c macsec: fix validation failed in asynchronous operation. 2017-02-21 13:13:51 -05:00
macvlan.c tap: Abstract type of virtual interface from tap implementation 2017-02-11 20:59:41 -05:00
macvtap.c tap: tap as an independent module 2017-02-11 20:59:41 -05:00
Makefile ipvtap: IP-VLAN based tap driver 2017-02-11 20:59:41 -05:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c tap: tap as an independent module 2017-02-11 20:59:41 -05:00
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-07 16:29:30 -05:00
veth.c
virtio_net.c virtio-net: switch to use build_skb() for small buffer 2017-02-21 12:24:52 -05:00
vrf.c net: rename dst_neigh_output back to neigh_output 2017-02-11 21:25:18 -05:00
vxlan.c vxlan: don't allow overwrite of config src addr 2017-02-24 13:36:24 -05:00
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-02-22 10:15:09 -08:00