Commit 8fa55f1d authored by Rafał Miłecki's avatar Rafał Miłecki Committed by Greg Kroah-Hartman

brcmutil: really fix decoding channel info for 160 MHz bandwidth

[ Upstream commit 3401d42c ]

Previous commit /adding/ support for 160 MHz chanspecs was incomplete.
It didn't set bandwidth info and didn't extract control channel info. As
the result it was also using uninitialized "sb" var.

This change has been tested for two chanspecs found to be reported by
some devices/firmwares:
1) 60/160 (0xee32)
   Before: chnum:50 control_ch_num:36
    After: chnum:50 control_ch_num:60
2) 120/160 (0xed72)
   Before: chnum:114 control_ch_num:100
    After: chnum:114 control_ch_num:120

Fixes: 330994e8 ("brcmfmac: fix for proper support of 160MHz bandwidth")
Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent df11500b
...@@ -193,6 +193,9 @@ static void brcmu_d11ac_decchspec(struct brcmu_chan *ch) ...@@ -193,6 +193,9 @@ static void brcmu_d11ac_decchspec(struct brcmu_chan *ch)
} }
break; break;
case BRCMU_CHSPEC_D11AC_BW_160: case BRCMU_CHSPEC_D11AC_BW_160:
ch->bw = BRCMU_CHAN_BW_160;
ch->sb = brcmu_maskget16(ch->chspec, BRCMU_CHSPEC_D11AC_SB_MASK,
BRCMU_CHSPEC_D11AC_SB_SHIFT);
switch (ch->sb) { switch (ch->sb) {
case BRCMU_CHAN_SB_LLL: case BRCMU_CHAN_SB_LLL:
ch->control_ch_num -= CH_70MHZ_APART; ch->control_ch_num -= CH_70MHZ_APART;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment