OrangePi_CM5/drivers/net/wireless/ath/ath10k
Fabio Estevam 15ce9329a5 ath10k: Fix the MTU size on QCA9377 SDIO
commit 09b8cd69edcf2be04a781e1781e98e52a775c9ad upstream.

On an imx6dl-pico-pi board with a QCA9377 SDIO chip, simply trying to
connect via ssh to another machine causes:

[   55.824159] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
[   55.832169] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
[   55.838529] ath10k_sdio mmc1:0001:1: failed to push frame: -12
[   55.905863] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
[   55.913650] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
[   55.919887] ath10k_sdio mmc1:0001:1: failed to push frame: -12

, leading to an ssh connection failure.

One user inspected the size of frames on Wireshark and reported
the followig:

"I was able to narrow the issue down to the mtu. If I set the mtu for
the wlan0 device to 1486 instead of 1500, the issue does not happen.

The size of frames that I see on Wireshark is exactly 1500 after
setting it to 1486."

Clearing the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE avoids the problem and
the ssh command works successfully after that.

Introduce a 'credit_size_workaround' field to ath10k_hw_params for
the QCA9377 SDIO, so that the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE
is not set in this case.

Tested with QCA9377 SDIO with firmware WLAN.TF.1.1.1-00061-QCATFSWPZ-1.

Fixes: 2f918ea986 ("ath10k: enable alt data of TX path for sdio")
Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20211124131047.713756-1-festevam@denx.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-27 10:54:36 +01:00
..
Kconfig
…
Makefile
…
ahb.c
…
ahb.h
…
bmi.c
…
bmi.h
…
ce.c
…
ce.h
…
core.c ath10k: Fix the MTU size on QCA9377 SDIO 2022-01-27 10:54:36 +01:00
core.h
…
coredump.c
…
coredump.h
…
debug.c
…
debug.h
…
debugfs_sta.c
…
hif.h
…
htc.c
…
htc.h
…
htt.c
…
htt.h
…
htt_rx.c
…
htt_tx.c ath10k: Fix tx hanging 2022-01-27 10:54:15 +01:00
hw.c
…
hw.h ath10k: Fix the MTU size on QCA9377 SDIO 2022-01-27 10:54:36 +01:00
mac.c ath10k: fix invalid dma_addr_t token assignment 2021-11-18 14:04:32 +01:00
mac.h
…
p2p.c
…
p2p.h
…
pci.c
…
pci.h
…
qmi.c
…
qmi.h
…
qmi_wlfw_v01.c
…
qmi_wlfw_v01.h
…
rx_desc.h
…
sdio.c ath10k: sdio: Add missing BH locking around napi_schdule() 2021-11-18 14:04:04 +01:00
sdio.h
…
snoc.c
…
snoc.h
…
spectral.c
…
spectral.h
…
swap.c
…
swap.h
…
targaddrs.h
…
testmode.c
…
testmode.h
…
testmode_i.h
…
thermal.c
…
thermal.h
…
trace.c
…
trace.h
…
txrx.c ath10k: Fix tx hanging 2022-01-27 10:54:15 +01:00
txrx.h
…
usb.c
…
usb.h
…
wmi-ops.h
…
wmi-tlv.c
…
wmi-tlv.h
…
wmi.c
…
wmi.h ath10k: fix max antenna gain unit 2021-11-18 14:04:07 +01:00
wow.c
…
wow.h
…