qcacld-2.0 to qcacld-3.0 propagation
Host driver can send number of max AMSDUs in transmit frames.
Added a call to process_wma_set_command() similar to CLI
command processing for GEN_VDEV_PARAM_AMSDU during device
initialization.
Changed name of the field from isAmsduSupportInAMPDU to max_amsdu_num
in several places. Existing SME and LIM code passes this parameter
to WMA, but it is not used there. It may be useful if AMSDU setting
is changed to per-vdev basis in future.
WCNSS_qcom_cfg.ini changes:
Removed - "gAmsduSupportInAMPDU"
Added - Name = "gMaxAmsduNum", Min = 0, Max = 3, Default = 1
Actual function call to ol_txrx_aggr_cfg() send the parameters to
firmware is commented out because it is not implemented in firmware.
Change-Id: I2dfdd8c8c4a8807596ff28eee192ef66ac425653
CRs-Fixed: 871686
Randomize NDI mac address and avoid potential conflict with FW's
generated NMI mac address by setting LSB of 6th byte to 0.
Change-Id: I8b194fb06bfd1abc46c40124c813a9880d631114
CRs-Fixed: 2053119
Enable support for multiple nan data interfaces. The usespace
may need to create multiple NDIs depending on whether it
requires IP isolation or not.
Change-Id: I4391f2efdc6bdede52a73915531d39dd7798c39d
CRs-Fixed: 2028187
If set link state cmd is present in MC thread and is not processed,
during unload/SSR the msg is discarded but callback arg is not freed.
To fix this free the callback argument while discarding the link state
cmd from WMA msg queue.
Change-Id: Ie532a8983c8efbf3a24eef3b93a8c723bfc65a3f
CRs-Fixed: 2053978
qcacld-2.0 to qcacld-3.0 propagation
FW has limitation to support old WMI_REQUEST_STATS_CMDID and
WMI_UPDATE_STATS_EVENTID interface on AP vDev. FW suggest to use new
WMI_REQUEST_PEER_STATS_INFO_CMDID and WMI_PEER_STATS_INFO_EVENTID to
get tx/rx rate.
This checkin is about WMA layer which process SME message to get peer
stats info and WMI event WMI_PEER_STATS_INFO_EVENTID which send from
firmware as response to WMI_REQUEST_PEER_STATS_INFO_CMDID. There are
also updates using old WMI_REQUEST_STATS_CMDID to get peer stats.
Change-Id: I964520dc44c112875434771154f55f4746298308
CRs-Fixed: 2046459
Hif recv buffers with fw events were being leaked
in the cds_sched_flush_mc_mqs opperation.
Change-Id: Idc7752740eb955b61876bd235e5e9516f98af4bf
CRs-Fixed: 2004858
Firmware reports SNR and RSSI in int32 variable due to restriction
of WMI, however host uses int8 for these. This is causing RSSI or
SNR value to be altered when typecasted. Fix range change for SNR
and RSSI at WMA and ensure it fits int8 before passing to UMAC.
Change-Id: Idc3c4f48bb1212b5f10104843960d1a509403456
CRs-Fixed: 2042747
For a small window during roaming and new connection, there is a
possibility of firmware to send the invalid rssi value(other than
0-127), leading driver to send the same invalid rssi value to upper-layer.
To mitigate this issue:
1) Either send previous valid rssi value to upper-layer on receiving invalid
rssi value from the firmware.
2) Or if previous rssi value is not valid, fetch rssi value from beacon frame
of connected AP from scan cache.
Change-Id: I4443ed06cd80826ff386c2b4a536a2dc1a1e0881
CRs-Fixed: 2042747
Commit I1054c7df18780469849be55fc4343f09ac502a49 introduced
excessive logging because PE is using WARN log level to dump
frames. Reduce log level to debug level and remove hexdump
log as its not a fatal/error condition.
Change-Id: I75052c28c4bafdf36ff5fd8837da172ccce1abf8
CRs-Fixed: 2066381
Adding timestamp in version string is causing long compile times
for wlan project. Add option to avoid timestamp so that developers
can avoid long compile times.
Change-Id: Iaa5fd4f432549844ae319451cb43929a2d4b68ea
CRs-Fixed: 2064805
__wlan_hdd_cfg80211_get_station() is notoriously overly complicated.
Begin refactoring this function by factoring out some of the conditional
compilation.
Change-Id: I8a0e66a8dc4bf320080f417b196ead6df06d0995
CRs-Fixed: 2071619
Currently MBO-OCE IE doesn't support different attributes and
consider the IE as fixed IE with only cellular data and assoc
disallowed attributes.
To fix this added support for parsing of different attributes of
MBO-OCE IE
Change-Id: Ia7eb38cec3dbb4022acbcc06588004b5bf4ca87f
CRs-Fixed: 2063865
In few instances memory allocated dynamically, but
its not freed after usage.
free the allocated space after usage.
CRs-Fixed: 2041467
Change-Id: Iae551cd3acbb6bc2618f05cfdc33e4f742d63192
Fix crash due to race condition between MC thread and shutdown
sequence worker thread by moving IPA SSR deinit after MC thread
shutdown.
Change-Id: Id9ee6de5b176e302f865ab959aca29fb708dd6bc
CRs-fixed: 2071804
Configure burst duration for the scan when VDEV is in NDI mode
and at least one peer is connected.
CRs-Fixed: 2055300
Change-Id: I4cd582ad8df6bc2aa2095cff1933b2f9d166fd60
It is better to follow 2 stage sequence for NAN as well like
1) open adapter 2) start adapter (sme_open_session). Since that
is not possible making hdd_init_nan_data_mode happens at the end
when all adapters registered.
Change-Id: Ib67a8f8e9ee5546a77d90d04f0a69a2a5a739e4d
CRs-Fixed: 2049177
NAN Enable/NAN Disable followed by NAN data request causes NDP to
fail. The failure is due to the firmware sending all-zero peer
mac address. Even though, FW should not be sending all-zero
peer address, the host should not attempt to add/delete such
a peer.
CRs-Fixed: 2043780
Change-Id: Ieab390d3fe4c585e1692767839856af2ad17a37b
Gcc 6 introduces some stricter checking for indentation,
causing warnings of misleading-indentation, which are
treated as build errors when drivers are compiled.
Fix all the identation warnings under qcacld-3.0.
Change-Id: Ie197761cfe4334ab14d593adebc56375372ba37c
CRs-Fixed: 2058158
In wma_set_channel function for monitor mode WMI_PDEV_SET_CHANNEL_CMDID
is used to set channel.
In lim, while sending WMA_CHNL_SWITCH_REQ, defer flag was set to wait for
WMA_SWITCH_CHANNEL_RSP from firmware, incase if we don’t use
WMA_CHNL_SWITCH_REQ in monitor mode, send WMA_SWITCH_CHANNEL_RSP
from wma_set_channel itself to reset defer flag in lim.
Change-Id: Ica96be08d8fb2af5ca5dc07182b690ea5c2bdbae
CRs-Fixed: 2010363
If platform has a mechanism to initiate target assert, trigger
that interface to force assert target. Certain integrated platforms
(where WLAN runs on it's own PD) provides a mechanism to initiate PDR
from host. That interface can be triggered when WLAN host detect
timeout scenarios.
CRs-Fixed: 1110243
Change-Id: I6a9408f47ca4245380dbf4177363c3c461ff948d
FTM state structures wlan_hdd_ftm_state and wlan_hdd_ftm_status
are not used hence remove them.
Change-Id: I03e0e11e3f7436da99eeb6a1b0fd128e5bf31e7e
CRs-Fixed: 2052605
Return error instead of QDF_BUG(0) in ol_txrx_peer_attach() when it
times out on duplicate peer detection. Peer unmap events from firmware
may take more than 500 ms timeout observed by this routine.
wma_create_peer() should return error status on failure to create peer.
CRs-Fixed: 2004665
Change-Id: I8368c6320139f97584bd1647f1806a695d4a5929
Currently the WMI_PDEV_FIPS_EVENTID handler is registered to use
WMA_RX_SERIALIZER_CTX. However the FIPS feature does not use pMac and
hence does not require serialization through the MC Thread. So change
the registration to use WMA_RX_WORK_CTX.
Change-Id: Iec0b87331008bbe393efa1cbc2071af75012022e
CRs-Fixed: 2068572
When reassoc to AP, pLimJoinReq will be NULL and there is not NUll
check before access, which cause DUT crash. Verify the pointer before
access it, set SMPS for both join and reassoc cases.
Change-Id: Ifbaf8d52c4be1a2a31506e4ab49e6d5b68596645
CRs-Fixed: 2062392
Propagation from qcacld-2.0 to qcacld-3.0.
Currently to get clock boottime, qdf_get_monotonic_boottime_ns
api is getting used which does not include the suspend time.
To include the system suspend time also in clock boottime, use
qdf_get_bootbased_boottime_ns api which uses ktime_get_boot_ns
kernel api.
Change-Id: Ibcc628c315201fa3ced7e1ad96753772d91707b2
CRs-Fixed: 2067770
If do not define QCA_WIFI_3_0, it alloc ipa uc tx buffer by
qdf_nbuf_alloc, but free by qdf_mem_free_consistent, which cause
memory leak. Solution is freeing with corresponding method.
Change-Id: I407712e545acfe5aeef8c8afa58785e42556ca02
CRs-Fixed: 2061922
Currently, for world regd and some other regds where conformance test
limit is NO_CTL, host is sending invalid CTL info to fw instead of
NO_CTL (0xff) due to type conversion issues.
To fix this, use proper unsigned type for CTL info.
Change-Id: I6aff04f0142b5c8e4ff2ea91d85ae7108390c89f
CRs-Fixed: 2056834
When dissassoc or deauth is issued by user a.k.a (supplicant), it has
dependency on few parameters like isFastRoamIniFeatureEnable in
cleanup path. This change removes the dependency.
Change-Id: I601e33e7e57b0ebb76fd06d3c176bfabb9568ba8
CRs-Fixed: 754116
Add below changes to support SSR within SSR,
1.Add new driver state, CDS_DRIVER_STATE_BAD, which will be set
on re-init failure and reset on re-init success and if this
state is set, don't allow any north-bound calls.
2.Don't de-register wiphy/netdev on re-init failure.
3.BUG_ON if re-init or probe fails successively for two times.
4.During driver unload, don't wait for SSR to be completed.
Change-Id: Id05a3e4b592664c9b56c7dd83b965b973f1d5ca5
CRs-Fixed: 2037628
Supplicant reports ACS failed, if driver indicates invalid ht_sec_ch.
Do not assign ht_sec_ch with sec_ch_offset, because they are not the
same thing.
Change-Id: I8fb2a42973b67bb045d385b1fd90ee32917450ea
CRs-Fixed: 2067092
Program num tx chains for 11abg FW via pdev params. This will
help enhance power save in firmware.
Change-Id: I1f5815f2914f65928f8f3d72e53d409ecf6d1fe7
CRs-Fixed: 2056531
Currently, Host uses single wow_wake-lock for all wow
wakeup events like (auth/assoc/deauth/disassoc etc)
which raise difficulty to detect what is actual cause of
holding wake lock.
As a part of this fix, Add separate multiple wake locks
to remove wake lock overloading.
Change-Id: Iac0a6f73ac05dd3960a4ea0229190cb851808e16
CRs-Fixed: 2046511
Restart SAP(P2P_GO) only if ini parameter, sap_restart_on_ch_avoid,
is set. By default its enabled.
Change-Id: I0aee79ba2d5e0cfa8a7b0c7b1901c61614944338
CRs-Fixed: 2023854
Presently, in cds_open() error handling, cds_sched_open is invoked only
in UNINTIALIZED or recovery state but same is not checked while invoking
cds_sched_close.
Invoke cds_sched_close only if driver is in UNITIALIZED state or WLAN
driver recovery is in progress.
Change-Id: I17e2cbe8f859cab4bc12d1a52a583833fb125ada
CRs-Fixed: 2010802
Presently, STOP Driver command is not handled in driver
as interface down will takes care to close the modules
if there are no more interfaces up. But when framework
issues this command, it's going to bad state as driver
returns failure.
To mitigate this issue return SUCCESS for STOP DRIVER command.
Change-Id: I47e6898109a35e3194c18645c932c5b2cf5a73c8
CRs-Fixed: 2006563
In some scenarios like, driver rmmod or on terminating hostapd or
on terminating dataservice process, driver receives directly STOP_AP
indication without DEl_STA indication from upper-layer, leading to
cleanup of stations connected to SAP won’t happen within driver.
To mitigate this issue call DEL_STA within driver on receiving
STOP_AP indication.
Change-Id: I7050f1788c1fa9a9ede190874a5d494f896abfff
CRs-Fixed: 2010222
Presently, on receiving new MC address list, Host is just updating
MC address list and sending same to FW, without clearing previously
configured MC address list. This may lead to MC address list not to
be cleanly configured in FW.
Before configuring new address, clear previously configured MC
address list.
Change-Id: Ia0c79099d248c3d992b9fa420d46c1464229b03a
CRs-Fixed: 2009368
This reverts commit e21734860079b0a8bf9f3158a2bf1fbcc09d0855, because
it fails WPS_PIN certification test. Some ref-STA connect to SAP
without WPS IEs and any security IEs when test this case, but this case
can still pass if accept this Association Request.
Change-Id: I037752a78a72730f88569c2cf222da7e0cf6e085
CRs-Fixed: 2070525
The McastBcastFilter configuration item is not being used, and support
is being dropped from the driver. Remove the McastBcastFilter setting
feature from the driver.
Change-Id: I6fc0e48e31c01ba2df73c51b3fd9ec2a84571541
CRs-Fixed: 2045284
Currently there is no nl policy defined for vendor sub command
QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX which may result in
buffer overread error.
To resolve this, add nl policy.
Change-Id: Ib5d3c34dbcec29a98766753efc4e9c4ecf748c2e
CRs-Fixed: 2054693
wlan_hdd_cfg80211_set_key_wapi() and sme_roam_set_key() prints
key information in default host logs.
Fix to remove debug logs which prints sensitive key information.
Change-Id: Ib71da962761f9b6b5fd8ba214676b649529bcaa7
CRs-Fixed: 2058305
In hdd state ctrl API buf used beyond its size.
Increase buf size to 3 to get rid of buffer over flow.
CRs-fixed: 2029584
Change-Id: Ie353d449f167bee05833841350d61dc0935786fc
Mode request at icnss can timeout when FW is crashed. Currently
driver invokes panic in this case, if the FW down indication is
not received. However there could be a race condition where the
timeout at driver can happen even before icnss receives this FW
down notification. So remove the panic to allow recovery to
kick in.
CRs-Fixed: 2070795
Change-Id: Ibeace13bd08751618424ad68e39e9b053c9be97e
Check for NULL values of peer and peer_map_addr before dereferencing.
Move the debug print statement before peer is detached and peer object
is freed.
CRs-Fixed: 1115011
Change-Id: I00d547847eed8e24a01178390b9a62be0b9b75d7
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'
CRs-Fixed: 2063339
Change-Id: Ib96a49f40ea581127405560087354e7fa9bf46ec
SME queue is getting overflow due to IPA
stats request which gets posted at every 100ms.
Don't process IPA stats request in cds thread
context instead call wma API in the worker thread
context.
Change-Id: Id1ae20a1256ecd7ee43c2e3ebf50a14dc22e6714
CRs-Fixed: 2047462
Fix vdev_id validation at wma. Currently validation for vdev_id
which is an index to wma->interface array is off by 1.
Change-Id: I01fa048af08f76244896ae1ca4c53c61c1c60397
CRs-Fixed: 2057505
qcacld-2.0 to qcacld-3.0 Propagation.
improper validation of
QCA_WLAN_VENDOR_ATTR_EXTSCAN_BSSID_HOTLIST_PARAMS_LOST_AP_SAMPLE_SIZE
results in assigning an unchecked user-controller value.
This can lead to buffer overflow.
validate QCA_WLAN_VENDOR_ATTR_EXTSCAN_BSSID_HOTLIST_PARAMS_LOST_AP_SAMPLE_SIZE.
CRs-Fixed: 2056253
Change-Id: I7c33b6d78054672e9effbe9100c29e5604c250c6
Currently in __hdd_cfg80211_get_station_cmd there are two
attributes which are not properly validated.
Define an appropriate nla_policy and specify this policy when
invoking nla_parse().
CRs-Fixed: 2054741
Change-Id: I36e12f001b05069c8e06adb1f264392232b13bfb
qcacld-2.0 to qcacld-3.0 Propagation.
In get oui ie command API, ie pointer read out
of boundary.
Return NULL if ie length is less than oui size.
CRs-Fixed: 2053002
Change-Id: I13375d3bfa472eda25d8d6191431dd1f79bf5842
Currently even though all peer unmaps events of last associated peer are
not received, driver still goes ahead for new connection with a diffrent peer.
Now if firmware uses same peer id for new peer also this causes synchronization
issue of peer ref counts and will eventually lead of kernel panic.
Add changes to wait for last peer's all unmap events before proceeding with
new connection
CRs-Fixed: 2040627
Change-Id: I30e74d9bebe66fec55d7682d3cec581a078f5e75