mt76: mt76x02u: do not set NULL beacons
authorStanislaw Gruszka <sgruszka@redhat.com>
Fri, 29 Nov 2019 12:32:27 +0000 (13:32 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 14 Feb 2020 09:06:01 +0000 (10:06 +0100)
With current implementation we do not cleanup beacon memory, so is not
needed to call mt76x02_mac_set_beacon() with NULL skb.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c

index 324872d..bf3198e 100644 (file)
@@ -198,7 +198,7 @@ static void mt76x02u_pre_tbtt_work(struct work_struct *work)
                container_of(work, struct mt76x02_dev, pre_tbtt_work);
        struct beacon_bc_data data = {};
        struct sk_buff *skb;
-       int i, nbeacons;
+       int nbeacons;
 
        if (!dev->mt76.beacon_mask)
                return;
@@ -226,10 +226,8 @@ static void mt76x02u_pre_tbtt_work(struct work_struct *work)
        nbeacons = hweight8(dev->mt76.beacon_mask);
        mt76x02_enqueue_buffered_bc(dev, &data, N_BCN_SLOTS - nbeacons);
 
-       for (i = nbeacons; i < N_BCN_SLOTS; i++) {
-               skb = __skb_dequeue(&data.q);
+       while ((skb = __skb_dequeue(&data.q)) != NULL)
                mt76x02_mac_set_beacon(dev, skb);
-       }
 
 out:
        mt76_wr(dev, MT_BCN_BYPASS_MASK,