On Fri, Jul 21, 2017 at 04:59:04PM +0800, Baoquan He wrote:
> @@ -2128,9 +2131,43 @@ static void early_enable_iommu(struct amd_iommu *iommu)
>  static void early_enable_iommus(void)
>  {
>       struct amd_iommu *iommu;
> +     bool is_pre_enabled = false;
>  
> -     for_each_iommu(iommu)
> -             early_enable_iommu(iommu);
> +     for_each_iommu(iommu) {
> +             if (translation_pre_enabled(iommu)) {
> +                     is_pre_enabled = true;
> +                     break;
> +             }
> +     }

is_pre_enabled should only be true when _all_ iommus are pre-enabled. If
only one is found disabled just disable the others and continue without
copying the device table.

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to