In wma_vdev_delete_handler() once vdev req is removed from the
vdev_resp_queue the vdev rsp timer is stopped and freed after
releasing the wake lock and vdev detach callback.
So before vdev rsp timer is stopped it may get expired and
post msg in MC thread. Now once this timer msg is processed it
access the already freed memory.
To fix it stop vdev rsp timer first before releasing the wake
lock and vdev detach callback.
Change-Id: Iface6d1faaa9f801d0da7a70d548eafbd082dc48
CRs-Fixed: 2196338
Current driver posts the high and low Tx TPUT indications to cnss-daemon to
tune the tcp_limit_output_byte system parameter. Add option to disable it.
Change-Id: Ic65fe0bd762024425cabf2f1f07123211dce5dce
CRs-Fixed: 2197112
ICM does not support hw_mode=any at present. When hw_mode is
set to any in hostapd.conf, HOST driver choose one band out of
2.4Ghz and 5Ghz based on "acs_freq_band" ini item and update the
ACS and PCL channel list accordingly. But currently driver does
not send updated band to ICM and so ICM still gets BAND_ALL from
HOST driver which is INVALID for ICM module. As a result ICM
algorithm does not run and channel selection fails.
Send Updated band to ICM and also update channel width accordingly
for 2.4Ghz band as it does not support 80/160/80PLUS80 Mhz.
Change-Id: I13593a3c59c204d1ff7677e67d96d039c9456568
CRs-Fixed: 2196247
qcacld-2.0 to qcacld-3.0 propagation
Send host timestamp to firmware, so that firmware can print the
logs timestamp in sync with host.
Change-Id: I1d4d223aa1c8e207941ab659f69b72a855e3a604
CRs-Fixed: 2193976
Check the total supported mac and phy count for capability
parsing in service ready extension event.
Change-Id: Ibde9040e5adf97d53645f714e5e8981dd1a9d22a
CRs-Fixed: 2194602
It is really common to want to update or read from the PMO private
context, but doing so requires several lines boilerplate code. Because
this boilerplate is in so many places, mistakes like using the wrong
lock operation, or forgetting to use locks at all, are a always a
danger. Add pmo_psoc_with_ctx() to address this deficiency, which
retrieves the private context pointer, locks on entry, and unlocks on
exit. Usage is like so:
struct pmo_psoc_prov_obj *psoc_ctx;
pmo_psoc_with_ctx(psoc, psoc_ctx) {
/* use psoc_ctx */
}
Which is equivalent to:
struct pmo_psoc_prov_obj *psoc_ctx;
psoc_ctx = pmo_psoc_get_priv(psoc);
qdf_spin_lock_bh(&psoc_ctx->lock);
/* use psoc_ctx */
qdf_spin_unlock_bh(&psoc_ctx->lock);
Change-Id: I6a3ccbfbfb57c589d44c7eae57e2ed8272dae3ee
CRs-Fixed: 2197722
The checkpatch script has identified an instance of a non-conformant
block comment in wlan_hdd_main.h, so fix it.
Change-Id: Ie76156601021e2b5e503280337b38792217b7dbc
CRs-Fixed: 2197711
The checkpatch script has identified instances of "else after return"
that is not conformant with the Linux coding style, so fix them.
Change-Id: Ica4ccb1ef1c865089851e928ddeaa27ea54bcb4a
CRs-Fixed: 2197681
The checkpatch script has identified multiple instances of non-conformant
indentation in HDD, so fix them.
Change-Id: Icb28911e54324198d50018fcaf6d6662c9dc161c
CRs-Fixed: 2197006
The checkpatch script has identified two instances of non-conformant
brace placement in HDD, so fix them.
Change-Id: I0c8bbf2258b24c4876c6a8749633b90873980e95
CRs-Fixed: 2196976
Add check for GMAC offload capability wmi_service_gmac_offload_support.
If firmware supports GMAC offload, trim MMIE when driver receives
PMF frame. Otherwise, driver calculates MIC and trims MMIE.
Also, add support for suiteB auth types during roaming in
e_csr_auth_type_to_rsn_authmode.
Change-Id: Id44f44a41297ca3e462d14905f5986f904a639fd
CRs-Fixed: 2185819
While changing the channel, driver needs to add vdev restart instead
of channel switch.
Change-Id: I2d5a40aee2108feda5da5e41c6d18aab6c3a30bc
CRs-Fixed: 2182014
The qdf_str APIs have recently been moved from qdf_mem. Reference the
new qdf_str.h header file where appropriate.
Change-Id: I2be5fa3f511fd6d67b4217243f4b3498321e0a9f
CRs-Fixed: 2196120
Send a ROAM_STOP command to firmware with an explicit
reason code for the failure so that it is not blocked
in WMA before sending it to firmware.
Change-Id: I4d7e2e525c145ca0e990dcef85948285e2186c63
CRs-Fixed: 2182671
When LFR2 roaming on same channel, after pre-auth resp received,
A new PE session is created, currentOperChannel is 0 before
lim_fill_ft_session, not same as currentOperChannel of original
session, so lim_is_in_mcc return true, pre-auth auth result is
not sent to SME/CSR for lim_ft_process_pre_auth_result isn't
called in lim_handle_ft_pre_auth_rsp
Change-Id: If8686c7f73c76655f7ab69c23fb97a7bb540732f
CRs-Fixed: 2195749
Adds logic in frame parser to use default RSN IE fields if optional
fields are not present in IE. So if RSN IE doesn't contain AKM,
group and unicast cipher use the default AKM(AKM_IEEE8021X) and
cipher (CCMP). Also adds sanity checks for RSNE in the frame parser.
Change-Id: I120a29c21407f82aab2c6fcdcaf1095518cb71b5
CRs-Fixed: 2195951
One of the arrays defined in data-path's API is not initialized
and this API assumes that subsequent loop will fill up the array to
correct default value. This assumption is wrong.
Intialize the array "save_peer_id_ref_cnt" in API
"ol_txrx_peer_remove_obj_map_entries" to default value "0" to avoid
any issue.
CRs-Fixed: 2196084
Change-Id: If0080708662fc44e6583823717798a9f505ec1d0
Currently when the MAC address is changed dynamically, invalid MAC
(Broadcast, Multicast and 00:00:00:00:00:00) are getting accepted
and interface is getting up on these invalid addresses because
of this device is trying to connect to AP with the configured
invalid address.
To address this issue reject all invalid MAC addresses
when MAC is dynamically getting configured.
Change-Id: If2530b213b5ffc2ddf0bc728138e1f3200f33286
CRs-Fixed: 2190468
When stop_bss from HDD is received when a SAP channel change request
is currently in progress and channel change response is not yet
received from the FW, the stop_bss would clear the SAP session and
when channel change response is received, we try to start BSS again.
The CSR roam state is also set to JOINING in this case.
As part of start BSS, we queue set key command to SME active command
list. Since the session has been cleared, eWNI_SME_SETCONTEXT_RSP
sent to lim would not be processed in CSR state JOINING leading to set
key command stuck in the active command list.
Do not restart BSS after channel change response if stop BSS is in
progress. Also handle eWNI_SME_SETCONTEXT_RSP and clear the command
queue in CSR Joining state.
Change-Id: I8dbab054746d26cc92fc2274d35ce76a694035fe
CRs-Fixed: 2193505
In MCC tx path, skb is owned by IPA driver, where IPA driver provides
wlan driver directly DMA mapped address. Doing dma unmap of the skb
will lead to skb dma map check failure.
Fix is to skip dma unmap for IPA owned skb and let IPA driver handle
dma unmap.
Change-Id: Ib38ca949ba915785e460c05172b70088a3564b1c
CRs-Fixed: 2189889
In testbed STA mode the RSNE may not match with APUT and thus
driver fails to filter AP from scan cache as PMF capability
mismatch.
With this change driver will ignore PMF capability check and
proceed with connection to send auth and assoc to APUT.
Change-Id: I1bf5947fb08574941eaf1845ec1e36ee9b030dd0
CRs-Fixed: 2195354
Set hw mode to DBS or single MAC for STA+STA and STA+P2P
concurrencies based on channel_select_logic_conc ini.
Change-Id: I46ba4d5cd8f5cda71d0c00be2b612bc851eb5ba4
CRs-Fixed: 2185554
Add ini to select DBS or inter-band MCC channel selection logic
for STA+STA and STA+P2P connections.
Change-Id: I7cfde9592ec210b0a8c812171d2bc6f005e17fb2
CRs-Fixed: 2185552
In __wlan_hdd_cfg80211_do_acs(), driver allocates memory for
ACS channel list without checking if there is already some
memory allocated for channel list or not. When SSR is triggered
before ACS completion, ACS list does not get freed and after
driver reinit, when a new do ACS comes, it allocates a new memory
without deallocating the older memory. This causes memory leak.
Free ACS channel list if already allocated before allocate a new
list.
Change-Id: Ic001c3daac518e97644da00cb82ea1d3fde4b539
CRs-Fixed: 2191839
Change to collect arp packet stats along with
existing hdd stats to debug arp packet related
issues.
Change-Id: Idce70799bd3698dc8a8ecd8cfc8ef7d9bf1f5764
CRs-Fixed: 2019787