• Fabio Estevam's avatar
    ath10k: Fix the MTU size on QCA9377 SDIO · 09b8cd69
    Fabio Estevam authored
    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: 2f918ea9 ("ath10k: enable alt data of TX path for sdio")
    Signed-off-by: default avatarFabio Estevam <festevam@denx.de>
    Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
    Link: https://lore.kernel.org/r/20211124131047.713756-1-festevam@denx.de
    09b8cd69
hw.h 39.2 KB