From: Dan Carpenter Date: Fri, 23 Dec 2011 07:13:42 +0000 (+0100) Subject: iwlegacy: off by one in iwl3945_hw_build_tx_cmd_rate() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d71be937202853eda76562e9678073465d5c0fa8;p=linux-beck.git iwlegacy: off by one in iwl3945_hw_build_tx_cmd_rate() We use "rate_index" like this: rate = iwl3945_rates[rate_index].plcp; The iwl3945_rates[] array has IWL_RATE_COUNT_3945 elements so the limit here is off by one. Signed-off-by: Dan Carpenter Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/iwlegacy/3945.c b/drivers/net/wireless/iwlegacy/3945.c index 863664f9ba8b..0b99deb48426 100644 --- a/drivers/net/wireless/iwlegacy/3945.c +++ b/drivers/net/wireless/iwlegacy/3945.c @@ -683,7 +683,7 @@ il3945_hw_build_tx_cmd_rate(struct il_priv *il, struct il_device_cmd *cmd, struct ieee80211_hdr *hdr, int sta_id, int tx_id) { u16 hw_value = ieee80211_get_tx_rate(il->hw, info)->hw_value; - u16 rate_idx = min(hw_value & 0xffff, RATE_COUNT_3945); + u16 rate_idx = min(hw_value & 0xffff, RATE_COUNT_3945 - 1); u16 rate_mask; int rate; u8 rts_retry_limit;