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 84bb8ae9272522f5611b0d7e4c1217197051bdc2..eb1c8396bcdd9ae2ada74e8365be5ec5f5e29044 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;
 }