> diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c > index 8d42da5dd1d4..5741b1dd3c14 100644 > --- a/drivers/pci/controller/pci-hyperv.c > +++ b/drivers/pci/controller/pci-hyperv.c > @@ -2299,7 +2299,7 @@ static void hv_eject_device_work(struct work_struct *work) > * because hbus->bridge->bus may not exist yet. > */ > wslot = wslot_to_devfn(hpdev->desc.win_slot.slot); > - pdev = pci_get_domain_bus_and_slot(hbus->sysdata.domain, 0, wslot); > + pdev = pci_get_domain_bus_and_slot(hbus->bridge->domain_nr, 0, wslot); > if (pdev) { > pci_lock_rescan_remove(); > pci_stop_and_remove_bus_device(pdev); > @@ -3071,6 +3071,7 @@ static int hv_pci_probe(struct hv_device *hdev, > "PCI dom# 0x%hx has collision, using 0x%hx", > dom_req, dom); > > + hbus->bridge->domain_nr = dom; > hbus->sysdata.domain = dom; With your other patches everything is moving over to based off of bridge->domain_nr. Do we still need to update sysdata.domain?