vxge: fix crash of VF when unloading PF
authorJon Mason <jon.mason@exar.com>
Fri, 10 Dec 2010 14:02:57 +0000 (14:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 11 Dec 2010 00:08:22 +0000 (16:08 -0800)
commitc92bf70dcb9d08f821e4c9f09f8fc328495ba998
treeafe424dc0035569e81494750420c3e40e5b39f72
parent528f727279ae840db8a06c94f5e82cdaeb00da6f
vxge: fix crash of VF when unloading PF

Calling pci_disable_sriov when unloading a SR-IOV physical function
driver from a host when a guest is using a virtual function from that
device can cause a host crash or VM crash.  The crash is caused by the
virtual config space no longer being present when PF is removed (due to
the pci_disable_sriov).  This can be avoided by not calling
pci_disable_sriov to disable the PCI space when shutting down the PF.
Each function in the X3100 operates independently and in this case will
operate properly in the absence of the PF.

Also, added improved logic in the detection of SR-IOV initialization.

Signed-off-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: Ram Vepa <ram.vepa@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxge/vxge-main.c