diff mbox series

bus: mhi: core: fix potential operator-precedence with BHI macros

Message ID 1603225785-21368-1-git-send-email-jhugo@codeaurora.org
State Superseded
Headers show
Series bus: mhi: core: fix potential operator-precedence with BHI macros | expand

Commit Message

Jeffrey Hugo Oct. 20, 2020, 8:29 p.m. UTC
The BHI_MSMHWID and BHI_OEMPKHASH macros take a value 'n' which is
a BHI register index. If 'n' is an expression rather than a simple
value, there can be an operator precedence issue which can result
in the incorrect calculation of the register offset. Adding
parentheses around the macro parameter can prevent such issues.

Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
---
 drivers/bus/mhi/core/internal.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Hemant Kumar Oct. 21, 2020, 4:33 p.m. UTC | #1
On 10/20/20 1:29 PM, Jeffrey Hugo wrote:
> The BHI_MSMHWID and BHI_OEMPKHASH macros take a value 'n' which is
> a BHI register index. If 'n' is an expression rather than a simple
> value, there can be an operator precedence issue which can result
> in the incorrect calculation of the register offset. Adding
> parentheses around the macro parameter can prevent such issues.
> 
> Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
> ---
Reviewed-by: Hemant Kumar <hemantk@codeaurora.org>
Manivannan Sadhasivam Nov. 5, 2020, 2:13 p.m. UTC | #2
On Tue, Oct 20, 2020 at 02:29:45PM -0600, Jeffrey Hugo wrote:
> The BHI_MSMHWID and BHI_OEMPKHASH macros take a value 'n' which is

> a BHI register index. If 'n' is an expression rather than a simple

> value, there can be an operator precedence issue which can result

> in the incorrect calculation of the register offset. Adding

> parentheses around the macro parameter can prevent such issues.

> 

> Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>


Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>


Thanks,
Mani

> ---

>  drivers/bus/mhi/core/internal.h | 4 ++--

>  1 file changed, 2 insertions(+), 2 deletions(-)

> 

> diff --git a/drivers/bus/mhi/core/internal.h b/drivers/bus/mhi/core/internal.h

> index 7989269..78e4e84 100644

> --- a/drivers/bus/mhi/core/internal.h

> +++ b/drivers/bus/mhi/core/internal.h

> @@ -153,8 +153,8 @@ extern struct bus_type mhi_bus_type;

>  #define BHI_SERIALNU (0x40)

>  #define BHI_SBLANTIROLLVER (0x44)

>  #define BHI_NUMSEG (0x48)

> -#define BHI_MSMHWID(n) (0x4C + (0x4 * n))

> -#define BHI_OEMPKHASH(n) (0x64 + (0x4 * n))

> +#define BHI_MSMHWID(n) (0x4C + (0x4 * (n)))

> +#define BHI_OEMPKHASH(n) (0x64 + (0x4 * (n)))

>  #define BHI_RSVD5 (0xC4)

>  #define BHI_STATUS_MASK (0xC0000000)

>  #define BHI_STATUS_SHIFT (30)

> -- 

> Qualcomm Technologies, Inc. is a member of the

> Code Aurora Forum, a Linux Foundation Collaborative Project.

>
Manivannan Sadhasivam Nov. 9, 2020, noon UTC | #3
On Tue, Oct 20, 2020 at 02:29:45PM -0600, Jeffrey Hugo wrote:
> The BHI_MSMHWID and BHI_OEMPKHASH macros take a value 'n' which is

> a BHI register index. If 'n' is an expression rather than a simple

> value, there can be an operator precedence issue which can result

> in the incorrect calculation of the register offset. Adding

> parentheses around the macro parameter can prevent such issues.

> 

> Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>


Applied to mhi-next!

Thanks,
Mani

> ---

>  drivers/bus/mhi/core/internal.h | 4 ++--

>  1 file changed, 2 insertions(+), 2 deletions(-)

> 

> diff --git a/drivers/bus/mhi/core/internal.h b/drivers/bus/mhi/core/internal.h

> index 7989269..78e4e84 100644

> --- a/drivers/bus/mhi/core/internal.h

> +++ b/drivers/bus/mhi/core/internal.h

> @@ -153,8 +153,8 @@ extern struct bus_type mhi_bus_type;

>  #define BHI_SERIALNU (0x40)

>  #define BHI_SBLANTIROLLVER (0x44)

>  #define BHI_NUMSEG (0x48)

> -#define BHI_MSMHWID(n) (0x4C + (0x4 * n))

> -#define BHI_OEMPKHASH(n) (0x64 + (0x4 * n))

> +#define BHI_MSMHWID(n) (0x4C + (0x4 * (n)))

> +#define BHI_OEMPKHASH(n) (0x64 + (0x4 * (n)))

>  #define BHI_RSVD5 (0xC4)

>  #define BHI_STATUS_MASK (0xC0000000)

>  #define BHI_STATUS_SHIFT (30)

> -- 

> Qualcomm Technologies, Inc. is a member of the

> Code Aurora Forum, a Linux Foundation Collaborative Project.

>
patchwork-bot+linux-arm-msm@kernel.org Dec. 29, 2020, 8:15 p.m. UTC | #4
Hello:

This patch was applied to qcom/linux.git (refs/heads/for-next):

On Tue, 20 Oct 2020 14:29:45 -0600 you wrote:
> The BHI_MSMHWID and BHI_OEMPKHASH macros take a value 'n' which is

> a BHI register index. If 'n' is an expression rather than a simple

> value, there can be an operator precedence issue which can result

> in the incorrect calculation of the register offset. Adding

> parentheses around the macro parameter can prevent such issues.

> 

> Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>

> 

> [...]


Here is the summary with links:
  - bus: mhi: core: fix potential operator-precedence with BHI macros
    https://git.kernel.org/qcom/c/8ff3f7bdde45

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
diff mbox series

Patch

diff --git a/drivers/bus/mhi/core/internal.h b/drivers/bus/mhi/core/internal.h
index 7989269..78e4e84 100644
--- a/drivers/bus/mhi/core/internal.h
+++ b/drivers/bus/mhi/core/internal.h
@@ -153,8 +153,8 @@  extern struct bus_type mhi_bus_type;
 #define BHI_SERIALNU (0x40)
 #define BHI_SBLANTIROLLVER (0x44)
 #define BHI_NUMSEG (0x48)
-#define BHI_MSMHWID(n) (0x4C + (0x4 * n))
-#define BHI_OEMPKHASH(n) (0x64 + (0x4 * n))
+#define BHI_MSMHWID(n) (0x4C + (0x4 * (n)))
+#define BHI_OEMPKHASH(n) (0x64 + (0x4 * (n)))
 #define BHI_RSVD5 (0xC4)
 #define BHI_STATUS_MASK (0xC0000000)
 #define BHI_STATUS_SHIFT (30)