Re: [bisection] b0119e87083 iommu: Introduce new 'struct iommu_device' ==> boom

From: Mike Galbraith
Date: Tue Feb 21 2017 - 12:04:26 EST


On Tue, 2017-02-21 at 16:19 +0100, Joerg Roedel wrote:
> Hi Mike,
>
> thanks for the report, this didn't trigger in my local testing here.
> Loosk like I need to test without intel_iommu=on too :/
>
> Anyway, can you check whether the attached patch helps?

Yup, boots.

> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
> index d9c0decfc91a..a74fec8d266a 100644
> --- a/drivers/iommu/dmar.c
> +++ b/drivers/iommu/dmar.c
> @@ -1108,8 +1108,10 @@ static int alloc_iommu(struct dmar_drhd_unit
> *drhd)
>
> static void free_iommu(struct intel_iommu *iommu)
> {
> - iommu_device_sysfs_remove(&iommu->iommu);
> - iommu_device_unregister(&iommu->iommu);
> + if (intel_iommu_enabled) {
> + iommu_device_sysfs_remove(&iommu->iommu);
> + iommu_device_unregister(&iommu->iommu);
> + }
>
> if (iommu->irq) {
> if (iommu->pr_irq) {