aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-09 10:12:46 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-09 10:12:46 -0800
commit8466c833799b30ab343c5108cd2e460f9f16c9d8 (patch)
tree4a9114f3dfc2516f208390e96b2ba64690acc495 /drivers/net/wireless/bcm43xx/bcm43xx_phy.c
parent2f8d16a996da0b9be2536994aa7a825418364471 (diff)
parent0a38f5442053b10c773b6a10a4d67e2293551f12 (diff)
downloadkernel_samsung_aries-8466c833799b30ab343c5108cd2e460f9f16c9d8.zip
kernel_samsung_aries-8466c833799b30ab343c5108cd2e460f9f16c9d8.tar.gz
kernel_samsung_aries-8466c833799b30ab343c5108cd2e460f9f16c9d8.tar.bz2
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: ibmtr: Drain rich supply of modpost warnings. 3c59x: Fix several modpost warnings z85230: Fix FIFO handling r8169: fix a race between PCI probe and dev_open r8169: revert bogus BMCR reset sky2: turn off Rx checksum on bad hardware mv643xx: Clear pending interrupts before calling request_irq myri10ge: add a wc_enabled flag to myri10ge_priv myri10ge: prevent 4k rdma on SGI TIOCE chipset myri10ge: use pci_map_page to prepare the dmatest buffer myri10ge: fix error checking and return value in myri10ge_allocate_rings netxen: fix warnings via-rhine: set avoid_D3 for broken BIOSes [PATCH] bcm43xx: Fix assertion failures in interrupt handler [PATCH] bcm43xx: Fix bug in frequency to channel conversion [PATCH] bcm43xx: Fix errors in specs to code translation in B6PHY init
Diffstat (limited to 'drivers/net/wireless/bcm43xx/bcm43xx_phy.c')
-rw-r--r--drivers/net/wireless/bcm43xx/bcm43xx_phy.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_phy.c b/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
index 3a5c9c2..cae8925 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
@@ -859,6 +859,11 @@ static void bcm43xx_phy_initb6(struct bcm43xx_private *bcm)
bcm43xx_radio_write16(bcm, 0x005D, 0x0088);
bcm43xx_radio_write16(bcm, 0x005E, 0x0088);
bcm43xx_radio_write16(bcm, 0x007D, 0x0088);
+ bcm43xx_shm_write32(bcm, BCM43xx_SHM_SHARED,
+ BCM43xx_UCODEFLAGS_OFFSET,
+ (bcm43xx_shm_read32(bcm, BCM43xx_SHM_SHARED,
+ BCM43xx_UCODEFLAGS_OFFSET)
+ | 0x00000200));
}
if (radio->revision == 8) {
bcm43xx_radio_write16(bcm, 0x0051, 0x0000);
@@ -941,7 +946,8 @@ static void bcm43xx_phy_initb6(struct bcm43xx_private *bcm)
bcm43xx_phy_write(bcm, 0x0038, 0x0668);
bcm43xx_radio_set_txpower_bg(bcm, 0xFFFF, 0xFFFF, 0xFFFF);
if (radio->revision <= 5)
- bcm43xx_phy_write(bcm, 0x005D, bcm43xx_phy_read(bcm, 0x005D) | 0x0003);
+ bcm43xx_phy_write(bcm, 0x005D, (bcm43xx_phy_read(bcm, 0x005D)
+ & 0xFF80) | 0x0003);
if (radio->revision <= 2)
bcm43xx_radio_write16(bcm, 0x005D, 0x000D);
@@ -958,7 +964,7 @@ static void bcm43xx_phy_initb6(struct bcm43xx_private *bcm)
bcm43xx_phy_write(bcm, 0x0016, 0x0410);
bcm43xx_phy_write(bcm, 0x0017, 0x0820);
bcm43xx_phy_write(bcm, 0x0062, 0x0007);
- (void) bcm43xx_radio_calibrationvalue(bcm);
+ bcm43xx_radio_init2050(bcm);
bcm43xx_phy_lo_g_measure(bcm);
if (bcm->sprom.boardflags & BCM43xx_BFL_RSSI) {
bcm43xx_calc_nrssi_slope(bcm);