[v3] soc: qcom: llcc: Check return value on Broadcast_OR reg read

Message ID 20240212183515.433873-1-quic_uchalich@quicinc.com
State New
Headers
Series [v3] soc: qcom: llcc: Check return value on Broadcast_OR reg read |

Commit Message

Unnathi Chalicheemala Feb. 12, 2024, 6:35 p.m. UTC
  Commit c72ca343f911 ("soc: qcom: llcc: Add v4.1 HW version support")
introduced a new 4.1 if statement in llcc_update_act_ctrl() without
considering that ret might be overwritten. So, add return value check
after Broadcast_OR register read in llcc_update_act_ctrl().

Fixes: c72ca343f911 ("soc: qcom: llcc: Add v4.1 HW version support")
Signed-off-by: Unnathi Chalicheemala <quic_uchalich@quicinc.com>
Reviewed-by: Elliot Berman <quic_eberman@quicinc.com>

---
Changes in v3:
- Bunched Fixes tag with other tags.
- Modified commit message.
- Link to v2: https://lore.kernel.org/all/20240210011415.3440236-1-quic_uchalich@quicinc.com/

Changes in v2:
- Referenced right commit to be fixed in the commit message.
- Added Elliot's R-B tag.
- Modified commit message to better explain problem statement.
- Link to v1: https://lore.kernel.org/all/20240202-fix_llcc_update_act_ctrl-v1-1-d36df95c8bd5@quicinc.com/

---
 drivers/soc/qcom/llcc-qcom.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Mukesh Ojha Feb. 13, 2024, 6:49 a.m. UTC | #1
On 2/13/2024 12:05 AM, Unnathi Chalicheemala wrote:
> Commit c72ca343f911 ("soc: qcom: llcc: Add v4.1 HW version support")
> introduced a new 4.1 if statement in llcc_update_act_ctrl() without
> considering that ret might be overwritten. So, add return value check
> after Broadcast_OR register read in llcc_update_act_ctrl().
> 
> Fixes: c72ca343f911 ("soc: qcom: llcc: Add v4.1 HW version support")
> Signed-off-by: Unnathi Chalicheemala <quic_uchalich@quicinc.com>
> Reviewed-by: Elliot Berman <quic_eberman@quicinc.com>
> 
> ---
> Changes in v3:
> - Bunched Fixes tag with other tags.
> - Modified commit message.
> - Link to v2: https://lore.kernel.org/all/20240210011415.3440236-1-quic_uchalich@quicinc.com/
> 
> Changes in v2:
> - Referenced right commit to be fixed in the commit message.
> - Added Elliot's R-B tag.
> - Modified commit message to better explain problem statement.
> - Link to v1: https://lore.kernel.org/all/20240202-fix_llcc_update_act_ctrl-v1-1-d36df95c8bd5@quicinc.com/
> 
> ---
>   drivers/soc/qcom/llcc-qcom.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/soc/qcom/llcc-qcom.c b/drivers/soc/qcom/llcc-qcom.c
> index 4ca88eaebf06..cbef0dea1d5d 100644
> --- a/drivers/soc/qcom/llcc-qcom.c
> +++ b/drivers/soc/qcom/llcc-qcom.c
> @@ -859,6 +859,8 @@ static int llcc_update_act_ctrl(u32 sid,
>   	ret = regmap_read_poll_timeout(drv_data->bcast_regmap, status_reg,
>   				      slice_status, !(slice_status & status),
>   				      0, LLCC_STATUS_READ_DELAY);
> +	if (ret)
> +		return ret;


Nice catch, Thanks.
Reviewed-by: Mukesh Ojha <quic_mojha@quicinc.com>

-Mukesh

>   
>   	if (drv_data->version >= LLCC_VERSION_4_1_0_0)
>   		ret = regmap_write(drv_data->bcast_regmap, act_clear_reg,
  
Bjorn Andersson Feb. 14, 2024, 5:57 p.m. UTC | #2
On Mon, 12 Feb 2024 10:35:15 -0800, Unnathi Chalicheemala wrote:
> Commit c72ca343f911 ("soc: qcom: llcc: Add v4.1 HW version support")
> introduced a new 4.1 if statement in llcc_update_act_ctrl() without
> considering that ret might be overwritten. So, add return value check
> after Broadcast_OR register read in llcc_update_act_ctrl().
> 
> 

Applied, thanks!

[1/1] soc: qcom: llcc: Check return value on Broadcast_OR reg read
      commit: ceeaddc19a90039861564d8e1078b778a8f95101

Best regards,
  

Patch

diff --git a/drivers/soc/qcom/llcc-qcom.c b/drivers/soc/qcom/llcc-qcom.c
index 4ca88eaebf06..cbef0dea1d5d 100644
--- a/drivers/soc/qcom/llcc-qcom.c
+++ b/drivers/soc/qcom/llcc-qcom.c
@@ -859,6 +859,8 @@  static int llcc_update_act_ctrl(u32 sid,
 	ret = regmap_read_poll_timeout(drv_data->bcast_regmap, status_reg,
 				      slice_status, !(slice_status & status),
 				      0, LLCC_STATUS_READ_DELAY);
+	if (ret)
+		return ret;
 
 	if (drv_data->version >= LLCC_VERSION_4_1_0_0)
 		ret = regmap_write(drv_data->bcast_regmap, act_clear_reg,