forked from luck/tmp_suning_uos_patched
PCI: Create SR-IOV virtfn/physfn links before attaching driver
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>
This commit is contained in:
parent
7dfca15276
commit
27d6162944
|
@ -159,7 +159,6 @@ int pci_iov_add_virtfn(struct pci_dev *dev, int id)
|
|||
|
||||
pci_device_add(virtfn, virtfn->bus);
|
||||
|
||||
pci_bus_add_device(virtfn);
|
||||
sprintf(buf, "virtfn%u", id);
|
||||
rc = sysfs_create_link(&dev->dev.kobj, &virtfn->dev.kobj, buf);
|
||||
if (rc)
|
||||
|
@ -170,6 +169,8 @@ int pci_iov_add_virtfn(struct pci_dev *dev, int id)
|
|||
|
||||
kobject_uevent(&virtfn->dev.kobj, KOBJ_CHANGE);
|
||||
|
||||
pci_bus_add_device(virtfn);
|
||||
|
||||
return 0;
|
||||
|
||||
failed2:
|
||||
|
|
Loading…
Reference in New Issue
Block a user