staging: vt6656: Fix calling conditions of vnt_set_bss_mode
commit 664ba5180234593b4b8517530e8198bf2f7359e2 upstream. vnt_set_bss_mode needs to be called on all changes to BSS_CHANGED_BASIC_RATES, BSS_CHANGED_ERP_PREAMBLE and BSS_CHANGED_ERP_SLOT Remove all other calls and vnt_update_ifs which is called in vnt_set_bss_mode. Fixes an issue that preamble mode is not being updated correctly. Fixes: c12603576e06 ("staging: vt6656: Only call vnt_set_bss_mode on basic rates change.") Cc: stable <stable@vger.kernel.org> Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Link: https://lore.kernel.org/r/44110801-6234-50d8-c583-9388f04b486c@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a35715fad2
commit
34e5e58843
@ -594,8 +594,6 @@ static int vnt_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
|
||||
|
||||
priv->op_mode = vif->type;
|
||||
|
||||
vnt_set_bss_mode(priv);
|
||||
|
||||
/* LED blink on TX */
|
||||
vnt_mac_set_led(priv, LEDSTS_STS, LEDSTS_INTER);
|
||||
|
||||
@ -682,7 +680,6 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
|
||||
priv->basic_rates = conf->basic_rates;
|
||||
|
||||
vnt_update_top_rates(priv);
|
||||
vnt_set_bss_mode(priv);
|
||||
|
||||
dev_dbg(&priv->usb->dev, "basic rates %x\n", conf->basic_rates);
|
||||
}
|
||||
@ -711,11 +708,14 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
|
||||
priv->short_slot_time = false;
|
||||
|
||||
vnt_set_short_slot_time(priv);
|
||||
vnt_update_ifs(priv);
|
||||
vnt_set_vga_gain_offset(priv, priv->bb_vga[0]);
|
||||
vnt_update_pre_ed_threshold(priv, false);
|
||||
}
|
||||
|
||||
if (changed & (BSS_CHANGED_BASIC_RATES | BSS_CHANGED_ERP_PREAMBLE |
|
||||
BSS_CHANGED_ERP_SLOT))
|
||||
vnt_set_bss_mode(priv);
|
||||
|
||||
if (changed & BSS_CHANGED_TXPOWER)
|
||||
vnt_rf_setpower(priv, priv->current_rate,
|
||||
conf->chandef.chan->hw_value);
|
||||
|
Loading…
x
Reference in New Issue
Block a user