diff mbox series

iommu: dart: DART_T8110_ERROR range should be 0 to 5

Message ID 20230130165350.58533-1-ecurtin@redhat.com (mailing list archive)
State New, archived
Headers show
Series iommu: dart: DART_T8110_ERROR range should be 0 to 5 | expand

Commit Message

Eric Curtin Jan. 30, 2023, 4:53 p.m. UTC
This was detected by smatch as one "else if" statement could never be
reached. Confirmed bit order by comparing with python implementation [1].

drivers/iommu/apple-dart.c:991 apple_dart_t8110_irq()
warn: duplicate check 'error_code == ((((1))) << (3))'
  (previous on line 989)

Link: https://github.com/AsahiLinux/m1n1/commit/96b2d584feec1e3f7bfa [1]

Fixes: d8bcc870d99d ("iommu: dart: Add t8110 DART support")
Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Eric Curtin <ecurtin@redhat.com>
---
 drivers/iommu/apple-dart.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Sven Peter Jan. 30, 2023, 6:16 p.m. UTC | #1
Hi,


On Mon, Jan 30, 2023, at 17:53, Eric Curtin wrote:
> This was detected by smatch as one "else if" statement could never be
> reached. Confirmed bit order by comparing with python implementation [1].
>
> drivers/iommu/apple-dart.c:991 apple_dart_t8110_irq()
> warn: duplicate check 'error_code == ((((1))) << (3))'
>   (previous on line 989)
>
> Link: https://github.com/AsahiLinux/m1n1/commit/96b2d584feec1e3f7bfa [1]
>
> Fixes: d8bcc870d99d ("iommu: dart: Add t8110 DART support")
> Reported-by: Dan Carpenter <error27@gmail.com>
> Signed-off-by: Eric Curtin <ecurtin@redhat.com>
> ---
>  drivers/iommu/apple-dart.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iommu/apple-dart.c b/drivers/iommu/apple-dart.c
> index efe877842f72..3adacf4094d7 100644
> --- a/drivers/iommu/apple-dart.c
> +++ b/drivers/iommu/apple-dart.c
> @@ -112,15 +112,15 @@
> 
>  #define DART_T8110_ERROR_MASK 0x104
> 
> -#define DART_T8110_ERROR_READ_FAULT BIT(4)
> -#define DART_T8110_ERROR_WRITE_FAULT BIT(3)
> +#define DART_T8110_ERROR_READ_FAULT BIT(5)
> +#define DART_T8110_ERROR_WRITE_FAULT BIT(4)

this looks good!

>  #define DART_T8110_ERROR_NO_PTE BIT(3)
>  #define DART_T8110_ERROR_NO_PMD BIT(2)
>  #define DART_T8110_ERROR_NO_PGD BIT(1)
>  #define DART_T8110_ERROR_NO_TTBR BIT(0)
> 
>  #define DART_T8110_ERROR_ADDR_LO 0x170
> -#define DART_T8110_ERROR_ADDR_HI 0x174
> +#define DART_T8110_ERROR_ADDR_HI 0x175

this doesn't. 0x174 already is the correct offset.


Thanks,


Sven
Sven Peter Jan. 30, 2023, 6:16 p.m. UTC | #2
Hi,


On Mon, Jan 30, 2023, at 17:53, Eric Curtin wrote:
> This was detected by smatch as one "else if" statement could never be
> reached. Confirmed bit order by comparing with python implementation [1].
>
> drivers/iommu/apple-dart.c:991 apple_dart_t8110_irq()
> warn: duplicate check 'error_code == ((((1))) << (3))'
>   (previous on line 989)
>
> Link: https://github.com/AsahiLinux/m1n1/commit/96b2d584feec1e3f7bfa [1]
>
> Fixes: d8bcc870d99d ("iommu: dart: Add t8110 DART support")
> Reported-by: Dan Carpenter <error27@gmail.com>
> Signed-off-by: Eric Curtin <ecurtin@redhat.com>
> ---
>  drivers/iommu/apple-dart.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iommu/apple-dart.c b/drivers/iommu/apple-dart.c
> index efe877842f72..3adacf4094d7 100644
> --- a/drivers/iommu/apple-dart.c
> +++ b/drivers/iommu/apple-dart.c
> @@ -112,15 +112,15 @@
> 
>  #define DART_T8110_ERROR_MASK 0x104
> 
> -#define DART_T8110_ERROR_READ_FAULT BIT(4)
> -#define DART_T8110_ERROR_WRITE_FAULT BIT(3)
> +#define DART_T8110_ERROR_READ_FAULT BIT(5)
> +#define DART_T8110_ERROR_WRITE_FAULT BIT(4)

this looks good!

>  #define DART_T8110_ERROR_NO_PTE BIT(3)
>  #define DART_T8110_ERROR_NO_PMD BIT(2)
>  #define DART_T8110_ERROR_NO_PGD BIT(1)
>  #define DART_T8110_ERROR_NO_TTBR BIT(0)
> 
>  #define DART_T8110_ERROR_ADDR_LO 0x170
> -#define DART_T8110_ERROR_ADDR_HI 0x174
> +#define DART_T8110_ERROR_ADDR_HI 0x175

this doesn't. 0x174 already is the correct offset.


Thanks,


Sven
diff mbox series

Patch

diff --git a/drivers/iommu/apple-dart.c b/drivers/iommu/apple-dart.c
index efe877842f72..3adacf4094d7 100644
--- a/drivers/iommu/apple-dart.c
+++ b/drivers/iommu/apple-dart.c
@@ -112,15 +112,15 @@ 
 
 #define DART_T8110_ERROR_MASK 0x104
 
-#define DART_T8110_ERROR_READ_FAULT BIT(4)
-#define DART_T8110_ERROR_WRITE_FAULT BIT(3)
+#define DART_T8110_ERROR_READ_FAULT BIT(5)
+#define DART_T8110_ERROR_WRITE_FAULT BIT(4)
 #define DART_T8110_ERROR_NO_PTE BIT(3)
 #define DART_T8110_ERROR_NO_PMD BIT(2)
 #define DART_T8110_ERROR_NO_PGD BIT(1)
 #define DART_T8110_ERROR_NO_TTBR BIT(0)
 
 #define DART_T8110_ERROR_ADDR_LO 0x170
-#define DART_T8110_ERROR_ADDR_HI 0x174
+#define DART_T8110_ERROR_ADDR_HI 0x175
 
 #define DART_T8110_PROTECT 0x200
 #define DART_T8110_UNPROTECT 0x204