qcacld-2.0 to qcacld-3.0 propagation
Observed kernel panic due to improper arguments passed to kernel bit
manipulation functions (like set_bit, clear_bit etc.) i.e these
functions expects bit positions as its first argument but bit mask
values are being passed.
To fix these issues ensure below points:
- Pass bit position as a first argument to bit manipulation
functions.
- Re-define MACROs which gives false impression of bit mask values
with their naming convention.
Change-Id: Ief8cd83b05f01a0926f91c0e9fb461ddd498e05e
CRs-Fixed: 981050
SBS is always set to true by the policy manager. so for the second
connection, if the mode is not DBS, then SBS HW mode is selected.
Since SBS is not supported the second connection fails with invalid
HW mode error.
Change-Id: I817e83cbac194cdfde73a586491d645631692f12
CRs-Fixed: 2021512
SME currently has legacy code to support the tCsrPerStaStatsInfo data
structure. However these stats were specific to the WDI firmware API
used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD. So remove support for these stats from SME.
Change-Id: Ibab7f94764c68933633c46da497613add0824ff1
CRs-Fixed: 2020067
WMA currently has legacy code to support the tCsrPerStaStatsInfo data
structure. However these stats were specific to the WDI firmware API
used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD. So remove support for these stats from WMA.
Change-Id: I42ba6535ccfaed99df46d389cbb8ddd9d0f9261b
CRs-Fixed: 2020066
HDD currently requests SME_PER_STA_STATS in a few of its legacy ioctl
handlers. However these stats were specific to the WDI firmware API
used by older generations of hardware, and this interface is not
supported by WMI. In addition HDD doesn't actually do anything with
the data returned. So remove support for these stats from HDD.
Change-Id: I070685a0ca2b9c53b93c1f950eab97ea65f43f1e
CRs-Fixed: 2020065
Currently wma_get_stats_rsp_buf() uses a loop to determine which mask
bits are set, and based upon the loop iteration count it determines
the size of the associated buffer. This calculation is fragile,
however, in that it tightly couples the loop iteration count and
eCsrRoamStatsClassTypes enumeration values. Since code under
development will be removing some of the eCsrRoamStatsClassTypes
enumerations, update this logic to remove the tight coupling.
Change-Id: Ia6cda4c8181c44d25a9da27acffe6bd10ca3b4ed
CRs-Fixed: 2020056
Currently SME exposes a set of SME_*_STATS macros to indicate which
stats are of interest in a call to sme_get_statistics().
What is not obvious is that the values of these macros are required to
be aligned with the eCsrRoamStatsClassTypes enumerated values. Update
the macros to make that alignment explicit.
Change-Id: Id992a8230a1aa4df941ea7666bc00a661a9ab68e
CRs-Fixed: 2020055
This change addresses sending Deauth to TDLS peers,
delete TDLS stations and clear hdd structures if
concurrency is detected.
Change-Id: Ia9f6724a9db20c6d9ebfc2fa735569305f35f084
CRs-Fixed: 2022489
qcacld-2.0 to qcacld-3.0 propagation
The parse_mac_trace.cmm file will be maintained
under core/mac/src/sys/legacy/src/utils/src/.
This script helps to decode MTRACE logs when we get crash dumps.
Change-Id: I421b53edc18c49e737411d3723b0a1536e86bc58
CRs-fixed: 957900
Excessive logging of the following error message was observed:
__wlan_hdd_cfg80211_scan: Update scan IEs with default Scan IEs failed
This message was being printed because wlan_hdd_update_scan_ies()
returns an error code when no default scan IEs have been configured.
But this is a valid scenario, so modify wlan_hdd_update_scan_ies()
to return success (0) when no default IEs have been configured.
Change-Id: I4b9dc1d38d38d326861b7c95d13b891cb0d0c522
CRs-Fixed: 2013531
Add ini param qdf_trace_enable_wifi_pos to control WIFI_POS logging
level from config.ini
Change-Id: I9baa59448b9badaae94193bd7367a104309d0a1a
CRs-Fixed: 2003488
This API is moved to qcacmn as part of WIFI_POS convergence.
Remove this API from MCL code include necessary header file
for API.
Change-Id: I8622d0bbfd90c7aee5630aaa3e6e3540dfc9df9b
CRs-Fixed: 2003488
Change the return type to QDF_STATUS of htt_tx_desc_init function
to handle dma map and other error condition.
Free the tx descriptor if this function returns error.
CRs-Fixed: 2021634
Change-Id: Ib9154de308154c43c202ad8a88ecdfff04be47a2
Currently driver drops RRM request before completion of DHCP.
Driver uses global variable dhcp_done to check completion of DHCP.
In static IP case, there is a chance that sme_dhcp_done_ind be
invoked before connection. Hence there is a chance that global
variable dhcp_done may not be set. This can cause driver to drop
RRM requests forever in static IP scenarios.
Invoke sme_dhcp_done_ind in all states to allow processing of
RRM requests in static IP scenarios as well.
Change-Id: I20e07eea7a66e7f3336dd783b9533ff642721209
CRs-Fixed: 2021041
When a packet is generated internally, host adds a debug
node entry to the table and deletes the entry once received
tx completion for that packet by calling qdf_nbuf_free.
But when a packet is coming from network stack, host doesn’t
add any debug entry to the table and on receiving tx completion,
it calls qdf_nbuf_tx_free which will simply free the skb.
In case of P2P GO mode where packets are forwarded internally,
host creates a private copy of skb and add debug node entry in
the table. But when receiving a tx completion for the same packet
host calls qdf_nbuf_tx_free which will free the skb but will not
remove this node entry from the table. Currently, this api is common
for all data tx completion packets.
Add an extra flag in control block to differentiate whether skb is
generated by driver or come from network stack. If flag is true,
that means generated internally and need to remove the entry from
debug node table.
CRs-Fixed: 2021277
Change-Id: I07c12b5bf134a3e56d13005dbe03778781cdf176
Add support in HDD to update 11ax - High Efficiency(HE) Capabilities
received as part of the target configuration.
Add support for new WNI_CFG global config parameters to be
used for implementing 11AX standard.
Change-Id: I3f0d3af2369157c657ac59676a434dc794f84b19
CRs-Fixed: 1073481
Add support in WMA to receive and store HE capabilities coming
from extended service ready event.
Add support to receive HE capabilities, convert into OTA type of
internal host structure and pass it to the uppper layer as target
config. Add utility funciton for the conversion as well.
Change-Id: If0ceeb3db74be6cf6893b8e74c710863bab8b41b
CRs-Fixed: 1073481
Add 11ax related IEs in dot11f.frms file.
Add new IEs to support 11ax/High Efficiency(HE). HE capabilities and
HE Operation are the two new IEs added and the IE definition is based on
the 11ax D1.0 specification.
Change-Id: Iab4219a7c068faca0337f70f921ec178f7170952
CRs-Fixed: 1073481
wlansap_roam_callback function logging an error message if
roam_status is not handled, in default case of switch, but same
information is logged before switch. So remove this log.
Change-Id: Id53eb392929d9328f959c7e54d7f0a5dd77b0739
CRs-Fixed: 2007415
Set Band Capability ini config to PSOC user config. This can later
be used in UMAC component.
Change-Id: I9044cec35cdb478881b827101ee79bcf87084d73
CRs-Fixed: 2003488
When HDD detects that the session id and vdev id have de-synchronized,
print the PSOC reference tree and induce a crash.
Change-Id: I1ca47837cd024fd66e19d86222cfbbd85e3f5704
CRs-Fixed: 2020092
Sometimes MTRACE dump functions returns "unknown" values instead of
data passed to MTRACE. To resolve this add any missing MTRACE code and
data enums to the corresponding trace functions.
Change-Id: I86b9b9f433be64879c96ccc65c142e07aaf23ed0
CRs-Fixed: 2018532
qcacld-2.0 to qcacld-3.0 propagation
Current implementation does not update MDIE while processing of
PNO match event due to this STA is unable to connect to 11r AP.
Add changes to update MDIE to 'tSirBssDescription' in
csr_scan_save_preferred_network_found()
Change-Id: Ia419c0f7284fc168434d91bcc3d7b29b99a06f3f
CRs-Fixed: 2005101
qcacld-2.0 to qcacld-3.0 propagation
'apDataAvailPollPeriodInMs' ini is redundant in registry table and
hdd_update_config_dat().
Fix to remove redundant ini 'apDataAvailPollPeriodInMs' variable.
Change-Id: Ieb5214ec3052bbec793e91d294b03e425292e348
CRs-Fixed: 2000336
When SAP initiates deauth/diassoc for peer device, it sets
isDeauthInProgress flag. So, if host receives tx packets
for peer from network layer or ipa path while peer remove
is in progress, then drop the tx packets at hdd level
in __hdd_softap_hard_start_xmit based on above flag check.
CRs-Fixed: 2016092
Change-Id: I52c3bcd92478eb657bdd90d15eb13d1cd95ee090
wma_remove_peer does clear peer as part of disconnect.
hdd_roam_deregister_sta also does clear peer which results
in clear peer failed error message.
Fix is to avoid clear peer again in disconnect handler.
Change-Id: I0399a81779aad87201cb67e070421ec549b2d837
CRs-Fixed: 2019168
After PDR driver send regulatory hint with the same country code
which was already set by driver before PDR. As part of regulatory
hint kernel remove the custom regulatory flag from wiphy flags
and as in this case country has not changed, no reg notifier is
called and thus wiphy flags are not restored by driver.
Due to this if user set an country the channel flags and power
are not reset and 5Ghz channels remain Passive.
To fix this don't send reg hint during start modules if
init_by_driver flag is set.
Change-Id: I126465aa91f40df5c92da44361f414a7792e927f
CRs-Fixed: 2019049
It need qdf device if send mgmt frame. But host common can not access
legacy codes. Save it to soc object.
Change-Id: Ib943c5f3356e02b946ad1d30838d464e36dd643f
CRs-Fixed: 2014648
Currently in csr_purge_old_scan_results() mutex_lock
did't acquire by current thread but same thread is
releasing the lock due to which there is a ASSERT while
releasing mutex_lock.
Fix is to acuire the mutex_lock properly before releasing.
Change-Id: I1023dca73ffaa3d3b3a123d474c3ac5b0e1c1af2
CRs-Fixed: 2020452
Every access to remain_on_chan_ctx need to be protected
with mutex lock.
This change refactors the code in the function wlan_hdd_
cancel_existing_remain_on_channel() and wlan_hdd_cancel_
pending_roc().
Change-Id: Ie4551ab7cc4297f04ea2980aff7e613f6d3d2bb6
CRs-Fixed: 2020554
Some of cfg80211 callbacks need os structure wireless_dev. Pass it to
vdev object when creating.
Change-Id: I360f5a6d205dfa223139b7ca0de8e567146770f7
CRs-Fixed: 2014563
qcacld-2.0 to qcacld-3.0 propagation
If there are many beacon/probe received and posted to pe queue
the connection req frames may get delayed and thus effect the
connection. This may also lead to connection failures.
To avoid this prioritize the connection req frames in pe queue.
Change-Id: I5a6fd5c21242205dd080b2ba0cff5f823f51d109
CRs-Fixed: 2013381
Memory is not freed in lim_del_sta API when response
required is not enabled and wmi service
(WMI_SERVICE_SYNC_DELETE_CMDS) is enabled.
Fix is to free memory in wma peer delete handler.
Change-Id: I8d8a799935ad6199357b4a534e58d54dcbea8d2c
CRs-Fixed: 2015973
A previous commit failed to propagate WoW enable parameters down to
the Power Management Offload (PMO) component. Propagate WoW enable
parameters to the PMO component to restore unit-test suspend
functionality.
Change-Id: I6531a262a189b416499953bc013efdf64111ac5a
CRs-Fixed: 2020034
Add support to pass delay_start_time to firmware, this delay will be
used before starting the first scan cycle.
Change-Id: Ia3043eecc38507b1581fa85b8787b2e7786017de
CRs-Fixed: 2014142
Currently default waiting timer value is 100 sec which is too large,
change the timer value to 15 sec.
Change-Id: If116f9ace2e2c0c41438c4be9c9fa834ae9e4a60
CRs-Fixed: 2019739
11n or 11ac AP does not include 11g rates due to which
driver treats the AP as 11b AP.
Fix is to add HT/VHT check so that driver treats AP
based on capabilities.
Change-Id: I1bb49408e4e480578e2f190c5f7c0408f734d82e
CRs-Fixed: 2015843
For TDLS peer delete, mlme changes the limSmeState of STA session
to eLIM_MLM_WT_DEL_STA_RSP_STATE.
This leads to not sending vdev down to FW for STA interface as
psessionEntry->limMlmState is not in eLIM_MLM_LINK_ESTABLISHED_STATE.
CRs-Fixed: 2019041
Change-Id: I0707eabc8f4cf2571996d8ef2d6d621e01bcbb39
Ignore the Roam Synch Indication from firmware if the
user space has already issued a disconnect before
receiving ROAM_START from firmware.
Disconnect might have cleared the roam profile and will be
sitting in the queue for the PE processing to happen.
If the disconnect is in the queue and a roam synch indication
is received, then check the CSR state from the first callback
of roam synch propagation and bail out there itself.
Disconnect will eventually send a ROAM_STOP command to the
firmware and it will cleanup
Change-Id: I528f552cd601dc9d23f709410115fb0af944899d
CRs-Fixed: 2018928
If the offloaded roaming feature has started, but
has not completed for some reason, then issue a
disconnect and cleanup
Change-Id: Ibcd4f83ea126a1d05531f9bf30d6827008fdbfea
CRs-Fixed: 2019435
While addressing the issue fixed by change "qcacld-3.0: Cleanup scan
queue during driver unload" a couple of issues were observed in the
HDD scan cleanup code:
1) list node was directly typecast to hdd_scan_req instead of using
container_of() operation.
2) hdd_scan_req_q_lock spinlock was not being destroyed.
Address these issues.
Change-Id: I6d1e7f5a78848d43e62f893b82f538b960ea0609
CRs-Fixed: 2018045
The following assert was observed during driver unload:
QDF ASSERT in qdf_list_destroy Line 90
PC is at hdd_scan_context_destroy+0x4c/0x78 [wlan]
There was also an associated memory leak detected:
memory Leak@ File core/hdd/src/wlan_hdd_scan.c, @Line 562, size 48
memory Leak@ File core/hdd/src/wlan_hdd_scan.c, @Line 2284, size 584
The issue is that the scan cleanup routine, hdd_cleanup_scan_queue(),
is currently only called during SSR and is not being called during the
driver unload sequence. Update the unload sequence to call this API.
Change-Id: Ib398a528cbb504bc132d985a0fa8c2a772d44332
CRs-Fixed: 2018045
WMA registers for shutdown notification and during wma_close
WMA events are destroyed which are accessed from WMA shutdown
callback. Hence make sure to purge shutdown notification 1st
before calling wma_close.
Change-Id: I868a835f3da52596c0451f9c99638dbc97ea6abe
CRs-Fixed: 2018911
If the driver module is closed do not process the driver command,
it will lead to a crash by accesssing uninitialized lock.
To handle this issue check the module status before processing
driver command and if module is closed, simply return error.
Change-Id: Ic651e1abdf6b2efa27e57695c04ace249f9d21bb
CRs-Fixed: 2018746
Add "g_enable_bcast_probe_rsp" INI and pass the configured value
to firmware for STA vdev as part of vdev attach. Based on this INI,
firmware will send the dwell time IE in probe request.
Change-Id: I446c7d7589534688e04579ed434de0803ed8b4ff
CRs-Fixed: 1113498
The host driver should not attempt to power collapse while pending
VDEV_START commands are in flight. Acquire a wakelock before sending a
VDEV_START request to firmware, and release it upon receipt of
VDEV_START response.
Change-Id: Iccca8ce4213b7527421f6b93fc4e08be9c31f471
CRs-Fixed: 2018066