]> mj.ucw.cz Git - pciutils.git/commitdiff
dump: allow 6-digit domains
authorKonrad Sztyber <konrad.sztyber@intel.com>
Wed, 22 May 2024 10:16:44 +0000 (12:16 +0200)
committerMartin Mareš <mj@ucw.cz>
Mon, 27 May 2024 12:19:37 +0000 (14:19 +0200)
The SPDK VMD driver assigns domains for the devices behind a VMD by
concatenating bus/device/function of the VMD, each on a separate byte.
For instance, a device behind a VMD with an address of 5d:05.5 would be
assigned domain 5d0505.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
lib/dump.c

index 5f4ba2e3d091ad1b2b76521867229910704f58cc..00ebc9e3e7828aab8f7b1ed387ac7a8c39c6c345 100644 (file)
@@ -83,7 +83,8 @@ dump_init(struct pci_access *a)
       mn = 0;
       if (dump_validate(buf, "##:##.# ") && sscanf(buf, "%x:%x.%d", &bn, &dn, &fn) == 3 ||
          dump_validate(buf, "####:##:##.# ") && sscanf(buf, "%x:%x:%x.%d", &mn, &bn, &dn, &fn) == 4 ||
-         dump_validate(buf, "#####:##:##.# ") && sscanf(buf, "%x:%x:%x.%d", &mn, &bn, &dn, &fn) == 4)
+         dump_validate(buf, "#####:##:##.# ") && sscanf(buf, "%x:%x:%x.%d", &mn, &bn, &dn, &fn) == 4 ||
+         dump_validate(buf, "######:##:##.# ") && sscanf(buf, "%x:%x:%x.%d", &mn, &bn, &dn, &fn) == 4)
        {
          dev = pci_get_dev(a, mn, bn, dn, fn);
          dump_alloc_data(dev, 256);