net: ipa: initialize all resources
authorAlex Elder <elder@linaro.org>
Mon, 15 Feb 2021 21:54:34 +0000 (15:54 -0600)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Feb 2021 23:26:29 +0000 (15:26 -0800)
We configure the minimum and maximum number of various types of IPA
resources in ipa_resource_config().  It iterates over resource types
in the configuration data and assigns resource limits to each
resource group for each type.

Unfortunately, we are repeatedly initializing the resource data for
the first type, rather than initializing each of the types whose
limits are specified.

Fix this bug.

Fixes: 4a0d7579d466e ("net: ipa: avoid going past end of resource group array")
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipa/ipa_main.c

index 84bb8ae..eb1c839 100644 (file)
@@ -581,10 +581,10 @@ ipa_resource_config(struct ipa *ipa, const struct ipa_resource_data *data)
                return -EINVAL;
 
        for (i = 0; i < data->resource_src_count; i++)
-               ipa_resource_config_src(ipa, data->resource_src);
+               ipa_resource_config_src(ipa, &data->resource_src[i]);
 
        for (i = 0; i < data->resource_dst_count; i++)
-               ipa_resource_config_dst(ipa, data->resource_dst);
+               ipa_resource_config_dst(ipa, &data->resource_dst[i]);
 
        return 0;
 }