In qcacld-3.0 HDD has converged on a core set of service level logging
APIs. However there are instances in wlan_hdd_cfg80211.c of the
hdd_log() helper API being called directly instead of using the
service level APIs. Replace those instances.
Change-Id: I89d589a35b188c7be373ee0ec3dfd73bc88d6aa0
CRs-Fixed: 1058338
In qcacld-3.0 HDD has converged on a core set of service level logging
APIs. However there are instances in wlan_hdd_main.c of the hdd_log()
helper API being called directly instead of using the service level
APIs. Replace those instances.
Change-Id: I36ccc64005a571d3d658211fea5711261bcff8f3
CRs-Fixed: 1058338
In qcacld-3.0 HDD has converged on a core set of service level logging
APIs. However there are instances in wlan_hdd_tdls.c of the hdd_log()
helper API being called directly instead of using the service level
APIs. Replace those instances.
Change-Id: I02569a6d7f876d47232eea5a37312896d4e06617
CRs-Fixed: 1058338
Use QDF_MAC_ADDR_SIZE instead of VOS_MAC_ADDR_SIZE while copying
bssid given by supplicant for active scan.
Regression Change-Id: I97886b1dbd63fbca21fa410252df572f819df207
Change-Id: I55cf956dc6dca68790d2ff69ad5c3e5cacd0f6ae
CRs-Fixed: 1060356
With the latest changes for dynamic mode change, adapter status to
user space sent even if session ID is invalid. Check to make sure
indication is sent only when session ID is valid.
Change-Id: I2df6aff0874f37ec934dd9071daf305d8289492c
CRs-fixed: 1058267
During the driver load cds_cfg memory is allocated during the
hdd_Wlan_startup and cds_open. Since the memory allocated by the
cds_open overwrites the pointer of memory allocated by hdd_wlan_statup
during memory free only memory allocated by cds_open is freed resulting
in memory leakage.
To migitate this issue, allocate the memory for the cds config only once.
Change-Id: I01bf0e8110a2519a2e11da398be3c98f9ca4db8f
CRs-Fixed: 1055648
Start the pre cac adapter after opening the it.
Earlier, opening of adapter starts the adapter as
well. With the recent design changes, start
adapter needs to be explicitly issued after
opening the adapter.
Change-Id: I3cfa7f74bb121ab74fa18f2237069f41bf3fe736
CRs-Fixed: 1058745
wma_wow_wakeup_host_event already logs wake up reason at
the begining of the function. Remove duplicate logging for
wake up reason.
Change-Id: I1b3a3099c395dcf050e0c1c42677686c2c4911ef
CRs-Fixed: 1059065
Trying to free a null WMI TLV struct leads to confusing error message.
Do not try to free WMI TLV struct if it was not allocated.
Change-Id: Ic9607179aa5b7dd517f3187716279d0c02199117
CRs-Fixed: 1059077
APPS wake can happen:
1) For a piggy backed WMI event ID for example SCAN, ROAM etc
2) OR for a wake up reason which does not have a piggy backed
event ID for example BPF, pattern match, auth/assoc/deauth
wake up.
3) Auth/Assoc/Deauth etc management wake up reasons do not carry
piggy backed WMI event ID. Actual management WMI event ID comes
as a separate WMI event from target.
Change-Id: Ie7b2b902b646375f21467211f1a4a61361144f3f
CRs-Fixed: 1059088
Revert Change-Id: I8a3659f20414851cb394395225c301a90cd94f64
which was introduced to disable RX LDPC from INI.
Driver support has been added to handle DBS HW limitation, so
enable RX LDPC
CRs-Fixed: 1058342
Change-Id: Icf8464906b3520b5b873b6d0ad93e1edb9564953
qcacld-2.0 to qcacld-3.0 propagation
If host issues extscan get cache results, while gscan is not in
progress then buckets_scanned mask comes as zero. To handle this
issue now firmware sends the buckets_scanned mask as part of
wmi_extscan_rssi_info instead of fixed_param.
Change-Id: I5923a5fc642dd722bf6cc9f5496c7cedcf75e1a5
CRs-Fixed: 1001733
Update incorrect conditional check in hdd_set_fw_params.
Without this fix, even when we support 2x2 mode RX/TX chain mask
will be set for 1x1 mode. Fix the condition to update the chain
mask correctly and also some other FW parameters which are
independent of antenna mode will be updated correctly.
Change-Id: Iaa51a6eb22c6970d294f503159f98d50ca7a0000
CRs-Fixed: 1057742
Fix incorrect memory comparison cds_is_mmie_valid.
In cds_is_mmie_valid(), while processing Rx Robust Management Frame
invalid condition usage results in incorrectly tagging the Rx packet for
replay attack. Similar invalid condition results in incorrectly
tagging the packets for MIC mismatch. This change will update the checks
so that Rx packets will not be dropped incorrectly.
Change-Id: I50974232db034029747e0af8c8b5b70959c4dcb7
CRs-Fixed: 1057261
Propagation from qcacld-2.0 to qcacld-3.0.
Add a capability in service bitmask to indicate that fw also supports
this feature of marking first packet after wow wakeup to maintain backward
compatibility.
Change-Id: I3d41f5425e3a170c046941a439d17e06df0c6bef
CRs-Fixed: 1021382
Propagation from qcacld-2.0 to qcacld-3.0.
Add support to mark the highest bit of the skb->mark for the first
packet after wow wakeup event from firmware
Change-Id: I877dd7af9a58ebc02d73461cc2a29e86a3945dec
CRs-Fixed: 989984
Propagation from qcacld-2.0 to qcacld-3.0
Current implementation has support for IPv6 addresses of type
unicast for NS offload to firmware.
As part of this change add anycast addresses for NS offload.
Change-Id: I1151c8af3bbc815216c4ffd9668dd0b6561f222e
CRs-Fixed: 954880
Propagation from qcacld-2.0 to qcacld-3.0
Add support to enable/disable NS offload to firmware from HAL
vendor command.
As part of this fix when NS offload is set to disable from HAL
command, NS will not be offloaded when wlan goes to suspend state
even if NS offload is enabled in cfg ini.
Change-Id: Iffaaa9be2e62ea03fcbe3e32d2cc654d3e7334f5
CRs-Fixed: 954880
In case of dense roam scenario, Host should set initial dense
status if roamable AP count is more than minimum dense AP count.
Current implementation checks for the number of channels in roam
cache list instead of AP count.
Add changes to set the flag if roamable AP count is more than
configured value.
Change-Id: I4d5f7c6c69b1a9a527aace1677050373065af213
CRs-Fixed: 1058211
gtraffic_threshold is needed to determine traffic condition for roam
scan.
Add changes to update default value of gtraffic_threshold in kbps.
Change-Id: I844903225ec178de7b88cf63b92531e46bdd9fe3
CRs-Fixed: 1056787
As part of MBO(MultiBand Operations), Station should not
initiate connection with BSS if association disallowed
subattribute in MBO IE of Beacon, Probe response frames
is SET.
Parse MBO IE and dont initiate connection if association
disallowed subattribute is present.
Change-Id: I6580b646c97b409453eade527285c97ed8cf86e4
CRs-Fixed: 1039969
qcacld-2.0 to qcacld-3.0 propagation
Currently RRM scan results are sent out to the requesting AP, but
are not updated to the kernel.
Update the results to the kernel so that it will be useful in future
in the userspace if a BTM request is received and the lookup of
scan cache can fetch a result for the target AP and an additional
scan can be avoided.
Git-commit: 3075ac910c015ce525bf8badd1eb4a277286b28f
Change-Id: Ie56b86e5c54910648cb2ae8bf2a7dac2ee873e00
CRs-Fixed: 1010596
qcacld-2.0 to qcacld-3.0 propagation
Currently all the scan requests going from the host to the
firmware pass a rest time to the firmware. The firmware
waits for the rest time before starting the scan. This is
not needed in the case of RRM beacon requests with single
channel request to make it more optimal.
Configure the rest times to minimum and start the scan
right after receiving the request
Git-commit: b0132824baeceb25bbc80d0e82ed6693b783b4dd
Change-Id: Ia5c5a1c2c765d13611b901742910325954ce3d8a
CRs-Fixed: 1010596
qcacld-2.0 to qcacld-3.0 propagation.
Presently, supplicant does not send bssid parameter as part of scan
command to driver. Since that support is added, use the bssid received
from scan command for active scan ie add the bssid as part of scan
offload command to firmware so as to send probe request with bssid
set with the one received as part of the scan command.
Git-commit: 5ad6cc46eda9e6d7195c353730a22427b9937283
Change-Id: I97886b1dbd63fbca21fa410252df572f819df207
CRs-Fixed: 1010596
qcacld-2.0 to qcacld-3.0 propagation
If ieee80211w=2 or pmf=2 is an explicit configuration in the
supplicant configuration MFPEnabled is set and driver assume it
as a PMF required connection, even if AP is in open security
mode.
Now when disconnect is received from supplicant driver sends a
protected deauth and assert is observed as firmware do not have
any valid key.
To fix this if ieee80211w=2 or pmf=2 is an explicit configuration
in the supplicant configuration but peer AP is non-PMF drop the
connection request.
Change-Id: I40faf63df4e95b367d66e9b51ff165759989a1d1
CRs-Fixed: 1011976
qcacld-2.0 to qcacld-3.0 propagation
wlan_queue_logmsg_for_app is called while holding spin lock with
interrupts disabled. It may call pr_info to log if node is dropped
while sending to user space.
This may cause interrupts disabled for some time.
As part of fix remove all pr_info from wlan_queue_logmsg_for_app.
Change-Id: Iffa5d463ae4e807bb30ff6eec5f3949735663fd5
CRs-Fixed: 1005714
qcacld-2.0 to qcacld-3.0 propagation
If roaming is initiated by firmware, after getting the candidate
list the CSR will start preauth with the candidates and thus
preauth will be the active command in SME.
Now if at the same time connect is issued from supplicant,
HDD will queue disconnect cmd in SME queue and wait for disconnect
to get complete for 2 sec. Now there is a chance that channel
change along with preauth timeout can take more than 2 secs.
In this scenareo the disconnect will timeout in HDD and will
return connect failure to supplicant. Next supplicant will issue
disconnect which is ignored by HDD as disconnect is already been
queued in SME. Now if supplicant again sends the connect command,
as part of connect command CSR will remove the disconnect command
from the SME queue and queue this connect command.
On preauth timeout the preauth state machine checks if disconnect
is queued and if it is queued it will abort preauth. But in this
case disconnect is removed by the connect request and thus preauth
retry continues and if preauth is success handoff will be queued
in SME queue.
Now the connect request is processed and if this connect request's
BSSID is same as the BSSID of the roam candidate, as all the CSR
states for this BSSID session indicate roaming, instead of
join it will try to reassociate and continue changing the CSR states
again. Eventually this connect will fail. Next the handoff command
is processed and as part of handoff it will try to cleanup
original session, but as CSR states are changed by connect request
the original session is not cleaned up properly. This results in
stale PE session entry which does not allow the scan to be sent to
firmware, returning the cached results and thus 0 scan results.
To fix this:
- Increase the WLAN_WAIT_TIME_DISCONNECT to 5 sec to make sure all
sessions are cleaned up before allowing the new connect to proceed.
- Increase the priority of preauth scans.
Change-Id: Id7cc1e6f3c31df8a8c8955eb3ff48cb60e5b5ab2
CRs-Fixed: 1048394
Integration from qcacld-2.0 to qcacld-3.0
IPv6 Multicast (Neighbor Solicitation) frames are
not rejected by the WLAN driver when these frames
are bounced back from the AP. This causes network
stack to assume the duplicate IP address on the
network and fails to assign the IPv6 address.
Currently, this is a workaround till the issue is
root caused.
Change-Id: If5d48ed903f484805e7f4be9df52582e50bd6ce5
CRs-Fixed: 748105