From: David Edmondson Date: Wed, 19 Jul 2023 14:16:41 +0000 (+0100) Subject: lspci: Use mangled vendor/device ID when examining vendor caps X-Git-Tag: v3.11.0~95 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=adf7de0ec6a1b734c00667879d36c1198670958a;p=pciutils.git lspci: Use mangled vendor/device ID when examining vendor caps Given that PCI VFs are expected to have a vendor and device ID of 0xffff, when examining vendor capabilities use the mangled vendor and device IDs (typically copied from the PF) rather than those read from the VF configuration space. Signed-off-by: David Edmondson --- diff --git a/ls-caps-vendor.c b/ls-caps-vendor.c index 829d59f..62ee586 100644 --- a/ls-caps-vendor.c +++ b/ls-caps-vendor.c @@ -64,11 +64,11 @@ show_vendor_caps_virtio(struct device *d, int where, int cap) static int do_show_vendor_caps(struct device *d, int where, int cap) { - switch (get_conf_word(d, PCI_VENDOR_ID)) + switch (d->dev->vendor_id) { case 0x1af4: /* Red Hat */ - if (get_conf_word(d, PCI_DEVICE_ID) >= 0x1000 && - get_conf_word(d, PCI_DEVICE_ID) <= 0x107f) + if (d->dev->device_id >= 0x1000 && + d->dev->device_id <= 0x107f) return show_vendor_caps_virtio(d, where, cap); break; }