Hi Xudong, This bug has been fixed by Jiang Liu in patch https://patchwork.kernel.org/patch/2613481/ On 2013/5/30 13:45, Xudong Hao wrote: > Since device registering is put into pci_device_add(), it must set value of > Virtual Function device's member before the pci_dev is put to device tree. Or > some relevant subsystem of driver model such as xen will report a incorrect > IOV device to Xen hypervior. > > Signed-off-by: Xudong Hao <xudong.hao@xxxxxxxxx> > --- > drivers/pci/iov.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c > index c93071d..43d3de9 100644 > --- a/drivers/pci/iov.c > +++ b/drivers/pci/iov.c > @@ -110,12 +110,12 @@ static int virtfn_add(struct pci_dev *dev, int id, int reset) > if (reset) > __pci_reset_function(virtfn); > > - pci_device_add(virtfn, virtfn->bus); > - mutex_unlock(&iov->dev->sriov->lock); > - > virtfn->physfn = pci_dev_get(dev); > virtfn->is_virtfn = 1; > > + pci_device_add(virtfn, virtfn->bus); > + mutex_unlock(&iov->dev->sriov->lock); > + > rc = pci_bus_add_device(virtfn); > sprintf(buf, "virtfn%u", id); > rc = sysfs_create_link(&dev->dev.kobj, &virtfn->dev.kobj, buf); > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html