Hardware ID length is limited by MAX_DEVICE_ID_LEN [1]. No functional
change is intended: new value is 200, and previous one has been 260.
However, it's now correct and creates no bogus dependency on path limit.

[1]: 
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/hardware-ids

Fixes: b762221ac24f ("bus/pci: support Windows with bifurcated drivers")
Cc: sta...@dpdk.org
Cc: Tal Shnaiderman <tal...@nvidia.com>

Signed-off-by: Dmitry Kozlyuk <dmitry.kozl...@gmail.com>
---
 drivers/bus/pci/windows/pci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/pci/windows/pci.c b/drivers/bus/pci/windows/pci.c
index 33a5fb1d8..7130979e8 100644
--- a/drivers/bus/pci/windows/pci.c
+++ b/drivers/bus/pci/windows/pci.c
@@ -9,6 +9,7 @@
 #include "private.h"
 #include "pci_netuio.h"
 
+#include <cfgmgr32.h>
 #include <devpkey.h>
 
 #if defined RTE_TOOLCHAIN_GCC && (__MINGW64_VERSION_MAJOR < 8)
@@ -303,7 +304,7 @@ pci_scan_one(HDEVINFO dev_info, PSP_DEVINFO_DATA 
device_info_data)
 {
        struct rte_pci_device *dev;
        int ret = -1;
-       char  pci_device_info[PATH_MAX];
+       char  pci_device_info[MAX_DEVICE_ID_LEN];
        struct rte_pci_addr addr;
        struct rte_pci_id pci_id;
 
@@ -314,7 +315,7 @@ pci_scan_one(HDEVINFO dev_info, PSP_DEVINFO_DATA 
device_info_data)
        memset(dev, 0, sizeof(*dev));
 
        ret = get_pci_hardware_id(dev_info, device_info_data,
-               pci_device_info, PATH_MAX);
+               pci_device_info, sizeof(pci_device_info));
        if (ret != 0)
                goto end;
 
-- 
2.29.2

Reply via email to