Search Linux Wireless

[PATCH] bcm43xx-mac80211: Change radio_init2050 to match specs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The code in the mac80211 version of radio_init2050 differs from the specs
in two places.

Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
---

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;
-
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

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux