Subject: Re: Atheros kernel panic (rate calculation)
To: Greg Troxel <>
From: Gilles Roy <>
List: tech-net
Date: 07/27/2006 15:00:47
On Thu, Jul 27, 2006 at 02:37:50PM -0400, Greg Troxel wrote:
>   KASSERT(ndx >= 0 && ndx < sn->num_rates, ("ndx is %d", ndx));
>   prints out: ndx is 0
> funky.  Can you modify the print string to also print sn->num_rates?
> I wonder if that got bashed somehow.

sn->num_rates is 0 and so is sn->static_rate_ndx (this is where the
value of ndx came from).

The sn structure is allocated and set to zero when the laptop comes back
into range, but I think that a data packet is getting transfered through
the link before ath_rate_ctl_reset() gets called. ath_rate_ctl_reset()
initializes the fiels in sn (it would setup sn->num_rates to a real value).