@@ -730,8 +730,14 @@ static int vmd_alloc_irqs(struct vmd_dev *vmd)
static void vmd_copy_host_bridge_flags(struct pci_host_bridge *root_bridge,
struct pci_host_bridge *vmd_bridge)
{
- vmd_bridge->native_pcie_hotplug = root_bridge->native_pcie_hotplug;
- vmd_bridge->native_shpc_hotplug = root_bridge->native_shpc_hotplug;
+ /*
+ * there is an issue when the vmd driver is running within a hypervisor
+ * because all of the _OSC bits are 0 in that case. this disables
+ * hotplug support, but users who enable VMD in their BIOS always want
+ * hotplug suuport so always enable it.
+ */
+ vmd_bridge->native_pcie_hotplug = 1;
+ vmd_bridge->native_shpc_hotplug = 1;
vmd_bridge->native_aer = root_bridge->native_aer;
vmd_bridge->native_pme = root_bridge->native_pme;
vmd_bridge->native_ltr = root_bridge->native_ltr;