aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/arm-smmu.c
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2015-06-29 12:47:42 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-07-10 12:49:33 -0400
commit72e09509a225e553f3736b3822a91f99f8c4777c (patch)
treec0d11d6d25ee5a3db6d7659a0dcd19e89006d40c /drivers/iommu/arm-smmu.c
parent44cb6ff1db11f2a147cccc943927a5ca20d1bb81 (diff)
iommu/arm-smmu: Fix broken ATOS check
commit d38f0ff9ab35414644995bae187d015c31aae19c upstream. Commit 83a60ed8f0b5 ("iommu/arm-smmu: fix ARM_SMMU_FEAT_TRANS_OPS condition") accidentally negated the ID0_ATOSNS predicate in the ATOS feature check, causing the driver to attempt ATOS requests on SMMUv2 hardware without the ATOS feature implemented. This patch restores the predicate to the correct value. Reported-by: Varun Sethi <varun.sethi@freescale.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/iommu/arm-smmu.c')
-rw-r--r--drivers/iommu/arm-smmu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index 66a803b9dd3a..65075ef75e2a 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -1567,7 +1567,7 @@ static int arm_smmu_device_cfg_probe(struct arm_smmu_device *smmu)
1567 return -ENODEV; 1567 return -ENODEV;
1568 } 1568 }
1569 1569
1570 if ((id & ID0_S1TS) && ((smmu->version == 1) || (id & ID0_ATOSNS))) { 1570 if ((id & ID0_S1TS) && ((smmu->version == 1) || !(id & ID0_ATOSNS))) {
1571 smmu->features |= ARM_SMMU_FEAT_TRANS_OPS; 1571 smmu->features |= ARM_SMMU_FEAT_TRANS_OPS;
1572 dev_notice(smmu->dev, "\taddress translation ops\n"); 1572 dev_notice(smmu->dev, "\taddress translation ops\n");
1573 } 1573 }