cdf_mem_exit cdf_mc_timer_exit are missing from hdd_driver_exit.
Add them back so that wlan driver exits properly.
Change-Id: I571f65118a1755d2f43c29e8320563a43b49e713
CRs-Fixed: 951519
Add event handler for oem data response event from FW.
Add new boolean member to differentiate the response
generated internally and one coming from the FW.
Change-Id: Ia906c5dcbb7e560fd78ccd96fc47c7801b33aa6a
CRs-Fixed: 942261
Use assoc req from roam_sync_ind_ptr instead of ft_session_ptr in
condition statement.
assoc req from ft_session_ptr is not populated yet and hence will be
0 when the condition is invoked. This will cause if block to never
execute.
Change-Id: I9cd758674d13603087de013a0aea751032bc8603
CRs-Fixed: 957591
Do not allocate txrx descriptors for management
if management over WMI is enabled.
Change-Id: Iafb231bebe83b658940119ed13a41d64a10d4eb0
CRs-Fixed: 955450
rssi_raw should not be updated when the channel
in probe response does not match the channel in BD.
Added rx_channel field to beacon descriptor passed from LIM to
CSR. Channel check is performed in csr_remove_dup_bss_description()
before computing new averaged rssi.
CRs-Fixed: 873549
Change-Id: Iefacbf73f880e9d0c957ad83839dd2203fdf862d
qcacld-2.0 to qcacld-3.0 propagation
Add raw rssi in the beacon header from WMI to beacon descriptor.
Pass it up to SME and report it to supplicant through a call to
wlan_hdd_cfg80211_inform_bss_frame().
It can be enabled as a .ini configuration parameter "gInformBssRssiRaw".
Default is 1, it will report raw rssi by default.
Roaming decisions are based on rssi field of beacon descriptor,
its interpretation and usage are unchanged.
CRs-Fixed: 815344
Change-Id: I6dacdc0b333c093d16a74f8cf36471dfc183ce56
If rxthread is on, NAPI will call the kernel-thread context API (instead
of softirq context) API to transfer the packet to the stack.
Eventually, this part will be re-considered when multi-queue NAPI gets
in, which will eliminate the rx-thread.
Change-Id: Ib3d4d1450fb36f5c1e710802ceaab5d015e20c7d
CRs-Fixed: 957299
qcacld-2.0 to qcacld-3.0 propagation
This is to fix the regression in the case of suspend request.
Below patch overkills the case for PNO and extscan in progress.
Commit Subject: "Fix the PNO WoW is not configured in concurrency case"
change id: I97084cfde73025f0d09b60616959c9530ba82c80
The combined condition check should be maintained to check
the case for PNO or extscan in progress, otherwise the WoW would
be enabled in the case PNO in progress is not enabled,
and end up not setting PNO patterns and failed to reconnect
after resume.
Change-Id: Icc5f19d07abea9fb25479452ce1c467d7811317c
CRs-fixed: 953257
This is for FR23278: Runtime configuration of softAP Tx power.
The value that send by the vendor command will set the power levels
as below:
0 --- no scaling, 100%
1 --- 50% of max power
2 --- 25% of max power
3 --- 12% of max power
4 --- minimum power
Another vendor command is to decrease the power by actual db value.
CRs-fixed: 941772
Change-Id: I61d48299b4af361c214e2ab8bb1fa848161431de
qcacld-2.0 to qcacld-3.0 propagation
Update common WMI commands to merge firmware init of MCL and
WIN SWOL update
Change-Id: I732a70be17d451654f3fbbe6db84f62de6438862
CRs-fixed: 865207
qcacld-2.0 to qcacld-3.0 propagation
Line 118: CID 50610 (#3 of 3): Out-of-bounds access (OVERRUN)
Line 200: CID 50680 (#1 of 1): Out-of-bounds read (OVERRUN)
Line 367: CID 50732 (#1 of 1): Out-of-bounds write (OVERRUN)
add TID validation check in RX_IND to avoid tid >19 scenario.
Change-Id: I32a3339902e231a8193fb8ee984ef029e24bc7e5
CRs-Fixed: 836067
Propagation from qcacld 2.0 to qcacld 3.0
Due to a race condition, vdev is getting deleted in
ol_txrx_vdev_detach and after that in
ol_txrx_peer_unref_delete, as vdev->delete.pending
is not equal to 0 as it is some garbage value, vdev
is getting deleted again causing crash.
This fix release the lock after checking
vdev->delete.pending so that before vdev gets deleted
in ol_txrx_vdev_detach, this check has been made and as
vdev->delete.pending is 0, it will not delete the
vdev in ol_txrx_peer_unref_delete and so vdev will be
deleted only once.
Change-Id: I4a7362b0e226c66ccb7c72243276d77e8df60b20
CRs-Fixed: 949397
Propagation from qcacld 2.0 to qcacld 3.0
The atomic variables are of integer type but "cdf_atomic_read",
"cdf_atomic_dec_and_test" and "cdf_atomic_inc_return" APIs
have return type of unsigned int. Because of this, these APIs
return positive value even when it is negative.
This fix change the return value of "cdf_atomic_read",
"cdf_atomic_dec_and_test" and "cdf_atomic_inc_return" APIs
from unsigned int to int so that negative value remains negative.
Change-Id: I9c4077547e1e1370bbb401af77b248944cdf25fa
CRs-Fixed: 902636
qcacld-2.0 to qcacld-3.0 propagation
Extended Supported Rates are filled in Assoc req based on the
dot11mode and in Case dot11mode is 11A it's not filled.
Some AP have Basic rate in Extended Rate set in 11A mode.
Thus AP reject the association as Driver does not sent the extended
rate set in 11A mode.
Removed the dot11mode dependency for Extended Supported Rates.
With this change if AP have Extended Supported Rates driver will
add the Extended Supported Rates IE in Assoc req.
Change-Id: Ibd1c98a7cfae46988ff4434579edde7d4222841d
CRs-Fixed: 903270
qcacld-2.0 to qcacld-3.0 propagation
If preauth is in progress with too many APs in the roamable AP
list and at the same time disconnect is received from supplicant as
part of unload, the deauth req will be queued in sme pending list
till csr completes the preauth process.
Now as part of unload, driver may purge the sme pending command list
and with it the disconnect command may also get removed if preauth
takes too much time.
This will lead to DEL BSS missing before HAL STOP and thus crash.
To avoid this abort the preauth process once disconnect is received.
Change-Id: I1c35f0c7e38295cfadafdad69f0b9a99ba61404c
CRs-Fixed: 942579
Replace tSirMacAddr with cdf_mac_addr in tSmeIbssPeerInd and
tSirIbssPeerInactivityInd.
Change-Id: Ie83aa414e312431aeb7f730a3f8027ea960acc36
CRs-Fixed: 898864
Replace tSirMacAddr with cdf_mac_addr in sSmeMaxAssocInd and
tSirSmeGetAssocSTAsReq.
Change-Id: Ie36a22b5ee5c823833981b51ef91525f6c6af692
CRs-Fixed: 898864
qcacld-2.0 to qcacld-3.0 propagation
Currently while populating 11a and 11b rates, there is
no bound check for rateset array. This can result in buffer
overflow. As a part of fix add bound check to avoid any
buffer overflow for the rateset.
CRs-fixed: 798054
Change-Id: Ib42f5de642ad54d5c2a1ccdab37d88928b98af01
FW needs the debug mode from WLAN INI file. After parsing INI file,
WLAN driver passes the mode value to platform driver, which uses
QMI message to exchange information with FW.
Change-Id: Ifd01b18bcfafad2344196d80ab17c605cca35972
CRs-Fixed: 942237
In LFR3 reassoc frame is sent by firmware and host or supplicant is not aware
of its content. Because of this supplicant does not have complete information
to perform EAP exchange with authenticator if fresh EAP exchange is requested.
To fix this:
1) Take the reassoc req frame passed by firmware and save that to pe session
This frame will then be passed to supplicant through usual path.
2) In case of FT connection, do not pass key replay counter attribute to
supplicant.
Change-Id: I51dd8004c910b45c7f25e9cd140448e592b096b3
CRs-Fixed: 943711
Get rrm capab from mac_ctx in function sme_get_config_param().
This ensures that subsequent calls to this function will correctly
update rrm config.
Change-Id: Iddaae66b94ccaa127f08fd0a897bc986a959a0eb
CRs-Fixed: 955114
In case prefer 5 GHz preference is set, move the 5GHz channels ahead
of 2GHz channels in channel list as used in Early Stop Roaming Scan
feature. This ensures that while roaming, when these features are
enabled DUT will scan 5 GHz channels first and roam if a candidate
AP is found.
Change-Id: I96d997560a3eca5fd378aa3ed78c5766d097cafd
CRs-Fixed: 951959
qcacld-2.0 to qcacld-3.0 propagation
We suspect that the firmware indicator interrupt is being dropped when
the firmware indicator interrupt is disabled. Check the firmware indicator
after reenabling the firmware indicator interrupt.
Change-Id: I600bd9dfae99ab96dfaf7e3448cef9128f8b7357
CRs-Fixed: 925315
Initialization of completion_freeq_lock was removed as part of
removing the completion thread. The lock still protects the
variable num_sends_allowed for copy engines used for sending.
Change-Id: Ia52d2c1b839d2ccfedbd175f1b8f60f953d08203
CRs-Fixed: 951563
Since the wmi tx copy engine's completions can be
processed in both its tasklet context and through
ce_per_engine_servicereap on a polled basis, we
wish to be able to distinguish the when each is used.
Change-Id: I5892eeeab4e1c7e4c35b958d98db7ad0293ec24f
CRs-Fixed: 951569
qcacld-2.0 to qcacld-3.0 propagation.
This fix ensures that a response message is sent back to SME if
a DelBSS/DelSta failure is returned by firmware, without which SME
command can get stuck.
Change-Id: I42425809ef93d447af0b34aee05e601e30a18ccc
CRs-Fixed: 810491
qcacld-2.0 to qcacld-3.0 propagation
WMI changes to add reassoc_req_frame in wmi_roam_synch_event
add WMI_INIT flag for special WOW platform that no need pcie reset
Change-Id: Ica7653166239e5590d1daa62ec46971d8c905915
CRs-fixed: 865207
qcacld-2.0 to qcacld-3.0 propagation
WMI event update to add dd_profile field to RC_TX_RATE_SCHEDULE
and WMI_SCAN_EVENT_FOREIGN_CHANNEL_EXIT
Change-Id: Ic9ba6dd82b2c6ea3d8894665270838a93a702f38
CRs-fixed: 865207
qcacld-2.0 to qcacld-3.0 propagation
Update for green AP feature related WMI TLVs and debug log ids
Change-Id: I1e7463ee201572ec6bd4cdcb681524fa1c68c82a
CRs-fixed: 865207