The code in the mac80211 version of radio_init2050 differs from the specs
in two places.
Signed-off-by: Larry Finger <[EMAIL PROTECTED]>
---
Index: wireless-mb/drivers/net/wireless/mac80211/bcm43xx/bcm43xx_phy.c
===================================================================
--- wireless-mb.orig/drivers/net/wireless/mac80211/bcm43xx/bcm43xx_phy.c
+++ wireless-mb/drivers/net/wireless/mac80211/bcm43xx/bcm43xx_phy.c
@@ -3444,9 +3444,9 @@ static u16 radio2050_rfover_val(struct b
if (phy_register == BCM43xx_PHY_RFOVER) {
return 0x9B3;
} else if (phy_register == BCM43xx_PHY_RFOVERVAL) {
- extlna |= (i << 8);
if (extlna)
extlna |= 0x8000;
+ extlna |= (i << 8);
switch (lpd) {
case LPD(0, 1, 1):
return 0x8F92;
@@ -3724,9 +3724,10 @@ u16 bcm43xx_radio_init2050(struct bcm43x
bcm43xx_phy_stackrestore(stack, BCM43xx_PHY_ANALOGOVERVAL);
bcm43xx_phy_stackrestore(stack, BCM43xx_PHY_CRS0);
bcm43xx_phy_stackrestore(stack, BCM43xx_PHY_CLASSCTL);
- bcm43xx_write16(dev, BCM43xx_MMIO_PHY_RADIO,
- bcm43xx_read16(dev, BCM43xx_MMIO_PHY_RADIO)
- & 0x7FFF);
+ if (has_loopback_gain(phy)) {
+ bcm43xx_phy_stackrestore(stack, BCM43xx_PHY_LO_MASK);
+ bcm43xx_phy_stackrestore(stack, BCM43xx_PHY_LO_CTL);
+ }
}
if (i > 15)
ret = radio78;
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev