diff options
author | Helmut Schaa <helmut.schaa@googlemail.com> | 2011-01-30 07:16:52 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-01-31 15:06:22 -0500 |
commit | 1dae8d342e842cb9971f44d7b68580c7b9f26174 (patch) | |
tree | 593a8aab367e80b387a83c7871a009209311c4ce /drivers/net/wireless/rt2x00 | |
parent | 8414ff07ac8802e282683812514ef5b0ea133cb8 (diff) |
rt2x00: Limit beacon updates in bss_info_changed to USB devices
Currently there are two places that trigger a beacon update on PCI
devices. The bss_info_changed callback and the periodic update
triggered by the TBTT or PRETBTT interrupt.
Since the next TBTT or PRETBTT interrupt will periodically fetch an
updated beacon remove the update_beacon call in the bss_info_changed
callback for PCI devices.
In the worst case it will take one beacon interval longer to fetch
the new beacon then before. For devices that have a PRETBTT interrupt
there should be no change at all.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00mac.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c index 7d3316724bb4..6a66021d8f65 100644 --- a/drivers/net/wireless/rt2x00/rt2x00mac.c +++ b/drivers/net/wireless/rt2x00/rt2x00mac.c | |||
@@ -617,9 +617,10 @@ void rt2x00mac_bss_info_changed(struct ieee80211_hw *hw, | |||
617 | bss_conf->bssid); | 617 | bss_conf->bssid); |
618 | 618 | ||
619 | /* | 619 | /* |
620 | * Update the beacon. | 620 | * Update the beacon. This is only required on USB devices. PCI |
621 | * devices fetch beacons periodically. | ||
621 | */ | 622 | */ |
622 | if (changes & BSS_CHANGED_BEACON) | 623 | if (changes & BSS_CHANGED_BEACON && rt2x00_is_usb(rt2x00dev)) |
623 | rt2x00queue_update_beacon(rt2x00dev, vif); | 624 | rt2x00queue_update_beacon(rt2x00dev, vif); |
624 | 625 | ||
625 | /* | 626 | /* |