PCI: vmd: Clean up domain before enumeration
authorNirmal Patel <nirmal.patel@linux.intel.com>
Tue, 16 Nov 2021 22:11:36 +0000 (15:11 -0700)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Wed, 1 Dec 2021 12:00:07 +0000 (12:00 +0000)
commit6aab5622296b990024ee67dd7efa7d143e7558d0
tree0059b909188ba06370001ffb3e0671f01ed4cbeb
parentfa55b7dcdc43c1aa1ba12bca9d2dd4318c2a0dbf
PCI: vmd: Clean up domain before enumeration

During VT-d pass-through, the VMD driver occasionally fails to
enumerate underlying NVMe devices when repetitive reboots are
performed in the guest OS. The issue can be resolved by resetting
VMD root ports for proper enumeration and triggering secondary bus
reset which will also propagate reset through downstream bridges.

Link: https://lore.kernel.org/r/20211116221136.85134-1-nirmal.patel@linux.intel.com
Signed-off-by: Nirmal Patel <nirmal.patel@linux.intel.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Jon Derrick <jonathan.derrick@linux.dev>
drivers/pci/controller/vmd.c