aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Steuerwald <salsasepp@googlemail.com>2009-07-10 14:42:55 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-24 15:05:11 -0400
commit930c06f27120fa8cf0bfb6fa000a701cfaf01ed6 (patch)
treeb254d84fd7ad756f31cbf736d02b808d84881c25
parent48ab905d1a81b7df33a33def04a890e4e0c51460 (diff)
rt2x00: Implement set_tim callback for all drivers
Implement set_tim callback for all rt2x00 drivers, this makes the device wake up powersaving stations properly while in AP mode. The only way to update the beacon is by simply calling mac80211 and requesting the new beacon. This means the set_tim() event is mostly the same as a beacon_done() event which was already defined in rt2x00lib. Signed-off-by: Stefan Steuerwald <salsasepp@googlemail.com> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/rt2x00/rt2400pci.c1
-rw-r--r--drivers/net/wireless/rt2x00/rt2500pci.c1
-rw-r--r--drivers/net/wireless/rt2x00/rt2500usb.c1
-rw-r--r--drivers/net/wireless/rt2x00/rt2800usb.c1
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00.h2
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00mac.c10
-rw-r--r--drivers/net/wireless/rt2x00/rt61pci.c1
-rw-r--r--drivers/net/wireless/rt2x00/rt73usb.c1
8 files changed, 18 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c
index d8035e3575e8..30185ad28d93 100644
--- a/drivers/net/wireless/rt2x00/rt2400pci.c
+++ b/drivers/net/wireless/rt2x00/rt2400pci.c
@@ -1561,6 +1561,7 @@ static const struct ieee80211_ops rt2400pci_mac80211_ops = {
1561 .remove_interface = rt2x00mac_remove_interface, 1561 .remove_interface = rt2x00mac_remove_interface,
1562 .config = rt2x00mac_config, 1562 .config = rt2x00mac_config,
1563 .configure_filter = rt2x00mac_configure_filter, 1563 .configure_filter = rt2x00mac_configure_filter,
1564 .set_tim = rt2x00mac_set_tim,
1564 .get_stats = rt2x00mac_get_stats, 1565 .get_stats = rt2x00mac_get_stats,
1565 .bss_info_changed = rt2x00mac_bss_info_changed, 1566 .bss_info_changed = rt2x00mac_bss_info_changed,
1566 .conf_tx = rt2400pci_conf_tx, 1567 .conf_tx = rt2400pci_conf_tx,
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c
index c123e28396d0..3b3171578b14 100644
--- a/drivers/net/wireless/rt2x00/rt2500pci.c
+++ b/drivers/net/wireless/rt2x00/rt2500pci.c
@@ -1860,6 +1860,7 @@ static const struct ieee80211_ops rt2500pci_mac80211_ops = {
1860 .remove_interface = rt2x00mac_remove_interface, 1860 .remove_interface = rt2x00mac_remove_interface,
1861 .config = rt2x00mac_config, 1861 .config = rt2x00mac_config,
1862 .configure_filter = rt2x00mac_configure_filter, 1862 .configure_filter = rt2x00mac_configure_filter,
1863 .set_tim = rt2x00mac_set_tim,
1863 .get_stats = rt2x00mac_get_stats, 1864 .get_stats = rt2x00mac_get_stats,
1864 .bss_info_changed = rt2x00mac_bss_info_changed, 1865 .bss_info_changed = rt2x00mac_bss_info_changed,
1865 .conf_tx = rt2x00mac_conf_tx, 1866 .conf_tx = rt2x00mac_conf_tx,
diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
index 00611b32d08b..de48c5c68eff 100644
--- a/drivers/net/wireless/rt2x00/rt2500usb.c
+++ b/drivers/net/wireless/rt2x00/rt2500usb.c
@@ -1896,6 +1896,7 @@ static const struct ieee80211_ops rt2500usb_mac80211_ops = {
1896 .remove_interface = rt2x00mac_remove_interface, 1896 .remove_interface = rt2x00mac_remove_interface,
1897 .config = rt2x00mac_config, 1897 .config = rt2x00mac_config,
1898 .configure_filter = rt2x00mac_configure_filter, 1898 .configure_filter = rt2x00mac_configure_filter,
1899 .set_tim = rt2x00mac_set_tim,
1899 .set_key = rt2x00mac_set_key, 1900 .set_key = rt2x00mac_set_key,
1900 .get_stats = rt2x00mac_get_stats, 1901 .get_stats = rt2x00mac_get_stats,
1901 .bss_info_changed = rt2x00mac_bss_info_changed, 1902 .bss_info_changed = rt2x00mac_bss_info_changed,
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index a204e66753c2..66e001c392b0 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -2786,6 +2786,7 @@ static const struct ieee80211_ops rt2800usb_mac80211_ops = {
2786 .remove_interface = rt2x00mac_remove_interface, 2786 .remove_interface = rt2x00mac_remove_interface,
2787 .config = rt2x00mac_config, 2787 .config = rt2x00mac_config,
2788 .configure_filter = rt2x00mac_configure_filter, 2788 .configure_filter = rt2x00mac_configure_filter,
2789 .set_tim = rt2x00mac_set_tim,
2789 .set_key = rt2x00mac_set_key, 2790 .set_key = rt2x00mac_set_key,
2790 .get_stats = rt2x00mac_get_stats, 2791 .get_stats = rt2x00mac_get_stats,
2791 .get_tkip_seq = rt2800usb_get_tkip_seq, 2792 .get_tkip_seq = rt2800usb_get_tkip_seq,
diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h
index 71f37cb476b0..3e177175e34b 100644
--- a/drivers/net/wireless/rt2x00/rt2x00.h
+++ b/drivers/net/wireless/rt2x00/rt2x00.h
@@ -963,6 +963,8 @@ void rt2x00mac_configure_filter(struct ieee80211_hw *hw,
963 unsigned int changed_flags, 963 unsigned int changed_flags,
964 unsigned int *total_flags, 964 unsigned int *total_flags,
965 int mc_count, struct dev_addr_list *mc_list); 965 int mc_count, struct dev_addr_list *mc_list);
966int rt2x00mac_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
967 bool set);
966#ifdef CONFIG_RT2X00_LIB_CRYPTO 968#ifdef CONFIG_RT2X00_LIB_CRYPTO
967int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, 969int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
968 struct ieee80211_vif *vif, struct ieee80211_sta *sta, 970 struct ieee80211_vif *vif, struct ieee80211_sta *sta,
diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c
index b7e0ddda38f5..3425984a55c7 100644
--- a/drivers/net/wireless/rt2x00/rt2x00mac.c
+++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
@@ -454,6 +454,16 @@ static void memcpy_tkip(struct rt2x00lib_crypto *crypto, u8 *key, u8 key_len)
454 sizeof(crypto->rx_mic)); 454 sizeof(crypto->rx_mic));
455} 455}
456 456
457int rt2x00mac_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
458 bool set)
459{
460 struct rt2x00_dev *rt2x00dev = hw->priv;
461
462 rt2x00lib_beacondone(rt2x00dev);
463 return 0;
464}
465EXPORT_SYMBOL_GPL(rt2x00mac_set_tim);
466
457int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, 467int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
458 struct ieee80211_vif *vif, struct ieee80211_sta *sta, 468 struct ieee80211_vif *vif, struct ieee80211_sta *sta,
459 struct ieee80211_key_conf *key) 469 struct ieee80211_key_conf *key)
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index 8a49d99df682..b435c140cb96 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -2716,6 +2716,7 @@ static const struct ieee80211_ops rt61pci_mac80211_ops = {
2716 .remove_interface = rt2x00mac_remove_interface, 2716 .remove_interface = rt2x00mac_remove_interface,
2717 .config = rt2x00mac_config, 2717 .config = rt2x00mac_config,
2718 .configure_filter = rt2x00mac_configure_filter, 2718 .configure_filter = rt2x00mac_configure_filter,
2719 .set_tim = rt2x00mac_set_tim,
2719 .set_key = rt2x00mac_set_key, 2720 .set_key = rt2x00mac_set_key,
2720 .get_stats = rt2x00mac_get_stats, 2721 .get_stats = rt2x00mac_get_stats,
2721 .bss_info_changed = rt2x00mac_bss_info_changed, 2722 .bss_info_changed = rt2x00mac_bss_info_changed,
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c
index ad2898ca8677..4f9b1772e1a1 100644
--- a/drivers/net/wireless/rt2x00/rt73usb.c
+++ b/drivers/net/wireless/rt2x00/rt73usb.c
@@ -2241,6 +2241,7 @@ static const struct ieee80211_ops rt73usb_mac80211_ops = {
2241 .remove_interface = rt2x00mac_remove_interface, 2241 .remove_interface = rt2x00mac_remove_interface,
2242 .config = rt2x00mac_config, 2242 .config = rt2x00mac_config,
2243 .configure_filter = rt2x00mac_configure_filter, 2243 .configure_filter = rt2x00mac_configure_filter,
2244 .set_tim = rt2x00mac_set_tim,
2244 .set_key = rt2x00mac_set_key, 2245 .set_key = rt2x00mac_set_key,
2245 .get_stats = rt2x00mac_get_stats, 2246 .get_stats = rt2x00mac_get_stats,
2246 .bss_info_changed = rt2x00mac_bss_info_changed, 2247 .bss_info_changed = rt2x00mac_bss_info_changed,