[c/azure][PATCH] UBUNTU: SAUCE: pci-hyperv: Use only 16 bit integer for PCI domain
Marcelo Henrique Cerri
marcelo.cerri at canonical.com
Thu Feb 28 13:06:07 UTC 2019
From: Haiyang Zhang <haiyangz at microsoft.com>
BugLink: http://bugs.launchpad.net/bugs/1684971
This patch uses the lower 16 bits of the serial number as PCI
domain, otherwise some drivers may not be able to handle it.
Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
Signed-off-by: Marcelo Henrique Cerri <marcelo.cerri at canonical.com>
---
drivers/pci/controller/pci-hyperv.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
index 003b355c2627..cf6ef9b1b3f3 100644
--- a/drivers/pci/controller/pci-hyperv.c
+++ b/drivers/pci/controller/pci-hyperv.c
@@ -1618,9 +1618,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.17.1
More information about the kernel-team
mailing list