13 Jan, 2012
1 commit
-
commit a9b3cd7f32 (rcu: convert uses of rcu_assign_pointer(x, NULL) to
RCU_INIT_POINTER) did a lot of incorrect changes, since it did a
complete conversion of rcu_assign_pointer(x, y) to RCU_INIT_POINTER(x,
y).We miss needed barriers, even on x86, when y is not NULL.
Signed-off-by: Eric Dumazet
CC: Stephen Hemminger
CC: Paul E. McKenney
Signed-off-by: David S. Miller
20 Dec, 2011
1 commit
-
If station info contains a beacon loss count, return
it to userspace.Signed-off-by: Paul Stewart
Signed-off-by: John W. Linville
16 Dec, 2011
4 commits
-
Station entries can have various states, the most
important ones being auth, assoc and authorized.
This patch prepares us for telling the driver about
these states, we don't want to confuse drivers with
strange transitions, so with this we enforce that
they move in the right order between them (back and
forth); some transitions might happen before the
driver even knows about the station, but at least
runtime transitions will be ordered correctly.As a consequence, IBSS and MESH stations will now
have the ASSOC flag set (so they can transition to
AUTHORIZED), and we can get rid of a special case
in TX processing.When freeing a station, unwind the state so that
other parts of the code (or drivers later) can rely
on the transitions.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
There's no need to use RCU here, we can just lock
the station mutex instead. This allows the code
to sleep, which is necessary for later patches.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
This is already checked in cfg80211, so no need
to repeat the checks here.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
The nl80211 station handling code is a bit messy
and doesn't do a lot of validation. It seems like
this could be an issue for drivers that don't use
mac80211 to validate everything.As cfg80211 doesn't keep station state, move the
validation of allowing supported_rates to change
for TDLS only in station mode to mac80211.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
29 Nov, 2011
4 commits
-
As per 802.11mb 13.9.11.3
Signed-off-by: Thomas Pedersen
Signed-off-by: Javier Cardona
Signed-off-by: John W. Linville -
Signed-off-by: Chun-Yeow Yeoh
Signed-off-by: Thomas Pedersen
Signed-off-by: John W. Linville -
This fixes a sparse warning:
cfg.c:502:13: warning: incorrect type in assignment (different address spaces)
cfg.c:502:13: expected struct sk_buff *old
cfg.c:502:13: got struct sk_buff [noderef] *probe_respReported-by: Johannes Berg
Signed-off-by: Arik Nemtsov
Signed-off-by: John W. Linville -
This patch contains the processing changes in mac80211.
Signed-off-by: Simon Wunderlich
Signed-off-by: Mathias Kretschmer
Signed-off-by: John W. Linville
22 Nov, 2011
1 commit
-
This implements ht-cap over-rides for mac80211 drivers.
HT may be disabled, making an /a/b/g/n station act like an
a/b/g station. HT40 may be disabled forcing the station to
be HT20 even if the AP and local hardware support HT40.MAX-AMSDU may be disabled.
AMPDU-Density may be increased.
AMPDU-Factor may be decreased.This has been successfully tested with ath9k using patched
wpa_supplicant and iw.Signed-off-by: Ben Greear
Signed-off-by: John W. Linville
12 Nov, 2011
4 commits
-
The warning is spurious -- if !sta we always exit without using the
unassigned qos variable, and if we do find the sta we assign it.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Allow setting a probe response template for an interface operating in
AP mode. Low level drivers are notified about changes in the probe
response template and are able to retrieve a copy of the current probe
response. This data can, for example, be uploaded to hardware as a
template.Signed-off-by: Guy Eilam
Signed-off-by: Arik Nemtsov
Signed-off-by: John W. Linville -
Just add API to get the channel & report it. Trivial really.
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Initialize rate control algorithms only when supported rates are known
for a TDLS peer sta. Direct Tx between peers is not allowed before the
link is enabled. In turn, this only occurs after a change_station()
call that sets supported rates.Signed-off-by: Arik Nemtsov
Signed-off-by: John W. Linville
10 Nov, 2011
5 commits
-
Signed-off-by: Helmut Schaa
Signed-off-by: John W. Linville -
For probe responses it can be useful to not wait for ACK to
avoid retransmissions if the station that sent the probe is
already on the next channel, so allow userspace to request
not caring about the ACK with a new nl80211 flag.Since mac80211 needs to be updated for the new function
prototype anyway implement it right away -- it's just a
few lines of code.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Support probing clients with null data frames
in AP mode.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
This will allow us to support dynamic WEP with 802.1X
properly in mac80211 by not encrypting outgoing and
accepting unencrypted incoming frames.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
09 Nov, 2011
1 commit
-
There's an extra pair of parentheses here that
is simply confusing because it implies a nesting
that doesn't actually exist. Just remove it.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
03 Nov, 2011
1 commit
-
We need to verify whether the command is successful before allocating
the station entry to avoid extra processing. This also fixes a memory
leak on the error path.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville
18 Oct, 2011
1 commit
15 Oct, 2011
1 commit
-
Only station flags that are already defined in nl80211 are added for
now.Signed-off-by: Helmut Schaa
Signed-off-by: John W. Linville
12 Oct, 2011
2 commits
-
When I introduced in-kernel off-channel TX I
introduced a bug -- the work can't be canceled
again because the code clear the skb pointer.
Fix this by keeping track separately of whether
TX status has already been reported.Cc: stable@kernel.org [2.6.38+]
Reported-by: Jouni Malinen
Tested-by: Jouni Malinen
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Conflicts:
Documentation/feature-removal-schedule.txt
01 Oct, 2011
6 commits
-
The flaglock in struct sta_info has long been
something that I wanted to get rid of, this
finally does the conversion to atomic bitops.The conversion itself is straight-forward in
most places, a few things needed to change a
bit since we can no longer use multiple bits
at the same time.On x86-64, this is a fairly significant code
size reduction:
text data bss dec hex
427861 23648 1008 452517 6e7a5 before
425383 23648 976 450007 6ddd7 afterSigned-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Mark the STA entries of enabled TDLS peers with a new "peer authorized"
flag.During link setup, allow special TDLS setup frames through the AP, but
otherwise drop all packets destined to the peer. This is required by the
TDLS (802.11z) specification in order to prevent reordering of MSDUs
between the AP and direct paths.When setup completes and the peer is authorized, send data directly,
bypassing the AP.In the Rx path, allow data to be received directly from TDLS peers.
Signed-off-by: Arik Nemtsov
Cc: Kalyan C Gaddam
Signed-off-by: John W. Linville -
When adding a TDLS peer STA, mark it with a new flag in both nl80211 and
mac80211. Before adding a peer, make sure the wiphy supports TDLS and
our operating mode is appropriate (managed).In addition, make sure all peers are removed on disassociation.
A TDLS peer is first added just before link setup is initiated. In later
setup stages we have more info about peer supported rates, capabilities,
etc. This info is reported via nl80211_set_station().Signed-off-by: Arik Nemtsov
Cc: Kalyan C Gaddam
Signed-off-by: John W. Linville -
Register and implement the TDLS cfg80211 callback functions.
Internally prepare and send TDLS management frames. We incorporate
local STA capabilities and supported rates with extra IEs given by
usermode. The resulting packet is either encapsulated in a data frame,
or assembled as an action frame. It is transmitted either directly or
through the AP, as mandated by the TDLS specification.Declare support for the TDLS external setup wiphy capability. This
tells usermode to handle link setup and discovery on its own, and use the
kernel driver for sending TDLS mgmt packets.Signed-off-by: Arik Nemtsov
Cc: Kalyan C Gaddam
Signed-off-by: John W. Linville -
Currently, when hostapd sets the station as authorized
we also overwrite its uAPSD parameter. This obviously
leads to buggy behaviour (later, with my patches that
actually add uAPSD support). To fix this, only apply
those parameters if they were actually set in nl80211,
and to achieve that add a bitmap of things to apply.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Conflicts:
drivers/net/wireless/iwlwifi/iwl-pci.c
drivers/net/wireless/wl12xx/main.c
28 Sep, 2011
4 commits
-
save and configure tx param per sdata, rather than
per hardware.Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville -
tx params are currently configured per hw, although they
should be configured per interface.Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville -
Whenever the scan request or tx_mgmt is requesting not to
use CCK rate for managemet frames through
NL80211_ATTR_TX_NO_CCK_RATE attribute, then mac80211 should
select appropriate least non-CCK rate. This could help to
send P2P probes and P2P action frames at non 11b rates
without diabling 11b rates globally.Cc: Jouni Malinen
Signed-off-by: Rajkumar Manoharan
Signed-off-by: John W. Linville -
Add a new nl80211 attribute to specify whether to send the management
frames in CCK rate or not. As of now the wpa_supplicant is disabling
CCK rate at P2P init itself. So this patch helps to send P2P probe
request/probe response/action frames being sent at non CCK rate in 2GHz
without disabling 11b rates.This attribute is used with NL80211_CMD_TRIGGER_SCAN and
NL80211_CMD_FRAME commands to disable CCK rate for management frame
transmission.Cc: Jouni Malinen
Signed-off-by: Rajkumar Manoharan
Signed-off-by: John W. Linville
20 Sep, 2011
1 commit
15 Sep, 2011
1 commit
-
Set SSID information from nl80211 beacon parameters. Advertise changes
in SSID to low level drivers.Signed-off-by: Arik Nemtsov
Signed-off-by: John W. Linville
14 Sep, 2011
1 commit
-
When an interface is removed, the mesh paths associated with it should
also be removed.This fixes a bug we observed when reloading a device driver module
without reloading mac80211s.Signed-off-by: Javier Cardona
Signed-off-by: John W. Linville
30 Aug, 2011
1 commit
-
…wireless-next into for-davem