mirror of
https://github.com/szehl/ath9k-hmac.git
synced 2024-12-19 22:07:53 +00:00
Cleaning Code
This commit is contained in:
parent
7b20aa1e9a
commit
1ef9c2bf54
@ -137,6 +137,7 @@ ATH9K_DEBUGFS=
|
||||
ATH9K_DFS_CERTIFIED=
|
||||
ATH9K_LEGACY_RATE_CONTROL=
|
||||
ATH9K_RFKILL=
|
||||
ATH9K_TID_SLEEPING=
|
||||
ATH9K_HTC=
|
||||
ATH9K_HTC_DEBUGFS=
|
||||
CARL9170=
|
||||
|
@ -8,8 +8,6 @@ MAKEFLAGS += --no-print-directory
|
||||
SHELL := /bin/bash
|
||||
BACKPORT_PWD := $(shell pwd)
|
||||
|
||||
CFLAGS += -DTID_SLEEPING
|
||||
|
||||
KMODDIR ?= updates
|
||||
ifneq ($(origin KLIB), undefined)
|
||||
KMODPATH_ARG := "INSTALL_MOD_PATH=$(KLIB)"
|
||||
|
@ -8,7 +8,6 @@ CPTCFG_ATH_CARDS=m
|
||||
CPTCFG_ATH9K=m
|
||||
CPTCFG_ATH9K_HTC=m
|
||||
CPTCFG_ATH9K_TID_SLEEPING=y
|
||||
CPTCFG_ATH9K_TID_SLEEPING_DEBUG=n
|
||||
CPTCFG_MAC80211_DEBUGFS=y
|
||||
CPTCFG_MAC80211_DEBUG_MENU=y
|
||||
CPTCFG_MAC80211_VERBOSE_DEBUG=y
|
||||
|
@ -132,3 +132,11 @@ config ATH9K_HTC_DEBUGFS
|
||||
depends on ATH9K_HTC && DEBUG_FS
|
||||
---help---
|
||||
Say Y, if you need access to ath9k_htc's statistics.
|
||||
|
||||
config ATH9K_TID_SLEEPING
|
||||
bool "Atheros ath9k TID sleeping support"
|
||||
depends on ATH9K
|
||||
default n
|
||||
---help---
|
||||
Say Y to have ath9k TID sleeping support.
|
||||
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include "mci.h"
|
||||
#include "dfs.h"
|
||||
|
||||
#define TID_SLEEPING
|
||||
|
||||
/*
|
||||
* Header for the ath9k.ko driver core *only* -- hw code nor any other driver
|
||||
@ -38,7 +37,7 @@
|
||||
|
||||
struct ath_node;
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
extern struct list_head tid_sleep_sta_sleep_ctl_list;
|
||||
void ath_tx_aggr_sleep_tid_sleep(struct ieee80211_sta *sta, struct ath_softc *sc,
|
||||
struct ath_node *an);
|
||||
@ -199,7 +198,7 @@ struct ath_txq {
|
||||
};
|
||||
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
struct tid_sleep_sta_sleep_ctl {
|
||||
struct list_head list;
|
||||
struct ieee80211_hw *hw;
|
||||
|
@ -20,10 +20,8 @@
|
||||
#include "ath9k.h"
|
||||
#include "btcoex.h"
|
||||
|
||||
#define TID_SLEEPING
|
||||
//#define TID_SLEEPING_DEBUG
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
struct list_head tid_sleep_sta_sleep_ctl_list;
|
||||
|
||||
struct tid_sleep_tuple
|
||||
@ -675,7 +673,7 @@ static int ath9k_start(struct ieee80211_hw *hw)
|
||||
|
||||
ath9k_ps_restore(sc);
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
INIT_LIST_HEAD(&tid_sleep_sta_sleep_ctl_list);
|
||||
#endif
|
||||
|
||||
@ -1352,7 +1350,7 @@ static int ath9k_sta_add(struct ieee80211_hw *hw,
|
||||
struct ieee80211_key_conf ps_key = { };
|
||||
int key;
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
int iter_sleep_sta;
|
||||
struct tid_sleep_sta_sleep_ctl * new_sleep_sta;
|
||||
new_sleep_sta = kmalloc(sizeof(struct tid_sleep_sta_sleep_ctl), GFP_USER);
|
||||
@ -1399,7 +1397,7 @@ static int ath9k_sta_remove(struct ieee80211_hw *hw,
|
||||
struct ieee80211_sta *sta)
|
||||
{
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
struct tid_sleep_sta_sleep_ctl *sta_pos, *sta_n;
|
||||
#endif
|
||||
|
||||
@ -1408,7 +1406,7 @@ static int ath9k_sta_remove(struct ieee80211_hw *hw,
|
||||
ath9k_del_ps_key(sc, vif, sta);
|
||||
ath_node_detach(sc, sta);
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
list_for_each_entry_safe(sta_pos, sta_n,
|
||||
&tid_sleep_sta_sleep_ctl_list, list)
|
||||
{
|
||||
@ -2031,7 +2029,7 @@ static int ath9k_get_antenna(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
|
||||
static int ath9k_tid_sleep_mode(char * tid_sleep_data_ptr,
|
||||
u8 tid_sleep_data_len)
|
||||
@ -2045,14 +2043,14 @@ static int ath9k_tid_sleep_mode(char * tid_sleep_data_ptr,
|
||||
if(tid_sleep_data_len % sizeof(struct tid_sleep_tuple) == 0)
|
||||
{
|
||||
num_entries = tid_sleep_data_len / sizeof(struct tid_sleep_tuple);
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ATH9k:num_entries: %d, tid_sleep_data_len: %d, sizeof one:%lu\n",
|
||||
num_entries,tid_sleep_data_len,sizeof(struct tid_sleep_tuple));
|
||||
#endif
|
||||
for(j=0; j<num_entries; j++)
|
||||
{
|
||||
/*Print current entry*/
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("*****\nEntry No: %d\nMAC: %pM \n",j,
|
||||
tids_tuple_ptr->mac);
|
||||
printk("TID wakeup mask: %d\n", tids_tuple_ptr->mask);
|
||||
@ -2085,7 +2083,7 @@ static int ath9k_tid_sleep_mode(char * tid_sleep_data_ptr,
|
||||
}
|
||||
if(ff_cntr==6)
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("Process all STAs activated\n");
|
||||
#endif
|
||||
}
|
||||
@ -2102,7 +2100,7 @@ static int ath9k_tid_sleep_mode(char * tid_sleep_data_ptr,
|
||||
sta_pos->sta->addr[5]==tids_tuple_ptr->mac[5]) ||
|
||||
(ff_cntr==6))
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("STA MAC: %pM found\n",sta_pos->sta->addr);
|
||||
#endif
|
||||
for(tid_no=0; tid_no<8; tid_no++)
|
||||
@ -2110,14 +2108,14 @@ static int ath9k_tid_sleep_mode(char * tid_sleep_data_ptr,
|
||||
if(wakeup_tids[tid_no])
|
||||
{
|
||||
sta_pos->sleeping_tids[tid_no]=false;
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("Wakeup TID: %d\n",tid_no);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
sta_pos->sleeping_tids[tid_no]=true;
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("Sleeping TID: %d\n",tid_no);
|
||||
#endif
|
||||
}
|
||||
@ -2135,7 +2133,7 @@ static int ath9k_tid_sleep_mode(char * tid_sleep_data_ptr,
|
||||
}
|
||||
if(num_entries==0) /*Allow nothing, set everything to sleep*/
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("Global Sleep Mode Activated!\n");
|
||||
printk("Putting all STAs and all their TIDs into sleep mode\n");
|
||||
#endif
|
||||
@ -2144,7 +2142,7 @@ static int ath9k_tid_sleep_mode(char * tid_sleep_data_ptr,
|
||||
for(tid_no=0; tid_no<8; tid_no++)
|
||||
{
|
||||
sta_pos->sleeping_tids[tid_no]=true;
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("Sleeping TID: %d\n",tid_no);
|
||||
#endif
|
||||
}
|
||||
@ -2563,7 +2561,7 @@ struct ieee80211_ops ath9k_ops = {
|
||||
.sw_scan_start = ath9k_sw_scan_start,
|
||||
.sw_scan_complete = ath9k_sw_scan_complete,
|
||||
.channel_switch_beacon = ath9k_channel_switch_beacon,
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
.set_tid_sleep_mode = ath9k_tid_sleep_mode,
|
||||
#endif
|
||||
};
|
||||
|
@ -19,8 +19,6 @@
|
||||
#include "ath9k.h"
|
||||
#include "ar9003_mac.h"
|
||||
|
||||
#define TID_SLEEPING
|
||||
//#define TID_SLEEPING_DEBUG
|
||||
|
||||
#define BITS_PER_BYTE 8
|
||||
#define OFDM_PLCP_BITS 22
|
||||
@ -1458,7 +1456,7 @@ void ath_tx_aggr_sleep(struct ieee80211_sta *sta, struct ath_softc *sc,
|
||||
bool buffered;
|
||||
int tidno;
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
struct tid_sleep_sta_sleep_ctl *sta_pos, *sta_n, *sta_found;
|
||||
sta_found = 0;
|
||||
sta_n = 0;
|
||||
@ -1467,7 +1465,7 @@ void ath_tx_aggr_sleep(struct ieee80211_sta *sta, struct ath_softc *sc,
|
||||
list_for_each_entry_safe(sta_pos, sta_n,
|
||||
&tid_sleep_sta_sleep_ctl_list, list)
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_aggr_sleep: MAC searched: %pM \n", sta->addr);
|
||||
printk("ath_tx_aggr_sleep: MAC saved: %pM \n", sta_pos->sta->addr);
|
||||
#endif
|
||||
@ -1483,7 +1481,7 @@ void ath_tx_aggr_sleep(struct ieee80211_sta *sta, struct ath_softc *sc,
|
||||
for (tidno = 0, tid = &an->tid[tidno];
|
||||
tidno < IEEE80211_NUM_TIDS; tidno++, tid++) {
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
if(sta_found)
|
||||
{
|
||||
if(sta_found->sleeping_tids[tidno]==false)
|
||||
@ -1491,7 +1489,7 @@ void ath_tx_aggr_sleep(struct ieee80211_sta *sta, struct ath_softc *sc,
|
||||
/*Do not put a TID of a STA that is in global sleep mode
|
||||
into sleep mode if the TID of the STA has set
|
||||
sleep mode set to false*/
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_aggr_sleep: Do no sleeo break!");
|
||||
#endif
|
||||
continue;
|
||||
@ -1523,7 +1521,7 @@ void ath_tx_aggr_sleep(struct ieee80211_sta *sta, struct ath_softc *sc,
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
void ath_tx_aggr_sleep_tid_sleep(struct ieee80211_sta *sta,
|
||||
struct ath_softc *sc, struct ath_node *an)
|
||||
{
|
||||
@ -1540,7 +1538,7 @@ void ath_tx_aggr_sleep_tid_sleep(struct ieee80211_sta *sta,
|
||||
list_for_each_entry_safe(sta_pos, sta_n,
|
||||
&tid_sleep_sta_sleep_ctl_list, list)
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_aggr_sleep_tid_sleep: MAC searched: %pM \n",
|
||||
sta->addr);
|
||||
printk("ath_tx_aggr_sleep_tid_sleep: MAC saved: %pM \n",
|
||||
@ -1599,7 +1597,7 @@ void ath_tx_aggr_wakeup(struct ath_softc *sc, struct ath_node *an)
|
||||
struct ath_txq *txq;
|
||||
int tidno;
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
struct tid_sleep_sta_sleep_ctl *sta_pos, *sta_n, *sta_found;
|
||||
sta_found = 0;
|
||||
sta_n = 0;
|
||||
@ -1608,7 +1606,7 @@ void ath_tx_aggr_wakeup(struct ath_softc *sc, struct ath_node *an)
|
||||
list_for_each_entry_safe(sta_pos, sta_n,
|
||||
&tid_sleep_sta_sleep_ctl_list, list)
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_aggr_wakeup: MAC search: %pM \n",
|
||||
an->sta->addr);
|
||||
printk("ath_tx_aggr_wakeup: MAC saved: %pM \n",
|
||||
@ -1625,13 +1623,13 @@ void ath_tx_aggr_wakeup(struct ath_softc *sc, struct ath_node *an)
|
||||
for (tidno = 0, tid = &an->tid[tidno];
|
||||
tidno < IEEE80211_NUM_TIDS; tidno++, tid++) {
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
if(sta_found)
|
||||
{
|
||||
if(sta_found->sleeping_tids[tidno]==true)
|
||||
{
|
||||
continue;
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_aggr_wakeup: Do no wake up, break!");
|
||||
#endif
|
||||
}
|
||||
@ -2326,7 +2324,7 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
|
||||
int q;
|
||||
int ret;
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
struct tid_sleep_sta_sleep_ctl *sta_pos, *sta_n, *sta_found;
|
||||
bool tid_sleep_tid_force_sleep=false;
|
||||
sta_found = 0;
|
||||
@ -2366,12 +2364,12 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
|
||||
|
||||
if (info->flags & IEEE80211_TX_CTL_CLEAR_PS_FILT)
|
||||
tid->ac->clear_ps_filter = true;
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
if(txctl->an)
|
||||
{
|
||||
if(txctl->an->sta)
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_start: MAC search: %pM \n",
|
||||
txctl->an->sta->addr);
|
||||
#endif
|
||||
@ -2381,14 +2379,14 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
|
||||
{
|
||||
if(sta_pos->sta == txctl->an->sta)
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_start: MAC saved: %pM \n",
|
||||
sta_pos->sta->addr);
|
||||
#endif
|
||||
sta_found=sta_pos;
|
||||
if(tid)
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_start:STA found 1");
|
||||
#endif
|
||||
tid_sleep_tid_force_sleep=sta_found->
|
||||
@ -2400,7 +2398,7 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
|
||||
}
|
||||
else if(txctl->sta)
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_start: MAC search: %pM \n",
|
||||
txctl->sta->addr);
|
||||
#endif
|
||||
@ -2408,7 +2406,7 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
|
||||
list_for_each_entry_safe(sta_pos, sta_n,
|
||||
&tid_sleep_sta_sleep_ctl_list, list)
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_start: MAC saved: %pM \n",
|
||||
sta_pos->sta->addr);
|
||||
#endif
|
||||
@ -2417,7 +2415,7 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
|
||||
sta_found=sta_pos;
|
||||
if(tid)
|
||||
{
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_start: STA found 2");
|
||||
#endif
|
||||
tid_sleep_tid_force_sleep=sta_found->
|
||||
@ -2438,12 +2436,12 @@ int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
|
||||
*/
|
||||
TX_STAT_INC(txq->axq_qnum, a_queued_sw);
|
||||
__skb_queue_tail(&tid->buf_q, skb);
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
if (!txctl->an->sleeping && tid_sleep_tid_force_sleep==false) {
|
||||
#else
|
||||
if (!txctl->an->sleeping) {
|
||||
#endif
|
||||
#ifdef TID_SLEEPING_DEBUG
|
||||
#ifdef CPTCFG_ATH_DEBUG
|
||||
printk("ath_tx_start: This frame will be sent\n");
|
||||
#endif
|
||||
ath_tx_queue_tid(txq, tid);
|
||||
|
@ -15,8 +15,6 @@
|
||||
* TID_SLEEPING PATCH 2015 Sven Zehl zehl@tkn.tu-berlin.de
|
||||
*/
|
||||
|
||||
#define TID_SLEEPING
|
||||
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#include <linux/kernel.h>
|
||||
@ -571,8 +569,8 @@ static int __ath_regd_init(struct ath_regulatory *reg)
|
||||
"country code should be used\n");
|
||||
reg->country_code = CTRY_UNITED_STATES;
|
||||
}
|
||||
#ifdef TID_SLEEPING
|
||||
printk("ath: TID SLEEPING MODE ENABLED\n");
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
printk("ath: ATH9K HMAC ENABLED\n");
|
||||
#endif
|
||||
if (reg->country_code == CTRY_DEFAULT) {
|
||||
country = NULL;
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include <linux/net.h>
|
||||
#include <net/regulatory.h>
|
||||
|
||||
#define TID_SLEEPING
|
||||
|
||||
/**
|
||||
* DOC: Introduction
|
||||
@ -2410,7 +2409,7 @@ struct cfg80211_ops {
|
||||
int (*channel_switch)(struct wiphy *wiphy,
|
||||
struct net_device *dev,
|
||||
struct cfg80211_csa_settings *params);
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
int (*tid_sleeping)(struct wiphy *wiphy, struct net_device *dev,
|
||||
char * tid_sleep_data_ptr, u8 tid_sleep_data_len);
|
||||
#endif
|
||||
|
@ -22,8 +22,6 @@
|
||||
#include <net/cfg80211.h>
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
#define TID_SLEEPING
|
||||
|
||||
/**
|
||||
* DOC: Introduction
|
||||
*
|
||||
@ -2870,7 +2868,7 @@ struct ieee80211_ops {
|
||||
void (*channel_switch_beacon)(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif,
|
||||
struct cfg80211_chan_def *chandef);
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
int (*set_tid_sleep_mode)(char * tid_sleep_data_ptr,
|
||||
u8 tid_sleep_data_len);
|
||||
#endif
|
||||
|
@ -28,7 +28,6 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
#define NL80211_GENL_NAME "nl80211"
|
||||
#define TID_SLEEPING
|
||||
|
||||
/**
|
||||
* DOC: Station handling
|
||||
@ -686,6 +685,10 @@
|
||||
* width). %NL80211_ATTR_CH_SWITCH_BLOCK_TX may be supplied to inform
|
||||
* other station that transmission must be blocked until the channel
|
||||
* switch is complete.
|
||||
*
|
||||
* @NL80211_CMD_SET_TID_SLEEP: set the power save mode of a single TID
|
||||
* of a distinct STA.
|
||||
*
|
||||
*
|
||||
* @NL80211_CMD_MAX: highest used command number
|
||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||
@ -855,7 +858,9 @@ enum nl80211_commands {
|
||||
NL80211_CMD_CHANNEL_SWITCH,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
NL80211_CMD_SET_TID_SLEEP,
|
||||
#endif
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
__NL80211_CMD_AFTER_LAST,
|
||||
NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1
|
||||
@ -1497,8 +1502,8 @@ enum nl80211_commands {
|
||||
* @NL80211_ATTR_RXMGMT_FLAGS: flags for nl80211_send_mgmt(), u32.
|
||||
* As specified in the &enum nl80211_rxmgmt_flags.
|
||||
*
|
||||
* @NL80211_ATTR_TID_SLEEP_CTRL: change the power save mode of a single TID
|
||||
* of a distinct STA. (TID_SLEEPING)
|
||||
* @NL80211_ATTR_TID_SLEEP: payload for changing the power save mode of
|
||||
* a single TID of a distinct STA. (TID_SLEEPING)
|
||||
*
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
@ -1812,9 +1817,8 @@ enum nl80211_attrs {
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
NL80211_ATTR_TID_SLEEP_CTRL,
|
||||
NL80211_ATTR_TID_SLEEP_CTRL_DATA,
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
NL80211_ATTR_TID_SLEEP,
|
||||
#endif
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
|
@ -21,8 +21,6 @@
|
||||
#include "rate.h"
|
||||
#include "mesh.h"
|
||||
|
||||
#define TID_SLEEPING
|
||||
|
||||
static struct wireless_dev *ieee80211_add_iface(struct wiphy *wiphy,
|
||||
const char *name,
|
||||
enum nl80211_iftype type,
|
||||
@ -1458,7 +1456,7 @@ static int ieee80211_del_station(struct wiphy *wiphy, struct net_device *dev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
static int ieee80211_tid_sleeping(struct wiphy *wiphy,
|
||||
struct net_device *dev, char * tid_sleep_data_ptr,
|
||||
u8 tid_sleep_data_len)
|
||||
@ -3701,7 +3699,7 @@ struct cfg80211_ops mac80211_config_ops = {
|
||||
.get_channel = ieee80211_cfg_get_channel,
|
||||
.start_radar_detection = ieee80211_start_radar_detection,
|
||||
.channel_switch = ieee80211_channel_switch,
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
.tid_sleeping = ieee80211_tid_sleeping,
|
||||
#endif
|
||||
};
|
||||
|
@ -9,8 +9,6 @@
|
||||
#include "ieee80211_i.h"
|
||||
#include "trace.h"
|
||||
|
||||
#define TID_SLEEPING
|
||||
|
||||
static inline void check_sdata_in_driver(struct ieee80211_sub_if_data *sdata)
|
||||
{
|
||||
WARN(!(sdata->flags & IEEE80211_SDATA_IN_DRIVER),
|
||||
|
@ -26,8 +26,6 @@
|
||||
#include "reg.h"
|
||||
#include "rdev-ops.h"
|
||||
|
||||
#define TID_SLEEPING
|
||||
|
||||
static int nl80211_crypto_settings(struct cfg80211_registered_device *rdev,
|
||||
struct genl_info *info,
|
||||
struct cfg80211_crypto_settings *settings,
|
||||
@ -3945,15 +3943,15 @@ static int nl80211_tid_sleeping(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
tid_sleep_data_len = 0;
|
||||
tid_sleep_data_ptr = 0;
|
||||
if (info->attrs[NL80211_ATTR_TID_SLEEP_CTRL_DATA]) {
|
||||
if (info->attrs[NL80211_ATTR_TID_SLEEP]) {
|
||||
tid_sleep_data_ptr =
|
||||
nla_data(info->attrs[NL80211_ATTR_TID_SLEEP_CTRL_DATA]);
|
||||
nla_data(info->attrs[NL80211_ATTR_TID_SLEEP]);
|
||||
tid_sleep_data_len =
|
||||
nla_len(info->attrs[NL80211_ATTR_TID_SLEEP_CTRL_DATA]);
|
||||
nla_len(info->attrs[NL80211_ATTR_TID_SLEEP]);
|
||||
}
|
||||
else
|
||||
{
|
||||
printk("No data supplied for NL80211_ATTR_TID_SLEEP_CTRL\n");
|
||||
printk("No data supplied for NL80211_ATTR_TID_SLEEP\n");
|
||||
}
|
||||
|
||||
switch (dev->ieee80211_ptr->iftype) {
|
||||
@ -9573,7 +9571,7 @@ static struct genl_ops nl80211_ops[] = {
|
||||
},
|
||||
#ifdef TID_SLEEPING
|
||||
{
|
||||
.cmd = NL80211_ATTR_TID_SLEEP_CTRL,
|
||||
.cmd = NL80211_CMD_TID_SLEEP,
|
||||
.doit = nl80211_tid_sleeping,
|
||||
.dumpit = nl80211_dump_tid_sleeping,
|
||||
.policy = nl80211_policy,
|
||||
|
@ -1,8 +1,6 @@
|
||||
#ifndef __CFG80211_RDEV_OPS
|
||||
#define __CFG80211_RDEV_OPS
|
||||
|
||||
#define TID_SLEEPING
|
||||
|
||||
#include <linux/rtnetlink.h>
|
||||
#include <net/cfg80211.h>
|
||||
#include "core.h"
|
||||
@ -200,7 +198,7 @@ static inline int rdev_change_station(struct cfg80211_registered_device *rdev,
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef TID_SLEEPING
|
||||
#ifdef CPTCFG_ATH9K_TID_SLEEPING
|
||||
static inline int rdev_tid_sleeping(struct cfg80211_registered_device *rdev,
|
||||
struct net_device *dev, char * tid_sleep_data_ptr, u8 tid_sleep_data_len)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user