Skip to content

Commit d098215

Browse files
committed
Merge branch 'pci/controller/vmd'
- Create "domain" symlink for vmd before adding devices below the VMD bridge so it's available when mdadm assembles RAID devices from them (Jiwei Sun) * pci/controller/vmd: PCI: vmd: Create domain symlink before pci_bus_add_devices()
2 parents 99329de + f24c9bf commit d098215

File tree

1 file changed

+4
-4
lines changed
  • drivers/pci/controller

1 file changed

+4
-4
lines changed

drivers/pci/controller/vmd.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -925,6 +925,9 @@ static int vmd_enable_domain(struct vmd_dev *vmd, unsigned long features)
925925
dev_set_msi_domain(&vmd->bus->dev,
926926
dev_get_msi_domain(&vmd->dev->dev));
927927

928+
WARN(sysfs_create_link(&vmd->dev->dev.kobj, &vmd->bus->dev.kobj,
929+
"domain"), "Can't create symlink to domain\n");
930+
928931
vmd_acpi_begin();
929932

930933
pci_scan_child_bus(vmd->bus);
@@ -964,9 +967,6 @@ static int vmd_enable_domain(struct vmd_dev *vmd, unsigned long features)
964967
pci_bus_add_devices(vmd->bus);
965968

966969
vmd_acpi_end();
967-
968-
WARN(sysfs_create_link(&vmd->dev->dev.kobj, &vmd->bus->dev.kobj,
969-
"domain"), "Can't create symlink to domain\n");
970970
return 0;
971971
}
972972

@@ -1042,8 +1042,8 @@ static void vmd_remove(struct pci_dev *dev)
10421042
{
10431043
struct vmd_dev *vmd = pci_get_drvdata(dev);
10441044

1045-
sysfs_remove_link(&vmd->dev->dev.kobj, "domain");
10461045
pci_stop_root_bus(vmd->bus);
1046+
sysfs_remove_link(&vmd->dev->dev.kobj, "domain");
10471047
pci_remove_root_bus(vmd->bus);
10481048
vmd_cleanup_srcu(vmd);
10491049
vmd_detach_resources(vmd);

0 commit comments

Comments
 (0)