Currently PHY mode is not getting updated and it is being set as
0, which is resulting in an invalid channel setting to FW
for LOWI.
To address this issue update the PHY mode correctly.
Change-Id: I1f650268e2ba1814a435994d558b4b68030eb8c1
CRs-Fixed: 2318551
Regulatory data can change without notice due to various conditions in the
WLAN sub-system. Therefore, to protect integrity of regulatory data,
always use a copy of the data.
Change-Id: If2c5c45c421e7a88285d72ea94d9ad172d22fb7e
CRs-Fixed: 2321516
Currently the number of scan entries populated from the scan results
of RRM issued scan for beacon report is limited to 4 entries in
sme_rrm_send_scan_result API. This is inspite of the fact that the
API sme_rrm_send_beacon_report_xmit_ind can handle more than 4 results
and will do the fragmentation of 4 results per frame before sending
it to the RRM.
Remove the limit of 4 entries in sme_rrm_send_scan_result and send
all the valid scan result entries to RRM.
Change-Id: I32448616a9e5f19ee816d60db8fef6e6c2f8908b
CRs-Fixed: 2321077
Priority Queue gets paused due to descriptor deficiency which
needs to be unpaused after distributing descriptors from a
source pool to deficient pool.
Unpause the Priority Queue of deficient pool when avail->desc
count is more than start_th.
Change-Id: Ia91fdd0ac39bf8a4ac42dafa42d346993bf6a38e
CRs-Fixed: 2318031
Currently when the supplicant sends a connect with bssid_hint and
prev_bssid, driver issues a roam_invoke (fast reassoc) command to the
FW. However, when this connect is received in the supplicant context
and if the driver is currently processing a disassoc/deauth from the
AP in the mc thread, then the CSR roam connection state would not be
associated but the HDD STA context connection state would still be
associated. In this scenario, since the disconnection is in progress
and VDEV Down might already be sent to the FW, the roam_invoke command
is ignored and FW does not send any response. However the driver
assumes that roaming is in progress and blocks all incoming scan/
connect requests from supplicant leading to a state where no further
connections can go through.
In hdd_reassoc, check the CSR Connection state also to check if
the current state is associated and then issue roam_invoke to FW.
Change-Id: I321e99b060d6ce22517a3dd604b0f4d08dd5918d
CRs-Fixed: 2319641
During CAC wait if radar indication is found, SAP try to switch to
new channel. If this channel switch fails, SAP is stopped
internally.
This stopped indication is not handled if VDEV state is
START_RESTART_PROGRESS and thus vdev down is not sent to vdev FSM.
Handle SAP stop in START_RESTART_PROGRESS vdev state.
Change-Id: I92e48cc9a85249c88315fbb09fe1a61bd07983fd
CRs-Fixed: 2322996
HDD bus bandwidth handler runs every 100ms and enter, exit logs
at every 100 ms is over flowing driver log buffer hence remove
hdd_enter and hdd_exit logs from __hdd_bus_bw_work_handler.
Change-Id: Ia3a3163eebf442af7371bb0bcd09bccff1f199d9
CRs-Fixed: 2323286
HDD config params are getting used before creating and storing psoc
in hdd context which may cause NULL pointer dereference of psoc.
To mitigate this create psoc and parse cfg ini params just after
cfg_parse() in hdd_context_create().
Change-Id: Ida2b81eef0ebbfba2749ca89b63980201830a5e2
CRs-Fixed: 2321959
wlan_crypto_set_vdev_param() used in hdd_populate_crypto_auth_type(),
hdd_populate_crypto_akm_type() and hdd_populate_crypto_cipher_type()
is not defined when CONFIG_CRYPTO_COMPONENT is disabled
Change-Id: I5bccf391886d4db48a79ba67b903180ea626ad37
CRs-Fixed: 2321455
Restrict the band of PCL to the connected band if
intra band roaming is enabled
Change-Id: I78e9a29d7f8eb226e899e944e4d2980629c52a01
CRs-Fixed: 2302607
If the interface down is issued during the SSR the driver simply
rejects the interface down and silently initializes during the
reinitialization. This can result in resource leakages and also
results in upper layer and driver out-of-sync.
Hence mark the adapter that interface went down during ssr and
cleanup the same during the end of reinitialization so we can
cleanup all the resources.
Change-Id: I426eff3be09abdbafeaf7501df551ea7c49a0f47
CRs-Fixed: 2256433
When zero mac address is configured on nvram, the
hdd_open_adapter accepts the value and passes this zero mac to
csr_session_open where the self mac address is stored as zero
value mac and peer creation is done with the same. When peer
delete is sent to firmware with this mac, firmware asserts.
Add check to validate mac address value is not zero.
Change-Id: I077c29c98ef4e1b11e4c587224acd4405629fa83
CRs-Fixed: 2310499
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.
After I1aa67d0554400ed552dc488805ba3421531a26c3, replace the
remaining instances of hdd_psoc and finally remove hdd_psoc from
hdd_context.
Change-Id: If9a4941e18a75563f9ab978bd4b38bd1145e4ada
CRs-Fixed: 2312429
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.
After the introduction of hdd_context.psoc in
I9971c478c0d1dc111bb20a7cd6614f73ffb0b15d, replace more instances of
hdd_psoc with psoc.
Change-Id: I1aa67d0554400ed552dc488805ba3421531a26c3
CRs-Fixed: 2315992
Presently, in VHT case also, the HT MCS rate flag is being set when the
SGI is enabled. This is causing the kernel to misinterpret the rates.
Instead of getting the VHT rates, the kernel is enabling the HT rates.
This issue is not present in kernel 4.9 as the preference was given to
VHT rates. For kernel 4.14, the preference is given to HT rates thus
highlighting the problem.
To solve this issue, do not set the RATE_INFO_FLAGS_MCS for SGI enabled.
Change-Id: Icce5b661c3fee21fa4522f06ff54827238e0d255
CRs-Fixed: 2317669
Currently, in __wlan_hdd_cfg80211_dump_survey(), ETSI13 SRD channels
169 and 173 are not considered for filling channel survey info.
To fix this, consider ETSI13 SRD channels when WLAN_FEATURE_DSRC
is not defined.
Change-Id: I71307d58548304df6c1dcfa377dfe677a15db89f
CRs-Fixed: 2319454
In wma_extscan_find_unique_scan_ids() the TLV structures
for param_buf are pulled from the WMI message.
wma_extscan_find_unique_scan_ids parses the data (param_buf)
which is obtained from the firmware.
This parsing logic of rssi_list does not consider the
size of the list and thus results in an OOB access.
Fix is loop for the num_rssi_list and not the num of entries
Change-Id: Icf79b59a17b66ac858222b79589641787022572d
CRs-Fixed: 2316805
Add mlme cfg api functions to get EDCA parameters.
Also remove the legacy CFG item definitions.
Change-Id: I075240279e2cf3fda4424b77b7cfcf50ac9619f4
CRs-Fixed: 2316205
Add CFG items of RTT and PMF as generic items based
on converged cfg component.
Change-Id: Ic95d1e7b052259149704d9faf65ebe5f51536fdf
CRs-Fixed: 2313281
Reorganize the SoC-level PLD callback handlers for improved consistency
and clarity. This includes the following changes:
* Remove wlan_hdd_probe()
* Rename wlan_hdd_remove() to hdd_soc_remove()
* Rename hdd_soc_reinit() to hdd_soc_recovery_reinit()
* Rename wlan_hdd_shutdown() to hdd_soc_recovery_shutdown()
* Add documentation to probe, remove, shutdown, and reinit handlers
* Avoid irq disable if load/unload in progress (in shutdown)
Change-Id: I8212f1cbbeac8cc431e3008097f62196911efdeb
CRs-Fixed: 2320582
When station does LFR3 roaming, tdls will get an extra disconnection
notification which is wrong, remove the notification because tdls has
got the disconnection and connection event when roaming is successful.
Change-Id: I7bc56dae5fd653a44d8ac19be19083528c987d8b
CRs-Fixed: 2308503
While sending the peer assoc to FW, fill up the vht information from
vandor IE, if it is carrying the VHT capability information.
Change-Id: Ifcb299a5b16a14a1b20ae39ffcf3126e8bc20f9b
CRs-Fixed: 2318709
Remove the legacy macro definitions that are related to the
mlme cfg.
Move them to wlan_mlme_public_struct.h
Change-Id: I64f474512463d3ba7ac238b2efd0f4cf2e36999b
CRs-Fixed: 2317750
The MU EDCA params setting message is not processed as the message
type is not present in the handler. Fix the issue by adding the
message type in handler.
Change-Id: Iccc8dabd98cb873cd050fd250dbd77226751c6d8
CRs-Fixed: 2319665
vdev_id data type used in csr_scan_abort_mac_scan()
is declared as uint8_t and is compared with INVALID_VDEV_ID,
a 32 bit integer, which can never be true.
Change-Id: Id5ca042bf24fa3a3f683abae95f5c424824e230f
CRS-Fixed: 2315003
Currently, driver don't fully support MULTI_IF_NAME when two wlan
cards are supported by using two drivers:
1. if two wlan cards are all PCIe, driver can't distinguish
two PCIe cards firmware path.
2. When create hdd sysfs file upper folder, it will repeatly create the
same folder if not use MULTI_IF_NAME to distinguish them. It's not
necessary to distinguish the sub-folder once upper folder is different.
Change-Id: I511de46eec98e736d4e97d5c94ab22592d33f347
CRs-Fixed: 2311137
When TX queues stopped by flow control right before SSR, corresponding
TX complete event used to clear the pause_map bit never come.
Flow control should reset its state during SSR, so clear this bit.
Change-Id: I462de1e20c9e2fc40476fc6b2d999c10e6396d8c
CRs-Fixed: 2274955
QDF is effectively the driver's library for base primitives and data
structures, especially logging. As such, we want to initialize it as
early as possible in the driver loading process such that various
components can leverage this library code as much as possible. To this
end, move QDF init functionality into HDD from CDS, and invoke it first
thing in hdd_driver_load().
Change-Id: I769126ec293f741dced50c0dccc2f49e600aea43
CRs-Fixed: 2317861
The PLD data structures initialized in pld_init() are not used before
PLD registration, and do not need to be the very first thing initialized
in the driver. Move the call to pld_init() to immediately before these
data structures are used for the first time in the PLD registration
process.
Change-Id: I5bee6b03eddfd749758f48a82f5c7f0a870b1504
CRs-Fixed: 2317859
Currently during SSR IPA events such as AP DISCONNECT/
STA DISCONNECT are not sent and also wlan ipa interafces
are not deregistered. After SSR when host sends AP CONNECT/
STA CONNECT and register interafce IPACM will reject as for
previous events before SSR there are no disconnect events.
This leads to data come via exception path instead taking
IPA HW route as interface headers are not registered.
In this fix send IPA UC disconnect events and deregister
interafces during SSR.
Change-Id: I6e617261ec53b7d572023613d212eae057b13b03
CRs-Fixed: 2315828
1. Set all MCL cmds as blocking cmds.
2. Rename WLAN_SER_CMD_STOP_BSS to WLAN_SER_CMD_VDEV_STOP_BSS.
3. Add new binary files and remove old binary files in Kbuild.
4. Disable CONFIG_SERIALIZATION_V1 in Kbuild, switch to new
serialization code.
Change-Id: I46f876e4cbc31881ca0559e4705cddf4a26a46c1
CRs-Fixed: 2315411
If SSR during sme close session when interface down and vdev
destroy, qdf_session_close_event is completed forcely before
peer detached, vdev becomes LOGICALLY_DELETED instead of
destroyed actually for peer ref count is held.
When bss is deleted and eWNI_SME_JOIN_RSP is handled,
is_disconnect_pending-> csr_nonscan_pending_ll_next is called,
wlan_objmgr_get_vdev_by_id_from_psoc return NULL, cmd.vdev is
NULL, NULL pointer dereference will happen.
Change-Id: I790a12483c2b9f967da9ced387935f93a6168e81
CRs-Fixed: 2316960
Implement the usage of MLME CFG infra for BSS Scoring related INI Items
and remove the older INI definitions from HDD.
Change-Id: I0db69138f0439131916a38176b5b21b706ff3671
CRs-Fixed: 2318320
wma_mgmt_nbuf_unmap_cb uses wma handle to check if wmi service
capability for mgmt is supported. If wma handle is freed before
call back is invoked it returns with out doing unmap of nbuf.
Instead of wma handle use psoc object handle which has the
information about wmi service capability support.
Change-Id: Icbdeb155be0fb5d056dd876faa2bd73f78cd9db7
CRs-Fixed: 2317785
Race condition occurs when NUD failure happens and NUD work is
scheduled and at the same time within driver csr disconnect
issued because of Roam Sync failure.
Disable flush of NUD work in hdd_nud_reset_tracking during
hdd_dis_connect_handler()
Change-Id: I3d24073c5c8047fad42309e878f3741c7a2d268e
CRs-Fixed: 2315973
If modem crashed during wlan driver unloading, icnss driver
will call driver uevent callback to set FW down status in
driver side when it receives BEFORE_SHUTDOWN notification.
If wlan driver is de-initialized just before the callback
is called, kernel will panic as driver's context is freed.
This can be avoid by not setting FW status in host driver.
Instead, icnss driver provides an API to host driver to
check FW status and host driver calls this API before any timeout
assert or accessing HW registers.
CRs-Fixed: 2161431
Change-Id: I8331367dd41dd0cedfa65c63f1bb3ffcb535e1c9
This reverts the change-Id: Iec7423809f5225de9b5c4d08d7806a8a2a9dfe06.
Advertise the min of self TxBF CSN and APs TxBF CSN value to
fix the IOT issue with the AP.
Change-Id: Ifd344bfd3cb6ca5a18d356b888d85bd100d4194d
CRs-Fixed: 2312098
Remove timer debug and memory debug string from hdd_module_init
since g_wlan_driver_version already has timer and memory debug
string levels.
Change-Id: I8ef9f43d971df18b5184d76c5a3f4628feb8d12d
CRs-Fixed: 2316929
Currently CSR session PMK is updated from the set_key command from
supplicant after successful 8 way handshake with the AP. However,
in case of roaming to an AP which already has the PMKID cached, the
Roam Sync happens with Auth Status Authenticated and set_key from the
supplicant does not happen. In this case, the value in the CSR session
PMK is incorrect and is the PMK of the previous AP before roaming.
After this scenario, if any RSO command is sent to the FW, the incorrect
PMK is sent as part of the RSO command updating the FW with incorrect
PMK for the current AP. The next time a roaming happens to the same AP,
then the 4 way handshake fails and fallback to 8 way handshake happens.
Update the PMK in CSR session for the current AP from PMKID cache
during Roam Sync propagation, if the Auth Status is authenticated.
Change-Id: I3ced7d0fd75379ede01cf9f993f5beefbb20cda1
CRs-Fixed: 2313289
The MBO IE sent from the supplicant supports multiple TLVs of the
same attribute type to be present. For example, for MBO case 5.2.8,
the supplicant sends 2 non-Preferred channel TLVs in the MBO IE.
However, when the driver unpacks the MBO IE for the Assoc Request
frame using frame parser, it supports only one unique TLV of each
attribute type in the MBO IE. So the second non-Preferred channel
TLV overwrrites the first TLV and the driver sends out Assoc Request
frame with only one non-Preferred Channel TLV in the MBO IE causing
the test case to fail.
Strip the MBO IE in the Additional IEs from supplicant and append
it to the end of the Assoc request frame without parsing it.
Change-Id: I35ede59983ef63268e4648bb38217ebec2454382
CRs-Fixed: 2310297
PMK caching and OKC is valid only in non CCKM roaming scenarios.
If these parameters passed to FW in CCKM case then device may add the
PMKID in reassoc request frames which is not expected.
So reset 11i parameters in RSO command if the authentication type is
CCKM.
Change-Id: I32bdb288e7fa557f133b7f311f51d85d57ff659b
CRs-Fixed: 2306038
error: '__DP_RX_THREAD__H' is used as a header guard here,
followed by #define of a different macro [-Werror,
-Wheader-guard]
Change-Id: I21beca14c8ea98a9a6c4a4acd5f3c7428fd56e01
CRs-Fixed: 2315965
Currently copy of the last connection info is done
incorrectly inside hdd_save_bss_info api.
To address this issue update the memcopy with the
correct structure.
Change-Id: Ibc604650cd1d39c7b19619057427955ba3e4026f
CRs-Fixed: 2307526
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: If929a98b8b9d5b1b9c8f0291876e410a3dfbdf49
CRs-Fixed: 2305983
The name 'hdd_psoc' is misleading, since it is not actually an HDD psoc
context. Rather, it is the Object Manager psoc context. Rename hdd_psoc
to psoc for consistency, and to make room for HDD to have its own psoc
context.
As a first step towards this large renaming, introduce a union in
hdd_context such that such both names can exist during the transition
period.
Change-Id: I9971c478c0d1dc111bb20a7cd6614f73ffb0b15d
CRs-Fixed: 2315990
As a part of the cfg80211_get_station command, the driver sends TX stats
(tx rate, MCS index, NSS and flags). Currently there is no support to
send the similar RX stats.
Add support to send RX stats to the framework.
Change-Id: Ic66596d118ad1395706db7638da1b4fdef7dc2d5
CRs-Fixed: 2303306
Add the MBO ini configs to mlme for the following:
1. CFG_MBO_CANDIDATE_RSSI_THRESHOLD
2. CFG_MBO_CURRENT_RSSI_THRESHOLD
3. CFG_MBO_CUR_RSSI_MCC_THRESHOLD
4. CFG_MBO_CAND_RSSI_BTC_THRESHOLD
Change-Id: I9e779c912538973c8281170ec8c212a4f05b7e2e
CRs-Fixed: 2314168
Currently in function dp_rx_thread_process_nbufq inside while
loop with nbuf list as condition if peer or vdev is not found
nbuf list is freed but not assigned to NULL and continue operation
is done. This leads to invalid freed nbuf list access in successive
loop iteration. In this change after nbuf list is freed assign it
to the next nbuf list which is in the rx thread queue.
Change-Id: I4b595a8708f91677645815105ad736926de91758
CRs-Fixed: 2309908
When downloading a corrupted firmware file that has chunk length in
header which doesn't match the contents, buffer over-read may occur.
To fix it, before downloading the data, ensure the length is equal or
smaller than the left size of the firmware file.
Change-Id: I4e0c6c4423f94f26a8c4573b5d234296890f4ecf
CRs-Fixed: 2314182
Fix the locking order of pdev->peer_ref_mutex and pdev->local_peer_ids.lock
spin_locks in ol_txrx_disp_peer_stats(), this was resulting in deadlock
with lock order in ol_txrx_peer_get_ref_by_local_id().
Change-Id: I51d39daed7f8fb04c30fd6a73e2f9ca388543620
CRs-Fixed: 2315808
In wma_unified_radio_tx_mem_free() function, results buffer array may be
dereferenced with large index value, that may result OOB memory access.
Fix the same by correcting incrementing pointer to results buffer.
Change-Id: I57a26dba9db32758c7d7fd51b99d3364a8020a9d
CRs-Fixed: 2308644
An upcoming change will add synchronization to the driver load
operation. Effectively, driver load and psoc probe will need to be
exclusive operations. Because driver registration can synchronously
invoke psoc probe, move this registration to the end of the driver load
function. This prepares the way for adding synchronization around the
bulk of the load logic, and releasing it just before registration. This
avoids issues where driver load and psoc probe would otherwise execute
at the same time.
Change-Id: I3a617673ea0d4a56e2c08b2ef2f98f8cbdf42205
CRs-Fixed: 2315976
In preparation for additional work in this area, refactor the
__hdd_module_init and __hdd_module_exit areas.
* Rename __hdd_module_init to hdd_driver_load
* Rename __hdd_module_exit to hdd_driver_unload
* Add missing error handing in hdd_driver_load
* Address symmetry issues between hdd_driver_load and hdd_driver_unload
* Remove redundant call to hdd_sysfs_destroy_version_interface
* Update hdd_set_conparam to take a signed integer
* Address various other style issues
Change-Id: I8ea936a493bb262abf7d43a816dbf72530efa424
CRs-Fixed: 2315840
During insmod, the various driver components are initialized. HDD,
however, does not pay attention to any of the return statuses. Add error
handling for component initialization in HDD.
Change-Id: Ia8e3114685086964acacdee481a9fec8b7ef8a00
CRs-Fixed: 2314569
Translate the legacy auth type to crypto auth type.
Set the crypto auth type under vdev object.
Use APIs to translate NL param type to crypto
param type from common.
Change-Id: I7073d35fe1724d37467bf970cf6bac7bc40045d1
CRs-Fixed: 2285045
This change Removes legacy APIs to modify vdev state machine and
add use new API to get vdev state.
Change-Id: I48aa3744dafc6d13a43a14e48de821c7dadf3a37
CRs-Fixed: 2314730
Since refined mlme sta configures based on converged cfg component,
apply mlme sta configurations, remove related legacy codes.
Change-Id: Ia5989a29378bf33e3c9550a0ae26338aeb966592
CRs-Fixed: 2312079
In slub debug enabled build processing is slowed down and hence
increase the FW response timeout values by factor of 2 times.
Change-Id: I979269a9b4f6bc03f97452b3d7f7416fd418f336
CRs-Fixed: 2315934
Add timer manager and memory debug string in driver version
global variable such that in offline tool analysis team can
easily find wlan build and version type.
Change-Id: Ie7283d86c0ca38f0b81d407c30da393ff666e51d
CRs-Fixed: 2315915
wbuff is a module which maintains a pre-allocated pool of
skbs for each registered module and allocates skbs when
requested.
Change-Id: Ia4d13479d8a1342227a2ecbaf29cc7a89bc5e30b
CRs-Fixed: 2313446
Remove the legacy INI code from hdd_cfg. Replace the existing
access from hdd_config with new mlme api.
Change-Id: Iddde15330c1ad39a59bd9a3c7ea86af971df61b5
CRs-Fixed: 2313296
Currently user can not configure HE STS capability through
INI, use gTxBFCsnValue that share same INI with VHT to achieve
it.
Change-Id: Ia83462113cdf06e0af8b9f00c968745363aba9b4
CRs-Fixed: 2306083
From control path while removing peer, dp peer handle is
acquired using mac address with ref count incremented which
is not needed. Ref count should be incremented only when
there is possibility of parallel execution of peer unmap
event. Fix this by getting peer handle with out taking the
ref count.
Change-Id: I76bf4eebc8e7ddadc388a957bea05813a4b24741
CRs-Fixed: 2314110
CSA req changes the SAP FSM state to STOPPING.
Remove this state manipulation by CSA.
Change-Id: I76e78824cdc7acad87e60310d53225596630ea94
CRs-Fixed: 2309229
Invalid channel_count may be sent to driver with
QCA_NL80211_VENDOR_SUBCMD_DCC_GET_STATS vendor command, and may also
pass the sanity check with get_stats_param->request_array_len as
integer overflow, in send_dcc_get_stats_cmd_tlv().
Then it will finally lead to heap overflow when initializing
TLV header for each channel.
Change-Id: I1d81b5fc4de80829433f2a0ab41c964c41f750c3
CRs-Fixed: 2300516
Enable oce_enable_probe_req_rate, enable_esp_for_roam
and oce_enable_probe_req_deferral ini by default.
Change-Id: I84aaceb468bac54c97c30f681981296a0666063c
CRs-Fixed: 2312013
Check for nbufs which might already have an existing ext list
before appending to it.
Change-Id: Iac24eaf8430d7f9280386f1449c567fce8aa52fb
CRs-Fixed: 2304742
Add support to store vdev object in WMA interface (wma_txrx_node)
and acquire and release its reference count during wma_vdev_attach()
and wma_vdev_detach() respectively.
Change-Id: I5449d4051b08dc328a5d97446a4de3d7b51155eb
CRs-Fixed: 2310990
Logging macros already print function name by default,
there is no need to print the function name again as part of the log.
Hence, remove the function name or
wherever required use '"%s...", __func__'
Change-Id: Ib6dc6cc03ef148146b1c626271d5ac3b7345c4bb
CRs-Fixed: 2312593
Currently gAutoBmpsTimerValue is set to defaut value of 5 seconds
so that after 5 seconds from association completion, the device would
go to power save. However, this would lead to issues if an ADDTS req is
received from the supplicant. The ADDTS req would be sent to the AP but
the AP would not send the ADDTS response immeidately and would buffer it
as the device is in power sleep.
Ideal way is for the framework to control the device power save where
the framework should push the device to power save after connection and
should disable power save before sending an ADDTS request.
However, to avoid cases where the framework fails to send the power
cfg ops to the host after connection leading the FW to the stuck in
full power mode, setting the gAutoBmpsTimerValue to 30 seconds by
default.
Change-Id: Idc8af26174a56cd1afee3c7a4353b4d7ebeac2d7
CRs-Fixed: 2313913
As part of wlan_mgmt_txrx_pdev_close only nbuf is freed
in case of cleanup path due to SSR or drive unload and
dma unmap is not done. In this change register a callback
to mgmt_txrx component tx ops which does dma unmap of nbuf
as part of pdev close.
Change-Id: Ia0fa6684f66a3b732e5c599f2df4ea7f33ebc4f8
CRs-Fixed: 2308372
mac_open() employs a completely superfluous inner block scope. Remove
it, and clean up a few other style issues.
Change-Id: I1ded0d462b9030fa49141c21d1b662543f9bced4
CRs-Fixed: 2313406
Add support to store vdev object in sap context and acquire and
release its reference count during sap_set_session_param() and
sap_clear_session_param() respectively.
Change-Id: I61ab4a443ed2de5c58b62012a08c106aee7909d7
CRs-Fixed: 2312356
This is for adding support for FW offload component. It is responsible
to offload all the ini params that are needed by the firmware. To have
this component, the new files added are
components/fw_offload/dispatcher/inc/cfg_fwol.h
components/fw_offload/dispatcher/inc/wlan_fwol_ucfg_api.h
components/fw_offload/dispatcher/src/wlan_fwol_ucfg_api.c
components/fw_offload/core/inc/wlan_fw_offload_main.h
components/fw_offload/core/src/wlan_fw_offload_main.c
components/fw_offload/dispatcher/inc/wlan_fw_offload_public_struct.h
The fw_offload_main.h is to take care of the public APIs for the
component. The corresponding .c file implements the init/deinit of
the component. The fw_offload_public_struct.h is to define the public
structures needed. The ucfg files are for the APIs that can be called
from other components. The cfg_fwol stores the INIs and CFGs.
Change-Id: I4405b87e6dec15aa94146f8ec550078c3d03b1e6
CRs-Fixed: 2307837
The bulk of hdd_alloc_station_adapter() sits under the scope of a NULL
check. Invert the conditional to reduce nesting, and address a few other
style issues while we are at it.
Change-Id: Id2e147bc15ede62408ddf7d90245be069a3bff33
CRs-Fixed: TBA
Typecast adapter->hdd_vdev to pointer of struct cdp_ctrl_objmgr_vdev
when invoking cdp_vdev_register().
Change-Id: Idc284726e1008ef69ec6ab0b53bc984f2bbb16b5
CRs-Fixed: 2313265
When first WMI_RADIO_LINK_STATS_EVENTID is received radio stats buffer
is allocated based on num_radio param. There is an option for pending
following events. So update wma_unified_link_radio_stats_event_handler
to check if following events are valid wrt num_radio values to avoid
buffer overwrites.
Change-Id: If4675bada5492c3bae98c655b45cac6dc76b6431
CRs-fixed: 2309399
When the host sends a wmi command with invalid vdev id, firmware
crashes. So to avoid this check the vdev_active flag for the
vdev before sending the wmi command.
This changeset validates the vdev_active check for the following
commands:
WMI_VDEV_CREATE_CMDID
WMI_VDEV_DELETE_CMDID
WMI_VDEV_START_REQUEST_CMDID
WMI_VDEV_RESTART_REQUEST_CMDID
WMI_VDEV_UP_CMDID
WMI_VDEV_STOP_CMDID
WMI_VDEV_DOWN_CMDID
WMI_VDEV_SET_PARAM_CMDID
WMI_VDEV_WMM_ADDTS_CMDID
WMI_VDEV_WMM_DELTS_CMDID
This change also removes the flag is_vdev_valid which seems to
duplicate the vdev_active flag.
Change-Id: If9d4a2b24f8141c26a73f3a012fa99d38b3221bc
CRs Fixed: 2312360
During vdev_attach, wma_vdev_update_pause_bitmap() is called to
clear the pause bitmap to zero to ensure the queues are unpaused.
This function is called immediately after cdp_vdev_attach before
the vdev created is assigned to interfaces[vdev_id].handle.
This causes the function wma_vdev_update_pause_bitmap to exit
everytime with error.
Call wma_vdev_update_pause_bitmap after vdev assigned to iface.
Change-Id: I1fc3af66212fc62211d03245cfddb96806a37c87
CRs-Fixed: 2312344
For peer map, in ol_rx_peer_map_handler->ol_txrx_peer_find_add_id
->ol_txrx_peer_find_hash_find_get_ref, peer ref count debug id is
PEER_DEBUG_ID_OL_PEER_MAP.
After LFR3 complete, host need delete old peer in
wma_roam_synch_event_handler ->wma_delete_bss->wma_remove_peer->
ol_txrx_peer_detach_force_delete->ol_txrx_peer_release_ref,
but peer ref count debug id passed is PEER_DEBUG_ID_OL_INTERNAL,
so peer ref count is failed to be decreased, the peer is failed
to be detached and released, new peer of roaming target AP can't
be created and attached.
Change-Id: I18572a8a8a4429c10a4862bb188b43aefb830a14
CRs-Fixed: 2311751
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I73a0f11bd6ea4edb0d4c8871d9e217e16f756e58
CRs-Fixed: 2305991
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: Iaa595f9676d469bef8e4d2e284c0b1d14c2321eb
CRs-Fixed: 2305979
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: Ia79d1e8ceda97f956eadcef50524b8307fcc247b
CRs-Fixed: 2305993
We are transitioning to new logging infrastructure
by using existing mtrace functionality.
Add new logging for complete P2P module.
Change-Id: If49d66ea42a48be0ac6c7a8b4c91d69ebd5fcef9
CRs-Fixed: 2308618
Remove the legacy ini config values defined in hdd_cfg.
Call the mlme cfg get api to retrieve chainmask config values.
Remove the tx_chainmask_cck from cds_config as mlme object is
not initialized during cds_open. Call mlme cfg api during
wma_open to populate the tx_chainmask_cck value.
Change-Id: If48aeb62cf35e2e604be2b72845b8e98c5c313dc
CRs-Fixed: 2310382
If driver gets connect command with bssid hint, fast reassoc command
is sent to FW and roaming_in_progress is set to 1. In another thread
while disconnecting, vdev down is sent to FW. As vdev is down fast
reassoc command fails in FW and host will not get response, so
roaming_in_progress will never set to 0.
To address this issue, set roaming_in_progress to 0 after disconnection.
Change-Id: If9c64568353ed01a161cc47c6261f4190c0fb93c
CRs-Fixed: 2305830
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I869e14830b2f57b951033ada5957594fac7bc4c2
CRs-Fixed: 2305994
csr_nonscan_pending_ll_remove_entry() is not a correct API to
remove command from non-scan pending queue, it always return
false and fail to insert command to local list.
The correct API to remove an entry is csr_release_command(), no
need to check entry when insert to local list.
Remove the wrong API csr_nonscan_pending_ll_remove_entry().
Change-Id: I6c81f5d4ae57ceb6ebf2eec0a63859d0c1f12cb1
CRs-Fixed: 2308863
Divide and refactor mlme functions to integrate vdev state
machine for SAP restart and start fail.
Change-Id: I824df69e126d4647a156bc10570689f6b0822b06
CRs-Fixed: 2309284
Divide and refactor mlme functions to integrate vdev state
machine for SAP stop.
Change-Id: Id9841b1a87f2f3c1c2816dae8b2a183ac04791a9
CRs-Fixed: 2309264
Divide and refactor mlme functions to integrate vdev state
machine for SAP start.
Change-Id: Id4419261cb1ba88754eded9fd780cca60f1f5db7
CRs-Fixed: 2309240
Set the aggregation size to FW with BA buffer size value to
update the number of packets in aggregation.
Change-Id: I5d120b60c3dfb4b6953222da5516e793dd3fb40d
CRs-Fixed: 2301335