qcacld-2.0 to qcacld-3.0 propagation
If unloading the driver at the time __wlan_hdd_cfg80211_stop_ap is
called, free the memory allocated for ch_list before returing
from the __wlan_hdd_cfg80211_stop_ap. Otherwise it will result in
memory leak.
Change-Id: I16ab508f74068f7ca1452c97c6105a1ae6e38ef0
CRs-Fixed: 971886
qcacld-2.0 to qcacld-3.0 propagation
Currently, In SAP mode due to incorrect wep key
index broadcast frames are not encrypted.
Fix is to make sure to update default index for
BSS(group) key.
Change-Id: I328855decbad20dbd88b48022e466e4f78f5d722
CRs-Fixed: 932749
qcacld-2.0 to qcacld-3.0 propagation
In __wlan_hdd_cfg80211_scan(), no.of channels printed as received no.of
channels from supplicant instead of filtered no.of non DSRC channels.
Fix to update the correct no.of channels
Change-Id: I5f424a043535b0fdcc7886ba062b34fbc2e6dca0
CRs-Fixed: 1036775
qcacld-2.0 to qcacld-3.0 propagation
As per current implementation 11P channels are added to 5G band
as part of driver initialization if FEATURE_STATICALLY_ADD_11P_CHANNELS
is not defined. Kernel has enabled 11P channels due to which it gives
11p channels as part of scan command. This increases the scan time.
Add changes to remove 11P channels from the received channel list
during scan command.
Change-Id: I4ae24a1813ac5d4738022b2f15a93736c2f05978
CRs-Fixed: 1003326
qcacld-2.0 to qcacld-3.0 propagation
Host driver receives 11P channels as part of PNO scan because
kernel enables 11P channels. This increases the scan time.
Add changes to remove 11P channels from the received
channel list in PNO scan
Change-Id: Iede759dfabdc971309f3d1f68411d241f415b422
CRs-Fixed: 1017824
qcacld-2.0 to qcacld-3.0 propagation
In some cases, it is possible that driver get request for connection
from supplicant without getting disconnect for previous connection.
If there are two active session, driver will return the error.
Driver should do disconnect first followed by check for
max concurrency is allowed.
Change-Id: Ie7bf202c47d0282019730448096d91c7dc888e34
CRs-Fixed: 945566
The debug message was added to identify a case of trying to
send a unicast traffic to an unknown peer. However, as per the
implementation, the debug print becomes always true while
sending unicast traffic in station or p2p client mode.
Integration from qcacld-2.0 to qcacld-3.0.
CRs-Fixed: 1051920
Change-Id: I849317c699ffca1e057c4e59747e08535baca381
Directly accessing fw->data is not supported on msmcobalt.
It causes system crash due to invalid pointer.
Hence allocate memory and copy the content of
wlan_mac.bin to that memory before accessing it.
Change-Id: Ie10a8ccd3cc16d48fa509ece997f9098fce52c55
CRs-Fixed: 1045912
Auto-generate mac address using device serial number when the mac
address that passed from WLAN FW is invalid and no mac address
specified in ini file and no user defined mac address in wlan_mac.bin .
CRs-Fixed: 1047629
Change-Id: I4ecc901558bc526c99f8b9bdb9442a4d288b313c
Add lock to serailize the freeing of LRO descriptors.
Without this double free of LRO descriptors lead to list
corruption.
Change-Id: I0b3c9ddecff0700ac1f6ec44f09c9ddf59997799
CRs-Fixed: 1053657
When auth timeout failure happens, as part of clean up process
vdev down is sent to FW but the vdev up happens only after the
assoc response is received. Sending the vdev down to without
vdev up leads to negative vdev up count value in the FW.
Check if vdev is up before sending the vdev down.
Change-Id: Ia5394390d376c638b3976d446a6ecc98d0584159
CRs-Fixed: 1051760
Sessionize VHT Capability by updating the session
entry at join request or start bss and read the same
capablities at LIM instead of reading from global VHT
CFG items.
Following CFG items are taken care as part of this change.
WNI_CFG_VHT_SU_BEAMFORMER_CAP,
WNI_CFG_VHT_SU_BEAMFORMEE_CAP,
WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED,
WNI_CFG_VHT_MU_BEAMFORMER_CAP,
WNI_CFG_VHT_MU_BEAMFORMEE_CAP
Change-Id: I7c33de1180416db0027b4690170060549847dd9a
CRs-Fixed: 1029145
Sessionize VHT Capability by updating the session
entry at join request or start bss and read the same
capablities at LIM instead of reading from global VHT
CFG items .
Change-Id: Idef009d4c76cfc6939359dc09379fc1f0d820589
CRs-Fixed: 1029145
HDD validate context check is at wrong place in __wlan_hdd_cfg80211_scan()
which is leading to invalid pointer access and page fault. Move HDD
validate context check at begining of scan API to avoid accessing any
context pointer which is getting freed during SSR/driver unload.
Change-Id: Id91c9ea54c513ecc25bdf42904a5bb5cde2e91ce
CRs-Fixed: 1025498
Apps crash observed due to nested spin lock calls from
the soft irq context.
Change the tdls spin lock calls from qdf_spin_lock() to
qdf_spin_lock_bh(). This will avoid nested spin lock
calls.
Change-Id: I9c3d32f2385bec35ea7d9773ed4c36968a79a28b
CRs-Fixed: 1053041
Add support for 5/10 MHz channel width for STA and SAP role. To
enable/disable feature, following ini parameter will be used:
* gSub20ChannelWidth=0: indicates do not use Sub 20 MHz bandwidth
this is also the default value.
* gSub20ChannelWidth=1: Bring up SAP/STA in 5 MHz bandwidth
* gSub20ChannelWidth=2: Bring up SAP/STA in 10 MHz bandwidth
Change-Id: Ic6d534dc1eae60fcd2fb7533c934b9ea28e6dd78
CRs-Fixed: 1013211
Currently the HDD code uses a variety of logging APIs. In
qcacld-3.0 HDD should converge on a unified set of logging APIs.
Update wlan_hdd_debugfs.c to use the unified set of APIs.
Change-Id: I3981157eb8e285bc7259279fccd582a896eab36b
CRs-Fixed: 937649
Currently the burst_dur private ioctl enforces a maximum limit of
8192. Per firmware team define the max as 102400 (for 100 ms or a
normal beacon interval).
Change-Id: I3f01b06ad047f7b972e649c798e4a507fcc55755
CRs-Fixed: 1050791
Currently the HDD code uses a variety of logging APIs. In qcacld-3.0
HDD should converge on a unified set of logging APIs. Update
wlan_hdd_memdump.c to use the unified set of APIs.
Change-Id: I6026bed45fe24ca0c2c0cfb62a97f0dc613bd1ea
CRs-Fixed: 937665
qcacld-2.0 to qcacld-3.0 propagation
Add NAN API wrapper function definitions and also fix compilation
failure when NAN data path feature is disabled.
Change-Id: Ib4a3133568eee0c2257c65bb0a8905c44048f0c2
CRs-Fixed: 1049546
qcacld-2.0 to qcacld-3.0 propagation
Take action to delete peer in NDP_END Indication, rather than
NDP_END Response event from firmware. Earlier, device initiating
NDP_END will only get NDP_END_Response event from firmware, but
that behavior is changed now and both self and peer device will get
NDP_END_indication with peer map for ndp end.
Change-Id: I7316cc3864052eef4c7bbe9bbac01f0333909c59
CRs-Fixed: 962367
caller and callee of wlan_hdd_cfg80211_connect_start API are
interpreting BSSID and BSSID hint differently due to incorrect order.
This bug was introduced through change id:
I94c5a3dbbd831f6c82080dcc91008f9e3e6829f7
Fix the order of arguments.
Change-Id: I17850cc0d681664631b68a5193f936b678bff31a
CRs-fixed: 1051160
Pointer pointing to address which used to be start of the
mac header is no longer true after pulling the head of the frame.
Due to above situation, it causes dangling pointer situation. Fix
the error by re-assigning the correct address.
Change-Id: I71693f86b1971e3c6d1ddd9c377ef888122c2bb8
CRs-Fixed: 1048951
In current driver, there is already an API called cds_allow_concurrency
which is functionally similar to csr_isconcurrentsession_valid. Remove old
API csr_isconcurrentsession_valid to have single API.
Change-Id: If81900af5cb7291917fe915b44af5cf763f16d46
CRs-Fixed: 1047054
In current code base, some of files are not meeting linux coding
standard.
Fix them to satisfy coding standard.
Change-Id: Iedb1ec9ad7c75cb9f7ef97b19f14dca3b5eb9b6c
CRs-Fixed: 1051212
In case there are multiple copy engines (for example in ihelium), the
peer map and unmap handlers may be executed on different CPUs
concurrently. These functions access global peer data structures and are
not SMP-safe.
Re-factor the existing code to make it SMP-safe.
Change-Id: I3f52e17a80d7eae8d4c2fb88da7f57f64455b031
CRs-Fixed: 1050653
Place a big spinlock on the rxhash so that only one
activity happens on it at a time.
Change-Id: Id1a020f508b6232d401d44da1cd0b9592288c81c
CRs-Fixed: 1048807
Assign the list to null inside the spinlock such that no one else
can access the free nodes. Then free the list outside of the spinlock.
This spinlock was causing a watchdog bark.
Change-Id: I9a34c8c3ea8451004814bcabfcbb81744d71ec45
CRs-Fixed: 1052458
Bus link voting needs to vote for the link up before
voting for the link down. The sap module voted for
link down before link up, overriding the default
settings of an always on bus. This confused the suspend
resume system making it send WOW_IFACE_PAUSE_ENABLED
when the bus interface didn't have a "paused" mode.
Sap module should vote for link up when a sta is added
and vote link down when removed.
Change-Id: I5c042a3a4b3d4e6528fdc7edc9e0413c0f811192
CRs-Fixed: 1049469
Fix the compilation error when the feature flag WLAN_OPEN_P2P_INTERFACE
is disabled.
Change-Id: I661f31f0f5c06afbaab789836078822c7af08efe
CRs-Fixed: 1042901
Add support for pre CAC on SAP for the user requested channel.
The reason for the requirement is to have SAP operations without
interruptions due to CAC. After starting SAP on the 2.4GHz
channel, the driver will start a pre CAC on the 5GHz DFS channel
requested. If no radar is detected, SAP is expected to switch
from the 2.4GHz channel to the DFS channel mentioned in the pre
CAC request. If radar is detected SAP will continue to operate on
the 2.4GHz channel. To provide the pre CAC channel to the driver,
vendor commands/attributes are used .
Change-Id: I4cf4bb5a861eea05f37fafb3bf35d327f5377aab
CRs-Fixed: 1045242
Check STAID value returned by hdd_get_transmit_sta_id against MAX_STA,
before accessing array based on STAID index.
Change-Id: I4ac88e3d95f425ddc3a8690ef5333e0a4e67d328
CRs-Fixed: 1050083
TDLS init/exit functions have some dead code and it causes
memory leak for each wlan on/off operation.
Remove the dead code from TDLS init/exit functions.
Change-Id: Ie43057d94a27c34e970293b5cbc75edb6c0f6ca8
CRs-Fixed: 1050841
TDLS peer idle timers will be created only for implicit and external
mode operations. But tdls exit operation try to stop these timers
without checking the state of the timers and causes assert in
timer module.
Add changes to validate timer state before calls timer stop
function.
Change-Id: I6d41bbd99b49326b5a6eb8350f67923626d42400
CRs-Fixed: 1050836
qcacld-2.0 to qcacld-3.0 propagation
While RTT ranging happens, userspace application initiates FTM
request via host to FW. After sending the FTM request, host
might go to sleep mode sometimes so FW will not be able to send
the OEM response event resulting in poor ranging results.
This change registers OEM response event as WOW wakeable so FW
wakes up host whenever it receives OEM response which helps OEM
response to reach userspace application on time for better
ranging results.
Git-commit: 4de9b661e45a0bde4dfefc760edf03d1b8f4dd68
Change-Id: I71b77cfa09c5039b487e9a93490837a084314fb3
CRs-Fixed: 1018887
Bus bandwidth request timer samples the traffic on STA and
P2P client adapters to trigger bandwidth request and also enable
tcp delayed ack trigger to cnss daemon.
CRs-Fixed: 1050190
Change-Id: Iecd8a3f3762aa4c7743fb6ea22a8216fdac2ac8c