linux/drivers/net/ethernet
Ariel Elior 826cb7b43b bnx2x: Disable VF access on PF removal
When the bnx2x driver is rmmoded, if VFs of a given PF will be assigned
to a VM then that PF will be unable to call `pci_disable_sriov()'.

If for that same PF there would also exist unassigned VFs in the hypervisor,
the result will be that after the removal there will still be virtual PCI
functions on the hypervisor.
If the bnx2x module were to be re-inserted, the result will be that the VFs
on the hypervisor will be re-probed directly following the PF's probe, even
though that in regular loading flow sriov is only enabled once PF is loaded.
The probed VF will then try to access its bar, causing a PCI error as the HW
is not in a state enabling such a request.

This patch adds a missing disablement procedure to the PF's removal, one that
sets registers viewable to the VF to indicate that the VFs have no permission
to access the bar, thus resulting in probe errors instead of PCI errors.

Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-10-29 00:12:45 -04:00
..
3com net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
8390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-09-05 14:58:52 -04:00
adaptec net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
adi bfin_mac: remove deprecated IRQF_DISABLED 2013-09-12 23:27:09 -04:00
aeroflex drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
allwinner drivers: net: sun4i-emac: select MDIO_SUN4I 2013-07-26 13:57:58 -07:00
alteon net/ethernet/alteon/acenic: Use module_pci_driver to register driver 2013-05-22 14:35:04 -07:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-09-19 13:57:28 -05:00
apple net: Restore unintentional reverts. 2013-06-24 12:43:40 -07:00
arc ethernet/arc/arc_emac: Fix huge delays in large file copies 2013-09-05 14:25:10 -04:00
atheros alx: remove redundant D0 power state set 2013-09-13 20:10:41 -04:00
broadcom bnx2x: Disable VF access on PF removal 2013-10-29 00:12:45 -04:00
brocade bna: firmware update to 3.2.1.1 2013-08-27 16:03:15 -04:00
cadence Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
calxeda net: calxedaxgmac: determine number of address filters at runtime 2013-10-02 16:10:29 -04:00
chelsio cxgb4: remove workqueue when driver registration fails 2013-09-15 22:28:58 -04:00
cirrus net: ep93xx_eth: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
cisco driver/net: enic: update enic maintainers and driver 2013-09-05 12:39:33 -04:00
davicom dm9000: report the correct LPA 2013-10-17 13:35:56 -04:00
dec net: tulip: remove deprecated IRQF_DISABLED 2013-09-12 23:27:09 -04:00
dlink sundance: Add netpoll support 2013-08-20 15:05:03 -07:00
emulex be2net: Warn users of possible broken functionality on BE2 cards with very old FW versions with latest driver 2013-10-27 16:38:17 -04:00
faraday drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
freescale gianfar: Enable eTSEC-20 erratum w/a for P2020 Rev1 2013-10-09 14:02:02 -04:00
fujitsu Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-05-01 14:08:52 -07:00
hp net: hp100: remove deprecated IRQF_DISABLED 2013-09-15 22:01:05 -04:00
i825xx ethernet: Convert mac address uses of 6 to ETH_ALEN 2013-08-02 12:33:54 -07:00
ibm drivers/net/ethernet/ibm/ehea/ehea_main.c: add alias entry for portN properties 2013-09-16 21:29:10 -04:00
icplus icplus: Use netif_running to determine device state 2013-09-05 14:27:32 -04:00
intel igb: Avoid uninitialized advertised variable in eee_set_cur 2013-10-02 16:31:48 -04:00
marvell net: mv643xx_eth: fix missing device_node for port devices 2013-10-02 17:11:37 -04:00
mellanox Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-10-23 07:47:42 +01:00
micrel net: ks8851-ml: remove deprecated IRQF_DISABLED 2013-09-15 22:01:05 -04:00
microchip
moxa moxa: fix the error handling in moxart_mac_probe() 2013-10-08 16:33:50 -04:00
myricom drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
natsemi net: natsemi: remove deprecated IRQF_DISABLED 2013-09-15 22:01:06 -04:00
neterion treewide: Fix typo in printk 2013-06-18 13:48:45 +02:00
nuvoton drivers:net: delete premature free_irq 2013-09-04 13:18:19 -04:00
nvidia net/ethernet/nvidia/forcedeth: Use module_pci_driver to register driver 2013-05-22 14:35:05 -07:00
nxp net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
octeon Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2013-07-13 14:52:21 -07:00
oki-semi drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
packetengines net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
pasemi net: pasemi: remove deprecated IRQF_DISABLED 2013-09-15 22:01:06 -04:00
qlogic qlcnic: Do not read QLCNIC_FW_CAPABILITY_MORE_CAPS bit for 83xx adapter 2013-10-26 00:04:49 -04:00
rdc net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
realtek r8169: enforce RX_MULTI_EN for the 8168f. 2013-09-12 02:38:43 -04:00
renesas net: sh_eth: Correct fix for RX packet errors on R8A7740 2013-10-11 14:57:22 -04:00
seeq net: seeq: use dev_get_platdata() 2013-08-30 17:43:37 -04:00
sfc sfc: Only bind to EF10 functions with the LinkCtrl and Trusted flags 2013-10-07 20:11:19 +01:00
sgi drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
silan net/ethernet/silan/sc92031: Use module_pci_driver to register driver 2013-05-22 14:35:03 -07:00
sis Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-09-06 09:36:28 -07:00
smsc net: smc91x: dont't use SMC_outw for fixing up halfword-aligned data 2013-10-11 17:50:59 -04:00
stmicro net: stmmac: fix bad merge conflict resolution 2013-09-05 18:07:00 -07:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-09-05 14:54:29 -07:00
tehuti
ti davinci_emac.c: Fix IFF_ALLMULTI setup 2013-10-21 18:56:23 -04:00
tile net: tilegx driver: avoid compiler warning 2013-09-11 16:57:45 -04:00
toshiba net: ps3_gelic: remove deprecated IRQF_DISABLED 2013-09-15 22:01:06 -04:00
tundra net: tsi108: use dev_get_platdata() 2013-08-30 17:43:38 -04:00
via via-rhine: fix VLAN priority field (PCP, IEEE 802.1p) 2013-09-26 16:09:00 -04:00
wiznet net: w5100: use dev_get_platdata() 2013-08-30 17:43:38 -04:00
xilinx ll_temac: Reset dma descriptors indexes on ndo_open 2013-10-01 12:31:35 -04:00
xircom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-05-01 14:08:52 -07:00
xscale net: ixp4xx_eth: use dev_get_platdata() 2013-08-30 17:43:39 -04:00
dnet.c
dnet.h
ethoc.c net: ethoc: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
fealnx.c
jme.c jme: lower NAPI weight 2013-08-27 14:59:27 -04:00
jme.h
Kconfig net: Add MOXA ART SoCs ethernet driver 2013-08-11 21:38:12 -07:00
korina.c net: korina: remove deprecated IRQF_DISABLED 2013-09-11 16:09:58 -04:00
lantiq_etop.c net: lantiq_etop: remove deprecated IRQF_DISABLED 2013-09-15 22:01:05 -04:00
Makefile net: Add MOXA ART SoCs ethernet driver 2013-08-11 21:38:12 -07:00
netx-eth.c net: netx-eth: remove unnecessary casting 2013-09-04 00:27:27 -04:00
s6gmac.c net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00