mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
PCI: Fix /sys warning when sriov enabled and card is hot removed
sysfs is a bit stricter now and emits warnings in more cases. For SRIOV hotplug, we are calling pci_stop_dev() for each VF first (after we update pci_stop_bus_devices) which remove each VF subdir. So double check the VF dir in /sys before trying to remove the physfn link. Signed-of-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
parent
ad71c96213
commit
09cedbef44
@ -173,7 +173,13 @@ static void virtfn_remove(struct pci_dev *dev, int id, int reset)
|
||||
|
||||
sprintf(buf, "virtfn%u", id);
|
||||
sysfs_remove_link(&dev->dev.kobj, buf);
|
||||
sysfs_remove_link(&virtfn->dev.kobj, "physfn");
|
||||
/*
|
||||
* pci_stop_dev() could have been called for this virtfn already,
|
||||
* so the directory for the virtfn may have been removed before.
|
||||
* Double check to avoid spurious sysfs warnings.
|
||||
*/
|
||||
if (virtfn->dev.kobj.sd)
|
||||
sysfs_remove_link(&virtfn->dev.kobj, "physfn");
|
||||
|
||||
mutex_lock(&iov->dev->sriov->lock);
|
||||
pci_remove_bus_device(virtfn);
|
||||
|
Loading…
Reference in New Issue
Block a user