Currently, in regulatory callback, we do not update channels
that are out-of-band. For example, if the current band is set
to 2.4 GHz, we do not update channels of 5 GHZ band. Now, if the
band gets changed, the channel list goes wrong. Fix this issue by
updating all the channels and then calling
wlan_hdd_cfg80211_update_band to update wiphy for the current
in-band channels.
Change-Id: If6d6fee01c7a7d6b2aa0f7d3acb862decce0819e
CRs-Fixed: 978660
Add kernel documentation for regdomain data structures. Also
rename some of the data structures to better names.
Change-Id: Iae26079ae8a7f06e2670594694ae36c2c2a0a524
CRs-Fixed: 961806
Data structures defined in cds_regdomain_common.h are similar
to those defined in cds_regdomain.h. Therefore remove the file.
Change-Id: I929b03058e9441e4a652314789cf91dbd94d0329
CRs-Fixed: 961806
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.
Change-Id: Ic3e7c2944d1b8d66042398c57eb307ab30223524
CRs-Fixed: 985273
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.
Change-Id: If408976d5554a50a0023c2a49f80876911fdf1d8
CRs-Fixed: 985273
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.
Change-Id: Ia98c4406992c1065850dc70ab3b33c49216d0a24
CRs-Fixed: 985273
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.
Change-Id: I62a36b3e4d7f92a6d8b15648645035c6ea7735c2
CRs-Fixed: 985273
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.
Change-Id: I963d1d7f854ecdfe8c301cc5c8fc554ce8df4e35
CRs-Fixed: 985273
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.
Change-Id: If20617734c5f6f71cef6b85b86d907f8be9d39f9
CRs-Fixed: 985273
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.
Change-Id: Ie41244becec39fe1f5f24a721f5b24e137e7fd26
CRs-Fixed: 985273
hdd_adapter_lock is acquired from MC thread and hif_napi soft IRQ
context so it should be acquired using spin_lock_bh such that when
MC thread is holding the lock soft IRQ can't pre-empt it and lead
to deadlock
Change-Id: Iee4a4905bf7cc09cba9bd26f416d505eb47a5c96
CRs-Fixed: 981886
We dont need to set both 80p80 and 160 mhz driver capabilties
in driver. Since 160 is a subset of 80p80 capability; we need to
set only one
Change-Id: I20ea254523bade3ad93e49added35d4bdc1d0509
CRs-Fixed: 985763
Send channel switch request instead of performing SAP restart when
doing a MCC to SCC switch. This is controlled using the existing INI
item 'gWlanMccToSccSwitchMode'. The new value of '3' will perform
this channel change by sending (E)/CSA whereas the old value of '2'
can still be used to do a channel change by doing SAP restart
Change-Id: I79e7317219503de0a9957940f3cf7a4e91c7a521
CRs-Fixed: 986202
Enable feature flag FEATURE_WLAN_MCC_TO_SCC_SWITCH in the Kbuild to
make use of the MCC to SCC switch feature. The resulting errors in
compilation are fixed along with some enhancement in the debug logs
in this feature path
Change-Id: I0ddb2f371c28ade6d8fc9ea12ba104a99394827f
CRs-Fixed: 986079
Commit: 6c09e79 ("cfg80211: Allow NL80211_ATTR_IFINDEX to be added
to vendor events")
This commit add parameter wdev to cfg80211_vendor_event_alloc(), that would
be used to check at __cfg80211_alloc_vendor_skb() to assign ifindex to
the skb and is merged in Kernel 4.1, so add a kernel version macro to
support this
Also merge the hdd_vendor_put_ifindex into cfg80211_vendor_event_alloc
to assign the ifindex when wdev is given, that way we can unify the interface.
Change-Id: I321e12bfe3f9160a8a0fcfeb2408f6336d50e2c5
CRs-fixed: 964291
qcacld-2.0 to qcacld-3.0 propagation
As per the current implementation STA is sending Vo tagged data after
delTspec if BMPS disabled.
To fix this issue, make wmmAcAccessAllowed to false in hdd_wmm_delts().
Change-Id: I2351a4fd463e0e80cc7aefa5485046eab491ce45
CRs-Fixed: 967685
Functionality for switching antenna mode (TX/RX chains)
from 1x1 to 2x2 and vice versa dynamically without reloading
the driver. This feature is currently supported in the
disconnected state where only scan operation can happen and
standalone station mode.
The changes include the following:
1. Driver command IOCTL to set/get antenna mode as follows
DRIVER SETANTENNAMODE <# of streams>
DRIVER GETANTENNAMODE
2. Processing SETANTENNAMODE and GETANTENNAMODE to dynamically
change the number of TX/RX chains as follows
Dynamic switch request is allowed only when the supported
number of chains in the system is greater than 1.
Dynamic antenna switch is achieved by sending
WMI_PDEV_SET_ANTENNA_MODE command to the FW chain mask
manager with parameters to change the number of TX/RX chains.
This request will be maintained by the chain mask
manager and applied whenever only one MAC is active.
If there is a station association followed by dynamic switch
to 1x1 mode then SM power save IE is included in the HT caps
of the association/reassociation request management frame.
Dynamic switch in the connected standalone station mode is
achieved by sending SMPS force mode command with appropriate
values for smps mode by the chain mask manager.
Change-Id: I65d51d173a627dc2751ef10cc2172a5215e7b8db
CRs-Fixed: 931250
When dynamic antenna selection requests to change the number of
TX/RX chains, the FW chain mask manager will take care of sending
the corresponding SMPS action frames to the AP to put the station
in 1x1 or 2x2 mode. The host driver should only handle setting
the right SMPS mode in the HT capabilities of association
or re-association requests.
CRs-Fixed: 931250
Change-Id: I9bedcc5024a98040f571f730ff084f6fe3e3ad00
Add support to request for antenna mode to FW to switch from
1x1 to 2x2 and vice versa dynamically and process the response
status of whether the request was sent successfully.
Change-Id: Ie4b0b36981423f9325c48c7ebad445d5cc1f2a21
CRs-Fixed: 931250
Avoid message handler of netlink APIs to be OS agnostic. Retain the
message handler to get the concurrency matrix in HDD.
Change-Id: Ieb121512e3d8ae15678da46ed8425c07fd003f69
CRs-Fixed: 946161
Commit: 6bab2e19 ("cfg80211: pass name_assign_type to
rdev_add_virtual_intf)
Above commit add new parameter - name_assign_type to indicate the
ifname is set by userspace or generated by the kernel.
Also add this new param to all underlying interfaces, so that we can
get rid of the conditional flag interleave in APIs but only to the
toppest and lowest one.
Change-Id: I2233391f4e7313cf4134c975e14b6060ad852c5d
CRs-fixed: 966067
qcacld-2.0 to qcacld-3.0 propagation
Currently driver has debug print for EAPOL
but it doesn't tell whether its M1, M2 etc.
As part of fix, add debug print for M1-M4 msg.
Change-Id: I1eb4f9dac6520b1ce00cdfc3e0fcef721ae498d6
CRs-Fixed: 919617
Currently the SME session is deleted during interface change API and
a new session is not opened until SAP is ready to start. This will
cause crash when scan API is invoked. This fix opens the SME session
after interface type is changed, so that it can be used to scan and
SAP later.
Change-Id: I3c4f8da14dbc70a3102fb1892bb101eb1a90a00d
CRs-fixed: 968572
- Add support for 2.4Ghz HT40 STA.
- Add HT40 OBSS scan start and stop operation.
- Add support for extraction of OBSS scan paramters from beacon
and probe response
Change-Id: Idc69d4d17271864c1d3bc2c6e16f25eae73331b0
CRs-Fixed: 947086
If CONFIG_WLAN_FEATURE_LPSS flag is not enabled, there will be
compilation errors due to missing definitions. Fix them by moving
inline funtions to the corresponding header file.
Change-Id: I90b55daeb0068b2ab40fbb27d650a5382681705c
CRs-fixed: 979523
Re-write part of regulatory code to make more readable.
Rename variables to more intuitive names. Also simplify the
logic.
Change-Id: I4ab896d18a6b5f6e2f9c84884268e2af2077f74b
CRs-Fixed: 856727
40 mhz channel array is redundant and does not give the
correct channel bonding information. Therefore remove
these channels, bonding array, and its associated usage.
Change-Id: I913fb97cdc913b1a027d21b0df526dfd5cd5902f
CRs-Fixed: 856727
Re-arrange core regulatory code between HDD and CDS
layers. Move the OS dependent code to HDD.
Change-Id: I8ac26a48d0e8d613b2f6c23fd764e5cf94365c39
CRs-Fixed: 856727
hdd_indicate_mgmt_frame is defined under CONFIG_CNSS feature flag
which is not defined for MSM8998 SNOC target. Fix this compilation
error by taking out definition of hdd_indicate_mgmt_frame from
CONFIG_CNSS feature flag.
Change-Id: I4b2de5d947ff4fdd21032d6b7e3d5fe4e9eb3eec
CRs-Fixed: 978800
qcacld-2.0 to qcacld-3.0 propagation
In High dense environment roaming should be triggered early
at dense RSSI threshold which provide better throughput result.
Add support for dense roaming parameters to read from ini file
and send to FW with other roaming parameters
CRs-Fixed: 953579
Change-Id: Ia63bfdd1248b4507d988b019f07164a7c75566af
FW can enter into suspend mode even if the BMPS is not enabled.
Hence the auto PS timer check is not required in suspend request.
Change-Id: Ic2b774cea10516ea0b23141922ba1e16aa33f395
CRs-Fixed: 974918
Fix the error in populating oem data capabilities by fixing
incorrect conditional logic.
populate_oem_data_cap API returns zero on success and that
was misinterpreted as failure in the caller. Caller returns
without doing proper assignment.
Change-Id: I579106cb62c08622e8e5ab933747faf671a1d5cd
CRs-Fixed: 975352
Commit: b51f3be ("cfg80211: change bandwidth reporting to explicit field")
Above commit clean up the rate flag and bandwidth info and is merged since
Kernel 4.0.
Remove bandwidth info from rate_info flag, and use a separate bw field
instead.
Change-Id: I655ed919f1069cc04ed71ee1f3d457e228734d33
CRs-fixed: 966065
Commit: 3b06d27 ("cfg80211: Add multiple scan plans for scheduled scan")
Above commit introduces the scan_plan to include the interval parameters,
to support configuring multiple sched scan, and is merged since Kernel 4.4.
Change-Id: I9e232cfd6f82408fb2e21bef905b6e044951089d
CRs-fixed: 966054
Commit: 80279fb ("cfg80211: properly send NL80211_ATTR_DISCONNECTED_BY_AP
in disconnect")
Above commit is merged in Kernel 4.2, it introduces the new parameter
to indicate if the disconnect event is generated locally.
Change-Id: I016df3b400f5f4b8447676882df79fab6915a8f5
CRs-fixed: 966069
Commit: 89c771e ("cfg80211: Convert del_station() callback to
use a param struct")
Commit: 9885686 ("cfg80211: Specify frame and reason code for
NL80211_CMD_DEL_STATION")
These two commits have been merged in Kernel 3.19.
Add a kernel version macro to support this.
And refactor the inclusion of CFG80211_DEL_STA_V2 by adding a
helper function to clean it up, that way we can keep the flag
only in wlan_hdd_cfg80211.h/c as this is the cfg80211 interface
related changes.
Change-Id: I811065b7fa1cf2aee68cfe63c5cf78c2270e5af7
CRs-fixed: 963651
Commit: 319090bf ("cfg80211: remove enum station_info_flags")
The station_info_flags is removed from cfg80211.h since Kernel 4.0.
Since they're duplicate information that's already in nl80211 attributes.
One more small change needed:
* remove STATION_INFO_ASSOC_REQ_IES, nl80211 interface use the length
(assoc_req_ies_len) to check the existence
Change-Id: I9ed324c097ac300c7233f439d71540176744e425
CRs-fixed: 961351
This is qcacld-2.0 to qcacld-3.0 propagation
If cfg80211_mgmt_tx_params.offchan is set, driver need not send ROC
if device is already on correct channel. Check current home channel
of associated adapter and if it is same as target channel requested
skip ROC request and directly send frame over the air.
Change-Id: Ib13a885437a4349702e1706b3a466af262813f8a
CRs-Fixed: 921117
Add VENDOR subcmd to support changing of Fine Time Measurement
capability
dynamically. This command can be used by user space application to
change
FTM capability. FTM capability set by user space is intersected with
capability set by firmware to compute new capability value.
Change-Id: I5f3a57e66f2c6a9f3fa8acc7e9da8cb23cb766e3
CRs-Fixed: 968594
Pending scan entries are not cleared during SSR
execution which is causing scan failure after SSR
recovery.
Remove all pendings scans from global scan queue and
send scan complete callback to NL with abort flag set.
Change-Id: Iebffcf56ace59a3ded4df8141caf639c55f0b278
CRs-Fixed: 966580
The ENTER_DEV macro was introduced to log both the function and device
name when a function is entered. Update all cfg80211 vendor command
handlers to use this macro.
Change-Id: I3bb7112c6e5967577fa0f891e0b37ad7412bd2fc
CRs-Fixed: 975826
The ENTER_DEV macro was introduced to log both the function and device
name when a function is entered. Update all STA-mode private
wireless extensions ioctl handlers to use this macro.
Change-Id: I5a69d2a92c82bcf7931350e12ee7610748f5e3ab
CRs-Fixed: 975414
The ENTER_DEV macro was introduced to log both the function and device
name when a function is entered. Update all HostAP-mode private
wireless extensions ioctl handlers to use this macro.
Change-Id: I746788be7dd9a0d5317b483908adde22d96413dc
CRs-Fixed: 975414