[SRU][Xenial][Yakkety][Zesty][Artful][PATCH 1/1] UBUNTU: SAUCE: pci-hyperv: Use only 16 bit integer for PCI domain

Joseph Salisbury joseph.salisbury at canonical.com
Mon Apr 24 23:38:08 UTC 2017


From: Haiyang Zhang <haiyangz at microsoft.com>

BugLink: http://bugs.launchpad.net/bugs/1684971

Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
Signed-off-by: Joseph Salisbury <joseph.salisbury at canonical.com>

---
 drivers/pci/host/pci-hyperv.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/host/pci-hyperv.c b/drivers/pci/host/pci-hyperv.c
index ada9856..5dcc0aef 100644
--- a/drivers/pci/host/pci-hyperv.c
+++ b/drivers/pci/host/pci-hyperv.c
@@ -1326,9 +1326,11 @@ static struct hv_pci_dev *new_pcichild_device(struct hv_pcibus_device *hbus,
 	 * 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;
-- 
2.7.4





More information about the kernel-team mailing list