> Subject: [PATCH] pci/windows: do not fail on missing NUMA node for PCIe > > On older processors, NUMA isn't bound to PCIe locality. > those cases return ERROR_NOT_FOUND in response to the > SetupDiGetDevicePropertyW call with DEVPKEY_Device_Numa_Node > attribute. > > This error fails the probe process for the PCIe device. > this commit will ignore such failure and will set the numa_node to 0. > > Fixes: b762221ac24f ("bus/pci: support Windows with bifurcated drivers") > Cc: sta...@dpdk.org > > Reported-by: Odi Assli <o...@nvidia.com> > Signed-off-by: Tal Shnaiderman <tal...@nvidia.com> > --- > drivers/bus/pci/windows/pci.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/bus/pci/windows/pci.c b/drivers/bus/pci/windows/pci.c > index 33a5fb1d83..62bac4b8ec 100644 > --- a/drivers/bus/pci/windows/pci.c > +++ b/drivers/bus/pci/windows/pci.c > @@ -234,6 +234,15 @@ get_device_resource_info(HDEVINFO dev_info, > &DEVPKEY_Device_Numa_Node, &property_type, > (BYTE *)&numa_node, sizeof(numa_node), NULL, 0); > if (!res) { > + DWORD error = GetLastError(); > + if (error == ERROR_NOT_FOUND) { > + /* On older CPUs, NUMA isn't bound to PCIe locality > + * We do not want to fail the probing process > + * Setting 0 for numa_node and returnng > ERROR_SUCCESS. > + */ > + dev->device.numa_node = 0; > + return ERROR_SUCCESS; > + } > RTE_LOG_WIN32_ERR("SetupDiGetDevicePropertyW" > "(DEVPKEY_Device_Numa_Node)"); > return -1; > -- > 2.16.1.windows.4
Tested-by: Odi Assli <o...@nvidia.com>