提交 77f61e70 编写于 作者: F Felix Fietkau 提交者: Greg Kroah-Hartman

mt76: mt76x2: fix multi-interface beacon configuration

commit 5289976ad887deb07c76df7eecf553c264aeebed upstream.

If the first virtual interface is a station (or an AP with beacons
temporarily disabled), the beacon of the second interface needs to
occupy hardware beacon slot 0.
For some reason the beacon index was incorrectly masked with the
virtual interface beacon mask, which prevents the secondary
interface from sending beacons unless the first one also does.

Cc: stable@vger.kernel.org
Signed-off-by: NFelix Fietkau <nbd@nbd.name>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 11abbcd3
...@@ -128,8 +128,7 @@ __mt76x2_mac_set_beacon(struct mt76x2_dev *dev, u8 bcn_idx, struct sk_buff *skb) ...@@ -128,8 +128,7 @@ __mt76x2_mac_set_beacon(struct mt76x2_dev *dev, u8 bcn_idx, struct sk_buff *skb)
if (skb) { if (skb) {
ret = mt76_write_beacon(dev, beacon_addr, skb); ret = mt76_write_beacon(dev, beacon_addr, skb);
if (!ret) if (!ret)
dev->beacon_data_mask |= BIT(bcn_idx) & dev->beacon_data_mask |= BIT(bcn_idx);
dev->beacon_mask;
} else { } else {
dev->beacon_data_mask &= ~BIT(bcn_idx); dev->beacon_data_mask &= ~BIT(bcn_idx);
for (i = 0; i < beacon_len; i += 4) for (i = 0; i < beacon_len; i += 4)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册