linux_dsm_epyc7002/drivers
Jakub Kicinski d6e1ab9ea3 nfp: don't hold PF lock while enabling SR-IOV
Enabling SR-IOV VFs will cause the PCI subsystem to schedule a
work and flush its workqueue.  Since the nfp driver schedules its
own work we can't enable VFs while holding driver load.  Commit
6d48ceb27a ("nfp: allocate a private workqueue for driver work")
tried to avoid this deadlock by creating a separate workqueue.
Unfortunately, due to the architecture of workqueue subsystem this
does not guarantee a separate thread of execution.  Luckily
we can simply take pci_enable_sriov() from under the driver lock.

Take pci_disable_sriov() from under the lock too for symmetry.

Fixes: 6d48ceb27a ("nfp: allocate a private workqueue for driver work")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-08-23 20:39:44 -07:00
..
accessibility
acpi tty/serial fixes for 4.13-rc5 2017-08-13 12:33:35 -07:00
amba
android
ata
atm
auxdisplay
base driver core fixes for 4.13-rc5 2017-08-13 12:44:18 -07:00
bcma
block Merge branch 'stable/for-jens-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus 2017-08-16 09:56:34 -06:00
bluetooth
bus
cdrom
char random: fix warning message on ia64 and parisc 2017-08-08 09:36:46 -07:00
clk
clocksource clocksource/drivers/Kconfig: Fix CLKSRC_PISTACHIO dependencies 2017-08-11 12:53:29 +02:00
connector
cpufreq cpufreq: intel_pstate: report correct CPU frequencies during trace 2017-08-11 01:25:53 +02:00
cpuidle powerpc/powernv/idle: Disable LOSE_FULL_CONTEXT states when stop-api fails 2017-08-08 20:21:23 +10:00
crypto crypto: ixp4xx - Fix error handling path in 'aead_perform()' 2017-08-09 20:01:33 +08:00
dax
dca
devfreq
dio
dma
dma-buf
edac
eisa
extcon
firewire
firmware
fmc
fpga
fsi
gpio
gpu Merge branch 'drm-fixes-4.13' of git://people.freedesktop.org/~agd5f/linux into drm-fixes 2017-08-18 05:45:03 +10:00
hid
hsi
hv
hwmon
hwspinlock
hwtracing
i2c
ide
idle
iio
infiniband IB/uverbs: Fix NULL pointer dereference during device removal 2017-08-16 12:53:15 -04:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2017-08-17 13:45:44 -07:00
iommu iommu/arm-smmu: fix null-pointer dereference in arm_smmu_add_device 2017-08-11 16:56:51 +02:00
ipack
irqchip irqchip fixes for 4.13 2017-08-14 09:34:10 +02:00
isdn mISDN: Fix null pointer dereference at mISDN_FsmNew 2017-08-11 14:56:23 -07:00
leds
lguest
lightnvm
macintosh
mailbox
mcb
md MD: not clear ->safemode for external metadata array 2017-08-11 20:42:06 -07:00
media
memory
memstick
message
mfd
misc mei: exclude device from suspend direct complete optimization 2017-08-10 14:13:18 -07:00
mmc mmc: block: fix lockdep splat when removing mmc_block module 2017-08-09 13:19:44 +02:00
mtd mtd: blkdevs: Fix mtd block write failure 2017-08-12 14:53:24 -07:00
mux
net nfp: don't hold PF lock while enabling SR-IOV 2017-08-23 20:39:44 -07:00
nfc
ntb
nubus
nvdimm
nvme nvme-pci: set cqe_seen on polled completions 2017-08-18 09:19:39 +02:00
nvmem
of of: fix DMA mask generation 2017-08-17 10:23:45 +02:00
oprofile
parisc parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo 2017-08-16 09:50:39 +02:00
parport
pci PCI: Allow PCI express root ports to find themselves 2017-08-18 16:14:37 -07:00
pcmcia
perf
phy
pinctrl Pin control fixes for the v4.13 cycle: 2017-08-09 14:30:34 -07:00
platform
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc rtc: ds1307: fix regmap config 2017-08-21 11:08:03 +02:00
s390 s390/qeth: fix L3 next-hop in xmit qeth hdr 2017-08-07 11:24:37 -07:00
sbus
scsi SCSI fixes on 20170816 2017-08-16 17:21:20 -07:00
sfi
sh
sn
soc soc: ti: ti_sci_pm_domains: Populate name for genpd 2017-08-18 11:59:53 +02:00
spi
spmi
ssb
staging staging/iio fixes for 4.13-rc5 2017-08-13 12:30:17 -07:00
target target: Fix node_acl demo-mode + uncached dynamic shutdown regression 2017-08-09 20:55:19 -07:00
tc
tee
thermal
thunderbolt char/misc fixes for 4.13-rc5 2017-08-13 12:41:58 -07:00
tty pty: fix the cached path of the pty slave file descriptor in the master 2017-08-17 09:10:48 -07:00
uio
usb USB fixes for 4.13-rc5 2017-08-13 12:27:42 -07:00
uwb
vfio
vhost
video
virt
virtio
vlynq
vme
w1
watchdog
xen Merge branch 'stable/for-jens-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus 2017-08-16 09:56:34 -06:00
zorro
Kconfig
Makefile