From: Nuno Das Neves <[email protected]> Sent: Tuesday, June 10, 
2025 4:52 PM
> 
> From: Mukesh Rathor <[email protected]>

The patch Subject line is confusing to me. Perhaps this better captures
the intent:

 "PCI: hv: Don't load the driver for the root partition on a bare-metal 
hypervisor"

> 
> init_hv_pci_drv() is not relevant for root partition on baremetal as there
> is no vmbus. On nested (with a Windows L1 root), vmbus is present.

This needs more precision. init_hv_pci_drv() isn't what is
"not relevant". It's the entire driver that doesn't need to be loaded
because the root partition on a bare-metal hypervisor doesn't use
VMBus. It's only when the root partition is running on a nested
hypervisor that it uses VMBus, and hence may need the Hyper-V
PCI driver to be loaded.

> 
> Signed-off-by: Mukesh Rathor <[email protected]>
> Signed-off-by: Nuno Das Neves <[email protected]>
> ---
>  drivers/pci/controller/pci-hyperv.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/pci/controller/pci-hyperv.c 
> b/drivers/pci/controller/pci-hyperv.c
> index b4f29ee75848..4d25754dfe2f 100644
> --- a/drivers/pci/controller/pci-hyperv.c
> +++ b/drivers/pci/controller/pci-hyperv.c
> @@ -4150,6 +4150,9 @@ static int __init init_hv_pci_drv(void)
>       if (!hv_is_hyperv_initialized())
>               return -ENODEV;
> 
> +     if (hv_root_partition() && !hv_nested)
> +             return -ENODEV;
> +
>       ret = hv_pci_irqchip_init();
>       if (ret)
>               return ret;
> --
> 2.34.1


Reply via email to