10 Nov, 2011
17 commits
-
The 802.1X EAPOL handshake hostapd does requires
knowing whether the frame was ack'ed by the peer.
Currently, we fudge this pretty badly by not even
transmitting the frame as a normal data frame but
injecting it with radiotap and getting the status
out of radiotap monitor as well. This is rather
complex, confuses users (mon.wlan0 presence) and
doesn't work with all hardware.To get rid of that hack, introduce a real wifi TX
status option for data frame transmissions.This works similar to the existing TX timestamping
in that it reflects the SKB back to the socket's
error queue with a SCM_WIFI_STATUS cmsg that has
an int indicating ACK status (0/1).Since it is possible that at some point we will
want to have TX timestamping and wifi status in a
single errqueue SKB (there's little point in not
doing that), redefine SO_EE_ORIGIN_TIMESTAMPING
to SO_EE_ORIGIN_TXSTATUS which can collect more
than just the timestamp; keep the old constant
as an alias of course. Currently the internal APIs
don't make that possible, but it wouldn't be hard
to split them up in a way that makes it possible.Thanks to Neil Horman for helping me figure out
the functions that add the control messages.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Since local->tmp_channel is always NULL in one branch, some code paths
will newer be taken in that branch, so remove them.Signed-off-by: Stanislaw Gruszka
Reviewed-by: Johannes Berg
Signed-off-by: John W. Linville -
Signed-off-by: Stanislaw Gruszka
Reviewed-by: Johannes Berg
Signed-off-by: John W. Linville -
Signed-off-by: Stanislaw Gruszka
Reviewed-by: Johannes Berg
Signed-off-by: John W. Linville -
Janusz reported that the EOSP bit in mac80211 was
getting cleared all the time. I had not found this
since I tested uAPSD with a device that always set
the bit itself. Preserve the bit when building the
QoS header.Reported-by: Janusz Dziedzic
Tested-by: Janusz Dziedzic
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
WPI-SMS4 uses 16-octet PN field, so we need to allow longer key
sequence values to be configured.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
This value is used for WPI-SMS4 in ISO/IEC JTC 1 N 9880.
Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
The vif might be busy while reconfiguring
(e.g. associated), so indicate BSS_CHANGED_IDLE as well.Reported-by: Eyal Shapira
Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville -
Looks like no one uses it.
Signed-off-by: Stanislav Yakovlev
Signed-off-by: John W. Linville -
Based on a quick test, TDLS seemed to be working fine with ath9k, so
let's start advertising support for this in the driver.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
The pointer returned by cfg80211_inform_bss is a referenced
struct. The orinoco driver does not need to keep the struct, so
we just release it.Signed-off-by: David Kilroy
Signed-off-by: John W. Linville -
Patch fixes rndis_wlan to release referenced BSS structure returned by
cfg80211_inform_bss().Signed-off-by: Jussi Kivilinna
Signed-off-by: John W. Linville -
This function returns a referenced BSS struct
(or NULL), annotate with __must_check. It seems
that a lot of drivers get this completely wrong
and leak all BSS structs as a result.Reported-by: Adam Mikuta
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
802.11n-2009 extends the supported rates element with a
magic value which can be used to prevent legacy stations
from joining the BSS.However, this magic value is not a rate like the others
and the magic can simply be ignored/skipped at this late
stage.Signed-off-by: Christian Lamparter ---
Signed-off-by: John W. Linville -
Signed-off-by: John W. Linville
-
Conflicts:
net/bluetooth/l2cap_sock.c
net/bluetooth/mgmt.c
09 Nov, 2011
23 commits
-
Now that pending commands are hci_dev specific there's no need to check
whether a command matches hci_dev when iterating through them.Signed-off-by: Johan Hedberg
Acked-by: Marcel Holtmann
Signed-off-by: Gustavo F. Padovan -
For consistency the integer type should be u16 and not __u16.
Signed-off-by: Johan Hedberg
Acked-by: Marcel Holtmann
Signed-off-by: Gustavo F. Padovan -
The cancel_delayed_work_sync function should not be used if we hold any
locks. Luckily all places where this is the case it is also safe to use
the non-sync version.Signed-off-by: Johan Hedberg
Acked-by: Marcel Holtmann
Signed-off-by: Gustavo F. Padovan -
Now that the pending commands are within struct hci_dev we can properly
control access to them throught the hci_dev locking mechanism.Signed-off-by: Johan Hedberg
Acked-by: Marcel Holtmann
Signed-off-by: Gustavo F. Padovan -
This patch moves the pending management command list (previously global
to mgmt.c) into struct hci_dev. This makes it possible to do proper
locking when accessing it (through the existing hci_dev locks) and
thereby avoid race conditions.Signed-off-by: Johan Hedberg
Acked-by: Marcel Holtmann
Signed-off-by: Gustavo F. Padovan -
The current global pending command list in mgmt.c is racy. Possibly the
simplest way to fix it is to have per-hci dev lists instead of a global
one (all commands that need a pending struct are hci_dev specific).
This way the list can be protected using the already existing per-hci
dev lock. To enable this refactoring the first thing that needs to be
done is to ensure that the mgmt functions have access to the hci_dev
struct (instead of just the dev id).Signed-off-by: Johan Hedberg
Acked-by: Marcel Holtmann
Signed-off-by: Gustavo F. Padovan -
Signed-off-by: Thomas Pedersen
Signed-off-by: Ashok Nagarajan
Signed-off-by: John W. Linville -
Set peer's HT capabilities, and disallow peering if we're on a different
channel type.Signed-off-by: Thomas Pedersen
Signed-off-by: Ashok Nagarajan
Signed-off-by: John W. Linville -
Signed-off-by: Thomas Pedersen
Signed-off-by: Ashok Nagarajan
Signed-off-by: John W. Linville -
Some refactoring for IBSS HT.
Move HT info and capability IEs building code into separate functions.
Add function to get the channel type from an HT info IE.
Signed-off-by: Alexander Simon
Signed-off-by: John W. Linville -
Remove most references to magic numbers, save a few bytes and hopefully
improve readability.Signed-off-by: Thomas Pedersen
Signed-off-by: John W. Linville -
The initval tables are updated as per system team input to improve
rx performance and power accuracy at 5GHz.Signed-off-by: Rajkumar Manoharan
Signed-off-by: John W. Linville -
AR9462 chips have the capabilities to provoide bluetooth
profile information. For non-AR9462 btcoex chips, the BT
priority traffic was identified by periodically polling
the respective registers and updated dutycycle, stomptype,
etc. As AR9462 chip offers the BT profile informations,
let us make use of that to update aggregation limit,
dutycycle, stomptype and wieghtages.Signed-off-by: Rajkumar Manoharan
Signed-off-by: John W. Linville -
To improve CCK sensitivity for AR9462 chips, performing
spur mitigation at 2440, 2464 frequencies alone is sufficient.Signed-off-by: Rajkumar Manoharan
Signed-off-by: John W. Linville -
Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
Some cards can generate CCMP IVs in HW, but require the space for the IV
to be pre-allocated in the frame at the correct offset. Add a key flag
that allows us to achieve this.Signed-off-by: Arik Nemtsov
Signed-off-by: John W. Linville -
genlmsg_end() cannot fail, it just returns the length
of the message. Thus, error handling for it is useless.
While removing it, I also noticed a useless variable
and removed this it as well.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
The buffer endianess conversion functions in srom.c had a size
argument giving number of bytes but the function converts words.
Providing the number of words to the function is more sensible
so that is done in this patch.Reported-by: Pavel Roskin
Reported-by: Larry Finger
Reviewed-by: Pieter-Paul Giesberts
Reviewed-by: Alwin Beukers
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
The usage of state decrease readability. Optimize the code flow to
get rid of itReviewed-by: Roland Vossen
Reviewed-by: Arend van Spriel
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Make a proper use of private data area of net device by storing
interface related data structure instead of generic driver dataReported-by: Johannes Berg
Reviewed-by: Roland Vossen
Reviewed-by: Arend van Spriel
Signed-off-by: Franky (Zhenhui) Lin
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Use brcmf_add_if for primary and virtual net device interfaces. This
is part of the net device interface clean up for fullmac.Reviewed-by: Roland Vossen
Reviewed-by: Arend van Spriel
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
In the receive path the frames are obtained from the dma using
multiple sk_buff that were linked using the skb next pointer.
This has been changed and it now used sk_buff lists and skb_queue
functions instead.Reported-by: Johannes Berg
Reviewed-by: Pieter-Paul Giesberts
Reviewed-by: Alwin Beukers
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
The functions ltoh16_buf() and htol16_buf() have been renamed
to le16_to_cpu_buf() and cpu_to_le16_buf() for more clarity
what it does.Reported-by: Joe Perches
Reported-by: Larry Finger
Reviewed-by: Pieter-Paul Giesberts
Reviewed-by: Alwin Beukers
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville