]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: ipa: prevent concurrent replenish
authorAlex Elder <elder@linaro.org>
Wed, 12 Jan 2022 13:30:12 +0000 (07:30 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Feb 2022 11:39:54 +0000 (12:39 +0100)
commit62600b0fbc6e69adfec2fca0fb6c69d10b72204b
treef29c027c41b501f6aec55fc22e0c6c4af54fccf8
parent74a0e011912021740c46771a3d8c494440d4688c
net: ipa: prevent concurrent replenish

commit 998c0bd2b3715244da7639cc4e6a2062cb79c3f4 upstream.

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: 84f9bd12d46db ("soc: qcom: ipa: IPA endpoints")
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ipa/ipa_endpoint.c
drivers/net/ipa/ipa_endpoint.h