diff mbox series

[1/2] cxl/hdm: Fix && vs || bug

Message ID 60028378-d3d5-4d6d-90fd-f915f061e731@moroto.mountain
State Accepted
Commit 69d56b15a7941680aba8c3175b165221ecdf54b6
Headers show
Series [1/2] cxl/hdm: Fix && vs || bug | expand

Commit Message

Dan Carpenter Oct. 31, 2023, 9:53 a.m. UTC
If "info" is NULL then this code will crash.  || was intended instead of
&&.

Fixes: 8ce520fdea24 ("cxl/hdm: Use stored Component Register mappings to map HDM decoder capability")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/cxl/core/hdm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Robert Richter Oct. 31, 2023, 11:02 a.m. UTC | #1
On 31.10.23 12:53:52, Dan Carpenter wrote:
> If "info" is NULL then this code will crash.  || was intended instead of
> &&.
> 
> Fixes: 8ce520fdea24 ("cxl/hdm: Use stored Component Register mappings to map HDM decoder capability")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>  drivers/cxl/core/hdm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c
> index bc8ad4a8afca..af17da8230d5 100644
> --- a/drivers/cxl/core/hdm.c
> +++ b/drivers/cxl/core/hdm.c
> @@ -146,7 +146,7 @@ struct cxl_hdm *devm_cxl_setup_hdm(struct cxl_port *port,
>  
>  	/* Memory devices can configure device HDM using DVSEC range regs. */
>  	if (reg_map->resource == CXL_RESOURCE_NONE) {
> -		if (!info && !info->mem_enabled) {
> +		if (!info || !info->mem_enabled) {

Right, there was a bug.

Reviewed-by: Robert Richter <rrichter@amd.com>

>  			dev_err(dev, "No component registers mapped\n");
>  			return ERR_PTR(-ENXIO);
>  		}
> -- 
> 2.42.0
>
diff mbox series

Patch

diff --git a/drivers/cxl/core/hdm.c b/drivers/cxl/core/hdm.c
index bc8ad4a8afca..af17da8230d5 100644
--- a/drivers/cxl/core/hdm.c
+++ b/drivers/cxl/core/hdm.c
@@ -146,7 +146,7 @@  struct cxl_hdm *devm_cxl_setup_hdm(struct cxl_port *port,
 
 	/* Memory devices can configure device HDM using DVSEC range regs. */
 	if (reg_map->resource == CXL_RESOURCE_NONE) {
-		if (!info && !info->mem_enabled) {
+		if (!info || !info->mem_enabled) {
 			dev_err(dev, "No component registers mapped\n");
 			return ERR_PTR(-ENXIO);
 		}