Re: [ath5k-devel] [PATCH] ath5k: prevent infinite loop

From: Luis R. Rodriguez
Date: Tue May 19 2009 - 12:38:56 EST


On Tue, May 19, 2009 at 04:45:14AM -0700, Steven Rostedt wrote:
>
> On Mon, 18 May 2009, Luis R. Rodriguez wrote:
>
> > On Mon, May 18, 2009 at 11:32 PM, Nick Kossifidis <mickflemm@xxxxxxxxx> wrote:
> > > 2009/5/19 Steven Rostedt <rostedt@xxxxxxxxxxx>:
> > >>
> > >> On Tue, 19 May 2009, Nick Kossifidis wrote:
> > >>>
> > >>> This is already fixed on wireless-testing ;-)
> > >>> http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=blob;f=drivers/net/wireless/ath/ath5k/phy.c;h=d0d1c350025aebba1fe4e17a44550536a59951ba;hb=HEAD
> > >>
> > >> Thanks, but this does only half. Although I did not hit this in my laptop,
> > >> it can be an issue. If step[0] == step[1] you have the same problem.
> > >>
> > >
> > > Having the same power value for 2 different steps is something we can
> > > expect (although docs say that we expect the line to be monotonically
> > > increasing but anyway), having the same step twice is way out of spec,
> > > there is no way we can have the same step twice on EEPROM, only if we
> > > have a corrupted EEPROM (we need to add some sanity checks indeed here
> > > -> http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=blob;f=drivers/net/wireless/ath/ath5k/eeprom.c;h=c56b494d417acd40d445d922f2861b53cc2315df;hb=HEAD#l910
> > > to handle such a case but first we need to have a "default" eeprom
> > > dataset to fallback when we get such errors).
> >
> > Don't bother with busted EEPROMs, if its busted its busted. Chances
> > are the complexity we'd need to add to deal with such devices is
> > simply not worth it.
>
> My concern is that a busted EEPROM should not lock up the kernel, when we
> can avoid it.

Sure, which is why there is a checksum which can be checked first.
IIRC we don't bail out if that fails in ath5k.

> Put in a nasty WARN_ON if the steps are equal, and exit the
> routine. But don't let it go into an infinite loop and have the user
> wondering why their system just locked up.

Sure, my point was more for not implemention a default EEPROM
as that would bring more complexity to the driver.

Luis

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/