Commit bd734481 authored by Peng Fan's avatar Peng Fan Committed by Georgi Djakov
Browse files

interconnect: imx: fix max_node_id



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: f0d80485 ("interconnect: Add imx core driver")
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarPeng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20220703091132.1412063-5-peng.fan@oss.nxp.com


Signed-off-by: default avatarGeorgi Djakov <djakov@kernel.org>
parent 2fcfa72f
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -234,16 +234,16 @@ int imx_icc_register(struct platform_device *pdev,
	struct device *dev = &pdev->dev;
	struct icc_onecell_data *data;
	struct icc_provider *provider;
	int max_node_id;
	int num_nodes;
	int ret;

	/* icc_onecell_data is indexed by node_id, unlike nodes param */
	max_node_id = get_max_node_id(nodes, nodes_count);
	data = devm_kzalloc(dev, struct_size(data, nodes, max_node_id),
	num_nodes = get_max_node_id(nodes, nodes_count) + 1;
	data = devm_kzalloc(dev, struct_size(data, nodes, num_nodes),
			    GFP_KERNEL);
	if (!data)
		return -ENOMEM;
	data->num_nodes = max_node_id;
	data->num_nodes = num_nodes;

	provider = devm_kzalloc(dev, sizeof(*provider), GFP_KERNEL);
	if (!provider)