Message ID | 20211007212323.1223602-1-vincent@systemli.org (mailing list archive) |
---|---|
State | RFC |
Delegated to: | Felix Fietkau |
Headers | show |
Series | [RFC,v1] mt76: mt7615: mt7622: fix adhoc and ibss mode | expand |
On Thu, Oct 07, 2021 at 11:23:23PM +0200, Nick Hainke wrote: > Subject: [RFC v1] mt76: mt7615: mt7622: fix adhoc and ibss mode Ad-Hoc and IBSS mode are synonyms. What probably meant to write 'fix adhoc and mesh mode', right? > Fixes: d8d59f66d136 ("mt76: mt7615: support 16 interfaces"). > > commit 7f4b7920318b ("mt76: mt7615: add ibss support") introduced IBSS > and commit f4ec7fdf7f83 ("mt76: mt7615: enable support for mesh") > meshpoint support. > > Both used in the "get_omac_idx"-function: > > if (~mask & BIT(HW_BSSID_0)) > return HW_BSSID_0; > > With commit d8d59f66d136 ("mt76: mt7615: support 16 interfaces") the > adhoc and meshpoint mode should "prefer hw bssid slot 1-3". However, > with that change the ibss or meshpoint mode will not send any beacon on > the mt7622 wifi anymore. Devices were still able to exchange data but > only if a bssid already existed. Two mt7622 devices will never be able > to communicate. > > This commits reverts the preferation of slot 1-3 for adhoc and > meshpoint. Only NL80211_IFTYPE_STATION will still prefer slot 1-3. > > Tested on Banana Pi R64. > > Signed-off-by: Nick Hainke <vincent@systemli.org> > --- > drivers/net/wireless/mediatek/mt76/mt7615/main.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/main.c b/drivers/net/wireless/mediatek/mt76/mt7615/main.c > index dada43d6d879..51260a669d16 100644 > --- a/drivers/net/wireless/mediatek/mt76/mt7615/main.c > +++ b/drivers/net/wireless/mediatek/mt76/mt7615/main.c > @@ -135,8 +135,6 @@ static int get_omac_idx(enum nl80211_iftype type, u64 mask) > int i; > > switch (type) { > - case NL80211_IFTYPE_MESH_POINT: > - case NL80211_IFTYPE_ADHOC: > case NL80211_IFTYPE_STATION: > /* prefer hw bssid slot 1-3 */ > i = get_free_idx(mask, HW_BSSID_1, HW_BSSID_3); > @@ -160,6 +158,8 @@ static int get_omac_idx(enum nl80211_iftype type, u64 mask) > return HW_BSSID_0; > > break; > + case NL80211_IFTYPE_ADHOC: > + case NL80211_IFTYPE_MESH_POINT: > case NL80211_IFTYPE_MONITOR: > case NL80211_IFTYPE_AP: > /* ap uses hw bssid 0 and ext bssid */ > -- > 2.33.0 > > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek
On 10/8/21 00:36, Daniel Golle wrote: > On Thu, Oct 07, 2021 at 11:23:23PM +0200, Nick Hainke wrote: >> Subject: [RFC v1] mt76: mt7615: mt7622: fix adhoc and ibss mode > Ad-Hoc and IBSS mode are synonyms. > What probably meant to write 'fix adhoc and mesh mode', right? > Yes. Or maybe even better "fix adhoc and meshpoint'. :) I will update. Bests Nick
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/main.c b/drivers/net/wireless/mediatek/mt76/mt7615/main.c index dada43d6d879..51260a669d16 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7615/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7615/main.c @@ -135,8 +135,6 @@ static int get_omac_idx(enum nl80211_iftype type, u64 mask) int i; switch (type) { - case NL80211_IFTYPE_MESH_POINT: - case NL80211_IFTYPE_ADHOC: case NL80211_IFTYPE_STATION: /* prefer hw bssid slot 1-3 */ i = get_free_idx(mask, HW_BSSID_1, HW_BSSID_3); @@ -160,6 +158,8 @@ static int get_omac_idx(enum nl80211_iftype type, u64 mask) return HW_BSSID_0; break; + case NL80211_IFTYPE_ADHOC: + case NL80211_IFTYPE_MESH_POINT: case NL80211_IFTYPE_MONITOR: case NL80211_IFTYPE_AP: /* ap uses hw bssid 0 and ext bssid */
Fixes: d8d59f66d136 ("mt76: mt7615: support 16 interfaces"). commit 7f4b7920318b ("mt76: mt7615: add ibss support") introduced IBSS and commit f4ec7fdf7f83 ("mt76: mt7615: enable support for mesh") meshpoint support. Both used in the "get_omac_idx"-function: if (~mask & BIT(HW_BSSID_0)) return HW_BSSID_0; With commit d8d59f66d136 ("mt76: mt7615: support 16 interfaces") the adhoc and meshpoint mode should "prefer hw bssid slot 1-3". However, with that change the ibss or meshpoint mode will not send any beacon on the mt7622 wifi anymore. Devices were still able to exchange data but only if a bssid already existed. Two mt7622 devices will never be able to communicate. This commits reverts the preferation of slot 1-3 for adhoc and meshpoint. Only NL80211_IFTYPE_STATION will still prefer slot 1-3. Tested on Banana Pi R64. Signed-off-by: Nick Hainke <vincent@systemli.org> --- drivers/net/wireless/mediatek/mt76/mt7615/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)