Subject: Re: Atheros kernel panic (rate calculation)
To: Greg Troxel <email@example.com>
From: Gilles Roy <firstname.lastname@example.org>
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).