mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
Revert "wifi: mt76: mt7915: sync station power save state"
This reverts commit be3aad4c2e.
This causes a regression by preventing queueing of frames that would
otherwise lead to a PS station being woken up.
Fixes: https://github.com/openwrt/mt76/issues/1068
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
@@ -1834,7 +1834,6 @@ const struct ieee80211_ops mt7915_ops = {
|
|||||||
.sw_scan_complete = mt76_sw_scan_complete,
|
.sw_scan_complete = mt76_sw_scan_complete,
|
||||||
.release_buffered_frames = mt76_release_buffered_frames,
|
.release_buffered_frames = mt76_release_buffered_frames,
|
||||||
.get_txpower = mt76_get_txpower,
|
.get_txpower = mt76_get_txpower,
|
||||||
.set_tim = mt76_set_tim,
|
|
||||||
.set_sar_specs = mt7915_set_sar_specs,
|
.set_sar_specs = mt7915_set_sar_specs,
|
||||||
.channel_switch_beacon = mt7915_channel_switch_beacon,
|
.channel_switch_beacon = mt7915_channel_switch_beacon,
|
||||||
.get_stats = mt7915_get_stats,
|
.get_stats = mt7915_get_stats,
|
||||||
|
|||||||
@@ -402,31 +402,6 @@ mt7915_mcu_rx_bcc_notify(struct mt7915_dev *dev, struct sk_buff *skb)
|
|||||||
mt7915_mcu_cca_finish, mphy->hw);
|
mt7915_mcu_cca_finish, mphy->hw);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mt7915_mcu_rx_ps_sync(struct mt7915_dev *dev, struct sk_buff *skb)
|
|
||||||
{
|
|
||||||
struct mt7915_mcu_ps_notify *p;
|
|
||||||
struct ieee80211_sta *sta;
|
|
||||||
struct mt76_wcid *wcid;
|
|
||||||
u16 wcid_idx;
|
|
||||||
|
|
||||||
p = (struct mt7915_mcu_ps_notify *)skb->data;
|
|
||||||
wcid_idx = p->wtbl_lower | (p->wtbl_higher) << 8;
|
|
||||||
|
|
||||||
rcu_read_lock();
|
|
||||||
wcid = mt76_wcid_ptr(dev, wcid_idx);
|
|
||||||
if (!wcid)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
sta = wcid_to_sta(wcid);
|
|
||||||
if (!sta)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
ieee80211_sta_ps_transition_ni(sta, !!p->ps_bit);
|
|
||||||
|
|
||||||
out:
|
|
||||||
rcu_read_unlock();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mt7915_mcu_rx_ext_event(struct mt7915_dev *dev, struct sk_buff *skb)
|
mt7915_mcu_rx_ext_event(struct mt7915_dev *dev, struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
@@ -449,9 +424,6 @@ mt7915_mcu_rx_ext_event(struct mt7915_dev *dev, struct sk_buff *skb)
|
|||||||
case MCU_EXT_EVENT_BCC_NOTIFY:
|
case MCU_EXT_EVENT_BCC_NOTIFY:
|
||||||
mt7915_mcu_rx_bcc_notify(dev, skb);
|
mt7915_mcu_rx_bcc_notify(dev, skb);
|
||||||
break;
|
break;
|
||||||
case MCU_EXT_EVENT_PS_SYNC:
|
|
||||||
mt7915_mcu_rx_ps_sync(dev, skb);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,15 +54,6 @@ struct mt7915_mcu_bcc_notify {
|
|||||||
u8 rsv;
|
u8 rsv;
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
struct mt7915_mcu_ps_notify {
|
|
||||||
struct mt76_connac2_mcu_rxd_hdr rxd;
|
|
||||||
|
|
||||||
u8 wtbl_lower;
|
|
||||||
u8 ps_bit;
|
|
||||||
u8 wtbl_higher;
|
|
||||||
u8 rsv;
|
|
||||||
} __packed;
|
|
||||||
|
|
||||||
struct mt7915_mcu_rdd_report {
|
struct mt7915_mcu_rdd_report {
|
||||||
struct mt76_connac2_mcu_rxd_hdr rxd;
|
struct mt76_connac2_mcu_rxd_hdr rxd;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user