wcn36xx: don't process 'valid' descriptors
The DMA engine will reset the valid bit after a descriptor is complete; any with the valid bit still set may still be in use by the hardware, so check that before freeing the descriptor. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
232ddcd80f
commit
bfa6696b39
@ -354,6 +354,8 @@ static void reap_tx_dxes(struct wcn36xx *wcn, struct wcn36xx_dxe_ch *ch)
|
||||
* and while-do will not make any cycles.
|
||||
*/
|
||||
do {
|
||||
if (ctl->desc->ctrl & WCN36XX_DXE_CTRL_VALID_MASK)
|
||||
break;
|
||||
if (ctl->skb) {
|
||||
dma_unmap_single(NULL, ctl->desc->src_addr_l,
|
||||
ctl->skb->len, DMA_TO_DEVICE);
|
||||
|
Loading…
x
Reference in New Issue
Block a user