From: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> This patch uses the lower 16 bits of the serial number as PCI domain, otherwise some drivers may not be able to handle it. Besides Nvidia drivers, we also found X.org, and DPDK handle only 16 bit PCI domain. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> --- drivers/pci/host/pci-hyperv.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/pci/host/pci-hyperv.c b/drivers/pci/host/pci-hyperv.c index 8493638..51a815d 100644 --- a/drivers/pci/host/pci-hyperv.c +++ b/drivers/pci/host/pci-hyperv.c @@ -1335,9 +1335,11 @@ static void put_pcichild(struct hv_pci_dev *hpdev, * can have shorter names than based on the bus instance UUID. * Only the first device serial number is used for domain, so the * domain number will not change after the first device is added. + * The lower 16 bits of the serial number is used, otherwise some + * drivers may not be able to handle it. */ if (list_empty(&hbus->children)) - hbus->sysdata.domain = desc->ser; + hbus->sysdata.domain = desc->ser & 0xFFFF; list_add_tail(&hpdev->list_entry, &hbus->children); spin_unlock_irqrestore(&hbus->device_list_lock, flags); return hpdev; -- 1.7.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel