diff --git a/dma.c b/dma.c index b5052e1a..0db35fdb 100644 --- a/dma.c +++ b/dma.c @@ -262,7 +262,7 @@ mt76_add_fragment(struct mt76_dev *dev, struct mt76_queue *q, void *data, return; q->rx_head = NULL; - dev->drv->rx_skb(dev, q, skb); + dev->drv->rx_skb(dev, q - dev->q_rx, skb); } static int @@ -312,7 +312,7 @@ mt76_dma_rx_process(struct mt76_dev *dev, struct mt76_queue *q, int budget) continue; } - dev->drv->rx_skb(dev, q, skb); + dev->drv->rx_skb(dev, q - dev->q_rx, skb); } mt76_dma_rx_fill(dev, q, napi); diff --git a/mt76.h b/mt76.h index ccc41fa4..f2fae9c2 100644 --- a/mt76.h +++ b/mt76.h @@ -157,7 +157,7 @@ struct mt76_driver_ops { struct sk_buff *skb, struct mt76_txwi_cache *txwi, struct mt76_wcid *wcid, struct ieee80211_sta *sta); - void (*rx_skb)(struct mt76_dev *mdev, struct mt76_queue *q, + void (*rx_skb)(struct mt76_dev *dev, enum mt76_rxq_id q, struct sk_buff *skb); }; diff --git a/mt7603.h b/mt7603.h index 09c3ac9d..dc16f133 100644 --- a/mt7603.h +++ b/mt7603.h @@ -143,7 +143,7 @@ int mt7603_mac_write_txwi(struct mt76_dev *mdev, void *txwi_ptr, struct sk_buff *skb, struct mt76_wcid *wcid, struct ieee80211_sta *sta); -void mt7603_queue_rx_skb(struct mt76_dev *dev, struct mt76_queue *q, +void mt7603_queue_rx_skb(struct mt76_dev *dev, enum mt76_rxq_id q, struct sk_buff *skb); #endif diff --git a/mt7603_dma.c b/mt7603_dma.c index 78cfa703..2b8da2b3 100644 --- a/mt7603_dma.c +++ b/mt7603_dma.c @@ -94,7 +94,7 @@ mt7603_init_tx_queue(struct mt7603_dev *dev, struct mt76_queue *q, return 0; } -void mt7603_queue_rx_skb(struct mt76_dev *mdev, struct mt76_queue *q, +void mt7603_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q, struct sk_buff *skb) { struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); diff --git a/mt76x2.h b/mt76x2.h index 8cd65a57..1347b39a 100644 --- a/mt76x2.h +++ b/mt76x2.h @@ -227,7 +227,7 @@ void mt76x2_pre_tbtt_tasklet(unsigned long data); void mt76x2_txq_init(struct mt76x2_dev *dev, struct ieee80211_txq *txq); -void mt76x2_queue_rx_skb(struct mt76_dev *mdev, struct mt76_queue *q, +void mt76x2_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q, struct sk_buff *skb); #endif diff --git a/mt76x2_dma.c b/mt76x2_dma.c index ee969fde..1a56a4ad 100644 --- a/mt76x2_dma.c +++ b/mt76x2_dma.c @@ -122,13 +122,13 @@ mt76x2_init_tx_queue(struct mt76x2_dev *dev, struct mt76_queue *q, return 0; } -void mt76x2_queue_rx_skb(struct mt76_dev *mdev, struct mt76_queue *q, +void mt76x2_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q, struct sk_buff *skb) { struct mt76x2_dev *dev = container_of(mdev, struct mt76x2_dev, mt76); void *rxwi = skb->data; - if (q == &mdev->q_rx[MT_RXQ_MCU]) { + if (q == MT_RXQ_MCU) { skb_queue_tail(&dev->mcu.res_q, skb); wake_up(&dev->mcu.wait); return;