linux/drivers/net
Alex Elder 51c48ce264 net: ipa: signal when tag transfer completes
There are times, such as when the modem crashes, when we issue
commands to clear the IPA hardware pipeline.  These commands include
a data transfer command that delivers a small packet directly to the
default (AP<-LAN RX) endpoint.

The places that do this wait for the transactions that contain these
commands to complete, but the pipeline can't be assumed clear until
the sent packet has been *received*.

The small transfer will be delivered with a status structure, and
that status will indicate its tag is valid.  This is the only place
we send a tagged packet, so we use the tag to determine when the
pipeline clear packet has arrived.

Add a completion to the IPA structure to to be used to signal
the receipt of a pipeline clear packet.  Create a new function
ipa_cmd_pipeline_clear_wait() that will wait for that completion.

Reinitialize the completion whenever pipeline clear commands are
added to a transaction.  Extend ipa_endpoint_status_tag() to check
whether a packet whose status contains a valid tag was sent from the
AP->command TX endpoint, and if so, signal the new IPA completion.

Have all callers of ipa_cmd_pipeline_clear_add() wait for the
pipeline clear indication after the transaction that clears the
pipeline has completed.

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-01-28 20:23:26 -08:00
..
appletalk
arcnet arcnet: fix macro name when DEBUG is defined 2021-01-18 20:57:43 -08:00
bonding bonding: add a vlan+srcmac tx hashing option 2021-01-19 19:30:32 -08:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-28 17:09:31 -08:00
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-28 17:09:31 -08:00
ethernet lan743x: fix endianness when accessing descriptors 2021-01-28 18:37:48 -08:00
fddi
fjes
hamradio
hippi
hyperv hv_netvsc: Add (more) validation for untrusted Hyper-V values 2021-01-18 19:47:47 -08:00
ieee802154
ipa net: ipa: signal when tag transfer completes 2021-01-28 20:23:26 -08:00
ipvlan ipvlan: remove h from printk format specifier 2021-01-28 17:47:33 -08:00
mdio mdio-bitbang: Export mdiobb_{read,write}() 2021-01-19 12:02:20 -08:00
netdevsim net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
pcs
phy net: sfp: add mode quirk for GPON module Ubiquiti U-Fiber Instant 2021-01-28 13:41:17 -08:00
plip
ppp Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-14 18:34:50 -08:00
slip
team team: protect features update by RCU to avoid deadlock 2021-01-26 17:08:59 -08:00
usb net: qmi_wwan: Add pass through mode 2021-01-28 18:01:29 -08:00
vmxnet3
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-08 13:28:00 -08:00
wireguard selinux/stable-5.11 PR 20201214 2020-12-16 11:01:04 -08:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-28 17:09:31 -08:00
xen-netback net: xen-netback: xenbus: Demote nonconformant kernel-doc headers 2021-01-16 18:13:04 -08:00
bareudp.c bareudp: add NETIF_F_FRAGLIST flag for dev features 2021-01-18 19:57:02 -08:00
dummy.c
eql.c
geneve.c geneve: add NETIF_F_FRAGLIST flag for dev features 2021-01-18 19:57:02 -08:00
gtp.c GTP: add support for flow based tunneling API 2021-01-15 20:31:49 -08:00
ifb.c
Kconfig bonding: add TLS dependency 2021-01-26 17:45:55 -08:00
LICENSE.SRC
loopback.c
macsec.c
macvlan.c macvlan: remove redundant null check on data 2021-01-05 16:52:02 -08:00
macvtap.c
Makefile
mdio.c
mhi_net.c net: mhi: Set wwan device type 2021-01-23 21:17:36 -08:00
mii.c
net_failover.c
netconsole.c
nlmon.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: tap: check vlan with eth_type_vlan() method 2021-01-15 20:13:49 -08:00
thunderbolt.c USB / Thunderbolt patches for 5.11-rc1 2020-12-15 13:54:56 -08:00
tun.c net: tun: fix misspellings using codespell tool 2021-01-19 17:43:56 -08:00
veth.c net, xdp: Introduce xdp_prepare_buff utility routine 2021-01-08 13:39:24 -08:00
virtio_net.c net, xdp: Introduce xdp_prepare_buff utility routine 2021-01-08 13:39:24 -08:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-11 22:29:38 -08:00
vsockmon.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
vxlan.c vxlan: add NETIF_F_FRAGLIST flag for dev features 2021-01-18 19:57:02 -08:00
xen-netfront.c net: ethernet: ibm: ibmvnic: Fix some kernel-doc misdemeanours 2021-01-16 18:13:17 -08:00