diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-12-28 08:32:58 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:09:43 -0500 |
commit | 471b3efdfccc257591331724145f8ccf8b3217e1 (patch) | |
tree | c9e576442c7b62c8c667ae1046e560323f0821fd /drivers/net/wireless/rt2x00/rt2x00dev.c | |
parent | 2bc454b0b30b3645d114689b64321cb49be99923 (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.c | 13 |
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 | /* |