--- On Tue, 27/1/09, Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote: > After reports of poor performance, a review of the latest > vendor driver > (rtl8187_linux_26.1025.0328.2007) for RTL8187L devices was > undertaken. > > A difference was found in the code used to index the OFDM > power tables. When > the Linux driver was changed, my unit works at a much > greater range than > before. I think this fixes Bugzilla #12380 and has been > tested by at least > two other users. What exactly does this change do? it seems to just bias the value of ofdm into higher values: 0-15 -> 10-25 15- -> 25 Also, the first "ofdm_power = min(ofdm_power, (u8)35);" after the change chunk has no effect, since the value from the changed code would clip at 25. You could remove that line... > > Signed-off-by: Larry Finger > <Larry.Finger@xxxxxxxxxxxx> > Tested-by: Martín Ernesto Barreyro > <barreyromartin@xxxxxxxxx> > Cc: Stable <stable@xxxxxxxxxx> Acked-by: Hin-Tak Leung <htl10@xxxxxxxxxxxxxxxxxxxxx> > --- > > John, > > This material should be included in 2.6.29. Although I have > Cc'd stable, the > patch will need to be respun due to the file renaming. > > Larry > --- > > Index: > wireless-testing/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c > =================================================================== > --- > wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c > +++ > wireless-testing/drivers/net/wireless/rtl818x/rtl8187_rtl8225.c > @@ -285,6 +285,10 @@ static void > rtl8225_rf_set_tx_power(stru > ofdm_power = priv->channels[channel - 1].hw_value > >> 4; > > cck_power = min(cck_power, (u8)11); > + if (ofdm_power > (u8)15) > + ofdm_power = 25; > + else > + ofdm_power += 10; > ofdm_power = min(ofdm_power, (u8)35); > > rtl818x_iowrite8(priv, &priv->map->TX_GAIN_CCK, > @@ -536,7 +540,10 @@ static void > rtl8225z2_rf_set_tx_power(st > cck_power += priv->txpwr_base & 0xF; > cck_power = min(cck_power, (u8)35); > > - ofdm_power = min(ofdm_power, (u8)15); > + if (ofdm_power > (u8)15) > + ofdm_power = 25; > + else > + ofdm_power += 10; > ofdm_power += priv->txpwr_base >> 4; > ofdm_power = min(ofdm_power, (u8)35); > > --- -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html