linux/drivers/net/ipa
Alex Elder 998c0bd2b3 net: ipa: prevent concurrent replenish
We have seen cases where an endpoint RX completion interrupt arrives
while replenishing for the endpoint is underway.  This causes another
instance of replenishing to begin as part of completing the receive
transaction.  If this occurs it can lead to transaction corruption.

Use a new flag to ensure only one replenish instance for an endpoint
executes at a time.

Fixes: 84f9bd12d4 ("soc: qcom: ipa: IPA endpoints")
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-01-12 14:39:53 +00:00
..
gsi_private.h net: ipa: DMA addresses are nicely aligned 2021-03-28 18:12:03 -07:00
gsi_reg.h net: ipa: support enhanced channel flow control 2021-11-25 20:04:52 -08: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: support enhanced channel flow control 2021-11-25 20:04:52 -08:00
gsi.h net: ipa: support enhanced channel flow control 2021-11-25 20:04:52 -08:00
ipa_cmd.c net: ipa: kill ipa_cmd_pipeline_clear() 2021-11-23 12:26:40 +00:00
ipa_cmd.h net: ipa: kill ipa_cmd_pipeline_clear() 2021-11-23 12:26:40 +00: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: fix IPA v4.5 interconnect data 2021-12-13 12:49:26 +00: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: prevent concurrent replenish 2022-01-12 14:39:53 +00:00
ipa_endpoint.h net: ipa: prevent concurrent replenish 2022-01-12 14:39:53 +00: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 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-11-26 13:45:19 -08:00
ipa_mem.c net: ipa: Use 'for_each_clear_bit' when possible 2021-11-19 11:19:11 +00: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 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-11-26 13:45:19 -08:00
ipa_modem.h net: ipa: kill ipa_modem_init() 2021-11-25 19:37:33 -08: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: ipa_resource: Fix wrong for loop range 2021-11-12 19:59:45 -08: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: separate disabling setup from modem stop 2021-11-23 12:06:40 +00:00
ipa_smp2p.h net: ipa: separate disabling setup from modem stop 2021-11-23 12:06:40 +00: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: zero unused portions of filter table memory 2021-11-25 19:37:33 -08: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 qcom_scm: hide Kconfig symbol 2021-10-07 16:51:57 +02:00
Makefile net: ipa: rename "ipa_clock.c" 2021-08-22 09:44:17 +01:00