From b59b41bfc2d4932537c189a717955bafae6cf34b Mon Sep 17 00:00:00 2001 From: Konrad Sztyber Date: Wed, 22 May 2024 12:16:44 +0200 Subject: [PATCH] dump: allow 6-digit domains 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 --- lib/dump.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/dump.c b/lib/dump.c index 5f4ba2e..00ebc9e 100644 --- a/lib/dump.c +++ b/lib/dump.c @@ -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); -- 2.39.2