summaryrefslogtreecommitdiffstats
path: root/drivers/net/ipa/ipa_table.c
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2022-10-21 14:13:40 -0500
committerPaolo Abeni <pabeni@redhat.com>2022-10-25 11:15:19 +0200
commit73da9cac517ce4dc3a00b87f800846dcc2469ddf (patch)
tree4c8419100b6b3ca7fa623ffbab551e24d271ef2c /drivers/net/ipa/ipa_table.c
parent39ad815244ac3746c0194ae3eb45cb1f51d3489a (diff)
downloadlinux-stable-73da9cac517ce4dc3a00b87f800846dcc2469ddf.tar.gz
linux-stable-73da9cac517ce4dc3a00b87f800846dcc2469ddf.tar.bz2
linux-stable-73da9cac517ce4dc3a00b87f800846dcc2469ddf.zip
net: ipa: check table memory regions earlier
Verify that the sizes of the routing and filter table memory regions are valid as part of memory initialization, rather than waiting for table initialization. The main reason to do this is that upcoming patches use these memory region sizes to determine the number of entries in these tables, and we'll want to know these sizes are good sooner. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/ipa/ipa_table.c')
-rw-r--r--drivers/net/ipa/ipa_table.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/net/ipa/ipa_table.c b/drivers/net/ipa/ipa_table.c
index 7a60f2867de9..58a1a9da3133 100644
--- a/drivers/net/ipa/ipa_table.c
+++ b/drivers/net/ipa/ipa_table.c
@@ -567,7 +567,7 @@ void ipa_table_config(struct ipa *ipa)
}
/* Zero modem_route_count means filter table memory check */
-static bool ipa_table_mem_valid(struct ipa *ipa, bool modem_route_count)
+bool ipa_table_mem_valid(struct ipa *ipa, bool modem_route_count)
{
bool hash_support = ipa_table_hash_support(ipa);
bool filter = !modem_route_count;
@@ -688,11 +688,6 @@ int ipa_table_init(struct ipa *ipa)
ipa_table_validate_build();
- if (!ipa_table_mem_valid(ipa, 0))
- return -EINVAL;
- if (!ipa_table_mem_valid(ipa, IPA_ROUTE_MODEM_COUNT))
- return -EINVAL;
-
/* The IPA hardware requires route and filter table rules to be
* aligned on a 128-byte boundary. We put the "zero rule" at the
* base of the table area allocated here. The DMA address returned