qcacld-2.0 to qcacld-3.0 propagation
Dump state information of HDD, SME, PE and WMA layers
into a buffer. Contents of this buffer will be copied
into user space using proc entry /proc/debugdriver/
driverdump.
Change-Id: Ifbb102e440d7df20defa1a397964cb9b55082bf9
CRs-Fixed: 955357
qcacld-2.0 to qcacld-3.0 propagation
Add changes to set Tx/Rx aggregation size. Also, add ini parameters
for Tx/Rx aggregation sizes.
Change-Id: Ia5811bf7cf7081989fde5c8cdcca84b42120b90c
CRs-Fixed: 990161
qcacld-2.0 to qcacld-3.0 propagation
If SME posts message to WMI after vdev_detach happens,
there can be a race condition.
In this case VDEV_SET_PARAM will be called after VDEV_DELETE.
Fix this with introduction of new Boolean flag "is_vdev_valid" which
will be true after VDEV_CREATE is done. This flag will be false
when deletion of vdev happens.
WMI will do VDEV_SET_PARAM only if "is_vdev_valid" true.
Change-Id: Idffd0979bd9bdefa1225d2ea6a24180d81000f48
CRs-Fixed: 964146
Driver updates its hw_mode_list entries as per hw_mode_list
given by firmware during WMI_SERVICE_READY_EVENT.
The enhancement is to update hw_mode_list entries in the driver
using the values received in WMI_SERVICE_READY_EXT_EVENT from
the firmware.
Change-Id: I5e4d97523cb7fd018767d5d2fda841f03b2406f6
CRs-Fixed: 1070005
qcacld-2.0 to qcacld-3.0 propagation
In this feature,
1) When a legacy client connects to P2P GO, Host will indicate FW
to stop NOA and start CTS2SELF.
2) Ini Support for this feature.
Change-Id: If76d8ef454633d9a02dd6057b5d6ca3e9e639ea4
CRs-Fixed: 932264
qcacld-2.0 to qcacld-3.0 propagation
Presently, in BPF set_offload structure and the filter program are
allocated separately. In certain error paths the program is not
freed correctly because of which there can be memory leaks.
Have a single allocation for the set_offload and program to avoid any
memory leaks.
Change-Id: I097d3408cc89c26e015fd6aee8668f53e8f64cf7
CRs-Fixed: 1006522
qcacld-2.0 to qcacld-3.0 propagation
If P2P-GO stop comes during ROC, it may cause WLANSAP_StopBss
API to fail. ROC is stuck as firmware is running Gscan which
is higher priority than p2p ROC scan prioirty.
This causes ROC command to be stuck in the active list for 10
seconds and will eventually cause a crash in FW when host will
try to add self peer since older peer is still present in the
FW with same mac address
Add change to increase the priority of P2P scan and cancel ROC
before calling stop AP API.
CRs-Fixed: 1065161
Change-Id: I3a62234596c8c2acc0155b483847b9adc159d757
qcacld-2.0 to qcacld-3.0 propagation
IE's numbers are not set correctly in beacon filter API.
Add changes to correct this.
Change-Id: Ib489b0fc7bc1f0a2b7414f59ed325deecb65bb8e
CRs-Fixed: 1030084
qcacld-2.0 to qcacld-3.0 propagation
TDLS connection will teardown in host on receiving teardown
event from Firmware. But if host is in WOW mode then host will
not receive teardown event from FW.
To fix this issue add TDLS connection tracker event changes in WMA.
Change-Id: I3a305e95410d2884b41e9e4183ed4eeabd733f9d
CRs-Fixed: 991993
Null pointer dereference due to duplicate vdev
detach call.
Vdev detach is triggered as part of the delete
self sta but in failure scenario del bss request
timeout handler also called the vdev detach
which triggered NULL pointer dereference in OL layer.
-Fix the del bss request timeout handler by adding
more condition checks specific to P2P as the changes
are related to P2P.
-Remove vdev stop from the vdev start timeout
handler.
Change-Id: Ibe848c89823efbb10f7dcc193157189106ba238b
CRs-Fixed: 1070817
Add changes to parse DISA parameters received from
user space and pass them to firmware for firmware
to encrypt data and send back to driver. Also, add
changes to print encrypted data received from firmware.
Change-Id: Ic6928a93f799c47518fbbad96564062f595287dd
CRs-Fixed: 1064970
qcacld-2.0 to qcacld-3.0 propagation
Add changes to honor power constraint based on ini. Also, enhance
logging for power sent to fw.
Change-Id: Iefd497d76076527ca4c388cade46644a88a51932
CRs-Fixed: 1016876
Host should not honor any vendor pktlog disable command
if NO vendor pktlog enable command is sent previously.
Currently, vendor sends pktlog disable command without sending enable
command during init and because pktlog is enabled in ini by default,
Host sends the pktlog disable command to firmware which is not as expected.
To fix this, host uses reserved flag in wifi_start_log to distinguish
vendor command from iwpriv or pktlog conf tool command and vendor disable
pktlog command will be sent to firmware only when vendor pktlog enable
commands is sent previously.
Moreover, pktlog INI enable by default and Pktlog buffer size are now
controlled using a macro FEATURE_PKTLOG depending on build variant.
For production/user build, pktlog is default disable and buffer size is
1 MB, whereas for dev build, pktlog is default enable and buffer size is
10 MB.
Change-Id: If64cd522e91cbe9a6d94d8626eb758282fcfd1bd
CRs-Fixed: 1072584
As part of MBO(Multiband Operations), host driver need to supply
the default scan IEs to firmware at wifi init time using existing
VDEV SET IE command. FW uses these Scan IE's in subsequent scans,
.i.e. FW initiated Probe Requests.
As part of this fix, receive default scan IE's from supplicant,
update extended capability IE with FTM values(if ext cap IE is
present), send down the scan IE's buffer to FW which would be used
for subsequent FW initiated scans.
Change-Id: Ia23459078d93a30c9a1715e391023ee0a1de93ee
CRs-Fixed: 1039969
qcacld-2.0 to qcacld-3.0 propagation
Add changes to support qpower dynamically using vendor command.
CRs-Fixed: 1054217
Change-Id: Ibc9456c2edc4f385f637cb9e45e3f51a6a911121
qcacld-2.0 to qcacld-3.0 propagation
Memory should be allocated to radar_event only when radar phy
event needs to be sent to WMA layer.
Add changes to fix memory leak.
CRs-Fixed: 1065466
Change-Id: Ia3e93ddd47913956c27487472b6a70eb68d63fd9
qcacld-2.0 to qcacld-3.0 propagation
This commit allows the upper layers to query driver for max
message size between the host & firmware using vendor command.
Change-Id: I21db90c854e6105f00c27dec9389f2cafd4f6508
CRs-Fixed: 965244
Currently RRM scan state is not being tracked, leading to possible
suspend attempts while RRM scan is pending. Set scan state information
to prevent suspend while RRM scan is pending.
Change-Id: I1d688f137961b4cb09d13764761c8d22709c3a43
CRs-Fixed: 1072598
qcacld-2.0 to qcacld-3.0 propagation
Provide mechanism to user to enable or disable channel avoidance
indication through vendor command and also control this mechanism
using "gOptimizeCAevent" ini parameter.
By default "gOPtimizeCAevent" ini parameter is disabled. Ini param
controls the CA events based on the mode. If ini is enabled(1) then
firmware will send CA events only in SAP/GO mode and it will not send
any CA events in STA mode. If ini is disabled CA events are sent to
host in all the modes.
a. gOptimizeCAevent = 1
- When host sends ioctl(enable), FW will send "ONE" CA indication
to host(though it is duplicate).
- When host sends ioctl(disable), FW doesnot perform any action.
- Whenever any change in CA and WLAN is SAP/P2P-GO mode, FW will
send CA ind to host regardless of the ioctl status.
b. gOptimizeCAevent = 0
- FW will ignore ioctl request if received.
- CxM behavior will be as per the current implementation.
Change-Id: I9bd81b03b97a60bb81e550068742b2fc0b776ebb
CRs-Fixed: 903249
Firmware DBS mode is updated during firmware based roaming. Same change
is reflected in the host policy manager. Process hw_mode TLV in roam sync
indication event. Update cds concurrency policy after roaming. Handle
exceptions for ROAM_ABORT and HO_FAIL conditions.
Change-Id: I826c6766f73441256e5946d3167966e645f23430
CRs-Fixed: 1044336
Old generation of projects, which had only one MAC, are restricted to
use 28ms of fix active and passive dwell time when SAP session is active
but with new generation of projects, which can have two MACs, are
permitted to use longer active and passive dwell time when SAP session
is active on 2G band and DBS is supported.
Change-Id: I2638d9b7a3677c3f0b329ed8109d01baa2cffd68
CRs-Fixed: 1071353
propagation from qcacld-2.0 to qcacld-3.0.
FW sends NACK for WOW command to indicate Host to abort on going
suspend. Host prevents suspend by holding a wakelock for 1sec.
The wakelock prevents APPS supsend, but doesn't have impact on
Runtime PM. Hence Skip Holding Wakelock when NACK is recieved
in Runtime PM.
And Log the runtime stats when link resume fails.
Change-Id: I6d9385565c6d06a082e226d5211c733d124bd3a7
CRs-Fixed: 1053252
Change the log level of p2p scan messages from error
to correct log level since they are not error messages.
CRs-Fixed: 1069559
Change-Id: I68d5f6addc53e76536a989cfa7bf131f20b8dcd2
qcacld-2.0 to qcacld-3.0 propagation
As Current WMI interface need both the ARP/NS configuration
in single command. To support active offload host need to
cache the ARP/NS at wma layer so host can fill the other
request and configure down to firmware complete request
(ARP+NS).
Change-Id: Ie0a57d216379817ff0ae48f4f582c9108e8ecca1
CRs-Fixed: 1059739
Ensure logging messages in the suspend/resume paths use hdd_err() for failure
and hdd_info() for success. Also, evaluate existing messages, and polish if
appropriate.
Change-Id: I8b9509cf631058602ad6e8cd06a013af63624f00
CRs-Fixed: 1070223
DTIM period is configured during add_bss and is taken from scan
cache bss descriptor.Scan cache can have both probe response and
beacon frames, but the TIM IE is present only in beacon frames.
If scan cache has the probe response frame then DTIM values is
configured as 0.
Get the DTIM period value from beacon and configure it to FW.
Change-Id: I2b92e5e133a70d33987a50b6113681142bc4896a
CRs-Fixed: 1067558
Remove the per band chain mask support flag as the chain mask
configuration by user is not supported. And set the HT and VHT
IEs to FW unconditionally.
Change-Id: Ic29ec1019a7d83c7080409096ec41e827c4009fb
CRs-Fixed: 1068108
qdf_mem_cmp api returns zero when comparison string matches
else returns non zero. Checking return value with true/false
can cause confusion and errors.
Replace the return value check from true/false to
zero/non-zero values.
Change-Id: I485d69a4bf85d1e6273ea780af6d0423c3910686
CRs-Fixed: 1066946
Current host driver is using default pattern id 0 for various
WoW pattern configuration which is overwriting WoW rules in FW.
WoW pattern id should be unique for each vdev. Same WoW pattern
ID can be used on 2 different vdevs but on same vdev pattern id
for various WoW patterns must be unique. Add fix to make sure
unique pattern id is used for each vdev.
Change-Id: I893044ae50bee44b5e986f3c30967fad601eb057
CRs-Fixed: 1067951
qcacld-2.0 to qcacld-3.0 propagation
Fix the race condition, between 2 kernel worker threads
while shutdown is in progress.
Change-Id: I6e71ae55c57dac8c2adb36167783615e218cb481
CRs-Fixed: 834362
qcacld-2.0 to qcacld-3.0 propagation
Capture WMI version in a global variable for crashscope
to extract WMI logs.
Change-Id: I2f06eaf182bb67dceade397652f801e6311b8f68
CRs-Fixed: 978901
qcacld-2.0 to qcacld-3.0 propagation
GTX use this parameter to drop TPC and in turn TPC drop is the cause
for mcs rate drop and may happen in higher percentage. This change,
provide a way to select the desired value and reduce mcs-8 usage to
2% from 8%.
Change-Id: I64f05c8b41cf3d360819122a08eca72f3a2c1aed
CRs-Fixed: 1010564
qcacld-2.0 to qcacld-3.0 propagation
Currently DSRC feature is compiled for all the
targets even if DSRC is not required.
Fix to protect DSRC changes with DSRC enabled feature.
Change-Id: I2e6f975366e1de8aa8afb818a073e1591f76d7fb
CRs-Fixed: 1053362
qcacld-2.0 to qcacld-3.0 propagation
In SAP case there are two situation when driver needs to do vdev restart.
1)Hidden SSID: In case of Hidden ssid, vdev restart happens.
In process of restart first vdev stop happens then vdev restart and
finally VDEV_UP happens.
2)DFS detection on current channel: In this case due to DFS detection
driver need to change the current channel.
To change the channel vdev restart happens.
There can be a race condition when restart is happening as part of
Hidden ssid or switch channel, wma_send_beacon can do vdev up.
Fix this by not calling wmi_unified_vdev_up_send if restart is in progress.
Change-Id: I16c86105748b34b76ed575fc2e69a54cc7bab1c6
CRs-Fixed: 958230
qcacld-2.0 to qcacld-3.0 propagation.
TDLS teardown event sent by firmware is not processed whenever
host is in WOW mode which will lead to failure of TDLS
teardown
Fix is to handle this event in WOW mode.
Git-commit: 9cd6b405b3b75ff59febc30b5d8a6374b3f69675
Change-Id: I3649bfdf4381f49483a3ffe2c80d5339b52a3764
CRs-Fixed: 1009456
Propagation from qcacld-2.0 to qcacld-3.0
Add diag event for WOW reason code.
The event EVENT_WLAN_POWERSAVE_WOW will be used to
inform the WOW reason code.
Change-Id: I9273c9e737b97207ce0acee131ab6f3c19cd3e0d
CRs-Fixed: 1037383
Propagation from qcacld-2.0 to qcacld-3.0
Some of the logs are printing quite often and spamming the kernel logs.
Hence move them to appropriate log levels and remove the useless debug
messages.
Change-Id: If38d7a6a3cf13a5879f6a628d3d7eb4f5156a95b
CRs-Fixed: 1001441
When GETIBSSPEERINFOALL command is used to print IBSS peer info,
both creator and peer info are displayed.
Fix is to decrease the loop iteration by one so that creator
info is not displayed.
Change-Id: I1cc467d6fd4b3b29f86f01aa111235f04ddaef42
CRs-Fixed: 1061472
qcacld-2.0 to qcacld-3.0 propagation
If ll stats provided by FW has more than one peer then
Driver is allocating memory for all the peers but copying stats
for only first peer before sending it to upper layer.
Fix the issue to copy stats for all the peers.
Change-Id: I91b14377acfed6ccdde4315c4796ef1adbfd18c3
CRs-Fixed: 1018539
qcacld-2.0 to qcacld-3.0 propagation
Client connectivity with SAP fails after Association due to DHCP Timeout.
This happens as iwpriv command is issued to change the SSID type to hidden,
As part of this command VDEV STOP->VDEV RESTART->VDEV UP are issued to
firmware. DHCP frames are stuck in the driver queues as queues are paused
as part of VDEV restart sequence done for hidden SSID. VDEV unpause is not
done after VDEV up which leads to this issue. This fix unpauses the data
queue after the SSID configuration is done. Also, recalibration of Hidden
SSID setting is avoided if the required setting(broadcast/hidden SSID) is
already configured
Git-commit: a14bb2ab3423674c2b6a1a67f7a33232816af7f7
Change-Id: Ic31fc5c7fc8ea7d47358cf701e51fa830eefd2ab
CRs-Fixed: 990208
Propagation from qcacld-2.0 to qcacld-3.0.
Add sanity check based on TLV len in addition to the check
based on TLV tag id to ensure that if fw does not support or
is not sending rssi stats then HOST does not process it at all.
Change-Id: I92b197f9578aa003bf622617c363fea7334dbcb2
CRs-Fixed: 1023179
Propagation from qcacld-2.0 to qcalcd-3.0.
Add support to get per chain rssi from fw via
already existing WMI command WMI_REQUEST_STATS_CMDID
and then store it in the station_info structure defined
by cfg80211.
Change-Id: Id50c96dd322b5ca4db34cf2df901730d8b103251
CRs-Fixed: 1005367
Once WMA context is retrieved, check if it has NULL value
before dereferencing it
Change-Id: I9896204933deb0588bca51e006e1477d5ed6c03e
CRs-Fixed: 1065301
PM suspend and FW interrupt handler is running at same time
which is leading to multiple race conditions and host is missing
FW wake up interrupt which is causing APPS not waking up reliably.
Define .suspend_noirq and .resume_noirq callbacks and make
sure there is no pending FW interrupt before allowing PM
suspend to complete. Kernel PM suspend framework gives guarantee
that suspend_noirq and device interrupt handler can't run
simultaneously. This helps WLAN driver to reliably detect FW
wake up interrupt during PM suspend and fail PM suspend gracefully
if FW has requested for initial wake up.
Change-Id: Ic82d7dd6b6b743dd3f55b036e012ad0c8bebd50d
CRs-Fixed: 1060748
When FW wakes up APPS processor from power collapse it sends 120
bytes of payload piggy backed to wake up event handler. There are
some types of frames for which packet stats is not maintained.
Clean up log messages in WMA such that error message is not logged
to console.
Change-Id: I31d032874e5c9b8773a4e8d5067923c1dd20e23a
CRs-Fixed: 1065309
Currently in wma_wow_wakeup_host_event, NDP WOW handler code is doing manual
pointer arthematics followed conversion to event tlv. This is duplicate effort
as necessary wmi event struct is already available. Remove this and directly
use wmi event struct.
Change-Id: I90da473d773781d007f4932d6ffbec389d5a2766
CRs-Fixed: 1058503
As part of MBO(Multiband Operations), the Assoc IE's including
MBO IE need to be sent to FW as part of Roam Scan Offload command
so that these IE's can be used later in firmware initiated roams
Change-Id: Ia873c65a7813ae63d8e53d7445095990b0c2fed7
CRs-Fixed: 1039969
(cherry picked from commit 0af3520421400b65002604e0a3a9c7c714cc1e21)