]> xenbits.xensource.com Git - xen.git/commitdiff
vpci/header: cope with devices not having vpci allocated
authorRoger Pau Monné <roger.pau@citrix.com>
Mon, 17 Jul 2023 06:32:34 +0000 (08:32 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 17 Jul 2023 06:32:34 +0000 (08:32 +0200)
When traversing the list of pci devices assigned to a domain cope with
some of them not having the vpci struct allocated. It should be
possible for the hardware domain to have read-only devices assigned
that are not handled by vPCI, such support will be added by further
patches.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
master commit: ee045f3a4a6dddb09f5aa96a50cceaae97d3245f
master date: 2023-05-26 09:18:37 +0200

xen/drivers/vpci/header.c

index 40ff79c33f8f353ed4849417711a589e74cf52c2..d59056fb189e80c915bc272a62b2e7fa8318859a 100644 (file)
@@ -269,6 +269,14 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
      */
     for_each_pdev ( pdev->domain, tmp )
     {
+        if ( !tmp->vpci )
+            /*
+             * For the hardware domain it's possible to have devices assigned
+             * to it that are not handled by vPCI, either because those are
+             * read-only devices, or because vPCI setup has failed.
+             */
+            continue;
+
         if ( tmp == pdev )
         {
             /*