01 Feb, 2019
1 commit
-
Since we now prevent regulatory restore during STA disconnect
if concurrent AP interfaces are active, we need to reschedule
this check when the AP state changes. This fixes never doing
a restore when an AP is the last interface to stop. Or to put
it another way: we need to re-check after anything we check
here changes.Cc: stable@vger.kernel.org
Fixes: 113f3aaa81bd ("cfg80211: Prevent regulatory restore during STA disconnect in concurrent interfaces")
Signed-off-by: Johannes Berg
29 Mar, 2018
1 commit
-
Signed-off-by: Denis Kenzior
Signed-off-by: Johannes Berg
02 Nov, 2017
1 commit
-
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.By default all files without license information are under the default
license of the kernel, which is GPL version 2.Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier. The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.How this work was done:
Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
- file had no licensing information it it.
- file was a */uapi/* one with no licensing information in it,
- file was a */uapi/* one with existing licensing information,Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode & Windriver) producing SPDX
tag:value files created by Philippe Ombredanne. Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed. Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.Criteria used to select files for SPDX license identifier tagging was:
- Files considered eligible had to be source code files.
- Make and config files were included as candidates if they contained >5
lines of source
- File already had some variant of a license header in it (even if
Reviewed-by: Philippe Ombredanne
Reviewed-by: Thomas Gleixner
Signed-off-by: Greg Kroah-Hartman
06 Mar, 2017
1 commit
-
DFS requirement for ETSI domain (section 4.7.1.4 in
ETSI EN 301 893 V1.8.1) is the only one which explicitly
states that once DFS channel is marked as available afer
the CAC, this channel will remain in available state even
moving to a different operating channel. But the same is
not explicitly stated in FCC DFS requirement. Also, Pre-CAC
requriements are not explicitly mentioned in FCC requirement.
Current implementation in keeping DFS channel in available
state is same as described in ETSI domain.For non-ETSI DFS domain, this patch gives a grace period of 2 seconds
since the completion of successful CAC before moving the channel's
DFS state to 'usable' from 'available' state. The same grace period
is checked against the channel's dfs_state_entered timestamp while
deciding if a DFS channel is available for operation. There is a new
radar event, NL80211_RADAR_PRE_CAC_EXPIRED, reported when DFS channel
is moved from available to usable state after the grace period. Also
make sure the DFS channel state is reset to usable once the beaconing
operation on that channel is brought down (like stop_ap, leave_ibss
and leave_mesh) in non-ETSI domain.Signed-off-by: Vasanthakumar Thiagarajan
Signed-off-by: Johannes Berg
06 May, 2014
1 commit
-
This exports a new cfg80211_stop_iface() function.
This is intended for driver internal interface
combination management and channel switching.Due to locking issues (it re-enters driver) the
call is asynchronous and uses cfg80211 event
list/worker.Signed-off-by: Michal Kazior
Signed-off-by: Johannes Berg
26 Feb, 2014
1 commit
-
Commit "nl80211: send event when AP operation is stopped" added an
event to notify user space that an AP interface has been stopped, to
handle cases such as suspend etc. The event is sent regardless
if the stop AP flow was triggered by user space or due to internal state
change.This might cause issues with wpa_supplicant/hostapd flows that consider
stop AP flow as a synchronous one, e.g., AP/GO channel change in the
absence of CSA support. In such cases, the flow will restart the AP
immediately after the stop AP flow is done, and only handle the stop
AP event after the current flow is done, and as a result stop the AP
again.Change the current implementation to only send the event in case the
stop AP was triggered due to an internal reason.Signed-off-by: Ilan Peer
Signed-off-by: Johannes Berg
05 Feb, 2014
2 commits
-
It was possible to break interface combinations in
the following way:combo 1: iftype = AP, num_ifaces = 2, num_chans = 2,
combo 2: iftype = AP, num_ifaces = 1, num_chans = 1, radar = HT20With the above interface combinations it was
possible to:step 1. start AP on DFS channel by matching combo 2
step 2. start AP on non-DFS channel by matching combo 1This was possible beacuse (step 2) did not consider
if other interfaces require radar detection.The patch changes how cfg80211 tracks channels -
instead of channel itself now a complete chandef
is stored.Signed-off-by: Michal Kazior
Signed-off-by: Johannes Berg -
There are a few cases, e.g. suspend, where an AP interface is
stopped by the kernel rather than by userspace request, most
commonly when suspending. To let userspace know about this,
send the NL80211_CMD_STOP_AP command as an event every time
an AP interface is stopped. This also happens when userspace
did in fact request the AP stop, but that's not a problem.For full-MAC drivers this may need to be extended to also
cover cases where the device stopped the AP operation for
some reason, this a bit more complicated because then all
cfg80211 state also needs to be reset; such API is not part
of this patch.Signed-off-by: Johannes Berg
19 Dec, 2013
1 commit
-
This allows QoS mapping from external networks to be implemented as
defined in IEEE Std 802.11-2012, 10.24.9. APs can use this to advertise
DSCP ranges and exceptions for mapping frames to a specific UP over
Wi-Fi.The payload of the QoS Map Set element (IEEE Std 802.11-2012, 8.4.2.97)
is sent to the driver through the new NL80211_ATTR_QOS_MAP attribute to
configure the local behavior either on the AP (based on local
configuration) or on a station (based on information received from the
AP).Signed-off-by: Kyeyoon Park
Signed-off-by: Jouni Malinen
Signed-off-by: Johannes Berg
06 Mar, 2013
1 commit
-
This is the sort of thing gcc's LTO could do, but since
we don't have that yet we can also do it manually. The
advantage is reduced code, both source and binary, e.g.
on x86-64text data bss dec hex filename
442825 56230 776 499831 7a077 cfg80211.ko (before)
441585 56230 776 498591 79b9f cfg80211.ko (after)a reduction of ~1k.
But in order to not complicate the code move only those
functions that are simple wrappers, not those that have
functionality of their own.Signed-off-by: Johannes Berg
03 Jan, 2013
1 commit
-
Some AP code ended up in mlme.c as ap.c didn't
exist when it was written, move it now.Signed-off-by: Johannes Berg
08 Nov, 2012
1 commit
-
Store the configured ssid in wdev->ssid when starting an AP
Signed-off-by: Antonio Quartulli
Signed-off-by: Johannes Berg
18 Oct, 2012
1 commit
-
This will allow adding central tracing like in mac80211.
Signed-off-by: Hila Gonen
Reviewed-by: Emmanuel Grumbach
Reviewed-by: Johannes Berg
Signed-off-by: Johannes Berg
29 Jun, 2012
2 commits
-
We need to know which channel is used by a running
AP and mesh for channel context accounting and
finding matching/active interface combination.STA/IBSS have current_bss already which allows us
to check which channel a vif is tuned to.
Non-fixed channel IBSS can be handled with
additional changes.Monitor mode is going to be handled differently.
Signed-off-by: Michal Kazior
Signed-off-by: Johannes Berg -
This functionality will be reused when interface
is going down. Avoids code duplication. Also adds
missing wdev locking.Signed-off-by: Michal Kazior
Signed-off-by: Johannes Berg