[PATCH] mt76: mt7915: fix MBSS index condition in DBDC mode
Felix Fietkau
nbd at nbd.name
Mon Mar 14 07:37:26 PDT 2022
On 09.03.22 15:02, Evelyn Tsai wrote:
> MT7915_MAX_INTERFACES is per-band declartion.
>
> Signed-off-by: Evelyn Tsai <evelyn.tsai at mediatek.com>
> Signed-off-by: Bo Jiao <bo.jiao at mediatek.com>
> ---
> drivers/net/wireless/mediatek/mt76/mt76.h | 2 +-
> drivers/net/wireless/mediatek/mt76/mt7915/main.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/mediatek/mt76/mt76.h b/drivers/net/wireless/mediatek/mt76/mt76.h
> index 5e10fe156926..c60af144f611 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt76.h
> +++ b/drivers/net/wireless/mediatek/mt76/mt76.h
> @@ -727,7 +727,7 @@ struct mt76_dev {
> u32 wcid_mask[DIV_ROUND_UP(MT76_N_WCIDS, 32)];
> u32 wcid_phy_mask[DIV_ROUND_UP(MT76_N_WCIDS, 32)];
>
> - u32 vif_mask;
> + u64 vif_mask;
>
> struct mt76_wcid global_wcid;
> struct mt76_wcid __rcu *wcid[MT76_N_WCIDS];
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/main.c b/drivers/net/wireless/mediatek/mt76/mt7915/main.c
> index c3f44d801e7f..9eefc132d77a 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7915/main.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7915/main.c
> @@ -205,7 +205,7 @@ static int mt7915_add_interface(struct ieee80211_hw *hw,
> phy->monitor_vif = vif;
>
> mvif->mt76.idx = ffs(~dev->mt76.vif_mask) - 1;
> - if (mvif->mt76.idx >= MT7915_MAX_INTERFACES) {
> + if (mvif->mt76.idx >= (MT7915_MAX_INTERFACES << dev->dbdc_support)) {
This patch is incomplete. There are several other places in the code
that are not prepared for vif_mask being 64 bits wide, including the ffs
line above.
- Felix
More information about the Linux-mediatek
mailing list