mt76x02u: add sta_ps
authorStanislaw Gruszka <sgruszka@redhat.com>
Tue, 19 Mar 2019 10:37:41 +0000 (11:37 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 1 May 2019 11:03:56 +0000 (13:03 +0200)
Add sta_ps callback but dont set WCID drop sicne registers for USB
can not be accessed from tasklet context.

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

index ab8c47f..71dfff2 100644 (file)
@@ -222,6 +222,7 @@ static int mt76x0u_probe(struct usb_interface *usb_intf,
                .tx_complete_skb = mt76x02u_tx_complete_skb,
                .tx_status_data = mt76x02_tx_status_data,
                .rx_skb = mt76x02_queue_rx_skb,
+               .sta_ps = mt76x02_sta_ps,
                .sta_add = mt76x02_sta_add,
                .sta_remove = mt76x02_sta_remove,
        };
index 1026939..168c62a 100644 (file)
@@ -615,7 +615,8 @@ void mt76x02_sta_ps(struct mt76_dev *mdev, struct ieee80211_sta *sta,
        int idx = msta->wcid.idx;
 
        mt76_stop_tx_queues(&dev->mt76, sta, true);
-       mt76x02_mac_wcid_set_drop(dev, idx, ps);
+       if (mt76_is_mmio(dev))
+               mt76x02_mac_wcid_set_drop(dev, idx, ps);
 }
 EXPORT_SYMBOL_GPL(mt76x02_sta_ps);
 
index ac0f13d..8703a36 100644 (file)
@@ -40,6 +40,7 @@ static int mt76x2u_probe(struct usb_interface *intf,
                .tx_complete_skb = mt76x02u_tx_complete_skb,
                .tx_status_data = mt76x02_tx_status_data,
                .rx_skb = mt76x02_queue_rx_skb,
+               .sta_ps = mt76x02_sta_ps,
                .sta_add = mt76x02_sta_add,
                .sta_remove = mt76x02_sta_remove,
        };