mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-03 09:41:54 +09:00
iwlegacy: fix BUG_ON(info->control.rates[0].idx < 0)
commit 7c2510120e upstream.
When trying to connect to 5GHz we can provide negative index to
mac80211 what trigger BUG_ON. Reason of iwl-3945-rs malfunction
on 5GHz is unknown and needs further investigation. For now, to
do not trigger a bug, correct value and just print WARNING.
Address bug:
https://bugzilla.redhat.com/show_bug.cgi?id=730653
Reported-and-tested-by: Jan Teichmann <jan.teichmann@gmail.com>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1ec94e5a9d
commit
fb88e8c4a2
@@ -822,12 +822,15 @@ static void iwl3945_rs_get_rate(void *priv_r, struct ieee80211_sta *sta,
|
||||
|
||||
out:
|
||||
|
||||
rs_sta->last_txrate_idx = index;
|
||||
if (sband->band == IEEE80211_BAND_5GHZ)
|
||||
info->control.rates[0].idx = rs_sta->last_txrate_idx -
|
||||
IWL_FIRST_OFDM_RATE;
|
||||
else
|
||||
if (sband->band == IEEE80211_BAND_5GHZ) {
|
||||
if (WARN_ON_ONCE(index < IWL_FIRST_OFDM_RATE))
|
||||
index = IWL_FIRST_OFDM_RATE;
|
||||
rs_sta->last_txrate_idx = index;
|
||||
info->control.rates[0].idx = index - IWL_FIRST_OFDM_RATE;
|
||||
} else {
|
||||
rs_sta->last_txrate_idx = index;
|
||||
info->control.rates[0].idx = rs_sta->last_txrate_idx;
|
||||
}
|
||||
|
||||
IWL_DEBUG_RATE(priv, "leave: %d\n", index);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user