linux/drivers/net/ipa
Alex Elder b5c102238c net: ipa: initialize all filter table slots
There is an off-by-one problem in ipa_table_init_add(), when
initializing filter tables.

In that function, the number of filter table entries is determined
based on the number of set bits in the filter map.  However that
count does *not* include the extra "slot" in the filter table that
holds the filter map itself.  Meanwhile, ipa_table_addr() *does*
include the filter map in the memory it returns, but because the
count it's provided doesn't include it, it includes one too few
table entries.

Fix this by including the extra slot for the filter map in the count
computed in ipa_table_init_add().

Note: ipa_filter_reset_table() does not have this problem; it resets
filter table entries one by one, but does not overwrite the filter
bitmap.

Fixes: 2b9feef2b6 ("soc: qcom: ipa: filter and routing tables")
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-09-08 12:10:33 +01:00
..
gsi_private.h net: ipa: DMA addresses are nicely aligned 2021-03-28 18:12:03 -07:00
gsi_reg.h net: ipa: inter-EE interrupts aren't always available 2021-06-21 12:30:59 -07:00
gsi_trans.c net: ipa: use WARN_ON() rather than assertions 2021-07-26 22:38:11 +01:00
gsi_trans.h net: ipa: fix all kernel-doc warnings 2021-03-28 18:12:03 -07:00
gsi.c net: ipa: disable GSI interrupts while suspended 2021-08-04 10:12:05 +01:00
gsi.h net: ipa: disable GSI interrupts while suspended 2021-08-04 10:12:05 +01:00
ipa_cmd.c net: ipa: use WARN_ON() rather than assertions 2021-07-26 22:38:11 +01:00
ipa_cmd.h net: ipa: kill the remaining conditional validation code 2021-07-26 22:38:11 +01:00
ipa_data-v3.1.c net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_data-v3.5.1.c net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_data-v4.2.c net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_data-v4.5.c net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_data-v4.9.c net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_data-v4.11.c net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_data.h net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_endpoint.c net: ipa: rename "ipa_clock.c" 2021-08-22 09:44:17 +01:00
ipa_endpoint.h net: ipa: three small fixes 2021-04-09 20:57:26 -07:00
ipa_gsi.c net: ipa: include declarations in "ipa_gsi.c" 2020-07-07 12:43:18 -07:00
ipa_gsi.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_interrupt.c net: ipa: use autosuspend 2021-08-22 09:44:17 +01:00
ipa_interrupt.h net: ipa: set up IPA interrupts earlier 2021-07-26 23:09:18 +01:00
ipa_main.c net: ipa: rename "ipa_clock.c" 2021-08-22 09:44:17 +01:00
ipa_mem.c net: ipa: don't index mem data array by ID 2021-06-10 14:50:08 -07:00
ipa_mem.h net: ipa: don't index mem data array by ID 2021-06-10 14:50:08 -07:00
ipa_modem.c net: ipa: rename "ipa_clock.c" 2021-08-22 09:44:17 +01:00
ipa_modem.h net: ipa: kill ipa_modem_setup() 2021-07-26 23:09:18 +01:00
ipa_power.c net: ipa: rename "ipa_clock.c" 2021-08-22 09:44:17 +01:00
ipa_power.h net: ipa: rename "ipa_clock.c" 2021-08-22 09:44:17 +01:00
ipa_qmi_msg.c net: ipa: extend the INDICATION_REGISTER request 2021-03-16 11:17:59 -07:00
ipa_qmi_msg.h net: ipa: extend the INDICATION_REGISTER request 2021-03-16 11:17:59 -07:00
ipa_qmi.c net: ipa: kill ipa_modem_setup() 2021-07-26 23:09:18 +01:00
ipa_qmi.h net: ipa: kill ipa_modem_setup() 2021-07-26 23:09:18 +01:00
ipa_reg.c
ipa_reg.h net: ipa: use WARN_ON() rather than assertions 2021-07-26 22:38:11 +01:00
ipa_resource.c net: ipa: kill the remaining conditional validation code 2021-07-26 22:38:11 +01:00
ipa_resource.h net: ipa: get rid of empty IPA functions 2021-04-09 20:57:25 -07:00
ipa_smp2p.c net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_smp2p.h net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_sysfs.c net: ipa: introduce sysfs code 2021-06-11 14:13:18 -07:00
ipa_sysfs.h net: ipa: introduce sysfs code 2021-06-11 14:13:18 -07:00
ipa_table.c net: ipa: initialize all filter table slots 2021-09-08 12:10:33 +01:00
ipa_table.h net: ipa: always validate filter and route tables 2021-07-26 22:38:11 +01:00
ipa_uc.c net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_uc.h net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
ipa_version.h net: ipa: introduce sysfs code 2021-06-11 14:13:18 -07:00
ipa.h net: ipa: rename ipa_clock_* symbols 2021-08-22 09:44:17 +01:00
Kconfig net: ipa: switch to version based configuration 2021-03-28 18:12:03 -07:00
Makefile net: ipa: rename "ipa_clock.c" 2021-08-22 09:44:17 +01:00