Hi!
This patch fixes hardware power control init. Now it works better :)
--- 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.
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev