Some SR-IOV devices may use more than one bus number, but there is no real bridges because that have internal routing mechanism. So need to check whether the bridge is existing before using it. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> --- drivers/xen/pci.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c index b84bf0b..18fff88 100644 --- a/drivers/xen/pci.c +++ b/drivers/xen/pci.c @@ -59,7 +59,7 @@ static int xen_add_device(struct device *dev) #ifdef CONFIG_ACPI handle = DEVICE_ACPI_HANDLE(&pci_dev->dev); - if (!handle) + if (!handle && pci_dev->bus->bridge) handle = DEVICE_ACPI_HANDLE(pci_dev->bus->bridge); #ifdef CONFIG_PCI_IOV if (!handle && pci_dev->is_virtfn)
Hi konrad, Any comments with this patch? best regards yang> -----Original Message----- > From: Zhang, Yang Z > Sent: Tuesday, May 22, 2012 4:40 PM > To: xen-devel@lists.xensource.com > Cc: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com] > Subject: [PATCH] xen: add bridge check > > Some SR-IOV devices may use more than one bus number, but there is no real > bridges > because that have internal routing mechanism. So need to check whether the > bridge is > existing before using it. > > Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> > --- > drivers/xen/pci.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c > index b84bf0b..18fff88 100644 > --- a/drivers/xen/pci.c > +++ b/drivers/xen/pci.c > @@ -59,7 +59,7 @@ static int xen_add_device(struct device *dev) > > #ifdef CONFIG_ACPI > handle = DEVICE_ACPI_HANDLE(&pci_dev->dev); > - if (!handle) > + if (!handle && pci_dev->bus->bridge) > handle = DEVICE_ACPI_HANDLE(pci_dev->bus->bridge); > #ifdef CONFIG_PCI_IOV > if (!handle && pci_dev->is_virtfn)
On Fri, May 25, 2012 at 02:05:17AM +0000, Zhang, Yang Z wrote:> Hi konrad, > Any comments with this patch?Looks good. applied.> > best regards > yang > > > -----Original Message----- > > From: Zhang, Yang Z > > Sent: Tuesday, May 22, 2012 4:40 PM > > To: xen-devel@lists.xensource.com > > Cc: Konrad Rzeszutek Wilk [konrad.wilk@oracle.com] > > Subject: [PATCH] xen: add bridge check > > > > Some SR-IOV devices may use more than one bus number, but there is no real > > bridges > > because that have internal routing mechanism. So need to check whether the > > bridge is > > existing before using it. > > > > Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> > > --- > > drivers/xen/pci.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c > > index b84bf0b..18fff88 100644 > > --- a/drivers/xen/pci.c > > +++ b/drivers/xen/pci.c > > @@ -59,7 +59,7 @@ static int xen_add_device(struct device *dev) > > > > #ifdef CONFIG_ACPI > > handle = DEVICE_ACPI_HANDLE(&pci_dev->dev); > > - if (!handle) > > + if (!handle && pci_dev->bus->bridge) > > handle = DEVICE_ACPI_HANDLE(pci_dev->bus->bridge); > > #ifdef CONFIG_PCI_IOV > > if (!handle && pci_dev->is_virtfn) > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel