aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/acx.h
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2011-04-26 16:21:51 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-04-28 14:50:45 -0400
commit47684808fd89d6809c0886e06f8ac324252499d8 (patch)
treef5edf3dae33bc46a39d8526484bae71f33a19bab /drivers/net/wireless/wl12xx/acx.h
parenta039a993496d79d09ae9709c82b545b9800954c9 (diff)
wl12xx: support FW TX inactivity triggers
In AP mode we register for the MAX_TX_RETRY and INACTIVE_STA events. Both are reported to the upper layers as a TX failure in the offending stations. In STA mode we register only for the MAX_TX_RETRY event. A TX failure is interpreted as a loss of connection. Support for IEEE80211_HW_REPORTS_TX_ACK_STATUS has been removed to avoid the inherent race condition of a mac80211 TX failure counter in addition to the FW counter. This patch depends on "mac80211: allow low level driver to report packet loss" Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/acx.h')
-rw-r--r--drivers/net/wireless/wl12xx/acx.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/wireless/wl12xx/acx.h b/drivers/net/wireless/wl12xx/acx.h
index 0a40caeab2a2..942908cd53a3 100644
--- a/drivers/net/wireless/wl12xx/acx.h
+++ b/drivers/net/wireless/wl12xx/acx.h
@@ -1145,7 +1145,7 @@ struct wl1271_acx_fw_tsf_information {
1145 u8 padding[3]; 1145 u8 padding[3];
1146} __packed; 1146} __packed;
1147 1147
1148struct wl1271_acx_max_tx_retry { 1148struct wl1271_acx_ap_max_tx_retry {
1149 struct acx_header header; 1149 struct acx_header header;
1150 1150
1151 /* 1151 /*
@@ -1156,6 +1156,13 @@ struct wl1271_acx_max_tx_retry {
1156 u8 padding_1[2]; 1156 u8 padding_1[2];
1157} __packed; 1157} __packed;
1158 1158
1159struct wl1271_acx_sta_max_tx_retry {
1160 struct acx_header header;
1161
1162 u8 max_tx_retry;
1163 u8 padding_1[3];
1164} __packed;
1165
1159struct wl1271_acx_config_ps { 1166struct wl1271_acx_config_ps {
1160 struct acx_header header; 1167 struct acx_header header;
1161 1168
@@ -1307,7 +1314,8 @@ int wl1271_acx_set_ba_session(struct wl1271 *wl,
1307int wl1271_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index, u16 ssn, 1314int wl1271_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index, u16 ssn,
1308 bool enable); 1315 bool enable);
1309int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime); 1316int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime);
1310int wl1271_acx_max_tx_retry(struct wl1271 *wl); 1317int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl);
1318int wl1271_acx_sta_max_tx_retry(struct wl1271 *wl);
1311int wl1271_acx_config_ps(struct wl1271 *wl); 1319int wl1271_acx_config_ps(struct wl1271 *wl);
1312int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, u8 *addr); 1320int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, u8 *addr);
1313 1321