> +      * 1. CPU vs. IOMMU
> +      * 2. Guest vs. Host.
> +      */
> +     switch (addr_width) {
> +#ifdef CONFIG_X86
> +     case ADDR_WIDTH_5LEVEL:
> +             if (cpu_feature_enabled(X86_FEATURE_LA57) &&
> +                 cap_5lp_support(iommu->cap)) {
> +                     pasid_set_flpm(pte, 1);
> +             } else {
> +                     dev_err_ratelimited(dev, "5-level paging not 
> supported\n");
> +                     return -EINVAL;
> +             }
> +             break;

The normal style would be to handle the early error return first:

                if (!cpu_feature_enabled(X86_FEATURE_LA57) ||
                    !cap_5lp_support(iommu->cap)) {
                        dev_err_ratelimited(dev,
                                "5-level paging not supported\n");
                        return -EINVAL;
                }

                pasid_set_flpm(pte, 1);
                break;

Reply via email to