For some servers, PCI domain is great than FFFF

 

# lspci

10000:00:00.0 PCI bridge: Intel Corporation Sky Lake-E PCI Express Root Port A (rev 04)

10000:00:01.0 PCI bridge: Intel Corporation Sky Lake-E PCI Express Root Port B (rev 04)

10000:00:02.0 PCI bridge: Intel Corporation Sky Lake-E PCI Express Root Port C (rev 04)

10000:00:03.0 PCI bridge: Intel Corporation Sky Lake-E PCI Express Root Port D (rev 04)

10000:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961

10000:02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961

 

So some code need to match the larger domain.

 

#define PCI_ADDR_LEN 13 /* "XXXX:XX:XX.X" */

 

snprintf(dev->name, sizeof(dev->name), "%.4x:%.2x:%.2x.%.1x",

                 domain, bus, slot, function)

 

if (addr->domain > 0xFFFF) {