From: Ben Widawsky Date: Fri, 31 Jul 2020 19:12:42 +0000 (-0700) Subject: cxl: Make id check more explicit X-Git-Tag: v3.9.0~27^2~7 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=6c1382049899e6b77720bc1b0209588a51a5cca2;p=pciutils.git cxl: Make id check more explicit Currently only type 0 DVSEC caps are handled. Moving this check will allow more robust type handling in the future. Should be no functional change. Signed-off-by: Ben Widawsky Signed-off-by: Jaxon Haws --- diff --git a/ls-ecaps.c b/ls-ecaps.c index 3c4bb13..196a7be 100644 --- a/ls-ecaps.c +++ b/ls-ecaps.c @@ -690,7 +690,7 @@ cap_rcec(struct device *d, int where) } static void -cap_dvsec_cxl(struct device *d, int where) +cap_dvsec_cxl(struct device *d, int id, int where) { u16 w; @@ -698,6 +698,9 @@ cap_dvsec_cxl(struct device *d, int where) if (verbose < 2) return; + if (id != 0) + return; + if (!config_fetch(d, where + PCI_CXL_CAP, 12)) return; @@ -734,8 +737,8 @@ cap_dvsec(struct device *d, int where) u16 id = get_conf_long(d, where + PCI_DVSEC_HEADER2); printf("Vendor=%04x ID=%04x Rev=%d Len=%d", vendor, id, rev, len); - if (vendor == PCI_DVSEC_VENDOR_ID_CXL && id == PCI_DVSEC_ID_CXL && len >= 16) - cap_dvsec_cxl(d, where); + if (vendor == PCI_DVSEC_VENDOR_ID_CXL && len >= 16) + cap_dvsec_cxl(d, id, where); else printf(" \n"); }