On 30/06/2020 14:46, Loic Poulain wrote:
Several AMPDU sessions can be started, e.g. for different TIDs. Currently the driver does not take care of the session ID when requesting block-ack (statically set to 0), which leads to never block-acked packet with sessions other than 0. Fix this by saving the session id when creating the ba session and use it in subsequent ba operations. This issue can be reproduced with iperf in two steps (tid 0 strem then tid 6 stream). 1.0 iperf -s # wcn36xx side 1.1 iperf -c ${IP_ADDR} # host side Then 2.0 iperf -s -u -S 0xC0 # wcn36xx side 2.1 iperf -c ${IP_ADDR} -u -S 0xC0 -l 2000 # host side Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx> ---
Getting a few checkpatch errors here CHECK: No space is necessary after a cast #44: FILE: drivers/net/wireless/ath/wcn36xx/smd.c:2112: + rsp = (struct wcn36xx_hal_add_ba_session_rsp_msg *) buf; WARNING: Comparisons should place the constant on the right side of the test #45: FILE: drivers/net/wireless/ath/wcn36xx/smd.c:2113: + if (WCN36XX_FW_MSG_RESULT_SUCCESS != rsp->status) total: 0 errors, 1 warnings, 1 checks, 116 lines checked