2023-07-03 15:24:43

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH] cxl/mem: Fix a double shift bug

The CXL_FW_CANCEL macro is used with set/test_bit() so it should be a
bit number and not the shifted value. The original code is the
equivalent of using BIT(BIT(0)) so it's 0x2 instead of 0x1. This has
no effect on runtime because it's done consistently and nothing else
was using the 0x2 bit.

Fixes: 9521875bbe00 ("cxl: add a firmware update mechanism using the sysfs firmware loader")
Signed-off-by: Dan Carpenter <[email protected]>
---
drivers/cxl/cxlmem.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h
index 79e99c873ca2..499113328586 100644
--- a/drivers/cxl/cxlmem.h
+++ b/drivers/cxl/cxlmem.h
@@ -323,7 +323,7 @@ struct cxl_mbox_activate_fw {

/* FW state bits */
#define CXL_FW_STATE_BITS 32
-#define CXL_FW_CANCEL BIT(0)
+#define CXL_FW_CANCEL 0

/**
* struct cxl_fw_state - Firmware upload / activation state
--
2.39.2



2023-07-05 17:45:44

by Dave Jiang

[permalink] [raw]
Subject: Re: [PATCH] cxl/mem: Fix a double shift bug



On 7/3/23 07:17, Dan Carpenter wrote:
> The CXL_FW_CANCEL macro is used with set/test_bit() so it should be a
> bit number and not the shifted value. The original code is the
> equivalent of using BIT(BIT(0)) so it's 0x2 instead of 0x1. This has
> no effect on runtime because it's done consistently and nothing else
> was using the 0x2 bit.
>
> Fixes: 9521875bbe00 ("cxl: add a firmware update mechanism using the sysfs firmware loader")
> Signed-off-by: Dan Carpenter <[email protected]>

Reviewed-by: Dave Jiang <[email protected]>
> ---
> drivers/cxl/cxlmem.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h
> index 79e99c873ca2..499113328586 100644
> --- a/drivers/cxl/cxlmem.h
> +++ b/drivers/cxl/cxlmem.h
> @@ -323,7 +323,7 @@ struct cxl_mbox_activate_fw {
>
> /* FW state bits */
> #define CXL_FW_STATE_BITS 32
> -#define CXL_FW_CANCEL BIT(0)
> +#define CXL_FW_CANCEL 0
>
> /**
> * struct cxl_fw_state - Firmware upload / activation state

2023-07-12 19:24:57

by Davidlohr Bueso

[permalink] [raw]
Subject: Re: [PATCH] cxl/mem: Fix a double shift bug

On Mon, 03 Jul 2023, Dan Carpenter wrote:

>The CXL_FW_CANCEL macro is used with set/test_bit() so it should be a
>bit number and not the shifted value. The original code is the
>equivalent of using BIT(BIT(0)) so it's 0x2 instead of 0x1. This has
>no effect on runtime because it's done consistently and nothing else
>was using the 0x2 bit.
>
>Fixes: 9521875bbe00 ("cxl: add a firmware update mechanism using the sysfs firmware loader")
>Signed-off-by: Dan Carpenter <[email protected]>

Reviewed-by: Davidlohr Bueso <[email protected]>

2023-07-12 20:13:24

by Vishal Verma

[permalink] [raw]
Subject: Re: [PATCH] cxl/mem: Fix a double shift bug

On Mon, 2023-07-03 at 17:17 +0300, Dan Carpenter wrote:
> The CXL_FW_CANCEL macro is used with set/test_bit() so it should be a
> bit number and not the shifted value.  The original code is the
> equivalent of using BIT(BIT(0)) so it's 0x2 instead of 0x1.  This has
> no effect on runtime because it's done consistently and nothing else
> was using the 0x2 bit.
>
> Fixes: 9521875bbe00 ("cxl: add a firmware update mechanism using the sysfs firmware loader")
> Signed-off-by: Dan Carpenter <[email protected]>

Reviewed-by: Vishal Verma <[email protected]>

> ---
>  drivers/cxl/cxlmem.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h
> index 79e99c873ca2..499113328586 100644
> --- a/drivers/cxl/cxlmem.h
> +++ b/drivers/cxl/cxlmem.h
> @@ -323,7 +323,7 @@ struct cxl_mbox_activate_fw {
>  
>  /* FW state bits */
>  #define CXL_FW_STATE_BITS              32
> -#define CXL_FW_CANCEL          BIT(0)
> +#define CXL_FW_CANCEL                  0
>  
>  /**
>   * struct cxl_fw_state - Firmware upload / activation state