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:Alex Elder <elder@linaro.org> Acked-by:
Willem de Bruijn <willemb@google.com> Signed-off-by:
Jakub 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:
Sujit Kautkar <sujitka@chromium.org> Change-Id: I2b3091cced25cd6d55c6b41539648a19d76383d7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2674470 Reviewed-by:
Sean Paul <seanpaul@chromium.org> Reviewed-by:
Evan Green <evgreen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2685033
Loading
Please sign in to comment