commit 0359436fdd467acd70c9fefa471570681d31e619 Author: Vasant Hegde Date: Sun Jan 24 22:37:38 2021 +0530 sysfs: Fix PCI device manufacturer parsing logic If we fail to get manufacturer name using subsystem vendor ID then use vendor ID to get manufacturer name. Sample output diff with the this fix: ------------------------------------ *AX 0032:00 *YL 0032:00 *FC -*DS usb-xhci (00008241) +*DS usb-xhci (104c8241) *AX 0005:01:00.0 *AX wakeup0 *AX usbmon1 *AX usbmon2 *AX usb-xhci -*MF Unknown +*MF Texas Instruments *TM TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller -*CD 00008241 +*CD 104c8241 Signed-off-by: Vasant Hegde diff --git a/src/internal/sys_interface/sysfstreecollector.cpp b/src/internal/sys_interface/sysfstreecollector.cpp index 70fcc1b..9e808de 100644 --- a/src/internal/sys_interface/sysfstreecollector.cpp +++ b/src/internal/sys_interface/sysfstreecollector.cpp @@ -1434,7 +1434,8 @@ ERROR: if( mPciTable != NULL ) { // Fill Manufacturer Name - if( subMan == UNKNOWN_ID ) + if( subMan == UNKNOWN_ID || + (mPciTable->getName( subMan ) == "Unknown") ) { if( manID != UNKNOWN_ID ) {