23 Apr, 2009
2 commits
-
Trying to separate header files into net/wireless.h and
net/cfg80211.h has been a source of confusion. Remove
net/wireless.h (because there also is the linux/wireless.h)
and subsume everything into net/cfg80211.h -- except the
definitions for regulatory structures which get moved to
a new header net/regulatory.h.The "new" net/cfg80211.h is now divided into sections.
There are no real changes in this patch but code shuffling
and some very minor documentation fixes.I have also, to make things reflect reality, put in a
copyright line for Luis to net/regulatory.h since that
is probably exclusively written by him but was formerly
in a file that only had my copyright line.Signed-off-by: Johannes Berg
Cc: Luis R. Rodriguez
Signed-off-by: John W. Linville -
It really belongs into that file since it is only relevant
for managed mode. Move 1:1, not even whitespace changes,
but make it static and remove from header file.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
28 Feb, 2009
2 commits
-
The AP can switch dynamically between 20/40 Mhz channel width,
in which case we switch the local operating channel, but the
rate control algorithm is not notified. This patch adds a new callback
to indicate such changes to the RC algorithm.Currently, HT channel width change is notified, but this callback
can be used to indicate any new requirements that might come up later on.Signed-off-by: Sujith
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
This patch splits out the ibss code and data from managed (station) mode.
The reason to do this is to better separate the state machines, and have
the code be contained better so it gets easier to determine what exactly
a given change will affect, that in turn makes it easier to understand.This is quite some churn, especially because I split sdata->u.sta into
sdata->u.mgd and sdata->u.ibss, but I think it's easier to maintain that
way. I've also shuffled around some code -- null function sending is only
applicable to managed interfaces so put that into that file, some other
functions are needed from various places so put them into util, and also
rearranged the prototypes in ieee80211_i.h accordingly.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
14 Feb, 2009
4 commits
-
Essentially consisting of passing the sta_info pointer around,
instead of repeatedly doing hash lookups.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
The sta_info pointer can very well be passed to
ieee80211_sta_tear_down_BA_sessions, this will
later allow us to pass it through even further.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
We can only support aggregation on AP/STA right now. HT isn't defined
for IBSS, WDS or MESH. In the WDS/MESH cases it's not clear what to
put into the IBSS field, and we don't handle that in the code at all.
Also fix the code to handle VLAN correctly.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Create two new files, agg-tx.c and agg-rx.c to make it clearer
which code is common (ht.c) and which is specific (agg-*.c).Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
30 Jan, 2009
4 commits
-
Transform calls kmalloc/memset to a single kcalloc.
Signed-off-by: Wei Yongjun
Signed-off-by: John W. Linville -
When sending out Action frames, allow ieee80211_tx_skb() to send them
without enforcing do_not_encrypt. These frames will be encrypted if
MFP has been negotiated.Signed-off-by: Jouni Malinen
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
The channel_type really doesn't need to be the only member in
a new structure, so remove the struct. Additionally, remove
the _CONF_CHANGE_HT flag and use _CONF_CHANGE_CHANNEL when the
channel type changes, since that's enough of a change to require
reprogramming the hardware anyway.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
We can simply use conf_is_ht() check where needed.
Signed-off-by: Luis R. Rodriguez
Acked-by: Johannes Berg
Signed-off-by: John W. Linville
13 Jan, 2009
1 commit
-
net/mac80211/ht.c: In function ‘ieee80211_start_tx_ba_session’:
net/mac80211/ht.c:472: warning: ‘ret’ may be used uninitialized in this functionSigned-off-by: John W. Linville
20 Dec, 2008
1 commit
-
HT management is done differently for AP and STA modes, unify
to just the ->config() callback since HT is fundamentally a
PHY property and cannot be per-BSS.Rename enum nl80211_sec_chan_offset as nl80211_channel_type to denote
the channel type ( NO_HT, HT20, HT40+, HT40- ).Signed-off-by: Johannes Berg
Signed-off-by: Sujith
Signed-off-by: John W. Linville
26 Nov, 2008
1 commit
-
Signed-off-by: Sujith
Acked-by: Johannes Berg
Signed-off-by: John W. Linville
11 Nov, 2008
1 commit
-
Send a notification to the driver on succesful
reception of an ADDBA response, add IEEE80211_AMPDU_TX_RESUME
for this purpose.Signed-off-by: Sujith
Signed-off-by: John W. Linville
01 Nov, 2008
3 commits
-
Wireless HW without any dedicated queues for aggregation
do not need the ampdu_queues mechanism present right now
in mac80211. Since mac80211 is still incomplete wrt TX MQ
changes, do not allow aggregation sessions for drivers that
set ampdu_queues.This is only an interim hack until Intel fixes the requeue issue.
Signed-off-by: Sujith
Signed-off-by: Luis Rodriguez
Signed-off-by: John W. Linville -
The HT handling has the following deficiencies, which I've
(partially) fixed:
* it always uses the AP info even if there is no AP,
hence has no chance of working as an AP
* it pretends to be HW config, but really is per-BSS
* channel sanity checking is left to the drivers
* it generally lets the driver control too muchHT enabling is still wrong with this patch if you have more than
one virtual STA mode interface, but that never happens currently.
Once WDS, IBSS or AP/VLAN gets HT capabilities, it will also be
wrong, see the comment in ieee80211_enable_ht().Additionally, this fixes a number of bugs:
* mac80211: ieee80211_set_disassoc doesn't notify the driver any
more since the refactoring
* iwl-agn-rs: always uses the HT capabilities from the wrong stuff
mac80211 gives it rather than the actual peer STA
* ath9k: a number of bugs resulting from the broken HT APII'm not entirely happy with putting the HT capabilities into
struct ieee80211_sta as restricted to our own HT TX capabilities,
but I see no cleaner solution for now.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
This patch cleans up a number of things:
* the unusable definition of the HT capabilities/HT information
information elements
* variable names that are hard to understand
* mac80211: move ieee80211_handle_ht to ht.c and remove the unused
enable_ht parameter
* mac80211: fix bug with MCS rate 32 in ieee80211_handle_ht
* mac80211: fix bug with casting the result of ieee80211_bss_get_ie
to an information element _contents_ rather than the
whole element, add size checking (another out-of-bounds
access bug fixed!)
* mac80211: remove some unused return values in favour of BUG_ON
checking
* a few minor other thingsSigned-off-by: Johannes Berg
Signed-off-by: John W. Linville
28 Oct, 2008
1 commit
-
Also remove a few stray DECLARE_MAC_BUF that were no longer
used at all.Signed-off-by: Johannes Berg
Signed-off-by: David S. Miller
16 Sep, 2008
2 commits
-
This patch changes mac80211 to share some more data about
stations with drivers. Should help iwlwifi and ath9k when
they get around to updating, and might also help with
implementing rate control algorithms without internals.Signed-off-by: Johannes Berg
Cc: Sujith Manoharan
Signed-off-by: John W. Linville -
There's really no reason for mac80211 to be using its
own interface type defines. Use the nl80211 types and
simplify the configuration code a bit: there's no need
to translate them any more now.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
12 Sep, 2008
4 commits
-
The ieee80211_sta_tx function isn't MLME code any more,
it's getting used by a lot of code. Move it to utils and
rename it to ieee80211_tx_skb.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
The aggregation handling isn't dependent on anything related to our
STA-mode implementation, and doesn't need to depend on it for frame
processing. This patch moves the relevant code to ht.c and adds a
hook in rx.c. For now, the relevant action frames are only processed
in STA/IBSS modes, but that's now something we can easily change.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Now that I've created ht.c, I can move the aggregation
code from main.c into it.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Some of the HT code in mlme.c is misplaced:
* constants/definitions belong to the ieee80211.h header
* code being used in other modes as well shouldn't be thereSigned-off-by: Johannes Berg
Signed-off-by: John W. Linville