12 Feb, 2013
18 commits
-
There are only a few drivers that use HW scan, and
all of those don't need a non-idle transition before
starting the scan -- some don't even care about idle
at all. Remove the flag and code associated with it.The only driver that really actually needed this is
wl1251 and it can just do it itself in the hw_scan
callback -- implement that.Acked-by: Luciano Coelho
Signed-off-by: Johannes Berg -
The functions were added for some sort of Bluetooth
coexistence, but aren't used, so remove them again.Reviewed-by: Luciano Coelho
Signed-off-by: Johannes Berg -
In order to be able to predict the next DTIM TBTT
in the driver, add the ability to use timing data
from beacons only with the new hardware flag
IEEE80211_HW_TIMING_BEACON_ONLY and the BSS info
value sync_dtim_count which is only valid if the
timing data came from a beacon. The data can only
come from a beacon, and if no beacon was received
before association it is updated later together
with the DTIM count notification.Signed-off-by: Johannes Berg
-
While technically the TSF isn't an IE, it can be
necessary to distinguish between the TSF from a
beacon and a probe response, in particular in
order to know the next DTIM TBTT, as not all APs
are spec compliant wrt. TSF==0 being a DTIM TBTT
and thus the DTIM count needs to be taken into
account as well.To allow this, move the TSF into the IE struct
so it can be known whence it came.Signed-off-by: Johannes Berg
-
There's no way scan BSS IEs can be NULL as even
if the allocation fails the frame is discarded.
Remove some code checking for this and document
that it is always non-NULL.Signed-off-by: Johannes Berg
-
Add debugfs driver callbacks so drivers can add
debugfs entries for interfaces. Note that they
_must_ remove the entries again as add/remove in
the driver doesn't correspond to add/remove in
debugfs; the former is up/down while the latter
is netdev create/destroy.Signed-off-by: Alexander Bondar
Reviewed-by: Emmanuel Grumbach
Signed-off-by: Johannes Berg -
Currently, cfg80211 will copy beacon IEs from a previously
received hidden SSID beacon to a probe response entry, if
that entry is created after the beacon entry. However, if
it is the other way around, or if the beacon is updated,
such changes aren't propagated.Fix this by tracking the relation between the probe
response and beacon BSS structs in this case.In case drivers have private data stored in a BSS struct
and need access to such data from a beacon entry, cfg80211
now provides the hidden_beacon_bss pointer from the probe
response entry to the beacon entry.Signed-off-by: Johannes Berg
-
Currently the code assigns channel contexts to VLANs
(for use by the TX/RX code) when the AP master gets
its channel context assigned. This works fine, but
in the upcoming radar detection work the VLANs don't
require a channel context (during radar detection)
and assigning one to them anyway causes issues with
locking and also inconsistencies -- a VLAN interface
that is added before radar detection would get the
channel context, while one added during it wouldn't.Fix these issues moving the channel context copying
to a new explicit operation that will not be used
in the radar detection code.Acked-by: Simon Wunderlich
Signed-off-by: Johannes Berg -
The chandef tracing writes center_freq1 twice, so
that it is always 0 (no driver supports 80+80 yet)
and leaves center_freq2 unset. Fix this mistake.Signed-off-by: Johannes Berg
-
The messages currently refer to probe request probes,
but on some devices null data packets will be used
instead. Make the messages more generic.Signed-off-by: Johannes Berg
-
This patch fixes the problem which was discussed in
"mac80211: Fix PN corruption in case of multiple
virtual interface" [1].Amit Shakya reported a serious issue with my patch:
mac80211: serialize rx path workers" [2]:In case, ieee80211_rx_handlers processing is going on
for skbs received on one vif and at the same time, rx
aggregation reorder timer expires on another vif then
sta_rx_agg_reorder_timer_expired is invoked and it will
push skbs into the single queue (local->rx_skb_queue).ieee80211_rx_handlers in the while loop assumes that
the skbs are for the same sdata and sta. This assumption
doesn't hold good in this scenario and the PN gets
corrupted by PN received in other vif's skb, causing
traffic to stop due to PN mismatch."[1] Message-Id: http://mid.gmane.org/201302041844.44436.chunkeey@googlemail.com
[2] Commit-Id: 24a8fdad35835e8d71f7Reported-by: Amit Shakya
Signed-off-by: Christian Lamparter
Signed-off-by: Johannes Berg -
There seems to be no reason, why it has to be limited to 2.4 GHz.
Signed-off-by: Emanuel Taube
[remove 'local' variable]
Signed-off-by: Johannes Berg -
The patch "mac80211: clean up mesh sta allocation warning"
moved some mesh initialization into a path which is only
called when the kernel handles peering. This causes a hang
when mac80211 tries to clean up a userspace-allocated
station entry and delete a timer which has never been
initialized.To avoid this, only do any mesh sta peering teardown if
the kernel is actually handling it.The same is true when quiescing before suspend.
Signed-off-by: Thomas Pedersen
Signed-off-by: Johannes Berg -
Fix most kernel-doc warnings, for some reason it
seems to have issues with __aligned, don't remove
the documentation entries it considers to be in
excess due to that.Reported-by: Fengguang Wu
Signed-off-by: Johannes Berg -
This prepares for using the spinlock instead of krefs
which is needed in the next patch to track the refs
of combined BSSes correctly.Acked-by: Bing Zhao [mwifiex]
Signed-off-by: Johannes Berg -
Radar is not required for P2P_DEVICE interfaces.
Signed-off-by: Ilan Peer
Signed-off-by: Johannes Berg -
When a driver requests a specific regulatory domain after cfg80211 already
has one, a struct ieee80211_regdomain is leaked.Reported-by: Larry Finger
Tested-by: Larry Finger
Signed-off-by: Larry Finger
Signed-off-by: Johannes Berg
09 Feb, 2013
22 commits
-
A new model of the RTL8188CUS has appeared.
Reported-and-tested-by: Thomas Rosenkrantz
Signed-off-by: Larry Finger
Cc: Stable
Signed-off-by: John W. Linville -
With this patch off-channel action frames can be transmitted. This
is needed for p2p when two devices need to find each other while
using different social channels.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Reviewed-by: Piotr Haber
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Currently netdev gets created possibly after returning from
add_virtual_intf. This is because add_if is handled asynch. This
is wrong and netdev should be up before returning.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Reviewed-by: Piotr Haber
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Remove some unused defines and comments. Also use same define
for IE length.Reviewed-by: Arend Van Spriel
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
When adding a virtual interface cfg80211 already has taken the
rtnl_lock. So when the netdevice is being registered the
register_netdevice should be used instead of register_netdev.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Reviewed-by: Piotr Haber
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Currently there is a sleep after disconnect on del_station. This
timeout is not needed (anymore) and is causing problems with p2p
setup, because remote side disconnects then supplicant will do
del_station and while it waits the 400ms remote side will already
reconnect and that is something supplicant cant handle.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Reviewed-by: Piotr Haber
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Wiphy object holds information about possible netdev
combinations which can be supported. This needs updating for
p2p device. Also p2p device netdev has wrong 80211 iftype.
Limit the change interface support to match the netdev
configuration/combination possibilities.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Reviewed-by: Piotr Haber
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
All interfaces for ifidx is 0 are created ahead and therefor
double registrations for not only bssidx 0, but ifidx 0 should
be ignored in brcfm_add_if.Reviewed-by: Arend Van Spriel
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Reviewed-by: Arend Van Spriel
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Use the stored role in wdev struct to determine AP/GO role. This
simplifies code. Fix stop_ap for GO role.Reviewed-by: Arend Van Spriel
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Add module variable with which a p2p0 netdev can be created. This
netdev can be used by wpa-supplicant to configure and set up the
p2p client/GO.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
cfg80211 api change needs to be applied. this change will be squashed
with introducing commit:commit 68751daec95b07a74b18aa22b2f9c196991dbe81
Author: Hante Meuleman
Date: Mon Nov 26 12:21:27 2012 +0100brcmfmac: add support for P2P listen mode.
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
In some rare situations the wpa_supplicant can lock up on a remain
on channel command. Use actual cookies for the remain on channel
related commands and allow for additional remain on channel while
still having one set.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
With this patch it is possible to send action frames.
Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Once wpa_supplicant has registered for P2P action frames all received
action frames for the device are passed up to cfg80211.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
With this update it is possible to create an P2P go. Handle the
p2p go role in creation and the update beacon from cfg80211. Also
store primary bss in global struct. Needed to map cfg device
back to primary device.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
In preparation of p2p connections update the sta connect setup and
handling routines. Use join iovar and bsscfg commands where
applicable. Handle assoc ind per bsscfg (vif) and generalize
vndr ie setup to support assoc IEs and support all setup types,
e.g. sta, ap and p2p.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Mask is OR-ed with value in case of deregister. Should
be AND-ed.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Add support for changing existing interface into p2p go
interface.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Improve exception handling. Store and removed created vif
in cfg.p2p.bss array. Fix big endian bug. Fix msec jiffies bug.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville -
Add support for scanning on non primary netdev (p2p) and
simplify the p2p scanning preparation.Reviewed-by: Arend Van Spriel
Reviewed-by: Pieter-Paul Giesberts
Signed-off-by: Hante Meuleman
Signed-off-by: Arend van Spriel
Signed-off-by: John W. Linville