diff options
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
-rw-r--r-- | drivers/net/wireless/b43/main.c | 38 |
1 files changed, 11 insertions, 27 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 316a913860d..aa33d741e5e 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -637,10 +637,17 @@ static void b43_upload_card_macaddress(struct b43_wldev *dev) | |||
637 | static void b43_set_slot_time(struct b43_wldev *dev, u16 slot_time) | 637 | static void b43_set_slot_time(struct b43_wldev *dev, u16 slot_time) |
638 | { | 638 | { |
639 | /* slot_time is in usec. */ | 639 | /* slot_time is in usec. */ |
640 | if (dev->phy.type != B43_PHYTYPE_G) | 640 | /* This test used to exit for all but a G PHY. */ |
641 | if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) | ||
641 | return; | 642 | return; |
642 | b43_write16(dev, 0x684, 510 + slot_time); | 643 | b43_write16(dev, B43_MMIO_IFSSLOT, 510 + slot_time); |
643 | b43_shm_write16(dev, B43_SHM_SHARED, 0x0010, slot_time); | 644 | /* Shared memory location 0x0010 is the slot time and should be |
645 | * set to slot_time; however, this register is initially 0 and changing | ||
646 | * the value adversely affects the transmit rate for BCM4311 | ||
647 | * devices. Until this behavior is unterstood, delete this step | ||
648 | * | ||
649 | * b43_shm_write16(dev, B43_SHM_SHARED, 0x0010, slot_time); | ||
650 | */ | ||
644 | } | 651 | } |
645 | 652 | ||
646 | static void b43_short_slot_timing_enable(struct b43_wldev *dev) | 653 | static void b43_short_slot_timing_enable(struct b43_wldev *dev) |
@@ -3349,27 +3356,6 @@ out_unlock: | |||
3349 | return err; | 3356 | return err; |
3350 | } | 3357 | } |
3351 | 3358 | ||
3352 | static int b43_op_get_tx_stats(struct ieee80211_hw *hw, | ||
3353 | struct ieee80211_tx_queue_stats *stats) | ||
3354 | { | ||
3355 | struct b43_wl *wl = hw_to_b43_wl(hw); | ||
3356 | struct b43_wldev *dev; | ||
3357 | int err = -ENODEV; | ||
3358 | |||
3359 | mutex_lock(&wl->mutex); | ||
3360 | dev = wl->current_dev; | ||
3361 | if (dev && b43_status(dev) >= B43_STAT_STARTED) { | ||
3362 | if (b43_using_pio_transfers(dev)) | ||
3363 | b43_pio_get_tx_stats(dev, stats); | ||
3364 | else | ||
3365 | b43_dma_get_tx_stats(dev, stats); | ||
3366 | err = 0; | ||
3367 | } | ||
3368 | mutex_unlock(&wl->mutex); | ||
3369 | |||
3370 | return err; | ||
3371 | } | ||
3372 | |||
3373 | static int b43_op_get_stats(struct ieee80211_hw *hw, | 3359 | static int b43_op_get_stats(struct ieee80211_hw *hw, |
3374 | struct ieee80211_low_level_stats *stats) | 3360 | struct ieee80211_low_level_stats *stats) |
3375 | { | 3361 | { |
@@ -3980,6 +3966,7 @@ static int b43_wireless_core_start(struct b43_wldev *dev) | |||
3980 | } | 3966 | } |
3981 | 3967 | ||
3982 | /* We are ready to run. */ | 3968 | /* We are ready to run. */ |
3969 | ieee80211_wake_queues(dev->wl->hw); | ||
3983 | b43_set_status(dev, B43_STAT_STARTED); | 3970 | b43_set_status(dev, B43_STAT_STARTED); |
3984 | 3971 | ||
3985 | /* Start data flow (TX/RX). */ | 3972 | /* Start data flow (TX/RX). */ |
@@ -4389,8 +4376,6 @@ static int b43_wireless_core_init(struct b43_wldev *dev) | |||
4389 | 4376 | ||
4390 | ieee80211_wake_queues(dev->wl->hw); | 4377 | ieee80211_wake_queues(dev->wl->hw); |
4391 | 4378 | ||
4392 | ieee80211_wake_queues(dev->wl->hw); | ||
4393 | |||
4394 | b43_set_status(dev, B43_STAT_INITIALIZED); | 4379 | b43_set_status(dev, B43_STAT_INITIALIZED); |
4395 | 4380 | ||
4396 | out: | 4381 | out: |
@@ -4596,7 +4581,6 @@ static const struct ieee80211_ops b43_hw_ops = { | |||
4596 | .set_key = b43_op_set_key, | 4581 | .set_key = b43_op_set_key, |
4597 | .update_tkip_key = b43_op_update_tkip_key, | 4582 | .update_tkip_key = b43_op_update_tkip_key, |
4598 | .get_stats = b43_op_get_stats, | 4583 | .get_stats = b43_op_get_stats, |
4599 | .get_tx_stats = b43_op_get_tx_stats, | ||
4600 | .get_tsf = b43_op_get_tsf, | 4584 | .get_tsf = b43_op_get_tsf, |
4601 | .set_tsf = b43_op_set_tsf, | 4585 | .set_tsf = b43_op_set_tsf, |
4602 | .start = b43_op_start, | 4586 | .start = b43_op_start, |