Re: [PATCH 2/9] PCI: Fix /sys warning when sriov enabled card ishot removed

From: Jesse Barnes
Date: Fri Feb 10 2012 - 15:39:29 EST


On Sat, 4 Feb 2012 22:55:01 -0800
Yinghai Lu <yinghai@xxxxxxxxxx> wrote:

> During recent strick checking about sysfs_remove from Eric.
> it will spit more bitter warning.
>
> For SRIOV hotplug, we are calling pci_stop_dev() for VF at first.
> (after we update pci_stop_bus_devices).
>
> that pci_stop_dev will calling device_unregiste for that VF, so that directory
> in VF is removed already.
>
> We double checking if that VF dir in /sys is there, before try removing that
> physfn link.
>
> Signed-of-by: Yinghai Lu <yinghai@xxxxxxxxxx>
> ---
> drivers/pci/iov.c | 7 ++++++-
> 1 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
> index 0321fa3..dfc7d65 100644
> --- a/drivers/pci/iov.c
> +++ b/drivers/pci/iov.c
> @@ -173,7 +173,12 @@ 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 be called for this virtfn before already
> + * so directory for the virtfn is removed before.
> + */
> + if (virtfn->dev.kobj.sd)
> + sysfs_remove_link(&virtfn->dev.kobj, "physfn");
>
> mutex_lock(&iov->dev->sriov->lock);
> pci_remove_bus_device(virtfn);

Cleaned up the commit & comment text a bit and put into -next. Please
check it out.

Thanks,
--
Jesse Barnes, Intel Open Source Technology Center

Attachment: signature.asc
Description: PGP signature