• Wen Gong's avatar
    ath10k: change bundle count for max rx bundle for sdio · 4a991245
    Wen Gong authored
    For max bundle size 32, the bundle mask is not same with 8/16.
    Change it to match the max bundle size of htc. Otherwise it
    will not match with firmware, for example, when bundle count
    is 17, then flags of ath10k_htc_hdr is 0x4, if without this
    patch, it will be considered as non-bundled packet because it
    does not have mask 0xF0, then trigger error message later:
    payload length 56747 exceeds max htc length: 4088.
    
    htc->max_msgs_per_htc_bundle is the min value of
    HTC_HOST_MAX_MSG_PER_RX_BUNDLE and
    msg->ready_ext.max_msgs_per_htc_bundle of ath10k_htc_wait_target,
    it will be sent to firmware later in ath10k_htc_start, then
    firmware will use it as the final max rx bundle count, in
    WLAN.RMH.4.4.1-00029, msg->ready_ext.max_msgs_per_htc_bundle
    is 32, it is same with HTC_HOST_MAX_MSG_PER_RX_BUNDLE, so the
    final max rx bundle count will be set to 32 in firmware.
    
    This patch only effect sdio chips.
    
    Tested with QCA6174 SDIO with firmware WLAN.RMH.4.4.1-00029.
    Signed-off-by: default avatarWen Gong <wgong@codeaurora.org>
    Fixes: 22477652 ("ath10k: change max RX bundle size from 8 to 32 for sdio")
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    4a991245
htc.c 24.7 KB