Dear Stanislaw, thank you for the updated patch. One last suggestion inline. Am Dienstag, den 27.08.2013, 10:13 +0200 schrieb Stanislaw Gruszka: > We should not do temperature compensation on devices without > EXTERNAL_TX_ALC bit set (called DynamicTxAgcControl on vendor driver). > Such devices can have totally bogus TSSI parameters on the EEPROM, > but are still treated by us as valid and results in wrong TX power > calculations. > > This fixes inability to connect to AP on slightly longer distance on > some Ralink chips/devices without EXTERNAL_TX_ALC configured. > > Reference: > http://thread.gmane.org/gmane.linux.drivers.rt2x00.user/2263 > > Reported-and-tested-by: Fabien ADAM <id2ndr@xxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> > Acked-by: Gertjan van Wingerde <gwingerde@xxxxxxxxx> > Acked-by: Paul Menzel <paulepanter@xxxxxxxxxxxxxxxxxxxxx> > --- > drivers/net/wireless/rt2x00/rt2800lib.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > v1 -> v2: fix changelog > > John, > > If possible this should go to 3.11, -next & cc -stable is also fine as > usual. > > Note that in -next version of the patch rt2x00_eeprom_read() should > be changed to rt2800_eeprom_read() do to commit > 3e38d3daf881a78ac13e93504a8ac5777040797e > > diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c > index 1f80ea5..a0119d3 100644 > --- a/drivers/net/wireless/rt2x00/rt2800lib.c > +++ b/drivers/net/wireless/rt2x00/rt2800lib.c > @@ -2790,6 +2790,13 @@ static int rt2800_get_gain_calibration_delta(struct rt2x00_dev *rt2x00dev) > int i; > > /* > + * First check if temperature compensation is supported. > + */ > + rt2x00_eeprom_read(rt2x00dev, EEPROM_NIC_CONF1, &eeprom); > + if (!rt2x00_get_field16(eeprom, EEPROM_NIC_CONF1_EXTERNAL_TX_ALC)) > + return 0; Could a (debug) message be printed that temperature compensations is not supported? Not sure if that should be done in the library or the code calling this function. > + > + /* > * Read TSSI boundaries for temperature compensation from > * the EEPROM. > * Thanks, Paul
Attachment:
signature.asc
Description: This is a digitally signed message part