linux-stable/drivers/net/ipa
Alex Elder e63169208b 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>
2021-02-02 17:42:36 -08:00
..
Kconfig net: ipa: add config dependency on QCOM_SMEM 2021-01-12 20:11:38 -08:00
Makefile soc: qcom: ipa: support build of IPA code 2020-03-08 22:07:10 -07:00
gsi.c net: ipa: expand last transaction check 2021-02-02 17:42:36 -08:00
gsi.h net: ipa: support retries on generic GSI commands 2020-11-20 18:45:52 -08:00
gsi_private.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
gsi_reg.h net: ipa: adjust GSI register addresses 2020-11-28 12:13:55 -08:00
gsi_trans.c net: ipa: pass the correct size when freeing DMA memory 2020-12-04 14:38:44 -08:00
gsi_trans.h net: ipa: declare the page pointer type in "gsi_trans.h" 2021-01-09 13:51:37 -08:00
ipa.h net: ipa: signal when tag transfer completes 2021-01-28 20:23:26 -08:00
ipa_clock.c net: ipa: allow arbitrary number of interconnects 2021-01-18 11:51:06 -08:00
ipa_clock.h net: ipa: define clock and interconnect data 2020-11-20 18:44:59 -08:00
ipa_cmd.c net: ipa: don't pass size to ipa_cmd_transfer_add() 2021-01-28 20:23:26 -08:00
ipa_cmd.h net: ipa: signal when tag transfer completes 2021-01-28 20:23:26 -08:00
ipa_data-sc7180.c net: ipa: allow arbitrary number of interconnects 2021-01-18 11:51:06 -08:00
ipa_data-sdm845.c net: ipa: allow arbitrary number of interconnects 2021-01-18 11:51:06 -08:00
ipa_data.h net: ipa: allow arbitrary number of interconnects 2021-01-18 11:51:06 -08:00
ipa_endpoint.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-02-02 14:21:31 -08:00
ipa_endpoint.h net: ipa: define enumerated types consistently 2020-11-18 15:53:48 -08: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: fix two inconsistent IPA register names 2020-11-18 15:53:48 -08:00
ipa_interrupt.h net: ipa: move definition of enum ipa_irq_id 2020-11-18 15:53:49 -08:00
ipa_main.c net: ipa: signal when tag transfer completes 2021-01-28 20:23:26 -08:00
ipa_mem.c net: ipa: fix two format specifier errors 2021-02-02 08:48:15 -08:00
ipa_mem.h net: ipa: redefine struct ipa_mem_data 2020-05-04 11:26:55 -07:00
ipa_modem.c net: ipa: modem: add missing SET_NETDEV_DEV() for proper sysfs links 2021-01-08 18:45:35 -08:00
ipa_modem.h soc: qcom: ipa: modem and microcontroller 2020-03-08 22:07:10 -07:00
ipa_qmi.c net: ipa: convert comma to semicolon 2020-12-09 16:23:08 -08:00
ipa_qmi.h soc: qcom: ipa: AP/modem communications 2020-03-08 22:07:10 -07:00
ipa_qmi_msg.c net: ipa: fix QMI structure definition bugs 2020-07-07 12:43:18 -07:00
ipa_qmi_msg.h net: ipa: define enumerated types consistently 2020-11-18 15:53:48 -08:00
ipa_reg.c
ipa_reg.h net: ipa: set up IPA v4.5 Qtime configuration 2020-12-01 18:05:28 -08:00
ipa_smp2p.c drivers: ipa: fix typos for ipa_smp2p structure doc 2020-05-14 13:06:55 -07:00
ipa_smp2p.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_table.c net: ipa: share field mask values for IPA hash registers 2020-11-18 15:53:48 -08:00
ipa_table.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_uc.c net: ipa: a few last IPA register cleanups 2020-11-18 15:53:49 -08:00
ipa_uc.h soc: qcom: ipa: modem and microcontroller 2020-03-08 22:07:10 -07:00
ipa_version.h net: ipa: update IPA registers for IPA v4.5 2020-11-28 12:13:54 -08:00