In order to better align with the rest of the driver, rename the
following macros:
* ENTER -> hdd_enter
* ENTER_DEV -> hdd_enter_dev
* EXIT -> hdd_exit
For part 2, migrate usages of ENTER
Change-Id: Icd1588b7d2474beaa4a86f5b6dd02ce915386d4e
CRs-Fixed: 2205838
In htt_rx_ring_fill_n, when debt_served is non-zero,
mem_map_table is being updated for extra buffers even
though memory to store mem_info has not been allocated
for those buffers. As a result of this overflow, memory
corruption is happening.
Fix overflowing of mem_map_table array in htt_rx_ring_fill_n.
Change-Id: I3ff96f57baf07799fd69d7ba196e44e7819f58dc
CRS-Fixed: 2103792
Currently even if IPA HW support is not there during load
HOST is checking for SMMU enable status which returns error.
As a result driver load fails. So check for IPA HW support
before checking for SMMU enable status.
Change-Id: I5705f98f88d495b100af7cb2b3d2ad40e7030a8d
CRs-Fixed: 2185620
Update WLAN-IPA WDI-2 datapath buffer sharing for SMMU Stage 1
translation support. When SMMU Stage 1 translation is enabled
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA need to mapped to physical address by IPA
module before accessing them
Change-Id: I969ad020d5b423c785539f346286b212ea5830a1
CRS-Fixed: 2072960
Update WLAN-IPA datapath buffer sharing for SMMU Stage 1
translation support. When SMMU Stage 1 translation is enabled,
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA needs to be mapped to physical address by IPA
module before accessing them.
Change-Id: I6b24cde7b7805395053a8fd8f9afbad202e6105f
CRS-Fixed: 2072960
Change-Id I28d5985655b4 is accessing uninitialized pointer
params->rx_ops, which cause failure during load.
To fix this, as well as to avoid big structure on stack,
allocate that structure from heap and free after usage.
Change-Id: Ibcdb2904c223e43744e635ef5d530a63867f644b
CRs-Fixed: 2207937
When enable DFS scan via wpa_cli, the related flag in mac context
also need to be updated so that DFS channels will be included in
configurations sent to FW accordingly when DFS scan is enabled.
Change-Id: I6033637364ddbc7e916627e5ab6a94aee825db98
CRs-Fixed: 2201307
When get length by HTT_WDI_IPA_OP_RESPONSE_RSP_LEN_GET,
the input msg_word needs to shift 4Bytes.
Failure length check will cause ipa uc event without processing.
Regression cause Iddf2df0fd65f5b33b54f1a608cdd34e400c0e03c.
Change-Id: I41a44ae26f84d974cbd3242f4454ec6068d7b68b
CRs-Fixed: 2206296
The member of type_specific_data is only valid for HELIUMPLUS.
Add macro protection for type_specific_data in the ath_pktlog_hdr to
avoid offset error when getting the msdu id info during processing
pktlog TX info.
Change-Id: I426e24db073e080d20cd5963ef89c521d0bfb106
CRs-Fixed: 2185588
QDF_TRACE_RATE_LIMITED recently lost its 'rate' parameter in
I31a3f48f68fb6bc67f59f3157a635345943d3331. Update call sites to account
for this change.
Change-Id: I301a36a445be4ecc3e1d24e007d7ca6f05898fc5
CRs-Fixed: 2205796
Register fw down callback with QDF such that new UMAC
components can check if FW is down or not.
Change-Id: I86346db08ced59bb5f77c640eb7f9257cc0bb42c
CRs-Fixed: 2203498
In hdd replace typedef tCsrRoamProfile with struct csr_roam_profile to
align with the Linux coding style.
Change-Id: I38959a6dadc7f1816548f2fa1c4b404e57070590
CRs-Fixed: 2206694
Prima to qcacld-3.0 Propagation
Currently last connection info is not getting cached, so when
GETBSSINFO command comes information is extracted from current
conn_info which does not contain all the information required
as this information is cleared after disconnection.
To address this issue cache the connection info before
clearing it.
Change-Id: I3ec13264f97e7a4d0dc4699b463074062d087e82
CRs-Fixed: 2204530
P2P IE extracted in wlan_hdd_add_hostapd_conf_vsie may not
be at the end of additional IE buffer as it depends on the
order of IEs coming from supplicant.LIM and WMA expect P2P
IE at the end of beacon buffer and beacon template is sent
without including P2P IE at end which is sent using separate
WMI command. This could result in beacon corruption if P2P
IE is not present at the end of beacon buffer.
Fix is to strip the P2P IE and append it at the end of beacon
buffer.
Change-Id: I59ecb31cd2441880c444cb6e1408d668da59c8c2
CRs-Fixed: 2207040
During Rome LFR2 roaming, after pre-auth with new AP finished,
current AP is disassociated. In disassoc rsp handler:
csr_roam_roaming_state_disassoc_rsp_processor,
csr_roam_copy_profile is called after csr_dequeue_command.
In csr_dequeue_command, cmd from active list is removed, cmd from
pending cmd list is moved to active list and executed, if the cmd
is disassoc from wpa supplicant, pSession->pCurRoamProfile is
freed, use after free happens in csr_roam_copy_profile
call stack when issue happens:
csr_roam_roaming_state_disassoc_rsp_processor
->csr_dequeue_command
->wlan_serialization_dequeue_cmd
->wlan_serialization_move_pending_to_active
->wlan_serialization_activate_cmd
->sme_ser_handle_active_cmd
->csr_roam_process_command
->csr_roam_process_disassoc_deauth
-> csr_free_roam_profile
->csr_roam_copy_profile
Fixed by calling csr_dequeue_command after csr_roam_copy_profile
Change-Id: I903795e830c153b94a7dc0476a0e8ea5ecf6be2f
CRs-Fixed: 2205645
Presently driver is processing set_mac net dev operation while
device is running, though the same is not supported, leading lower
layers and firmware to hold old mac address and kernel net device
object to hold new address.
Process set_mac net dev operation only on interface is down so that
during interface up new mac address will be programmed in lower layers
and firmware.
Change-Id: I037afa31657a6f1eb1129feae6777d8bcfa1b7a9
CRs-Fixed: 2171548
While processing set key vendor command, lower boundary of key
length isn't validated properly, which might lead to buffer overflow.
Validate lower boundary of key length argument properly before
processing set key vendor command.
Change-Id: Ic7a6367db507e652a39a82c6489d64937f1b3429
CRs-Fixed: 2200948
In order to better align with the other PMO logging wrappers, and the
rest of the driver, rename the following macros:
* PMO_ENTER -> pmo_enter
* PMO_EXIT -> pmo_exit
Change-Id: I9186c1425f22c5a8d4fc98f048a9d487b6095797
CRs-Fixed: 2206650
Presently, on receiving DO_ACS vendor command driver resets
acs configuration to zero. This leads dynamically allocated
memory acs channel list address to be lost and thereby memory
leak is observed.
Reset acs configuration after freeing acs channel list, if its
already allocated.
Change-Id: Ice6854bfe8b12799200a5b18d96620f31548d776
CRs-Fixed: 2196377
Memdump read API is missing SSR protection wrapper which means
this ready operation can be issued durign driver unload which
can race against memdump deinit and lead to panic in kernel.
Hence add SSR protection wrapper to memdump read API such that
it does not race against driver unload/SSR/module stop.
Change-Id: I32d5ab715c9609abaf8eaaf3ed3db6f77aa8ddea
CRs-Fixed: 2205925
There are several redundant operations and unused variables in
wma_rx_service_ready_event. Remove these, and adjust some formatting and
incorrect types while we are at it.
Change-Id: Ia6376ef0e984103e36ab0395b54466acf0ad2d04
CRs-Fixed: 2201875
In order to conserve firmware memory when various filtering features are
not in use, update the target configuration provided to firmware based
on the intersection of various filtering features and host
configuration.
Part 1
num_wow_filters = ARP/NS offload enabled ? 2 : 5
bpf_instruction_size - BPF enabled ? 0 (auto) : 0xffffffff
Part 2
num_packet_filter = Packet Filter enabled ? 12 : 0xffffffff
Change-Id: Ie8cb4ae44c83b115b249e22ebd7146278ed70612
CRs-Fixed: 2199297
Change default value of pcl_weightage to 10, so that PCL weightage
is used while connecting to a profile to select best BSS.
Change-Id: Ic074e01480d32510fb355846d92cb81d01e6e0d8
CRs-Fixed: 2206140
In STA mode, tx params for auth and assoc req frame
are not updated if minrate is 1 or 6Mbps as these
are the default rates for 2.4G and 5G respectively.
If 2.4G APs min supported rate is 6Mbps, the tx params
are not updated which results in auth and assoc req
frame transmitted at 1Mbps.
Fix is to update tx params if minrate is 6Mbps and
AP is operating in 2.4G.
Change-Id: Ia12c7b13cfb93e2d3b5a4ae124003248fa109e3f
CRs-Fixed: 2205282
Add new CONFIG_WLAN_OBJMGR_DEBUG flag in qcacld Kbuild for ObjMgr
Debug enhancements and use the flag to enable the existing
WLAN_OBJMGR_DEBUG CFlag.
Change-Id: I295c9b6822ab0c1396368ecc719b2ba1c8c834dd
CRs-Fixed: 2184785
The pktlog will be enabled when interface is up. Which might affect
the performance heavily. So do not enable it at the initialization
to avoid this side effect.
Change-Id: Ie03a7e0a77bc5f525ad7ae74bb104a6d1bf21eb7
CRs-Fixed: 2206216
In order to better align with the rest of the driver, rename the
following macros:
* ENTER -> hdd_enter
* ENTER_DEV -> hdd_enter_dev
* EXIT -> hdd_exit
For part 3, migrate usages of EXIT
Change-Id: I0868800b694c92d2ad157394d619c05f89dd222d
CRs-Fixed: 2205840
Fix 2 sub issues:
1. wlan_hdd_update_dbs_scan_and_fw_mode_config and
sme_soc_set_dual_mac_config is called in
hdd_wlan_start_modules->hdd_configure_cds->hdd_features_init,
before hdd_start_adapter, so vdev isn't created yet,
csr_queue_sme_command returned failed
Fixed by moving wlan_hdd_update_dbs_scan_and_fw_mode_config to
end of hdd_start_adapter
2. Rome doesn't support DBS, doesn't support cmd and wmi service
WMI_PDEV_SET_MAC_CONFIG_CMDID. so no response event for the cmd,
the cmd can't be removed from active list. so next cmd:
WMA_ADD_STA_SELF_REQ can't be executed at all, no complete event
for sme_open_session, hdd_init_station_mode failed
Fixed by checking whether support HW DBS before
sme_soc_set_dual_mac_config
Change-Id: Iec2ef7e77e91f332028904c319d24e1ed134306d
CRs-Fixed: 2202262
Some of wext public APIs are declared using extern storage
class specifier which is not needed hence clean up extern
keyword from wext public API declarations from wlan_hdd_wext.h
Change-Id: Ib1fe79a94b62bc457784340a7e930489fffe98f9
CRs-Fixed: 2202699