diff options
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
| -rw-r--r-- | drivers/net/wireless/b43/main.c | 13 | 
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 4c41cfe44f2..490fb45d1d0 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c @@ -628,10 +628,17 @@ static void b43_upload_card_macaddress(struct b43_wldev *dev)  static void b43_set_slot_time(struct b43_wldev *dev, u16 slot_time)  {  	/* slot_time is in usec. */ -	if (dev->phy.type != B43_PHYTYPE_G) +	/* This test used to exit for all but a G PHY. */ +	if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)  		return; -	b43_write16(dev, 0x684, 510 + slot_time); -	b43_shm_write16(dev, B43_SHM_SHARED, 0x0010, slot_time); +	b43_write16(dev, B43_MMIO_IFSSLOT, 510 + slot_time); +	/* Shared memory location 0x0010 is the slot time and should be +	 * set to slot_time; however, this register is initially 0 and changing +	 * the value adversely affects the transmit rate for BCM4311 +	 * devices. Until this behavior is unterstood, delete this step +	 * +	 * b43_shm_write16(dev, B43_SHM_SHARED, 0x0010, slot_time); +	 */  }  static void b43_short_slot_timing_enable(struct b43_wldev *dev)  |