aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-12-29 06:55:09 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-01-29 15:59:42 -0500
commitdc822b5db479dc0178d5c04cbb656dad0b6564fb (patch)
treef06d09fb4d70830ce1489f4589cb03a491833955 /include/net/mac80211.h
parentb3093664c931aa06fc50da42e25b3b6dc307a915 (diff)
mac80211: clean up set_key callback
The set_key callback now seems rather odd, passing a MAC address instead of a station struct, and a local address instead of a vif struct. Change that. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Bob Copeland <me@bobcopeland.com> [ath5k] Acked-by: Ivo van Doorn <ivdoorn@gmail.com> [rt2x00] Acked-by: Christian Lamparter <chunkeey@web.de> [p54] Tested-by: Kalle Valo <kalle.valo@nokia.com> [iwl3945] Tested-by: Samuel Ortiz <samuel@sortiz.org> [iwl3945] Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h20
1 files changed, 8 insertions, 12 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index ffcbd12775a4..9215b1ec90ec 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -715,8 +715,8 @@ enum ieee80211_key_flags {
715 * - Temporal Encryption Key (128 bits) 715 * - Temporal Encryption Key (128 bits)
716 * - Temporal Authenticator Tx MIC Key (64 bits) 716 * - Temporal Authenticator Tx MIC Key (64 bits)
717 * - Temporal Authenticator Rx MIC Key (64 bits) 717 * - Temporal Authenticator Rx MIC Key (64 bits)
718 * @icv_len: FIXME 718 * @icv_len: The ICV length for this key type
719 * @iv_len: FIXME 719 * @iv_len: The IV length for this key type
720 */ 720 */
721struct ieee80211_key_conf { 721struct ieee80211_key_conf {
722 enum ieee80211_key_alg alg; 722 enum ieee80211_key_alg alg;
@@ -1019,16 +1019,12 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw,
1019 * 1019 *
1020 * The set_key() callback in the &struct ieee80211_ops for a given 1020 * The set_key() callback in the &struct ieee80211_ops for a given
1021 * device is called to enable hardware acceleration of encryption and 1021 * device is called to enable hardware acceleration of encryption and
1022 * decryption. The callback takes an @address parameter that will be 1022 * decryption. The callback takes a @sta parameter that will be NULL
1023 * the broadcast address for default keys, the other station's hardware 1023 * for default keys or keys used for transmission only, or point to
1024 * address for individual keys or the zero address for keys that will 1024 * the station information for the peer for individual keys.
1025 * be used only for transmission.
1026 * Multiple transmission keys with the same key index may be used when 1025 * Multiple transmission keys with the same key index may be used when
1027 * VLANs are configured for an access point. 1026 * VLANs are configured for an access point.
1028 * 1027 *
1029 * The @local_address parameter will always be set to our own address,
1030 * this is only relevant if you support multiple local addresses.
1031 *
1032 * When transmitting, the TX control data will use the @hw_key_idx 1028 * When transmitting, the TX control data will use the @hw_key_idx
1033 * selected by the driver by modifying the &struct ieee80211_key_conf 1029 * selected by the driver by modifying the &struct ieee80211_key_conf
1034 * pointed to by the @key parameter to the set_key() function. 1030 * pointed to by the @key parameter to the set_key() function.
@@ -1233,8 +1229,8 @@ enum ieee80211_ampdu_mlme_action {
1233 * 1229 *
1234 * @set_key: See the section "Hardware crypto acceleration" 1230 * @set_key: See the section "Hardware crypto acceleration"
1235 * This callback can sleep, and is only called between add_interface 1231 * This callback can sleep, and is only called between add_interface
1236 * and remove_interface calls, i.e. while the interface with the 1232 * and remove_interface calls, i.e. while the given virtual interface
1237 * given local_address is enabled. 1233 * is enabled.
1238 * 1234 *
1239 * @update_tkip_key: See the section "Hardware crypto acceleration" 1235 * @update_tkip_key: See the section "Hardware crypto acceleration"
1240 * This callback will be called in the context of Rx. Called for drivers 1236 * This callback will be called in the context of Rx. Called for drivers
@@ -1311,7 +1307,7 @@ struct ieee80211_ops {
1311 int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta, 1307 int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
1312 bool set); 1308 bool set);
1313 int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd, 1309 int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd,
1314 const u8 *local_address, const u8 *address, 1310 struct ieee80211_vif *vif, struct ieee80211_sta *sta,
1315 struct ieee80211_key_conf *key); 1311 struct ieee80211_key_conf *key);
1316 void (*update_tkip_key)(struct ieee80211_hw *hw, 1312 void (*update_tkip_key)(struct ieee80211_hw *hw,
1317 struct ieee80211_key_conf *conf, const u8 *address, 1313 struct ieee80211_key_conf *conf, const u8 *address,