[PATCH v2] wcn36xx: Fix tx_status mechanism

Kalle Valo kvalo at codeaurora.org
Mon Oct 25 06:24:23 PDT 2021


Loic Poulain <loic.poulain at linaro.org> wrote:

> This change fix the TX ack mechanism in various ways:
> 
> - For NO_ACK tagged packets, we don't need to wait for TX_ACK indication
> and so are not subject to the single packet ack limitation. So we don't
> have to stop the tx queue, and can call the tx status callback as soon
> as DMA transfer has completed.
> 
> - Fix skb ownership/reference. Only start status indication timeout
> once the DMA transfer has been completed. This avoids the skb to be
> both referenced in the DMA tx ring and by the tx_ack_skb pointer,
> preventing any use-after-free or double-free.
> 
> - This adds a sanity (paranoia?) check on the skb tx ack pointer.
> 
> - Resume TX queue if TX status tagged packet TX fails.
> 
> Cc: stable at vger.kernel.org
> Fixes: fdf21cc37149 ("wcn36xx: Add TX ack support")
> Signed-off-by: Loic Poulain <loic.poulain at linaro.org>
> Signed-off-by: Kalle Valo <kvalo at codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

a9e79b116cc4 wcn36xx: Fix tx_status mechanism

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/1634567281-28997-1-git-send-email-loic.poulain@linaro.org/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches




More information about the wcn36xx mailing list