mt76: move initialization of some struct members to mt76_alloc_device
authorFelix Fietkau <nbd@nbd.name>
Mon, 30 Sep 2019 19:23:03 +0000 (21:23 +0200)
committerFelix Fietkau <nbd@nbd.name>
Fri, 14 Feb 2020 06:49:59 +0000 (07:49 +0100)
Reduces duplication and prepares for further rework

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/dma.c
drivers/net/wireless/mediatek/mt76/mac80211.c
drivers/net/wireless/mediatek/mt76/usb.c

index 6173c80..eed387b 100644 (file)
@@ -555,7 +555,6 @@ mt76_dma_init(struct mt76_dev *dev)
                netif_napi_add(&dev->napi_dev, &dev->napi[i], mt76_dma_rx_poll,
                               64);
                mt76_dma_rx_fill(dev, &dev->q_rx[i]);
-               skb_queue_head_init(&dev->rx_skb[i]);
                napi_enable(&dev->napi[i]);
        }
 
index 96018fd..73853b4 100644 (file)
@@ -275,6 +275,7 @@ mt76_alloc_device(struct device *pdev, unsigned int size,
 {
        struct ieee80211_hw *hw;
        struct mt76_dev *dev;
+       int i;
 
        hw = ieee80211_alloc_hw(size, ops);
        if (!hw)
@@ -292,6 +293,11 @@ mt76_alloc_device(struct device *pdev, unsigned int size,
        init_waitqueue_head(&dev->tx_wait);
        skb_queue_head_init(&dev->status_list);
 
+       INIT_LIST_HEAD(&dev->txwi_cache);
+
+       for (i = 0; i < ARRAY_SIZE(dev->q_rx); i++)
+               skb_queue_head_init(&dev->rx_skb[i]);
+
        tasklet_init(&dev->tx_tasklet, mt76_tx_tasklet, (unsigned long)dev);
 
        return dev;
@@ -307,8 +313,6 @@ int mt76_register_device(struct mt76_dev *dev, bool vht,
 
        dev_set_drvdata(dev->dev, dev);
 
-       INIT_LIST_HEAD(&dev->txwi_cache);
-
        SET_IEEE80211_DEV(hw, dev->dev);
        SET_IEEE80211_PERM_ADDR(hw, dev->macaddr);
 
index d6d4708..3b9849b 100644 (file)
@@ -956,7 +956,6 @@ int mt76u_init(struct mt76_dev *dev,
        tasklet_init(&usb->rx_tasklet, mt76u_rx_tasklet, (unsigned long)dev);
        tasklet_init(&dev->tx_tasklet, mt76u_tx_tasklet, (unsigned long)dev);
        INIT_WORK(&usb->stat_work, mt76u_tx_status_data);
-       skb_queue_head_init(&dev->rx_skb[MT_RXQ_MAIN]);
 
        usb->stat_wq = alloc_workqueue("mt76u", WQ_UNBOUND, 0);
        if (!usb->stat_wq)