Good catch. Thanks Baolu. Will do v5 fixing this and Christoph's nit On Tue, 2020-01-21 at 09:06 +0800, Lu Baolu wrote: > Hi, > > On 1/18/20 12:27 AM, Jon Derrick wrote: > > The PCI device may have a DMA requester on another bus, such as VMD > > subdevices needing to use the VMD endpoint. This case requires the real > > DMA device when mapping to IOMMU. > > > > Signed-off-by: Jon Derrick<jonathan.derrick@xxxxxxxxx> > > --- > > drivers/iommu/intel-iommu.c | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c > > index 0c8d81f..01a1b0f 100644 > > --- a/drivers/iommu/intel-iommu.c > > +++ b/drivers/iommu/intel-iommu.c > > @@ -782,6 +782,8 @@ static struct intel_iommu *device_to_iommu(struct device *dev, u8 *bus, u8 *devf > > return NULL; > > #endif > > > > + pdev = pci_real_dma_dev(dev); > > This isn't correct. It will result in a compiling error when bisect. > > Best regards, > baolu