diff --git a/mt76x0/usb.c b/mt76x0/usb.c index 49f70ef7..3aebccc6 100644 --- a/mt76x0/usb.c +++ b/mt76x0/usb.c @@ -223,6 +223,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, }; diff --git a/mt76x02_util.c b/mt76x02_util.c index 4a282501..80dc922e 100644 --- a/mt76x02_util.c +++ b/mt76x02_util.c @@ -616,7 +616,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); diff --git a/mt76x2/usb.c b/mt76x2/usb.c index 76df7e56..07569e05 100644 --- a/mt76x2/usb.c +++ b/mt76x2/usb.c @@ -41,6 +41,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, };