brcmutil: assure unused bits are cleared in 11n chanspec
The firmware channel specification is a bitfield using a 16-bit integer, but only 14 lsb are used. Upon encoding this value assure all 16 bits are cleared. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
71ded72a2b
commit
6833965c46
|
@ -54,6 +54,7 @@ static void brcmu_d11n_encchspec(struct brcmu_chan *ch)
|
|||
if (ch->bw == BRCMU_CHAN_BW_20)
|
||||
ch->sb = BRCMU_CHAN_SB_NONE;
|
||||
|
||||
ch->chspec = 0;
|
||||
brcmu_maskset16(&ch->chspec, BRCMU_CHSPEC_CH_MASK,
|
||||
BRCMU_CHSPEC_CH_SHIFT, ch->chnum);
|
||||
brcmu_maskset16(&ch->chspec, BRCMU_CHSPEC_D11N_SB_MASK,
|
||||
|
@ -61,7 +62,6 @@ static void brcmu_d11n_encchspec(struct brcmu_chan *ch)
|
|||
brcmu_maskset16(&ch->chspec, BRCMU_CHSPEC_D11N_BW_MASK,
|
||||
0, d11n_bw(ch->bw));
|
||||
|
||||
ch->chspec &= ~BRCMU_CHSPEC_D11N_BND_MASK;
|
||||
if (ch->chnum <= CH_MAX_2G_CHANNEL)
|
||||
ch->chspec |= BRCMU_CHSPEC_D11N_BND_2G;
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue