[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yd3jICMLqZn94YsR@google.com>
Date: Tue, 11 Jan 2022 12:05:52 -0800
From: Matthias Kaehlcke <mka@...omium.org>
To: Alex Elder <elder@...aro.org>
Cc: davem@...emloft.net, kuba@...nel.org, jponduru@...eaurora.org,
avuyyuru@...eaurora.org, bjorn.andersson@...aro.org,
agross@...nel.org, cpratapa@...eaurora.org,
subashab@...eaurora.org, evgreen@...omium.org, elder@...nel.org,
netdev@...r.kernel.org, linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net 1/2] net: ipa: fix atomic update in
ipa_endpoint_replenish()
On Tue, Jan 11, 2022 at 01:21:49PM -0600, Alex Elder wrote:
> In ipa_endpoint_replenish(), if an error occurs when attempting to
> replenish a receive buffer, we just quit and try again later. In
> that case we increment the backlog count to reflect that the attempt
> was unsuccessful. Then, if the add_one flag was true we increment
> the backlog again.
>
> This second increment is not included in the backlog local variable
> though, and its value determines whether delayed work should be
> scheduled. This is a bug.
>
> Fix this by determining whether 1 or 2 should be added to the
> backlog before adding it in a atomic_add_return() call.
>
> Fixes: 84f9bd12d46db ("soc: qcom: ipa: IPA endpoints")
> Signed-off-by: Alex Elder <elder@...aro.org>
Reviewed-by: Matthias Kaehlcke <mka@...omium.org>
Powered by blists - more mailing lists