diff --git a/drivers/iommu/s390-iommu.c b/drivers/iommu/s390-iommu.c index cd0ee89d63e0b84530182c1951008512744d5022..ac4dab6d79e2fd6a8e36ac623bb2ad138e9ba10d 100644 --- a/drivers/iommu/s390-iommu.c +++ b/drivers/iommu/s390-iommu.c @@ -185,7 +185,12 @@ static void s390_iommu_detach_device(struct iommu_domain *domain, static struct iommu_device *s390_iommu_probe_device(struct device *dev) { - struct zpci_dev *zdev = to_zpci_dev(dev); + struct zpci_dev *zdev; + + if (!dev_is_pci(dev)) + return ERR_PTR(-ENODEV); + + zdev = to_zpci_dev(dev); return &zdev->iommu_dev; }