[PATCH 3/5] cxl/region: Prevent device_find_child() from modifying caller's match data

From: Zijun Hu
Date: Sat Aug 10 2024 - 20:19:50 EST


From: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>

It does not make sense for match_free_decoder() as device_find_child()'s
match function to modify caller's match data, fixed by using
constify_device_find_child_helper() instead of device_find_child().

Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>
---
drivers/cxl/core/region.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c
index 21ad5f242875..266231d69dff 100644
--- a/drivers/cxl/core/region.c
+++ b/drivers/cxl/core/region.c
@@ -849,7 +849,8 @@ cxl_region_find_decoder(struct cxl_port *port,
dev = device_find_child(&port->dev, &cxlr->params,
match_auto_decoder);
else
- dev = device_find_child(&port->dev, &id, match_free_decoder);
+ dev = constify_device_find_child_helper(&port->dev, &id,
+ match_free_decoder);
if (!dev)
return NULL;
/*

--
2.34.1