aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2023-03-15 19:11:25 +0100
committerMartin Mares <mj@ucw.cz>2023-12-29 14:30:02 +0100
commit1c2fb4a4f3eb5f9824e492f6b6c14e8cdf5072c4 (patch)
treed6e74438276c5bfc8f6e5854d0083eaa9fd33df3
parent869a9f66b6aa723d9f90b4b3e27cd96bee5e0180 (diff)
downloadpciutils-1c2fb4a4f3eb5f9824e492f6b6c14e8cdf5072c4.tar.gz
libpci: win32-cfgmgr32: Show type of source in warning message
-rw-r--r--lib/win32-cfgmgr32.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/lib/win32-cfgmgr32.c b/lib/win32-cfgmgr32.c
index 0bcc0aa..4f40d11 100644
--- a/lib/win32-cfgmgr32.c
+++ b/lib/win32-cfgmgr32.c
@@ -902,6 +902,22 @@ fill_drivers(struct pci_access *a)
CloseServiceHandle(manager);
}
+static const char *
+res_id_to_str(RESOURCEID res_id)
+{
+ static char hex_res_id[sizeof("0xffffffff")];
+
+ if (res_id == ResType_IO)
+ return "IO";
+ else if (res_id == ResType_Mem)
+ return "MEM";
+ else if (res_id == ResType_IRQ)
+ return "IRQ";
+
+ sprintf(hex_res_id, "0x%lx", res_id);
+ return hex_res_id;
+}
+
static void
fill_resources(struct pci_dev *d, DEVINST devinst, DEVINSTID_A devinst_id)
{
@@ -1034,13 +1050,13 @@ fill_resources(struct pci_dev *d, DEVINST devinst, DEVINSTID_A devinst_id)
cr = CM_Get_Res_Des_Data_Size(&res_des_data_size, res_des, 0);
if (cr != CR_SUCCESS)
{
- a->warning("Cannot retrieve resource data of PCI device %s: %s.", devinst_id, cr_strerror(cr));
+ a->warning("Cannot retrieve %s resource data of PCI device %s: %s.", res_id_to_str(res_id), devinst_id, cr_strerror(cr));
continue;
}
if (!res_des_data_size)
{
- a->warning("Cannot retrieve resource data of PCI device %s: %s.", devinst_id, "Empty data");
+ a->warning("Cannot retrieve %s resource data of PCI device %s: %s.", res_id_to_str(res_id), devinst_id, "Empty data");
continue;
}
@@ -1048,7 +1064,7 @@ fill_resources(struct pci_dev *d, DEVINST devinst, DEVINSTID_A devinst_id)
cr = CM_Get_Res_Des_Data(res_des, res_des_data, res_des_data_size, 0);
if (cr != CR_SUCCESS)
{
- a->warning("Cannot retrieve resource data of PCI device %s: %s.", devinst_id, cr_strerror(cr));
+ a->warning("Cannot retrieve %s resource data of PCI device %s: %s.", res_id_to_str(res_id), devinst_id, cr_strerror(cr));
pci_mfree(res_des_data);
continue;
}