]> xenbits.xensource.com Git - people/andrewcoop/xen.git/commitdiff
tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi()
authorJason Andryuk <jason.andryuk@amd.com>
Thu, 20 Mar 2025 11:52:57 +0000 (12:52 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 20 Mar 2025 11:52:57 +0000 (12:52 +0100)
It is valid for a PCI device to not have a legacy IRQ.  In that case, do
not print an error to keep the logs clean.

This relies on pciback being updated to return -ENOENT for a missing
GSI.

Fixes: b93e5981d258 ("tools: Add new function to get gsi from dev")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
master commit: 8808f45305d146d05469ed4551bb5ccf931b1800
master date: 2025-03-13 10:23:42 +0100

tools/libs/ctrl/xc_linux.c

index 92591e49a1c825d24d1f43b75a2019bb6906170b..2b2d7b319615c1deb0868272b222e7265a632160 100644 (file)
@@ -77,9 +77,14 @@ int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
     ret = ioctl(xencall_fd(xch->xcall),
                 IOCTL_PRIVCMD_PCIDEV_GET_GSI, &dev_gsi);
 
-    if (ret < 0) {
-        PERROR("Failed to get gsi from dev");
-    } else {
+    if ( ret < 0 )
+    {
+        if ( errno != ENOENT )
+            PERROR("Failed to get gsi for dev %04x:%02x:%02x.%u",
+                sbdf >> 16, (sbdf >> 8) & 0xff, sbdf >> 3 & 0x1f, sbdf & 0x7);
+    }
+    else
+    {
         ret = dev_gsi.gsi;
     }