aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/net/mac80211.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 9bca2abbf038..9a5869e9ecfa 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1217,6 +1217,8 @@ enum ieee80211_ampdu_mlme_action {
1217 * configuration in the TX control data. This handler should, 1217 * configuration in the TX control data. This handler should,
1218 * preferably, never fail and stop queues appropriately, more 1218 * preferably, never fail and stop queues appropriately, more
1219 * importantly, however, it must never fail for A-MPDU-queues. 1219 * importantly, however, it must never fail for A-MPDU-queues.
1220 * This function should return NETDEV_TX_OK except in very
1221 * limited cases.
1220 * Must be implemented and atomic. 1222 * Must be implemented and atomic.
1221 * 1223 *
1222 * @start: Called before the first netdevice attached to the hardware 1224 * @start: Called before the first netdevice attached to the hardware
@@ -1257,9 +1259,12 @@ enum ieee80211_ampdu_mlme_action {
1257 * 1259 *
1258 * @config: Handler for configuration requests. IEEE 802.11 code calls this 1260 * @config: Handler for configuration requests. IEEE 802.11 code calls this
1259 * function to change hardware configuration, e.g., channel. 1261 * function to change hardware configuration, e.g., channel.
1262 * This function should never fail but returns a negative error code
1263 * if it does.
1260 * 1264 *
1261 * @config_interface: Handler for configuration requests related to interfaces 1265 * @config_interface: Handler for configuration requests related to interfaces
1262 * (e.g. BSSID changes.) 1266 * (e.g. BSSID changes.)
1267 * Returns a negative error code which will be seen in userspace.
1263 * 1268 *
1264 * @bss_info_changed: Handler for configuration requests related to BSS 1269 * @bss_info_changed: Handler for configuration requests related to BSS
1265 * parameters that may vary during BSS's lifespan, and may affect low 1270 * parameters that may vary during BSS's lifespan, and may affect low
@@ -1279,6 +1284,7 @@ enum ieee80211_ampdu_mlme_action {
1279 * This callback can sleep, and is only called between add_interface 1284 * This callback can sleep, and is only called between add_interface
1280 * and remove_interface calls, i.e. while the given virtual interface 1285 * and remove_interface calls, i.e. while the given virtual interface
1281 * is enabled. 1286 * is enabled.
1287 * Returns a negative error code if the key can't be added.
1282 * 1288 *
1283 * @update_tkip_key: See the section "Hardware crypto acceleration" 1289 * @update_tkip_key: See the section "Hardware crypto acceleration"
1284 * This callback will be called in the context of Rx. Called for drivers 1290 * This callback will be called in the context of Rx. Called for drivers
@@ -1290,8 +1296,10 @@ enum ieee80211_ampdu_mlme_action {
1290 * bands. When the scan finishes, ieee80211_scan_completed() must be 1296 * bands. When the scan finishes, ieee80211_scan_completed() must be
1291 * called; note that it also must be called when the scan cannot finish 1297 * called; note that it also must be called when the scan cannot finish
1292 * because the hardware is turned off! Anything else is a bug! 1298 * because the hardware is turned off! Anything else is a bug!
1299 * Returns a negative error code which will be seen in userspace.
1293 * 1300 *
1294 * @get_stats: return low-level statistics 1301 * @get_stats: Return low-level statistics.
1302 * Returns zero if statistics are available.
1295 * 1303 *
1296 * @get_tkip_seq: If your device implements TKIP encryption in hardware this 1304 * @get_tkip_seq: If your device implements TKIP encryption in hardware this
1297 * callback should be provided to read the TKIP transmit IVs (both IV32 1305 * callback should be provided to read the TKIP transmit IVs (both IV32
@@ -1305,6 +1313,7 @@ enum ieee80211_ampdu_mlme_action {
1305 * 1313 *
1306 * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max), 1314 * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max),
1307 * bursting) for a hardware TX queue. 1315 * bursting) for a hardware TX queue.
1316 * Returns a negative error code on failure.
1308 * 1317 *
1309 * @get_tx_stats: Get statistics of the current TX queue status. This is used 1318 * @get_tx_stats: Get statistics of the current TX queue status. This is used
1310 * to get number of currently queued packets (queue length), maximum queue 1319 * to get number of currently queued packets (queue length), maximum queue
@@ -1324,13 +1333,15 @@ enum ieee80211_ampdu_mlme_action {
1324 * @tx_last_beacon: Determine whether the last IBSS beacon was sent by us. 1333 * @tx_last_beacon: Determine whether the last IBSS beacon was sent by us.
1325 * This is needed only for IBSS mode and the result of this function is 1334 * This is needed only for IBSS mode and the result of this function is
1326 * used to determine whether to reply to Probe Requests. 1335 * used to determine whether to reply to Probe Requests.
1336 * Returns non-zero if this device sent the last beacon.
1327 * 1337 *
1328 * @ampdu_action: Perform a certain A-MPDU action 1338 * @ampdu_action: Perform a certain A-MPDU action
1329 * The RA/TID combination determines the destination and TID we want 1339 * The RA/TID combination determines the destination and TID we want
1330 * the ampdu action to be performed for. The action is defined through 1340 * the ampdu action to be performed for. The action is defined through
1331 * ieee80211_ampdu_mlme_action. Starting sequence number (@ssn) 1341 * ieee80211_ampdu_mlme_action. Starting sequence number (@ssn)
1332 * is the first frame we expect to perform the action on. notice 1342 * is the first frame we expect to perform the action on. Notice
1333 * that TX/RX_STOP can pass NULL for this parameter. 1343 * that TX/RX_STOP can pass NULL for this parameter.
1344 * Returns a negative error code on failure.
1334 */ 1345 */
1335struct ieee80211_ops { 1346struct ieee80211_ops {
1336 int (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); 1347 int (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb);