linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] ath5k: fix hw rate index condition
@ 2009-02-26 22:44 Jiri Slaby
  2009-02-26 23:15 ` Bob Copeland
  0 siblings, 1 reply; 16+ messages in thread
From: Jiri Slaby @ 2009-02-26 22:44 UTC (permalink / raw)
  To: John W. Linville
  Cc: linux-wireless, ath5k-devel, linux-kernel, Jiri Slaby,
	Nick Kossifidis, Luis R. Rodriguez, Bob Copeland

Make sure we print out a warning when the index is out of bounds,
i.e. even on hw_rix == AR5K_MAX_RATES.

Also change to WARN and print text with the reported hw_rix.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Nick Kossifidis <mickflemm@gmail.com>
Cc: Luis R. Rodriguez <lrodriguez@atheros.com>
Cc: Bob Copeland <me@bobcopeland.com>
---
 drivers/net/wireless/ath5k/base.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index c06d1cc..08d691d 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -1100,7 +1100,8 @@ ath5k_mode_setup(struct ath5k_softc *sc)
 static inline int
 ath5k_hw_to_driver_rix(struct ath5k_softc *sc, int hw_rix)
 {
-	WARN_ON(hw_rix < 0 || hw_rix > AR5K_MAX_RATES);
+	WARN(hw_rix < 0 || hw_rix >= AR5K_MAX_RATES,
+			"hw_rix out of bounds: %x\n", hw_rix);
 	return sc->rate_idx[sc->curband->band][hw_rix];
 }
 
-- 
1.6.1.3


^ permalink raw reply related	[flat|nested] 16+ messages in thread
* Re: [PATCH 1/1] ath5k: fix hw rate index condition
@ 2009-01-07 15:22 Dhaval Giani
  2009-02-02  7:57 ` Dhaval Giani
  0 siblings, 1 reply; 16+ messages in thread
From: Dhaval Giani @ 2009-01-07 15:22 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: linville, davem, linux-wireless, ath5k-devel, Nick Kossifidis,
	Luis R. Rodriguez, Bob Copeland, linux-kernel

On Wed, Jan 07, 2009 at 03:36:05PM +0100, Jiri Slaby wrote:
> On 01/07/2009 02:51 PM, Jiri Slaby wrote:
> > Dhaval Giani wrote:
> >> I see this on current git. Not sure how to reproduce it, has happened on
> >> two random occasions. At both times, I was not connected to a wireless
> >> network, but to wired networks.
> >>
> >> ------------[ cut here ]------------
> >> WARNING: at net/mac80211/rx.c:2234 __ieee80211_rx+0x7f/0x559
> >> ...
> >> Call Trace:
> >>  [<f80d4192>] __ieee80211_rx+0x7f/0x559 [mac80211]
> >>  [<f80a19f4>] ath5k_tasklet_rx+0x4f7/0x53b [ath5k]
> >> ...
> > 
> > Hmm, maybe ath5k is culprit. Could you apply the attached patch and
> > use the kernel till the problem appears again?
> 
> I don't think this will print anything, the rate won't be 32, it's rather
> too high. Could you apply also the appended debug one?
> 

I will apply both the patches and try it out again. As I mentioned
earlier, I am not sure how to reproduce the WARN_ON. I will get back to
you in about a day or two.

> ---
>  net/mac80211/rx.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index 7175ae8..5e17e57 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -2230,8 +2230,10 @@ void __ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb,
>  		 * MCS aware. */
>  		rate = &sband->bitrates[sband->n_bitrates - 1];
>  	} else {
> -		if (WARN_ON(status->rate_idx < 0 ||
> -			    status->rate_idx >= sband->n_bitrates))
> +		if (WARN(status->rate_idx < 0 ||
> +			    status->rate_idx >= sband->n_bitrates,
> +			    "RATE=%u, BAND=%x\n", status->rate_idx,
> +			    sband->n_bitrates))
>  			return;
>  		rate = &sband->bitrates[status->rate_idx];
>  	}
> -- 
> 1.6.0.6

-- 
regards,
Dhaval

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2009-04-08 15:22 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-26 22:44 [PATCH 1/1] ath5k: fix hw rate index condition Jiri Slaby
2009-02-26 23:15 ` Bob Copeland
2009-02-26 23:19   ` Jiri Slaby
2009-02-26 23:28     ` [ath5k-devel] " Bob Copeland
2009-02-26 23:32       ` Jiri Slaby
2009-02-27  2:27         ` Bob Copeland
2009-02-27  2:39           ` Luis R. Rodriguez
2009-02-27  3:06             ` Bob Copeland
2009-02-27  3:15               ` Luis R. Rodriguez
2009-03-01  5:21               ` Pavel Roskin
2009-03-03  3:46                 ` Bob Copeland
2009-03-03  4:31                   ` Nick Kossifidis
2009-03-03 13:02                     ` Bob Copeland
2009-03-01  5:07           ` Pavel Roskin
2009-03-01 14:36             ` Bob Copeland
  -- strict thread matches above, loose matches on Subject: below --
2009-01-07 15:22 Dhaval Giani
2009-02-02  7:57 ` Dhaval Giani
2009-02-15 13:47   ` Bob Copeland
2009-02-28 23:08     ` Jiri Slaby
2009-03-30  8:59       ` Dhaval Giani
2009-03-30 16:58         ` Bob Copeland
2009-03-30 17:59           ` Dhaval Giani
2009-03-30 18:13             ` Bob Copeland
2009-03-31  3:51               ` Dhaval Giani
2009-03-31 12:23                 ` Bob Copeland
2009-04-08 15:22                   ` [ath5k-devel] " Bob Copeland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).