diff --git a/headers/private/shared/pci-utils.h b/headers/private/shared/pci-utils.h index d56191ef92..639478e068 100644 --- a/headers/private/shared/pci-utils.h +++ b/headers/private/shared/pci-utils.h @@ -69,8 +69,9 @@ get_device_info(uint16 vendorID, uint16 deviceID, // search for the device for (i = 0; i < (int)PCI_DEVTABLE_LEN; i++) { if (PciDevTable[i].VenId == vendorID && PciDevTable[i].DevId == deviceID ) { - *devShort = PciDevTable[i].Chip && PciDevTable[i].Chip[0] ? PciDevTable[i].Chip : NULL; - *devFull = PciDevTable[i].ChipDesc && PciDevTable[i].ChipDesc[0] ? PciDevTable[i].ChipDesc : NULL; + *devShort = PciDevTable[i].ChipDesc && PciDevTable[i].ChipDesc[0] ? PciDevTable[i].ChipDesc : NULL; + if (PciDevTable[i].SubVenId == 0 || PciDevTable[i].SubDevId == 0) + i++; break; } } @@ -80,7 +81,6 @@ get_device_info(uint16 vendorID, uint16 deviceID, if (PciDevTable[i].VenId != vendorID || PciDevTable[i].DevId != deviceID) break; if (PciDevTable[i].SubVenId == subvendorID && PciDevTable[i].SubDevId == subsystemID ) { - *devShort = PciDevTable[i].Chip && PciDevTable[i].Chip[0] ? PciDevTable[i].Chip : NULL; *devFull = PciDevTable[i].ChipDesc && PciDevTable[i].ChipDesc[0] ? PciDevTable[i].ChipDesc : NULL; break; } diff --git a/src/add-ons/kernel/bus_managers/pci/pci_info.cpp b/src/add-ons/kernel/bus_managers/pci/pci_info.cpp index 8ddc588d73..6bf3d02424 100644 --- a/src/add-ons/kernel/bus_managers/pci/pci_info.cpp +++ b/src/add-ons/kernel/bus_managers/pci/pci_info.cpp @@ -178,13 +178,13 @@ print_info_basic(const pci_info *info, bool verbose) if (!devShort && !devFull) { TRACE(("PCI: device %04x: Unknown\n", info->device_id)); } else if (devShort && devFull) { - TRACE(("PCI: device %04x: %s - %s\n", info->device_id, devShort, devFull)); + TRACE(("PCI: device %04x: %s (%s)\n", info->device_id, devShort, devFull)); } else { TRACE(("PCI: device %04x: %s\n", info->device_id, devShort ? devShort : devFull)); } #endif char classInfo[64]; - get_class_info(info->class_base, info->class_sub, info->class_api, classInfo, 64); + get_class_info(info->class_base, info->class_sub, info->class_api, classInfo, sizeof(classInfo)); TRACE(("PCI: info: %s\n", classInfo)); } TRACE(("PCI: line_size %02x, latency %02x, header_type %02x, BIST %02x\n",