In case of reassoc event handler, it may be possible that driver
doesn't inform kernel about the new bss as well as doesn't reset
the reference count of this bss due to memory allocation failure.
Add changes to reset bss reference count if memory allocation
failed.
Change-Id: I6844d9387dd018e24a4d15bd567294e08ae43941
CRs-Fixed: 2075074
qcacld-2.0 to qcacld-3.0 propagation
Checking every node in STA hash table when sending action frame. When
sending action frame, the driver will loop through the STA info hash
table to find all the STA need to recv unicast action frame. The STA
info stored in hash table from the second node to the last, the first
node is empty. But the current loop through policy lost the last node,
so change the loop count to fix this issue.
Change-Id: I323d7af5ea0871677ebf8bebe88eaff072efdac8
CRs-Fixed: 1098738
For encryption mode is WEP40 or WEP104, the default key index should
be set. if not set, the group key index will be zero always.
Change-Id: I3f2dae9d7b6cd4fbb7aa2882e6a5e89cf759cd11
CRs-Fixed: 2065988
Fix the restriction of not sending ROAM_START command if the
previously sent command was an UPDATE_CFG command. There is
no such requirement.If the framework sends a BLACK_LIST update
command, then it is sent to firmware even in case of disconnected
state for the sake of PNO. The subsequent connection triggers a
ROAM_START command and it is not sent to the firmware due to
the current restriction
Move the global flag of saving the status of roam start sent to
firmware into the session
If a ROAM STOP is being sent to the firmware directly to WMA, then
update the relevant flags in the session
Change-Id: I6c42bc7d1e10352883edc7e715ea1418835cd142
CRs-Fixed: 2074836
Call sme close session if sme open session times out, to clean up
the vdev created.
Change-Id: Icd718138d0198a6285243a15eb56ce912149f038
CRs-Fixed: 2043263
The length of buffer used to send wmi roam scan filter cmd is not
properly calculated and the length is less than the data to be copied.
Fix it by properly calculating the length of the buffer.
Change-Id: I971ff3c1313d617cc3174150c738ba20f931d2a1
CRs-Fixed: 2072064
Address the following issues identified for mScanPending:
* Do not ensure mScanPending is set in hdd_cfg80211_scan_done_callback
* Always set mScanPending to false in hdd_start_all_adapters
Change-Id: I233b8208cea0661c1d8834704e44a311e662dc47
CRs-Fixed: 2073232
snr_monitor_enabled in the mac context can be overwritten while
applying sme config again.
Add changes to retain value of snr_monitor_enabled from initial
configuration.
Change-Id: I60522fa27407506522efb45a9c5d3e7a5ac04ef2
CRs-Fixed: 2056870
In the reg channel info which is sent to external channel
selection daemon, Some channel flags are missing which causes
application to select wrong channel.
Add changes to correct channel flags.
Change-Id: I80834dd7f5f4bfbd2fce88084a938356a741140c
CRs-Fixed: 2068354
warning: implicit conversion from enumeration type 'QDF_STATUS' to
different enumeration type 'enum tSirRetStatus' [-Wenum-conversion].
Change-Id: I4627325a927c36f3c4f9bb6d89f04146784d458a
CRs-Fixed: 2055487
warning: implicit conversion from enumeration type 'enum hdd_wmm_user_mode'
to different enumeration type 'eCsrRoamWmmUserModeType' [-Wenum-conversion].
Add a utility function to convert enum hdd_wmm_user_mode to
eCsrRoamWmmUserModeType.
Change-Id: Iefbe7dd55bd51da2e019b528d64f9889abfd4d32
CRs-Fixed: 2055487
warning: implicit conversion from enumeration type 'enum pkt_filter_action' to
different enumeration type 'eSirReceivePacketFilterType' [-Wenum-conversion]
Change-Id: Idc819573712a54676ed0ba84d2032d80fd78b3b7
CRs-Fixed: 2055487
Currently at TSO segment free it's debug information is not
cleared. TSO segment TX descriptor owner is part of the debug
information. As a result even after segment free still its
point to stale TX descriptor as it's owner. In this change at
TSO segment free set TX desc owner to NULL.
Change-Id: I09f927d78c7b3aa4691aa69acbd4cef5002cf11d
CRs-Fixed: 2063433
Expand crash_inject command so that it can be used to simulate host
driver initiated recovery.
Change-Id: Ia29a528c7153ea2ca62094909cb535f218f7bf88
CRs-fixed: 2068035
Add the interface that host driver can trigger FW assert and do
recovery for QCA6290.
Change-Id: I03a9c374fd2ddc5cc46b9b0a98ce05bcf80a53ec
CRs-fixed: 2068035
HDD always sets periodicity=0 and cache=false so all logic
that exists to support these options can be removed from SME/CSR.
Change-Id: Ica9848badd09d14f50c44998ce830568e2b76024
CRs-Fixed: 2063484
Locally administered bit needs to be set and multicast bit
needs to be reset in the interface/vdev mac address.
Change-Id: Ifdc39a8137617ebf2d09434deba13767f0c7cf34
CRs-Fixed: 2059150
Use cnss_utils APIs to set/get wlan info as these APIs are platform
independent.
CRs-Fixed: 2071683
Change-Id: Ia35a648a1d4dff308b830bce3b4e9992de2a2834
To support reg-domain at pdev level, modify the usage of some
apis to pdev level.
Change-Id: I37c504f77c7704553714cc74cba6c5ef882e774c
CRs-Fixed: 2048784
Currently there is no nl policy defined for vendor sub command
QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX which may result in
buffer overread error.
To resolve this, add nl policy.
Change-Id: I155efdbb07f1c5fe300bb2be0c2a3fe07c7e134b
CRs-Fixed: 2054690
Update the DBS capability of HW in vendor attribute
'QCA_WLAN_VENDOR_ATTR_CONCURRENCY_CAPA' of vendor sub command
'QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES'.
CRs-Fixed: 2064411
Change-Id: I79ddd50a31c7627706684ddb1e5dbab667bf028d
Fix implicit conversion from enumeration type 'enum eSirMacStatusCodes'
to different enumeration type 'tSirResultCodes' (aka 'enum
eSirResultCodes')
Fix implicit conversion from enumeration type 'QDF_MODULE_ID' to
different enumeration type 'CDS_MQ_ID'
Fix implicit conversion from enumeration type 'enum eSirRetStatus' to
different enumeration type 'tSirResultCodes'
Fix implicit conversion from enumeration type 'QDF_STATUS' to different
enumeration type 'tSirResultCodes'
Fix implicit conversion from enumeration type 'tSirMacReasonCodes' (aka
'enum eSirMacReasonCodes') to different enumeration type
'tSirResultCodes'
Change-Id: I2e769dcf34a54959082d8154b1e9377b356d2f5e
CRs-Fixed: 2063149
Fix implicit conversion from type 'enum driver_type' to different
enumeration type 't_wma_drv_type'
Remove duplicate data structure
Change-Id: Iccf1bed796c0a67109788ce434ab9115b378dd43
CRs-Fixed: 2063149
Host is required to send HTT messages to firmware to configure
and enable monitor mode. The HTT message requests the firmware
to subscribe the TLVs, packet types and also monitor mode type.
CRs-Fixed: 2071621
Change-Id: If2da5de01f3a7eb594e25b421bc17f97498c8a92
Increase the scan ageing timer value from 30 seconds
to 90 seconds for the configuration item
gScanAgingTime
Change-Id: Ic4f87c20601f753c71710d20ed98bdb774538f82
CRs-Fixed: 2072461
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
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