Commit ae89508a authored by Alex Elder's avatar Alex Elder
Browse files

FROMGIT: net: ipa: expand last transaction check



Transactions to send data for a network device can be allocated at
any time up until the point the TX queue is stopped.  It is possible
for ipa_start_xmit() to be called in one context just before a
the transmit queue is stopped in another.

Update gsi_channel_trans_last() so that for TX channels the
allocated and pending transaction lists are checked--in addition
to the completed and polled lists--to determine the "last"
transaction.  This means any transaction that has been allocated
before the TX queue is stopped will be allowed to complete before
we conclude the channel is quiesced.

Rework the function a bit to use a list pointer and gotos.

Signed-off-by: default avatarAlex Elder <elder@linaro.org>
Acked-by: default avatarWillem de Bruijn <willemb@google.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
(cherry picked from commit e6316920
 https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git

 master)

BUG=b:177097776
TEST=Modem functional, No IPA hang in suspend stress test

Signed-off-by: default avatarSujit Kautkar <sujitka@chromium.org>
Change-Id: I2b3091cced25cd6d55c6b41539648a19d76383d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2674470


Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
Reviewed-by: default avatarEvan Green <evgreen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2685033
parent 89aa0d0d
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment