aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00dev.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2007-12-28 08:32:58 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:09:43 -0500
commit471b3efdfccc257591331724145f8ccf8b3217e1 (patch)
treec9e576442c7b62c8c667ae1046e560323f0821fd /drivers/net/wireless/rt2x00/rt2x00dev.c
parent2bc454b0b30b3645d114689b64321cb49be99923 (diff)
mac80211: add unified BSS configuration
This patch (based on Ron Rindjunsky's) creates a framework for a unified way to pass BSS configuration to drivers that require the information, e.g. for implementing power save mode. This patch introduces new ieee80211_bss_conf structure that is passed to the driver via the new bss_info_changed() callback when the BSS configuration changes. This new BSS configuration infrastructure adds the following new features: * drivers are notified of their association AID * drivers are notified of association status and replaces the erp_ie_changed() callback. The patch also does the relevant driver updates for the latter change. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index b26c634f210b..72cfe6f866f8 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -481,10 +481,17 @@ static void rt2x00lib_configuration_scheduled(struct work_struct *work)
481{ 481{
482 struct rt2x00_dev *rt2x00dev = 482 struct rt2x00_dev *rt2x00dev =
483 container_of(work, struct rt2x00_dev, config_work); 483 container_of(work, struct rt2x00_dev, config_work);
484 int preamble = !test_bit(CONFIG_SHORT_PREAMBLE, &rt2x00dev->flags); 484 struct ieee80211_bss_conf bss_conf;
485 485
486 rt2x00mac_erp_ie_changed(rt2x00dev->hw, 486 bss_conf.use_short_preamble =
487 IEEE80211_ERP_CHANGE_PREAMBLE, 0, preamble); 487 test_bit(CONFIG_SHORT_PREAMBLE, &rt2x00dev->flags);
488
489 /*
490 * FIXME: shouldn't invoke it this way because all other contents
491 * of bss_conf is invalid.
492 */
493 rt2x00mac_bss_info_changed(rt2x00dev->hw, rt2x00dev->interface.id,
494 &bss_conf, BSS_CHANGED_ERP_PREAMBLE);
488} 495}
489 496
490/* 497/*