linux/drivers
Daniel Pieczko 6598dad26b sfc: leak vports if a VF is assigned during PF unload
If any VF is assigned as the PF is unloaded, do not attempt to
remove its vport or the vswitch.  These will be removed if the
driver binds to the PF again, as an entity reset occurs during
probe.

A 'force' flag is added to efx_ef10_pci_sriov_disable() to
distinguish between disabling SR-IOV and driver unload.
SR-IOV cannot be disabled if VFs are assigned to guests.

If the PF driver is unloaded while VFs are assigned, the driver
may try to bind to the VF again at a later point if the driver
has been reloaded and the VF returns to the same domain as the PF.
In this case, the PF will not have a VF data structure, so the VF
can check this and drop out of probe early.

In this case, efx->vf_count will be zero but VFs will be present.
The user is advised to remove the VF and re-create it. The check
at the beginning of efx_ef10_pci_sriov_disable() that
efx->vf_count is non-zero is removed to allow SR-IOV to be
disabled in this case. Also, if the PF driver is unloaded, it
will disable SR-IOV to remove these unknown VFs.

By not disabling bus-mastering if VFs are still assigned, the VF
will continue to pass traffic after the PF has been removed.

When using the max_vfs module parameter, if VFs are already
present do not try to initialise any more.

Signed-off-by: Shradha Shah <sshah@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-06-02 12:57:32 -07:00
..
accessibility
acpi
amba
android
ata
atm atm:he - Change 1 to true for bool type variable. 2015-05-25 16:34:35 -04:00
auxdisplay
base
bcma
block Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-05-23 01:22:35 -04:00
bluetooth Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next 2015-05-30 23:26:45 -07:00
bus MIPS: Fix CDMM to use native endian MMIO reads 2015-05-26 16:46:52 +02:00
cdrom
char
clk clk: qcom: Add support for NSS/GMAC clocks and resets 2015-05-30 17:04:36 -07:00
clocksource
connector
cpufreq
cpuidle
crypto
dca
devfreq
dio
dma
dma-buf
edac
eisa
extcon
firewire
firmware
fmc
gpio
gpu Merge branch 'linux-4.1' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes 2015-05-29 11:13:52 +10:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2015-05-21 17:23:11 -07:00
hsi
hv
hwmon hwmon: (nct6683) Add missing sysfs attribute initialization 2015-05-29 17:47:42 -07:00
hwspinlock
hwtracing/coresight
i2c
ide
idle
iio
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-06-01 22:51:30 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-05-22 14:49:55 -07:00
iommu
ipack
irqchip irqchip/gicv3-its: ITS table size should not be smaller than PSZ 2015-05-20 22:13:37 +02:00
isdn isdn/capi: Use setup_timer 2015-05-31 21:36:37 -07:00
leds
lguest lguest: fix out-by-one error in address checking. 2015-05-27 09:57:21 -07:00
macintosh
mailbox
mcb
md Quite a few fixes for DM's blk-mq support thanks to extra DM multipath 2015-05-29 14:39:24 -07:00
media
memory
memstick
message
mfd Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-06-01 22:51:30 -07:00
misc
mmc
mtd Two MTD fixes for 4.1: 2015-05-18 10:01:54 -07:00
net sfc: leak vports if a VF is assigned during PF unload 2015-06-02 12:57:32 -07:00
nfc
ntb
nubus
of
oprofile
parisc
parport
pci
pcmcia
phy
pinctrl pinctrl: Fix gpio/pin mapping for Meson8b 2015-05-19 11:40:52 +02:00
platform thinkpad_acpi: Revert unintentional device attribute renaming 2015-05-20 02:18:12 -07:00
pnp
power
powercap
pps
ps3
ptp
pwm pwm: img: Impose upper and lower timebase steps value 2015-05-19 16:07:40 +02:00
rapidio
ras
regulator mfd: da9052: Fix broken regulator probe 2015-05-27 13:34:15 +01:00
remoteproc
reset
rpmsg
rtc
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-05-23 01:22:35 -04:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-06-01 22:51:30 -07:00
sfi
sh
sn
soc
spi
spmi
ssb ssb: extend fix for PCI related silent reboots to all chipsets 2015-05-20 16:36:06 +03:00
staging As we get closer to the merge window, here are a few 2015-05-31 17:34:26 -07:00
target Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-06-01 22:51:30 -07:00
tc
thermal Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal into for-rc 2015-05-19 08:12:27 +08:00
thunderbolt
tty ttyFDC: Fix to use native endian MMIO reads 2015-05-26 16:46:52 +02:00
uio
usb
uwb
vfio
vhost Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-06-01 22:51:30 -07:00
video backlight: pwm: Handle EPROBE_DEFER while requesting the PWM 2015-05-26 08:44:59 +01:00
virt
virtio
vlynq
vme
w1
watchdog
xen xen/events: don't bind non-percpu VIRQs with percpu chip 2015-05-19 19:55:36 +01:00
zorro
Kconfig
Makefile