From: Felix Fietkau Date: Mon, 12 Aug 2019 13:50:59 +0000 (+0200) Subject: mt76: dma: reset q->rx_head on rx reset X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=5a90107d79e70d2596fb68be3018e8b7e0ae4534;p=openwrt%2Fstaging%2Fblogic.git mt76: dma: reset q->rx_head on rx reset Fixes rx of the first frame if a fragmented rx was interrupted by the reset Signed-off-by: Felix Fietkau --- diff --git a/drivers/net/wireless/mediatek/mt76/dma.c b/drivers/net/wireless/mediatek/mt76/dma.c index 46f5223b4d89..c747eb24581c 100644 --- a/drivers/net/wireless/mediatek/mt76/dma.c +++ b/drivers/net/wireless/mediatek/mt76/dma.c @@ -431,6 +431,12 @@ mt76_dma_rx_reset(struct mt76_dev *dev, enum mt76_rxq_id qid) mt76_dma_rx_cleanup(dev, q); mt76_dma_sync_idx(dev, q); mt76_dma_rx_fill(dev, q); + + if (!q->rx_head) + return; + + dev_kfree_skb(q->rx_head); + q->rx_head = NULL; } static void