PCI: Create SR-IOV virtfn/physfn links before attaching driver
authorStuart Hayes <stuart.w.hayes@gmail.com>
Wed, 4 Oct 2017 15:57:52 +0000 (10:57 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Dec 2017 13:22:14 +0000 (14:22 +0100)
commit1e91b0d64e921678b8c98f7a4980b169181a9bad
treebd127e2f380a5544055b9e0de367b238aae1c00e
parenta916c4152a4ba0c42cd2350dc04251417ca73507
PCI: Create SR-IOV virtfn/physfn links before attaching driver

[ Upstream commit 27d6162944b9b34c32cd5841acd21786637ee743 ]

When creating virtual functions, create the "virtfn%u" and "physfn" links
in sysfs *before* attaching the driver instead of after.  When we attach
the driver to the new virtual network interface first, there is a race when
the driver attaches to the new sends out an "add" udev event, and the
network interface naming software (biosdevname or systemd, for example)
tries to look at these links.

Signed-off-by: Stuart Hayes <stuart.w.hayes@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pci/iov.c