aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-10-14 13:17:54 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-10-31 19:00:14 -0400
commit9124b07740c51cbc6e358dd0c4abc6ee8ded084d (patch)
tree5746885ca90399588f0735aa1a5511648f0be329 /include/net/mac80211.h
parent525181891fb5ed323b6ba0f141c422f1395acfb9 (diff)
mac80211: make retry limits part of hw config
Instead of having a separate callback, use the HW config callback with a new flag to change retry limits. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 34e8569b59bb..fd52300b96d0 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -473,6 +473,7 @@ static inline int __deprecated __IEEE80211_CONF_SHORT_SLOT_TIME(void)
473 * @IEEE80211_CONF_CHANGE_PS: the PS flag changed 473 * @IEEE80211_CONF_CHANGE_PS: the PS flag changed
474 * @IEEE80211_CONF_CHANGE_POWER: the TX power changed 474 * @IEEE80211_CONF_CHANGE_POWER: the TX power changed
475 * @IEEE80211_CONF_CHANGE_CHANNEL: the channel changed 475 * @IEEE80211_CONF_CHANGE_CHANNEL: the channel changed
476 * @IEEE80211_CONF_CHANGE_RETRY_LIMITS: retry limits changed
476 */ 477 */
477enum ieee80211_conf_changed { 478enum ieee80211_conf_changed {
478 IEEE80211_CONF_CHANGE_RADIO_ENABLED = BIT(0), 479 IEEE80211_CONF_CHANGE_RADIO_ENABLED = BIT(0),
@@ -482,6 +483,7 @@ enum ieee80211_conf_changed {
482 IEEE80211_CONF_CHANGE_PS = BIT(4), 483 IEEE80211_CONF_CHANGE_PS = BIT(4),
483 IEEE80211_CONF_CHANGE_POWER = BIT(5), 484 IEEE80211_CONF_CHANGE_POWER = BIT(5),
484 IEEE80211_CONF_CHANGE_CHANNEL = BIT(6), 485 IEEE80211_CONF_CHANGE_CHANNEL = BIT(6),
486 IEEE80211_CONF_CHANGE_RETRY_LIMITS = BIT(7),
485}; 487};
486 488
487/** 489/**
@@ -497,6 +499,12 @@ enum ieee80211_conf_changed {
497 * @ht_cap: describes current self configuration of 802.11n HT capabilities 499 * @ht_cap: describes current self configuration of 802.11n HT capabilities
498 * @ht_bss_conf: describes current BSS configuration of 802.11n HT parameters 500 * @ht_bss_conf: describes current BSS configuration of 802.11n HT parameters
499 * @channel: the channel to tune to 501 * @channel: the channel to tune to
502 * @long_frame_max_tx_count: Maximum number of transmissions for a "long" frame
503 * (a frame not RTS protected), called "dot11LongRetryLimit" in 802.11,
504 * but actually means the number of transmissions not the number of retries
505 * @short_frame_max_tx_count: Maximum number of transmissions for a "short"
506 * frame, called "dot11ShortRetryLimit" in 802.11, but actually means the
507 * number of transmissions not the number of retries
500 */ 508 */
501struct ieee80211_conf { 509struct ieee80211_conf {
502 int beacon_int; 510 int beacon_int;
@@ -506,6 +514,8 @@ struct ieee80211_conf {
506 u16 listen_interval; 514 u16 listen_interval;
507 bool radio_enabled; 515 bool radio_enabled;
508 516
517 u8 long_frame_max_tx_count, short_frame_max_tx_count;
518
509 struct ieee80211_channel *channel; 519 struct ieee80211_channel *channel;
510 520
511 struct ieee80211_sta_ht_cap ht_cap; 521 struct ieee80211_sta_ht_cap ht_cap;
@@ -1190,8 +1200,6 @@ enum ieee80211_ampdu_mlme_action {
1190 * the device does fragmentation by itself; if this method is assigned then 1200 * the device does fragmentation by itself; if this method is assigned then
1191 * the stack will not do fragmentation. 1201 * the stack will not do fragmentation.
1192 * 1202 *
1193 * @set_retry_limit: Configuration of retry limits (if device needs it)
1194 *
1195 * @sta_notify: Notifies low level driver about addition or removal 1203 * @sta_notify: Notifies low level driver about addition or removal
1196 * of assocaited station or AP. 1204 * of assocaited station or AP.
1197 * 1205 *
@@ -1261,8 +1269,6 @@ struct ieee80211_ops {
1261 u32 *iv32, u16 *iv16); 1269 u32 *iv32, u16 *iv16);
1262 int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value); 1270 int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value);
1263 int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value); 1271 int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value);
1264 int (*set_retry_limit)(struct ieee80211_hw *hw,
1265 u32 short_retry, u32 long_retr);
1266 void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 1272 void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
1267 enum sta_notify_cmd, struct ieee80211_sta *sta); 1273 enum sta_notify_cmd, struct ieee80211_sta *sta);
1268 int (*conf_tx)(struct ieee80211_hw *hw, u16 queue, 1274 int (*conf_tx)(struct ieee80211_hw *hw, u16 queue,