diff options
author | Alexander Bondar <alexander.bondar@intel.com> | 2013-01-22 09:52:23 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-03-25 09:43:05 -0400 |
commit | 219c38674c262378ec411dd8318ebfd199fbce8d (patch) | |
tree | ebe6f4a191c5ddf4286b195a35e709bf1228af7f /include | |
parent | c3ffeab4345830aadfc78444933754330f1339e7 (diff) |
mac80211: allow drivers to set default uAPSD parameters
mac80211 currently sets uAPSD parameters to have VO AC trigger-
and delivery-enabled, with maximum service period length.
Allow drivers to change these default settings since different
uAPSD client implementations may handle errors differently and
be able to recover from some errors.
Note: some APs may not function correctly if one or all ACs are
trigger- and delivery-enabled, see
http://thread.gmane.org/gmane.linux.kernel.wireless.general/93577.
We retested with this AP and later firmware doesn't have this
bug any more.
Signed-off-by: Alexander Bondar <alexander.bondar@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/mac80211.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 9b536172e27e..23a275a9a3b2 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1534,6 +1534,17 @@ enum ieee80211_hw_flags { | |||
1534 | * @netdev_features: netdev features to be set in each netdev created | 1534 | * @netdev_features: netdev features to be set in each netdev created |
1535 | * from this HW. Note only HW checksum features are currently | 1535 | * from this HW. Note only HW checksum features are currently |
1536 | * compatible with mac80211. Other feature bits will be rejected. | 1536 | * compatible with mac80211. Other feature bits will be rejected. |
1537 | * | ||
1538 | * @uapsd_queues: This bitmap is included in (re)association frame to indicate | ||
1539 | * for each access category if it is uAPSD trigger-enabled and delivery- | ||
1540 | * enabled. Use IEEE80211_WMM_IE_STA_QOSINFO_AC_* to set this bitmap. | ||
1541 | * Each bit corresponds to different AC. Value '1' in specific bit means | ||
1542 | * that corresponding AC is both trigger- and delivery-enabled. '0' means | ||
1543 | * neither enabled. | ||
1544 | * | ||
1545 | * @uapsd_max_sp_len: maximum number of total buffered frames the WMM AP may | ||
1546 | * deliver to a WMM STA during any Service Period triggered by the WMM STA. | ||
1547 | * Use IEEE80211_WMM_IE_STA_QOSINFO_SP_* for correct values. | ||
1537 | */ | 1548 | */ |
1538 | struct ieee80211_hw { | 1549 | struct ieee80211_hw { |
1539 | struct ieee80211_conf conf; | 1550 | struct ieee80211_conf conf; |
@@ -1559,6 +1570,8 @@ struct ieee80211_hw { | |||
1559 | u8 radiotap_mcs_details; | 1570 | u8 radiotap_mcs_details; |
1560 | u16 radiotap_vht_details; | 1571 | u16 radiotap_vht_details; |
1561 | netdev_features_t netdev_features; | 1572 | netdev_features_t netdev_features; |
1573 | u8 uapsd_queues; | ||
1574 | u8 uapsd_max_sp_len; | ||
1562 | }; | 1575 | }; |
1563 | 1576 | ||
1564 | /** | 1577 | /** |