To align with the Linux Kernel coding style replace typedefs
cds_context_type and p_cds_contextType with a reference to the
underlying struct.
Change-Id: Ifc85a9bbecd29614835ed9e61ab143d0387e82b0
CRs-Fixed: 2250667
Propagation from cld2.0 to cld3.0.
When receiving beacon request for radio measurement, sta
reports BSS in all valid channels regardless of specified
regulatory class in request. To fix this, let sta report only
BSS of requested RC.
Change-Id: I98c80ab3d53dd9d63225349e3c7657f48c758957
CRs-Fixed: 2237989
Thread sleep since it uses mutex in SME register frame, one low rate
case which change interface fail since SSR in progress and then P2P
interface up fails. Solution is stopping ap after register frame.
Change-Id: I3831afb2cb61c9d40aa6945def3e0a169a4115a0
CRs-Fixed: 2243849
SAP failed to remove all the associated peers during
shutdown which triggered assert at WMA.
Cleanup all the associated peers as part of the
stop bss at LIM to avoid the assert.
Change-Id: I3610590fd443f807d20f61bb050124506794cc2b
CRs-Fixed: 2251399
While processing DO_ACS vendor command session context, which is
of type union holds either station's or SAP's session, is updated
without checking adapter’s mode. This may lead to corrupt station's
session context if DO_ACS is invoked with station adapter.
Validate adapter mode and process DO_ACS vendor commands only if the
mode is SAP/P2P_GO.
Change-Id: Id99ba126fcfa1f06f68b89d4627c029948a201c5
CRs-Fixed: 2237661
In function wlan_ipa_uc_loaded_handler,the qdf_dev is as return of
wlan_psoc_get_qdf_dev(),which maybe NULL,then NULL reference could
occur later.
Change-Id: I3c6d5af35934deef643cb600b1966c22769c71ed
CRs-Fixed: 2250977
Set the band end channel to SRD channel range so that if the SRD
channels are enabled then get channel list command returns the
SRD channels in the output.
Change-Id: I26ec92cf842e62e2b113f38dc4ac4d1c5d7cbe22
CRs-Fixed: 2161849
There are certain stability issues reported and from the logs, it
has been concluded that vdev detach is missing which causes memory
leaks.
Add debug logs around vdev attach and detach paths to recognize any
memory leaks.
CRs-Fixed: 2244033
Change-Id: I9ee751fff8f51c7ad2ca2d7ec1e894cbbf60d201
Presently, gAP11ACOverride is used to do 11ac override for both SAP and
P2P GO. So, enabling 11ac override in SAP and disbaling it in P2P GO or
vice versa is not possible as per current design. This causes issue in
the latest framework where 11ac override is not needed for SAP but is
required for P2P GO.
Break gAP11ACOverride into 2 inis, one for SAP and one for P2P GO to
have better control over the functionality.
Change-Id: I3809b91a80077d6d9958fe8e0bb770f960b691d6
CRs-Fixed: 2240387
In SSR case, stop BSS fail with P2P GO since session invalid, and
then blocking to start next P2P GO.
Change-Id: I6bb387480e6a08e082771598b649c5ac240aff2e
CRs-Fixed: 2244698
In wlan_hdd_pld_remove(), a global mutext is grabbed before setting the
global "unloading" flag. In the case of __hdd_open(), this flag is
checked before also grabbing the same lock. Ultimately this can lead to
deadlocks when other shared locks are involved. As a short-to-medium
term work around, set the unloading flag before waiting for external
threads to exit. After external threads have exited, then grab the lock
to avoid deadlocking with external threads like those invoking
__hdd_open(). Effectively, this does a stop-and-flush on external
threads into the driver before unloading.
Change-Id: Iaaf52d730807abd9a99950970988ec58a1abb87d
CRs-Fixed: 2251271
Currently struct _cds_context_type is poorly named and poorly defined.
Rename it to struct cds_context to better align with expected naming,
and define it separately from the typedefs which reference it in
anticipation of removing those typedefs in the near future.
Change-Id: Icd096b7e99f13402fb7dab53493e6c55dda4d764
CRs-Fixed: 2250666
In function hdd_wlan_start_modules, when hdd_configure_cds
return error, driver does not free memory buffer
hdd_ctx->target_hw_name in hdd_update_hw_sw_info, which is
allocated when the driver is in the open state.
Fix is to free the memory for hdd_ctx->target_hw_name buffer
and set to NULL.
Change-Id: Ib8bee8d4df51404e848cfd4da628ebf3f7ff718d
CRs-Fixed: 2159490
In wma_open, first get ref of psoc, then attach wmi, if attach
failed, should release ref of psoc before return
Change-Id: If2e21bbf8b54de865c2b54582685974474ea3c7c
CRs-Fixed: 2250872
The sys-probe feature has been removed. Remove related unused function
cds_sys_probe_thread_cback() as well.
Change-Id: Idb1f090a40c255812e9e8b573cd239503dddac49
CRs-Fixed: 2250488
When ipa_check_hw_present() returns false, g_ipa_config
is left as NULL pointer. ipa_config_is_enabled() and
ipa_config_is_uc_enabled() will lead to NULL pointer
dereference.
Fix is to check against g_ipa_config NULL pointer
in ipa_config_is_enabled() and ipa_config_is_uc_enabled().
Change-Id: I95da7aede7d72db8591102eea7504cad59686105
CRs-Fixed: 2246224
There is a possibility of NULL pointer access in
hdd_wlan_get_version api as the check for the version
pointer and version len is incorrect. If the version pointer
is NULL and version_len is non zero, it will result in NULL
pointer derefernce.
To address this issue update the NULL pointer check to return
in both the cases whether the pointer is NULL or the version_len
is NULL.
Change-Id: Iee3ef6d31fac1b5ede4ac3a762157d3c48d5ffc5
CRs-Fixed: 2242148
There are a number of code hygiene issues with cds_pre_enable().
Cleanup some trivial items such as using appropriate logging wrappers,
removing excessive QDF_ASSERTs, using standard naming conventions, etc.
Change-Id: I1a236c4aae9a48195b73943bf83c9498d44501ea
CRs-Fixed: 2249436
Remove cds_set_load_in_progress so that the
hdd_wlan_stop_modules can do PLD power off
for FTM mode.
Add con_mode_flag checking for HDD context access
protection.
Change-Id: Ie48443579fcb692fcc806cb9b6bf5782d7764c9f
CRs-Fixed: 2246876
There are two types of WLAN IPA exceptions, where WLAN driver is
involved for packet processing.
One is for RX exceptions, such as ICMP or Intra-BSS packets.
The other one is for WDI 1.0 MCC TX SW path, where packet queueing
is happening in WLAN driver.
In both cases, skb is allocated in IPA driver. If NBUF_MEMORY_DEBUG
is defined and qdf_net_buf_debug_acquire_skb() is not invoked for
the skb, qdf_nbuf_free() will trigger ASSERT to report unallocated
buffer.
For early processing of RX exceptions, dev_kfree_skb_any() needs to
be called instead of qdf_nbuf_free() otherwise above ASSERT will be
triggered.
For MCC TX SW path, ipa_free_skb() should be called to free skb to
IPA driver.
Change-Id: I039cb20673ce3aa98056529f7609801f76c4c16a
CRs-Fixed: 2247339
There might be a race condition between wlansap_stop_bss and
wlansap_start_bss. The tx_flow_control_timer might be created again
after released by hdd_stop_adapter which might cause the memory leak
issue.
Add mutex lock to protect the wlansap_start_bss in the function of
wlan_hdd_cfg80211_start_bss to fix incorrect state of fsm.
Change-Id: Icae4508450f6e1cc13210d49edaf03a8fbd39fe4
CRs-Fixed: 2239832