diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-10-14 13:17:54 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-10-31 19:00:14 -0400 |
commit | 9124b07740c51cbc6e358dd0c4abc6ee8ded084d (patch) | |
tree | 5746885ca90399588f0735aa1a5511648f0be329 /include/net/mac80211.h | |
parent | 525181891fb5ed323b6ba0f141c422f1395acfb9 (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.h | 14 |
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 | */ |
477 | enum ieee80211_conf_changed { | 478 | enum 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 | */ |
501 | struct ieee80211_conf { | 509 | struct 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, |