When resource assignment fails, things may end up this way, and we want
to avoid using the resource in that case.

Derived from an upstream patch by Yijing Wang <wangyij...@huawei.com>.

Signed-off-by: Jan Beulich <jbeul...@suse.com>

--- a/drivers/pci/msi-xen.c
+++ b/drivers/pci/msi-xen.c
@@ -204,7 +204,9 @@ static u64 find_table_base(struct pci_de
        bar = reg & PCI_MSIX_FLAGS_BIRMASK;
 
        flags = pci_resource_flags(dev, bar);
-       if (flags & (IORESOURCE_DISABLED | IORESOURCE_UNSET | IORESOURCE_BUSY))
+       if (!flags ||
+            (flags & (IORESOURCE_DISABLED | IORESOURCE_UNSET |
+                      IORESOURCE_BUSY)))
                return 0;
 
        return pci_resource_start(dev, bar);



MSI: also reject resource with flags all clear

When resource assignment fails, things may end up this way, and we want
to avoid using the resource in that case.

Derived from an upstream patch by Yijing Wang <wangyij...@huawei.com>.

Signed-off-by: Jan Beulich <jbeul...@suse.com>

--- a/drivers/pci/msi-xen.c
+++ b/drivers/pci/msi-xen.c
@@ -204,7 +204,9 @@ static u64 find_table_base(struct pci_de
        bar = reg & PCI_MSIX_FLAGS_BIRMASK;
 
        flags = pci_resource_flags(dev, bar);
-       if (flags & (IORESOURCE_DISABLED | IORESOURCE_UNSET | IORESOURCE_BUSY))
+       if (!flags ||
+            (flags & (IORESOURCE_DISABLED | IORESOURCE_UNSET |
+                      IORESOURCE_BUSY)))
                return 0;
 
        return pci_resource_start(dev, bar);
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to