ok. Than this patch fixes the existing code of it :) With "hwpctl=1" driver works more stable, than without this patch. just synced code to specs )
2008/9/7, Michael Buesch <[EMAIL PROTECTED]>: > On Sunday 07 September 2008 19:58:52 Artem Antonov wrote: > > Hi! > > This patch fixes hardware power control init. Now it works better :) > > > Hardware power control cannot work, as we don't implement major parts of it. > > > > --- linux-2.6.27/drivers/net/wireless/b43/phy_g.c 2008-09-07 > > 20:16:35.000000000 +0400 > > +++ linux-2.6.27/drivers/net/wireless/b43/phy_g.c 2008-09-07 > > 20:18:22.000000000 +0400 > > @@ -275,9 +275,9 @@ > > u16 value; > > > > for (i = 0; i < 32; i++) > > - b43_ofdmtab_write16(dev, 0x3C20, i, gphy->tssi2dbm[i]); > > + b43_ofdmtab_write16(dev, B43_OFDMTAB_TSSI, i + 32, > gphy->tssi2dbm[i]); > > for (i = 32; i < 64; i++) > > - b43_ofdmtab_write16(dev, 0x3C00, i - 32, gphy->tssi2dbm[i]); > > + b43_ofdmtab_write16(dev, B43_OFDMTAB_TSSI, i - 32, > gphy->tssi2dbm[i]); > > for (i = 0; i < 64; i += 2) { > > value = (u16) gphy->tssi2dbm[i]; > > value |= ((u16) gphy->tssi2dbm[i + 1]) << 8; > > @@ -302,9 +302,9 @@ > > tmp = lo->bbatt_list.list[bb].att; > > tmp <<= 8; > > if (phy->radio_rev == 8) > > - tmp |= 0x50; > > - else > > tmp |= 0x40; > > + else > > + tmp |= 0x50; > > tmp |= lo->rfatt_list.list[rf].att; > > b43_phy_write(dev, 0x3C0 + nr_written, tmp); > > nr_written++; > > @@ -2053,7 +2053,7 @@ > > if (phy->radio_ver == 0x2050 && phy->radio_rev == 8) { > > b43_phy_write(dev, 0x047A, (b43_phy_read(dev, 0x047A) > > & 0xFF0F) | 0x0010); > > - b43_phy_write(dev, 0x005D, b43_phy_read(dev, 0x005D) > > + b43_phy_write(dev, 0x004D, b43_phy_read(dev, 0x004D) > > | 0x8000); > > b43_phy_write(dev, 0x004E, (b43_phy_read(dev, 0x004E) > > & 0xFFC0) | 0x0010); > > > > Best regards. > > > > > > > > > -- > Greetings Michael. > _______________________________________________ Bcm43xx-dev mailing list Bcm43xx-dev@lists.berlios.de https://lists.berlios.de/mailman/listinfo/bcm43xx-dev