2020-03-31 14:02:10

by luanshi

[permalink] [raw]
Subject: [PATCH] iommu/arm-smmu-v3: move error checking into common path

Move error checking into common path to be consistent with
drivers/iommu/arm-smmu.c.

Signed-off-by: Liguang Zhang <[email protected]>
---
drivers/iommu/arm-smmu-v3.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c
index aa3ac2a..970f1c9 100644
--- a/drivers/iommu/arm-smmu-v3.c
+++ b/drivers/iommu/arm-smmu-v3.c
@@ -3889,13 +3889,13 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
}
smmu->dev = dev;

- if (dev->of_node) {
+ if (dev->of_node)
ret = arm_smmu_device_dt_probe(pdev, smmu);
- } else {
+ else
ret = arm_smmu_device_acpi_probe(pdev, smmu);
- if (ret == -ENODEV)
- return ret;
- }
+
+ if (ret)
+ return ret;

/* Set bypass mode according to firmware probing result */
bypass = !!ret;
--
1.8.3.1


2020-03-31 14:21:30

by Robin Murphy

[permalink] [raw]
Subject: Re: [PATCH] iommu/arm-smmu-v3: move error checking into common path

On 2020-03-31 2:59 pm, luanshi wrote:
> Move error checking into common path to be consistent with
> drivers/iommu/arm-smmu.c.
>
> Signed-off-by: Liguang Zhang <[email protected]>
> ---
> drivers/iommu/arm-smmu-v3.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c
> index aa3ac2a..970f1c9 100644
> --- a/drivers/iommu/arm-smmu-v3.c
> +++ b/drivers/iommu/arm-smmu-v3.c
> @@ -3889,13 +3889,13 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
> }
> smmu->dev = dev;
>
> - if (dev->of_node) {
> + if (dev->of_node)
> ret = arm_smmu_device_dt_probe(pdev, smmu);
> - } else {
> + else
> ret = arm_smmu_device_acpi_probe(pdev, smmu);
> - if (ret == -ENODEV)
> - return ret;
> - }
> +
> + if (ret)
> + return ret;

This completely changes the flow WRT the bypass decision below, so
without a clear justification of why that's OK, NAK.

Robin.

>
> /* Set bypass mode according to firmware probing result */
> bypass = !!ret;
>