Currently there is no locking mechanism to protect global
variable ll_stats.result in hdd_debugfs_stats_update api and
wlan_hdd_llstats_free_buf api so if two threads access the file
simultaneously there is a possibility of use after free of the
llstats buffer.
To address this issue add a mutex to prevent the simultaneous
access of the llstats buffer.
Change-Id: I0fd418e3a2034f10ba45021af21920f5e133cb6e
CRs-Fixed: 2157283
Change some mgmt txrx component related API signatures to have pdev
instead of psoc.
Change-Id: I6dc250757c2f686e6f38bcb5fdc752717242b606
CRs-Fixed: 2146871
During disconnection process, cache disconnecting STA information
so that the same information is updated to upper-layer on receiving
GET_STATION vendor command, after disconnection.
Change-Id: I2e5a0be42d81b86e6f4490de1bdf9d7e0797506d
CRs-Fixed: 2126182
While preparing the RSNIE caps only AP capability are considered.
The capability should be intersection of user provided capability
and AP's capability.
So use intersection of AP's and user's RSN cap in assoc request
Change-Id: I585d84953767c217239eedc284d6b413cf7af5e4
CRs-Fixed: 2164525
1) Change some of the parameters for the following two functions
to reflect the right PHY mode definitions at different layers:
wlan_hdd_set_acs_ch_range
sap_select_default_oper_chan
2) Refine the kernel-doc for the above 2 functions due to their
parameter changes.
3) Use eCsrPhyMode instead of uint32_t to define hw_mode in
struct sap_acs_cfg to reflect the right PHY mode definition.
4) Refine the ACS code logic due to the changes introduced above.
Change-Id: I91b7814831a05265cfff456452eef0fe2ef97d1e
CRs-Fixed: 2167355
Fix clang warning implicit conversion from enumeration type
'tSirResultCodes' (aka 'enum eSirResultCodes') to different
enumeration type 'enum nl80211_timeout_reason' [-Wenum-conversion]
Change-Id: I50cc36d647826b9ce904c6cf8fe25e44dcdf90dc
CRs-Fixed: 2167852
In many cases, iface ptr value cannot be NULL. Remove the
un-necessary check iface ptr value.
Change-Id: Ic7430dd2a5e660daf08b007cbc9f0fcedad7ef01
CRS-Fixed: 2162236
Do Not allow __wlan_hdd_cfg80211_get_nud_stats and
__wlan_hdd_cfg80211_set_nud_stats commands for FTM mode.
CRs-fixed: 2161387
Change-Id: I135cead506c741425845d9e000d9a868e4a7779a
When invoke pe_enable/pe_disable,scheduler is running.
There will be two threads operate lim resource at same time.
Most of lim resource should be initialized/freed in pe_open/close
to avoid race condition.
So:
- Move lim_cleanup to pe_close.
- Move lim_initialize to pe_open.
- lim_start,__lim_init_config,lim_register_hal_ind_call_back
stay on pe_start
- lim_cleanup_mlm stay on pe_stop
Change-Id: Ib647174ee9e1cf82567223abca233cb0332f1ffb
CRs-Fixed: 2154978
In the stress test of insmod/rmmod, the object of psoc might fail
to be initialized during initialization. For such case, recovery
process should not be triggered in the de-init process.
Add check for psoc to avoid false alarm.
Change-Id: I71f9eed8596958788f6a3213e7a3bcd9ee346781
CRs-Fixed: 2165620
1) Local peer ID freeing is currently done before peer ref count
decreasing and peer releasing, which imposes a potential race
condition, in which the same local peer ID map will be accessed
before the peer object is fully released.
Fix the issue by relocating the local peer ID freeing to the
point where the peer object is to be freed.
2) Add changes to the return value description of function
ol_txrx_peer_release_ref
Change-Id: Id7722bd54afd6110b91634ca7f1632cade766704
CRs-Fixed: 2155759
Historically, OL peers were forcibly destroyed during pdev detach. This
logic was mistakenly removed as part of another change. This led to peer
leaks during Sub-System Restart (SSR). Restore the peer delete logic to
close peer leaks during SSR.
Change-Id: I72d980750a2f97e6717f720a63f4a651f7615aee
CRs-Fixed: 2167237
Host driver should avoid BUG_ON, when recovery is
in progress due to firmware assert.
Change the sequence in cds trigger recovery
function to avoid BUG_ON
Change-Id: Ibcce592caf4c4099a9cf3e124c5d2b70134116a3
CRs-Fixed: 2165972
Free deauth req msg, if no ack has been received from fw, in
pe_close() during interface down to avoid mem leak.
Change-Id: I49508b2681f708dc56fc3938162ff856babfb0aa
CRs-Fixed: 2158490
If connect timers like join, auth and assoc timeout are running and
timer are stopped in deactivate lim timers, the connect cmd get stuck
in sme active cmd queue, if no probe resp, auth or assoc resp is
received respectively from AP.
Thus during deactivate lim timers call the timeout API for the
connect timeouts so that connect command fails and is removed from
sme active cmd queue.
Change-Id: I1ddd23ad94fb4b616b9a7868316f05577d6524b3
CRs-Fixed: 2164061
mlm_set_keys_req may leak if return in some fail case or
there is no WMA_SET_STAKEY_RSP.
Change-Id: Ib89709a6656cfcff18341257e116861774489c8c
CRs-Fixed: 2166374
The string length of FwDebugModuleLogleveconfig is over 255 if set all
firmware log level in config file. Now FW moudle number is 67 which mean
the string length might be 336(67*5+1).
Extend the length to 512.
Change-Id: If9842f3bfdc9ae6b3351c27c3166e2940de71fb8
CRs-Fixed: 2166118
__con_mode_handler sets the new con_mode value before doing any of the
connection mode transition steps. Thus, if any step fails, the driver
will incorrectly report the new connection mode. Defer setting the new
con_mode value until the connection mode has be successfully changed.
Change-Id: Ib248ab06cf1bf8ef71c1c1bd26aa1beb91e9fa89
CRs-Fixed: 2166530
Stop the opportunistic timer & take action to keep HW mode in sync
when hdd stop happens.
Change-Id: Id34adb579987605831d2c7c4e22c2d76fe7d25dd
CRs-Fixed: 2165105
Target types are moved to target_type.h from hif.h.
Add new target type include for target definitions.
Change-Id: I54185fff428eebf678310f95f59a63db4f82aa80
CRs-Fixed: 2144470
When the driver transitions into Factory Test Mode (FTM), the existing
vdev is not properly destroyed. This ultimately leads to a vdev object
leak when the driver is unloaded while in FTM. To close the leak, tear
down the existing station vdev before doing the module stop operation.
Change-Id: I48ca4e6fc5750e593b6afc4e6b44a603570101cc
CRs-Fixed: 2137144
Check the channel width value in CSA IE before we process the
channel switch so that if the AP sends the wrong channel width in
CSA driver can process with correct configuration
Change-Id: Ib14a0146502b0f731f319ac1fe6657a389388cec
CRs-Fixed: 2162235
In wma_vdev_detach(), ignore vdev delete request at present if it is
received before VDEV_STOP and VDEV_DOWN which results in fw assert on
VDEV_START as no VDEV_DELETE is present before VDEV_START on the same vdev.
Do cds recovery or assert on vdev deletion or on vdev start if BSS
is already in started state and no VDEV_STOP is queued in the queue.
Change-Id: I273e6240840e7a0a54c2d7ad3de12c8a30d42a18
CRs-Fixed: 2164701
Add sanity check for rxNss value in lim_set_nss_change()
as rxNss cannot be zero.
Change-Id: Ie8043d41413a26469539a1f370ff4bca09870b61
CRs-Fixed: 2157501
This reverts commit 7cf307e148
as the check to drop auth frame if previous sequence number
and auth algo match with current sequence number and auth
algo returns true instead of false in a correct scenario.
Change-Id: I8dee272f535acaadb9dfff69ee9ce68ddea4eec1
CRs-Fixed: 2166125
Currently host is adding PMKSA cache on bssid from connect request
if PMKID is present in the RSNIE. This may cause duplicate
entry of PMKSA since supplicant may add the same PMKSA on basis of
SSID + cache identifier. This also cause different caches present
in driver and supplicant.
Setting PMKSA in connect request is not needed since supplicant
will always set/delete PMKSA cache using seperate kernel APIs.
Add changes to remove set PMKSA logic during connect path and
increased PMKSA cache path logging.
Change-Id: I7aa13daa59c4221380daebab3bee49de5d681d6b
CRs-Fixed: 2054351