linux/drivers
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
..
accessibility
acpi pci-v4.11-changes 2017-02-23 11:53:22 -08:00
amba
android mm: drop unused argument of zap_page_range() 2017-02-22 16:41:30 -08:00
ata ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
atm atm: idt77252, use setup_timer and mod_timer 2017-02-15 13:24:53 -05:00
auxdisplay auxdisplay: ht16k33: remove private workqueue 2017-02-10 15:57:28 +01:00
base driver core patches for 4.11-rc1 2017-02-22 11:44:32 -08:00
bcma
block zram: remove obsolete sysfs attrs 2017-02-22 16:41:30 -08:00
bluetooth btmrvl: fix spelling mistake: "actived" -> "activated" 2017-02-19 00:26:37 +01:00
bus ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
cdrom Merge branch 'for-4.11/next' into for-4.11/linus-merge 2017-02-17 14:08:19 -07:00
char Less anger inducing pull request for 4.11 2017-02-23 18:58:18 -08:00
clk ARM: DT updates for v4.11 2017-02-23 15:46:25 -08:00
clocksource Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 10:06:32 -08:00
connector
cpufreq ARM: SoC non-urgent fixes for merge window 2017-02-23 15:28:04 -08:00
cpuidle powerpc updates for 4.11 part 1. 2017-02-22 10:30:38 -08:00
crypto crypto: cavium - switch to pci_alloc_irq_vectors 2017-02-23 20:11:02 +08:00
dax mm, dax: change pmd_fault() to take only vmf parameter 2017-02-22 16:41:26 -08:00
dca
devfreq Merge branch 'pm-devfreq' 2017-02-20 14:23:40 +01:00
dio
dma TTY/Serial driver patches for 4.11-rc1 2017-02-22 12:17:25 -08:00
dma-buf
edac Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-02-20 12:47:44 -08:00
eisa
extcon
firewire
firmware ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
fmc
fpga fpga zynq: Use the scatterlist interface 2017-02-10 15:20:44 +01:00
fsi drivers/fsi: add driver to device matches 2017-02-10 15:19:48 +01:00
gpio This is the bulk of GPIO changes for the v4.11 cycle 2017-02-23 08:46:04 -08:00
gpu Less anger inducing pull request for 4.11 2017-02-23 18:58:18 -08:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2017-02-21 17:28:25 -08:00
hsi
hv vmbus: replace modulus operation with subtraction 2017-02-14 10:20:35 -08:00
hwmon hwmon: (sht15) Add device tree support 2017-02-16 06:49:05 -08:00
hwspinlock
hwtracing
i2c Generic device properties framework updates for v4.11-rc1 2017-02-20 18:06:09 -08:00
ide Merge branch 'for-4.11/next' into for-4.11/linus-merge 2017-02-17 14:08:19 -07:00
idle
iio First set of IIO fixes for the 4.11 cycle. Regression fixes from 4.10. 2017-02-11 16:46:03 +01:00
infiniband Mellanox specific updates for 4.11 merge window 2017-02-23 11:27:49 -08:00
input This is the bulk of GPIO changes for the v4.11 cycle 2017-02-23 08:46:04 -08:00
iommu iommu/vt-d: Fix crash on boot when DMAR is disabled 2017-02-22 12:25:31 +01:00
ipack
irqchip IOMMU Updates for Linux v4.11 2017-02-20 16:42:43 -08:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-02-22 10:15:09 -08:00
leds This is the bulk of GPIO changes for the v4.11 cycle 2017-02-23 08:46:04 -08:00
lguest
lightnvm lightnvm: set default lun range when no luns are specified 2017-02-15 08:27:21 -07:00
macintosh driver core patches for 4.11-rc1 2017-02-22 11:44:32 -08:00
mailbox
mcb
md - Fix dm-raid transient device failure processing and other smaller 2017-02-21 12:11:41 -08:00
media media updates for v4.11-rc1 2017-02-21 16:58:32 -08:00
memory ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
memstick Merge branch 'for-4.11/next' into for-4.11/linus-merge 2017-02-17 14:08:19 -07:00
message SCSI misc on 20170220 2017-02-21 11:51:42 -08:00
mfd staging/iio driver patches for 4.11-rc1 2017-02-22 12:14:01 -08:00
misc sound updates for 4.11-rc1 2017-02-23 08:50:22 -08:00
mmc MMC core: 2017-02-21 12:04:54 -08:00
mtd for-4.11/linus-merge-signed 2017-02-21 10:57:33 -08:00
net qed: Fix race with multiple VFs 2017-02-27 09:22:09 -05:00
nfc
ntb ntb: ntb_hw_intel: link_poll isn't clearing the pending status properly 2017-02-16 23:11:26 -05:00
nubus
nvdimm
nvme Merge branch 'for-4.11/next' into for-4.11/linus-merge 2017-02-17 14:08:19 -07:00
nvmem
of DeviceTree updates for 4.11: 2017-02-22 19:23:14 -08:00
oprofile
parisc
parport
pci pci-v4.11-changes 2017-02-23 11:53:22 -08:00
pcmcia
perf
phy pci-v4.11-changes 2017-02-23 11:53:22 -08:00
pinctrl Pin control bulk changes for the v4.11 kernel cycle: 2017-02-21 16:34:22 -08:00
platform - Core Frameworks 2017-02-23 08:18:01 -08:00
pnp
power
powercap
pps
ps3
ptp 4.11 is going to be a relatively large release for KVM, with a little over 2017-02-22 18:22:53 -08:00
pwm
rapidio
ras
regulator regulator: Updates for v4.11 2017-02-20 17:23:57 -08:00
remoteproc remoteproc: qcom: mdt_loader: Use signed type for offset 2017-02-22 02:07:13 -08:00
reset ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
rpmsg rpmsg: rpmsg_create_ept() returns NULL on error 2017-02-13 00:52:54 -08:00
rtc Pin control bulk changes for the v4.11 kernel cycle: 2017-02-21 16:34:22 -08:00
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-02-22 10:20:04 -08:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-02-22 10:15:09 -08:00
sfi
sh
sn
soc ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
spi ACPI updates for v4.11-rc1 2017-02-20 17:55:15 -08:00
spmi
ssb
staging mm: drop unused argument of zap_page_range() 2017-02-22 16:41:30 -08:00
target First set of updates for 4.11 kernel merge window 2017-02-23 08:27:57 -08:00
tc
thermal Merge branch 'pm-opp' 2017-02-20 14:22:50 +01:00
thunderbolt
tty lib/show_mem.c: teach show_mem to work with the given nodemask 2017-02-22 16:41:30 -08:00
uio vmbus: add direct isr callback mode 2017-02-14 10:20:35 -08:00
usb USB/PHY patches for 4.11-rc1 2017-02-22 11:15:59 -08:00
uwb
vfio VFIO updates for v4.11 2017-02-23 11:26:09 -08:00
vhost tap: tap as an independent module 2017-02-11 20:59:41 -05:00
video Less anger inducing pull request for 4.11 2017-02-23 18:58:18 -08:00
virt
virtio
vlynq
vme
w1 w1: ds2405: use module_w1_family to simplify the code 2017-02-10 15:32:53 +01:00
watchdog
xen xen/privcmd: add IOCTL_PRIVCMD_RESTRICT 2017-02-14 15:14:59 -05:00
zorro
Kconfig drivers/fsi: Add empty fsi bus definitions 2017-02-10 15:19:48 +01:00
Makefile pci-v4.11-changes 2017-02-23 11:53:22 -08:00