interconnect: imx: fix max_node_id
[ Upstream commit bd734481e172b4827af09c9ab06c51d2ab7201e6 ]
max_node_id not equal to the ARRAY_SIZE of node array, need increase 1,
otherwise xlate will fail for the last entry. And rename max_node_id
to num_nodes to reflect the reality.
Fixes: f0d8048525
("interconnect: Add imx core driver")
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20220703091132.1412063-5-peng.fan@oss.nxp.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
5bcc37dc24
commit
a6a7f80e62
@@ -226,16 +226,16 @@ int imx_icc_register(struct platform_device *pdev,
|
|||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
struct icc_onecell_data *data;
|
struct icc_onecell_data *data;
|
||||||
struct icc_provider *provider;
|
struct icc_provider *provider;
|
||||||
int max_node_id;
|
int num_nodes;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* icc_onecell_data is indexed by node_id, unlike nodes param */
|
/* icc_onecell_data is indexed by node_id, unlike nodes param */
|
||||||
max_node_id = get_max_node_id(nodes, nodes_count);
|
num_nodes = get_max_node_id(nodes, nodes_count) + 1;
|
||||||
data = devm_kzalloc(dev, struct_size(data, nodes, max_node_id),
|
data = devm_kzalloc(dev, struct_size(data, nodes, num_nodes),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!data)
|
if (!data)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
data->num_nodes = max_node_id;
|
data->num_nodes = num_nodes;
|
||||||
|
|
||||||
provider = devm_kzalloc(dev, sizeof(*provider), GFP_KERNEL);
|
provider = devm_kzalloc(dev, sizeof(*provider), GFP_KERNEL);
|
||||||
if (!provider)
|
if (!provider)
|
||||||
|
Reference in New Issue
Block a user