Loic Poulain <loic.poulain@xxxxxxxxxx> 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@xxxxxxxxxxxxxxx > Fixes: fdf21cc37149 ("wcn36xx: Add TX ack support") > Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx> > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> 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@xxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches