hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/net/wireless/mediatek/mt76/dma.c
....@@ -476,6 +476,7 @@
476476 bool more;
477477
478478 spin_lock_bh(&q->lock);
479
+
479480 do {
480481 buf = mt76_dma_dequeue(dev, q, true, NULL, NULL, &more);
481482 if (!buf)
....@@ -483,6 +484,12 @@
483484
484485 skb_free_frag(buf);
485486 } while (1);
487
+
488
+ if (q->rx_head) {
489
+ dev_kfree_skb(q->rx_head);
490
+ q->rx_head = NULL;
491
+ }
492
+
486493 spin_unlock_bh(&q->lock);
487494
488495 if (!q->rx_page.va)
....@@ -505,12 +512,6 @@
505512 mt76_dma_rx_cleanup(dev, q);
506513 mt76_dma_sync_idx(dev, q);
507514 mt76_dma_rx_fill(dev, q);
508
-
509
- if (!q->rx_head)
510
- return;
511
-
512
- dev_kfree_skb(q->rx_head);
513
- q->rx_head = NULL;
514515 }
515516
516517 static void