Patch "PCI: Create SR-IOV virtfn/physfn links before attaching driver" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
PCI: Create SR-IOV virtfn/physfn links before attaching driver
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
pci-create-sr-iov-virtfn-physfn-links-before-attaching-driver.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Dec 21 10:35:49 CET 2017
From: Stuart Hayes <[email protected]>
Date: Wed, 4 Oct 2017 10:57:52 -0500
Subject: PCI: Create SR-IOV virtfn/physfn links before attaching driver
From: Stuart Hayes <[email protected]>
[ 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.
--- drivers/pci/iov.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/pci/iov.c +2 -1
@@ -161,7 +161,6 @@ static int virtfn_add(struct pci_dev *depci_device_add (virtfn, virtfn->bus);mutex_unlock (&iov->dev->sriov->lock); -pci_bus_add_device (virtfn);sprintf (buf,"virtfn%u" , id); rc =sysfs_create_link (&dev->dev.kobj, &virtfn->dev.kobj, buf);if (rc)
@@ -172,6 +171,8 @@ static int virtfn_add(struct pci_dev *dekobject_uevent (&virtfn->dev.kobj,KOBJ_CHANGE ); +pci_bus_add_device (virtfn); +return 0 ; failed2:
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/pci-create-sr-iov-virtfn-physfn-links-before-attaching-driver.patch