Enhance gEnableSifsBurst to support legacy mode for 11n certification
0 - disabled
1 - enabled, but disabled for legacy mode
3 - enabled
propagation from qcacld-2.0
Change-Id: Ia0a21cec25ce46b3ef2ed0ee8d4e4682558da468
CRs-Fixed: 2018162
This change is to remove the hardcoded 160 MHz support in STA
Assoc Request in VHT Capabilities IE.
Change-Id: I1ddbea312348c115a1a891fbc2dfde4e2790a79f
CRs-Fixed: 2017691
Allow 160 MHz and 80+80 MHz support in concurrency mode.
Also add support for 160 MHz and 80+80 MHz in VHT Capabilities IE
in STA assoc request frame.
Change-Id: Id3aab3308c68d0a623d5c4916e1bd46c6deaedde
CRs-Fixed: 2014380
The p2p search should be preempted if there is p2p listen
requested by action frame tx. So p2p listen should always
have high priority than p2p search.
Change-Id: I551e95ab3381bcbf002e67478a82f8ef31b56b5b
CRs-Fixed: 2011260
Currently struct hdd_wext_state_s (typedefed as hdd_wext_state_t)
contains the field "qdf_event_t scanevent". This event is created, but
beyond that it is never used. Since this object is obsolete, remove
it.
CRs-Fixed: 2017476
Change-Id: I7bd4290e1b4d0df069e8e6e6c9347c1ac3c01c63
Currently struct hdd_wext_state_s (typedefed as hdd_wext_state_t)
contains the field "struct completion completion_var". This completion
object is initialized, but beyond that it is never used. Since this
object is obsolete, remove it.
Change-Id: Ibebd7b4d1e8879b4de223a8be4bab2ca0d2fc165
CRs-Fixed: 2017354
Curretly FW considers minimum time of hysteresis for PER based roam as
constant value which is 25 seconds.
Add changes to make this configurable using ini.
Change-Id: I1a985594d515f42d1aaca8e4ef174fb29b51586a
CRs-Fixed: 2005849
DUT should be able to roam to a better access point if current
AP is having congestion/packet error.
This roam also devise a new selection logic for candidate
selection which considers channel congestion and AP capabilities.
Change-Id: I39594e37bd209be2603a4636514e2c9b1a907761
CRs-Fixed: 1090934
In case STA is in connected state, and the PMF SAP receive Assoc
request from the STA, the assoc request is silently dropped.
Instead the SAP should send assoc resp with comeback time and
start SA query.
Fix it by not dropping the duplicate assoc request frame for PMF
capable STA.
Change-Id: I812fb40541c93e7cac470b9154217844eac8a86d
CRs-Fixed: 2017250
tpSirMacFrameCtl points to tx_frame however after deletion of
tx_packet, tpSirMacFrameCtl pointer is not updated which is
causing invalid memory access.
Add changes to update tpSirMacFrameCtl once tx_frame got deleted.
Change-Id: Ifb10899f0a518a935641af88a7ef45b0a6fd293c
CRs-Fixed: 1103839
As per the current implementation wmmAcTspecValid is reset during roaming
and set after establishing TSpec but currently wmmAcTspecValid is not
considered before classifying the data frames based on AC and UP.
Due to above issue after roaming we are still sending packets with UP
for which tspec session is not established.
Fix above issue by checking wmmAcTspecValid for AC before
classifying the frame.
Change-Id: I37039fa568696f0861b02d094c3a513dbc2b9967
CRs-Fixed: 915555
On channel change of SAP to 5G, SAP is populating 2.4G basic
rates in 5G beacon.
Set number of supported and extended rates to zero for populating
rates based on network type. CSR layer will pick default rates if
hostapd rates are passed as zero
Change-Id: Ia393f7b6067f31dc8f792cda2bd74c441c2112e6
CRs-Fixed: 1105867
The 64-bit division in 32-bit architecture call 64-bit-by-64-bit
division routines "__aeabi_uldivmod", which is not defined for
the 32-bit architecture.
Use do_div asm-generic library api for division operation to avoid
the arch specific division "undefined symbol: __aeabi_uldivmod"
linking error during wlan driver load on 32-bit target.
CRs-Fixed: 2014971
Change-Id: I43253d1eb9f726ac0a96d21f4511a5a282c7bb2d
As part of I707054c44a882f6dd4a4a9df2b6821b93b724f7a, completion
of wlan_start_comp variable is removed at hdd_wlan_startup,
that leads to timeout crash waiting for driver registration.
Add complete wlan_start_comp at hdd_wlan_startup.
Change-Id: I2e80465cd1ec66b9330b8f6e9b11fd14076035eb
CRs-Fixed: 2017668
Disable Qpower when UAPSD is enabled or if the max ps poll is
configured by user.
Change-Id: If9c747406d65a6f89fa123592c3f9d79724b8ae0
CRs-Fixed: 2017432
Remove OEM DATA REQ serialization enum, since wifi positioning
component does not use command serialization.
Change-Id: I16cb21a9ea6b4610dbde4ab51a6cec7542a7e0c0
CRs-Fixed: 2003488
Add an ini item for configuring the keepalive method used by station
interfaces.
Change-Id: Id44773f5ae7f7ad1ad9441592512ab3e2ce3a076
CRs-Fixed: 2016799
In case of auto channel selction failure, clean exit does not happens
which results as scan completion event timeout in start bss API.
Add appropriate API call with channel selection failure
case.
Change-Id: I66a81f586234adb5a0edc4c85cfbaa221424217f
CRs-Fixed: 2006960
Inform the bss using the new API cfg80211_inform_bss_frame_data() which
also has the ability to inform the timestamp when the frame has
been received.
If the support is not present in the kernel fallback to the legacy
inform bss.
Change-Id: Iaa512248a5e56d77cff39da562e0c9ee4eaeeefd
CRs-Fixed: 1082423
Check the FW capabilities to enable VHT160MHz support.
Disable 160MHz by default in the configuration.
Change-Id: Ia6985d9f7c55a070dbb47faf95cd409201037e0c
CRs-Fixed: 2004245
Currently, enable/disable channel avoidance event based on INI is done
in hdd_wlan_startup. In power save scenarios, where WMI configuration
needs to be sent again to FW, channel avoidance event setting is not
sent.
Move the channel avoidance setting to hdd_features_init so that this
config is set properly to FW in power save cases as well.
Change-Id: I707054c44a882f6dd4a4a9df2b6821b93b724f7a
CRs-Fixed: 2009299
The Preferred Network Offload (PNO) wakelock protects Supplicant while
it configures the new scan results. The wakelock timeout should be
optimized as much as possible on production builds, as it is never
released by the driver. For additional power savings, reduce the timeout
of this wakelock in production builds compared to debug builds.
Change-Id: Iaccf56e00e933d3a216212ef219f31d28d022ea5
CRs-Fixed: 2016286
Increment the pno_complete stats counter from the Network Listen
Offload (NLO) complete callback, in order to keep pno_match and
pno_complete stats synchronized.
Change-Id: I7ac7edeb3a10498549dceee1874c99ea3095f28e
CRs-Fixed: 2016236
wlan-cld3.driver.lnx.1.1-dev to wlan-cld3.driver.lnx.2.0-dev propagation
As a part of add virtual interface API kernel takes the rtnl lock,
if start modules fails then it will take the rtnl lock again while
closing the adapter which causes the UI freeze issue.
To resolve this issue, call close adapter API with indication that
lock is already taken.
Change-Id: Ic186eba794600b189021d7455a5811972280ee84
CRs-Fixed: 2013661
Presently if there is an error during the add interface, closing of adapter
and the stopping of the modules is not handled.
So, close adapter during the failure adding the new virtual interface
and if there are no interfaces running start the interface change
timer callback.
Change-Id: I807bc5b295a7faf369e8a9f1e0958eac869f189f
CRs-Fixed: 1097312
qcacld-2.0 to qcacld-3.0 propagation
Add below four keys to allow user to tune WRR TX scheduler params.
Each key is mapping to one AC defined in data path module through
OL_TX_SCHED_WRR_ADV_CAT_CFG_SPEC.
gEnableTxSchedWrrBE
gEnableTxSchedWrrBK
gEnableTxSchedWrrVI
gEnableTxSchedWrrVO
Change-Id: I5c34b604297d83673ea065243cc58c3f2180ff3e
CRs-Fixed: 1020141
HDD to send user configurations received from ini to object manager.
Common components to refer to them from psoc object using public APIs.
Change-Id: I85045ccc291e280132be4164b13d07dee4538951
CRs-Fixed: 2003447
Propagation from cld3.0-1.1 to cld3.0-2.0
Fix the log level from Error to Info since it is not
an error and also move the message out of the if block
to give more meaningful information
Change-Id: Ia25bcc5b19d5b05666038b75b9a626e69b8de68c
CRs-Fixed: 2014221
The host driver should not attempt to power collapse while pending
VDEV_STOP commands are in flight. Acquire a wakelock before sending a
VDEV_STOP request to firmware, and release it upon receipt of VDEV_STOP
response.
Change-Id: Iac90fc249e9571090df6948ed931cc07b67e938d
CRs-Fixed: 2014496
During wifi logger start if the modules are in close state,
it will access uninitialized lock.
To handle this, check module status during start of the wifi logger.
Change-Id: I10b3fffa45475c602c22b548d521f75c627b133e
CRs-Fixed: 2012742
Add new diag events for the wlan disconnection these
events will be used to inform the wlan disconnection scenario.
Change-Id: I6bdddb2d3f45deca2dc92a94e2abf59f46d7c38f
CRs-Fixed: 1108380
Add QCN IE with version attribute to probe request and assoc/reassoc
request. Add support to detect the QCN IE in beacon, probe response and
assoc/reassoc response.
Change-Id: Ieac62517b09fb5bcd2a1709a352035f422c9ce63
CRs-Fixed: 1116843
qcacld-2.0 to qcacld-3.0 propagation
When HT40 rate flag is set, it's likely that packets are sent in
HT20 rate, therefore, the driver need check HT20 rate set to
calculate mcs index.
Change-Id: I29022ec26d72a5361f152dc20af13783d0dac984
CRs-Fixed: 1027530
Fix the compiling error for macors SM/MS redefinition in both htc.h
and dfs_phyerr_tlv.h.
Change-Id: I591bc8a55542ff8f3b6ce27201c33164e4bdfb66
CRs-Fixed: 1102190
qcacld-2.0 to qcacld-3.0 propagation
After calling ol_tx_msdu_complete, it will reset the tx desc's pakcet
type to ol_tx_frm_freed state. So there might be a race condition
if there is another thread try to allocate this tx description between
these two operations.
The ol_tx_msdu_complete doesn't always free the tx_desc according to the
tx desc type. So need to reset the tx desc's packet type only when the
ol_tx_msdu_complete hasn't freed it.
Change-Id: I0d96ef60d10048c524e93209469e8cdf20ce22c6
CRs-Fixed: 1087688
qcacld-2.0 to qcacld-3.0 propagation
In high latency, Firmware will trigger crash when no more reorder buffer
left. The number of prealloc reorder buffers depend on tid number, which
equals 4 * clients number, so reassign num_tids in wmi_resource_config to
4 * no_of_peers_supported as Firmware suggested.
Change-Id: If715cf201a283fa956b53dcdaccd534e57986fcb
CRs-fixed: 2003903
Change default log level for all firmware modules and
also per module with a specific log level.
Change-Id: I33275f2737e0e56daea4e2edd8debca8016f1ed0
CRs-Fixed: 2013439
Firmware has implemented two new chanimask control parameters:
WMI_PDEV_PARAM_SMART_CHAINMASK_SCHEME
WMI_PDEV_PARAM_ALTERNATIVE_CHAINMASK_SCHEME
Add two new INI parameters to control the values of these firmware
parameters.
Change-Id: Iafe8d38684c5f2ab3f4150eee722461ec21e3e21
CRs-Fixed: 2011634
Following tdls functions wlan_hdd_tdls_find_peer(),
wlan_hdd_tdls_set_peer_link_status() and
wlan_hdd_tdls_is_progress() allows mutex protection
inside the function depending on the mutex argument
as an input to the function. But the mutex argument
is always false in all the calling functions.
This change removes mutex argument from the functions
wlan_hdd_tdls_find_peer(), wlan_hdd_tdls_set_peer_
link_status() and wlan_hdd_tdls_is_progress().
Change-Id: I173e2a768b1f0b4d91dec1a9150efac630fb5c86
CRs-Fixed: 1106836
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for function __wlan_hdd_
cfg80211_tdls_mgmt() and __wlan_hdd_cfg80211_tdls_oper().
Change-Id: I6563170863c51d0eb400801cc863234e11440421
CRs-Fixed: 1106815
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for function hdd_roam_tdls
_status_update_handler().
Change-Id: Id4fd0931df5ec38ad07657751feff34946a18c02
CRs-Fixed: 1106735
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for function __wlan_hdd
_cfg80211_configure_tdls_mode(), wlan_hdd_tdls_set_params()
and wlan_hdd_update_tdls_info().
Change-Id: I03d4d74356ff6401772c69a7686352783cf22b6b
CRs-Fixed: 1106726
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for function wlan_hdd_tdls_
find_first_connected_peer() and hdd_set_tdls_offchannelmode().
Change-Id: Ic2112e19873a86fbd89dfb0a5a674a2a7e643b21
CRs-Fixed: 1106714
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for the function wlan_hdd_
tdls_get_peer() by removing the need for mutex lock inside
the function. The change also refactors the calling functions
for wlan_hdd_tdls_get_peer().
Change-Id: I3acb278162127e84d751ef7fdeaac2dc245bbe81
CRs-Fixed: 1106682
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for function wlan_hdd_tdls
_indicate_teardown() by removing the need for mutex lock
inside the function, and refactors the calling functions.
Change-Id: I5a0da34b0db78a88a99046bf2ee007b50d6ce5c4
CRs-Fixed: 1106305
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for function
wlan_hdd_tdls_disable_offchan_and_teardown_links(),
wlan_hdd_tdls_scan_callback() and wlan_hdd_tdls_teardown
_links() before calling wlan_hdd_tdls_find_all_peer().
Change-Id: I881e12bb0c50bfbeb4fe60cb21cfdf0f7d6c2f56
CRs-Fixed: 1106293
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for function
wlan_hdd_tdls_discovery_timeout_peer_cb() and
wlan_hdd_tdls_scan_callback().
Change-Id: I6927aee62c726edd1944d3b6638ae68d9c91d6ab
CRs-Fixed: 1106235
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for function wlan_hdd_tdls
_idle_handler(), hdd_tdls_connection_tracker_update() and
hdd_roam_tdls_status_update_handler().
Change-Id: I75dc17b581b0c5ef12cbc9203d679a5ea175c752
CRs-Fixed: 1106172
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for hdd_roam_tdls_status
_update_handler(), wlan_hdd_tdls_ct_sampling_tx_rx() and
wlan_hdd_tdls_update_tx_pkt_cnt().
Change-Id: I7e3e74d149b3dfe527aeb01ee5b3d7a51b16fc61
CRs-Fixed: 2009223
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for wlan_hdd_set_callback(),
wlan_hdd_tdls_extctrl_config_peer() and wlan_hdd_tdls_
extctrl_deconfig_peer().
Change-Id: I07d708f5e9475c57ee473f455ee716d2b6ba7139
CRs-Fixed: 1115923
The function wlan_hdd_tdls_indicate_teardown() calls
wlan_hdd_tdls_set_peer_link_status() with need_mutex
agrument as TRUE.
This change passes mutex argument to the function
wlan_hdd_tdls_indicate_teardown() that inturn passes
to wlan_hdd_tdls_set_peer_link_status() for need_mutex
argument.
Change-Id: I96400c00470dba7ae5ba9ad26142c7c5aaf2feb7
CRs-Fixed: 1115911
peer_list is a parameter for tdls_ctx, so every access
to peer_list should be protected with mutex lock.
This change refactors the code for wlan_hdd_tdls_add_station()
and wlan_hdd_tdls_set_link_status().
Change-Id: Ibb323d6dccfb91fddf8bde849054cfc331081ff8
CRs-Fixed: 1115781
qcacld-2.0 to qcacld-3.0 propagation
peer_list is a parameter for tdls_ctx, so every access
to peer_list should be protected with mutex lock.
This change refactors the code for wlan_hdd_tdls_reset
_peer() and wlan_hdd_tdls_set_sta_id().
Change-Id: I5950c411ca48186d6cb7cbd5a4acd688db1a0cba
CRs-Fixed: 1108994
qcacld-2.0 to qcacld-3.0 propagation
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for wlan_hdd_tdls_get_peer(),
wlan_hdd_tdls_set_cap(), wlan_hdd_tdls_recv_discovery_resp(),
wlan_hdd_tdls_set_peer_caps(), wlan_hdd_tdls_get_link_estab
lish_params(), wlan_hdd_tdls_set_responder() and
wlan_hdd_tdls_set_signature.
Change-Id: I4589eea7f5f97d0e9887e008921a89af05bce329
CRs-Fixed: 1108972
qcacld-2.0 to qcacld-3.0 propagation
peer_list is a parameter for tdls_ctx, so every access to
peer_list should be protected with mutex lock.
This change refactors the code for wlan_hdd_
tdls_set_rssi() and __wlan_hdd_cfg80211_tdls_mgmt()
before calling wlan_hdd_tdls_find_peer().
Change-Id: I1cedeff6f42854a66b4c878dd8d4ecf345ae875f
CRs-Fixed: 1108952
When TDLS exists and new virtual interface is added, then
TDLS gets teardown. But TDLS connection tracker is disabled
only when new connection comes up successfully. When STA
interface is present and TDLS is running and SAP is started,
TDLS gets teardown while adding new virtual interface. But
TDLS gets formed again if there is delay in starting BSS.
Thus, TDLS gets formed, but TDLS connection tracker gets
disabled.
The change is to teardown TDLS links if TDLS connection
tracker is disabled in cds_incr_active_session().
Change-Id: I0ae6526ad0aa321b666e62d09c2ca5b1be8f9157
CRs-Fixed: 2010694
TDLS connection tracker gets disabled while decrementing the
session. While incrementing the session, cds_set_tdls_ct_mode()
is called first, which does not enable TDLS connection tracker
as TDLS mode is already disabled. Then, wlan_hdd_update_tdls_
info() is called that enables TDLS mode, but still TDLS
connection tracker is disabled. TDLS connection tracker gets
enabled only in wlan_hdd_tdls_scan_done_callback().
The change is to enable TDLS connection tracker whenever
wlan_hdd_update_tdls_info() enables TDLS mode.
Change-Id: I00acaebdea737c4482b204ddc25df6b15b330254
CRs-Fixed: 2009566
In the case of concurrency, considering STA+P2P-GO, if P2P-GO is
removed, then cds_decr_session_set_pcl() will be called from two
contexts mc_thread and supplicant. Thus, if race occurs, then
cds_store_and_del_conn_info() will remove STA temporarily for one
caller, and it simply returns for second caller. As
cds_conc_connection_info stores garbage values for the second
caller, thus, new interface is created with junk variable.
The change is to avoid the race condition for calling
cds_decr_session_set_pcl() in two contexts. The change is also
to initialize cds_conc_connection_info() with zero before simply
returning because of failure in cds_store_and_del_conn_info() to
avoid creating new interface with junk values.
Change-Id: I7bc4dcea6dfb66954f2cead607eef303df62e6d6
CRs-Fixed: 2009364
Currently driver does not wait for peer del response from firmware,
but posts del sta response indication to SME immediately. This
can cause an assert in firmware if driver receives add sta
immediately before even del sta response from firmware. Add
changes to wait for peer del response from firmware to fix
this.
Change-Id: I16a84256f4a1ed971c17eb3139faac5622eadda4
CRs-Fixed: 2008940
Access to tdls_ctx should be protected with mutex since
it is being accessed and freed in different contexts.
ct_peer_mac_table is a parameter of tdls_ctx and it is
being accessed in tx/rx path which runs in softirq context.
So we cannot hold the mutex while accessing the tdls_ctx
in tx/rx path.
In this change the ct_peer_mac_table is moved to hdd_ctx so
that we no need access the tdls_ctx in tx/rx path.
CRs-Fixed: 1105539
Change-Id: Iafcc450a6e34500929605a11274fb2077b3f81fe
wlan-cld3.driver.lnx.1.1-dev to wlan-cld3.driver.lnx.2.0-dev propagation
As per the 80211 spec, except for setup req and resp frames all
other TDLS management frames shall be transmitted with AC VI. But
this may cause packet check failure for WMM certification-STAUT
-5.2.31 when Admission control is enable for VI.
To overcome this issue discard discovery request and setup cfm
frame when ACM is set for AC VI.
Change-Id: I13da566e9de5e9a366c1efc41c0af67320305570
CRs-Fixed: 1083561
wlan-cld3.driver.lnx.1.1-dev to wlan-cld3.driver.lnx.2.0-dev propagation
As per the current code, upon receiving the disassociation frame
AP, DUT-STA disconnects from the AP link but not tearing down the
TDLS link with peer by sending deauth with reason code 3.So when
AP comes up again TDLS link is not establishing between the
peers.
Fix is to delete all connected TDLS peers upon receiving
disassociation framefrom AP.
Change-Id: I8daa61cb1901441e5fae7d161c9f943d67e13c56
CRs-Fixed: 1081264
Currently, WMA maintains vdev up flag but other component
also need this flag to check vdev up status. Hence as part of
this fix removing this flag instead using Objmgr Vdev mlme state
for same purpose.
Change-Id: If1922791e71c07621708755de67fbcc2f7a469cd
CRs-Fixed: 2014026
Currently WMI_ROAM_EVENTID is handled in work queue context whereas
WMI_ROAM_SYNCH_EVENTID is handled in MC Thread context. This can
cause handling of WMI_ROAM_SYNCH_EVENTID followed by WMI_ROAM_EVENTID
if both events are received from firmware almost at the same time
which can result in setting roaming_in_progress to true even after
roam synch event handling and can block further scan requests.
Fix this by handling both WMI_ROAM_EVENTID and WMI_ROAM_SYNCH_EVENTID
in same MC Thread context.
Change-Id: I722cea54fa2126cb5d647f3a26371ca1c9a0f5a2
CRs-Fixed: 2014404
qcacld-2.0 to qcacld-3.0 propagation
In the current code, when STA receives CSA IE then host look and
operate on extended channel switch element eventhough our own
channel-bonding state is not enabled. This causes setting up of
secondary subband and state in new channel during CSA eventhough
the secondary channel offset is set to zero in CSA beacon.
Fix is to set the Secondary Channel Offset if our own channel
bonding state is enabled.
Change-Id: I82ca9737f49937176801bc4cbbdd3e2fb77d4749
CRs-Fixed: 1080260
Firmware may send STA kickout event even during association. This
change the limSmeState to eLIM_SME_WT_DEAUTH_STATE from
eLIM_SME_WT_ASSOC_STATE. Due to this assoc confirm is not processed
and HDD remains in connecting state and thus all subsequent scans
fails.
Fix this by processing STA kickout event only in
eLIM_MLM_LINK_ESTABLISHED_STATE
Change-Id: I75b4814aade80ca74ef9aef67ecea99a3bc15148
CRs-Fixed: 2012727
Add changes to get/flush scan results. Also add support to
convert legacy filter and scan entry to converged one and vice
versa.
Change-Id: I590745af3943a8975fb0644d02e58b2133c9f1cb
CRs-Fixed: 2013212
Add changes to correct max value for passive monitor interval for
adaptive dwell time.
Change-Id: Ib59e0d5843eda37a42733b5ec81ed3a70455c449
CRs-Fixed: 2014385
Some functions/structs are defined only when
QCA_CONFIG_SMP is enabled, however, they
are also used when QCA_CONFIG_SMP is disabled,
which will cause compilation errors.
Move the definition of these functions/structs
out of macro QCA_CONFIG_SMP.
Return type of cds_alloc_ol_rx_pkt() is not
void, but there is no return statement for
it when QCA_CONFIG_SMP is disabled.
Add 'return NULL' for cds_alloc_ol_rx_pkt().
Change-Id: If6f4298c27f0089219bbceb4a9d0ba1a295f8dcd
CRs-Fixed: 2010568
qcacld-2.0 to qcacld-3.0 propagation
Add an ini option for configuring rate for tx mgmt frame.
It sets the existed wmi cmd: WMI_VDEV_PARAM_MGMT_TX_RATE right
after vdev created. Since FW resets mgmt during vdev up, also
set mgmt rate after sap/sta vdev up.
CRs-Fixed: 1103895
Change-Id: I93bbe0978963abf0b887dbf2add5bfc2912f6de1
qcacld-2.0 to qcacld-3.0 propagation
Add ini config option to disable abg rate for tx data.
Change-Id: Ideb1fd6471c6fbdade99b4c7c533cb1bf3bf206c
CRs-Fixed: 1111787
1. The paths for driver to get ini and fw files
are incorrect for QCA SDIO chip on Dual-WiFi
platforms, with wrong prefix or no prefix.
Correct prefix for ini file, from '<mod_name>'
to '<chip_name>/'; add prefix '<chip_name>/'
for fw files.
2. For QCA9377, there is a special cnss API for getting
fw names, it's cnss_get_qca9377_fw_files().
Use the right cnss API to get fw files for QCA9377
Change-Id: Ia7616153b6823e9550703e649c7fc21ab306ca07
CRs-Fixed: 2008217
qcacld-2.0 to qcacld-3.0 propagation
The ol_tx_desc_free might access the invalid content of vdev referred by tx
desc, since this vdev might be detached in another thread asynchronous.
Go through tx desc pool to set corresponding tx desc's vdev to NULL
when detach this vdev, and add vdev checking in the ol_tx_desc_free to
avoid crash.
Change-Id: I3afa63659e047bbbf008440335fb71c8295ca353
CRs-Fixed: 1087690
Reason for association failure due to timeout is not sent
to user space.
Add changes to send association failure status code to
user space using cfg80211_connect_bss or
cfg80211_connect_timeout.
Change-Id: I060bdfdfd7875c7e945d1b2bf011c14a680b24f1
CRs-Fixed: 2012804
qcacld-2.0 to qcacld-3.0 propagation
If disconnect is already in progress because of deauth received
from AP when disconnect is also received from supplicant, there
is a possibility that completion variable disconnect_comp_var
gets reset in hdd_DisConnectHandler because of disconnection
in progress from AP before completion variable disconnect_comp_var
gets initialized in wlan_hdd_disconnect to handle disconnect from
supplicant. This can cause a delay of 5 seconds eventhough disconnect
was already happened. This waiting is not required when previous
connection status was not eConnectionState_Connecting. Fix this delay
by adding a check to avoid waiting when previous connection status was
not eConnectionState_Connecting.
Change-Id: I58ac638622c5164fa1e9fe45c52ebf60fab2340f
CRs-Fixed: 1093562
Current driver is packing IEs associated with association request
out of order which is violating 80211 spec.
Fix the order in association request based on element ID.
Change-Id: Ie7a69ce2999d5a5d8ba88bac1e988f0a41dd10a6
CRs-Fixed: 2006920
In function sme_get_beacon_frm, result_handle maybe used uninitialized.
Fix this by initializing result_handle with NULL value.
Change-Id: Ia1437b6adf1bbcfe7d2d87b42a252e4a0ee6f5ea
CRs-Fixed: 2008665
Check for HDD context validity for SAP Net dev stop ioctl to
resolve crash during SSR.
Change-Id: I09c57da5db4b072a8066f3c2b22c748cd79c293c
CRs-fixed: 2007350
During SSR firmware is reloaded and FW responses for previous
vdev sessions are not received. Thus cleanup FW response timers
on SSR.
CRs-fixed: 2005625
Change-Id: I95e2d85b29da240d372039deeece9db6add74edb
During SSR firmware is reloaded and FW responses for previous
vdev sessions are not received. Thus check for SSR before host
crash trigger on FW timeout.
Change-Id: I8be8b7264c133fa115a5b6ac6a3b865f7040e739
CRs-fixed: 2005995
IPA resource information allocated during cds_open must be
updated to IPA HW before configuring to FW in cds_enable.
Thus remove IPA HW configuration from HDD IPA init function
to do this action at every reconfiguration.
CRs-fixed: 2004133
Change-Id: I8761c06c1e84b68addbdcddccb4c652166c4c306
SSR can happen during SAP initialization. Thus check of SAP
initialization complete before attempting to restart SAP instance
during SSR.
Change-Id: Ib26116cfc33684035df692ae6c7b5d83cb0a27b8
CRs-fixed: 2005281
qcacld-2.0 to qcacld-3.0 propagation
Presently, during subsystem restart Host is sending sap restart
indication to framework(via carrier off) to do SAP unload/load.
But SAP restart functionality is removed in framework when the
carrier off event is received, leading SAP fails to come-up
after subsystem restart.
Add support in driver to do SAP restart internally without sending
restart indication to framework, during subsystem restart.
This feature is controlled by ini param 'gEnableSapInternalRestart'
and by default it's enabled.
Change-Id: I76cb73c1887d4d8124cd9a1c29b9aac47642072a
CRs-Fixed: 1105651
WLAN IPA UC data path initialize should be sync up with UC load
status. If UC driver is not loaded when WLAN driver loading,
WLAN UC data path initialize should be delayed till UC driver
will be ready
Change-Id: I297a53d1913ec4d88a5c51794959dcfebf85b45b
CRs-fixed: 786656
If ADD TS is sent it will be an active command in SME till driver gets
resp from peer or timeout. During this phase if LFR3 roam sync event is
received from firmware then PE session cleanup will be done and
SME/CSR is updated with new BSS info. In LIM, 'gLimAddtsSent' flag is
set while processing add tspec request and 'gLimAddtsSent' flag will be
reset once add tspec response received or addts rsp timeout.
This timeout doesn't expire because as part of LFR3 roam sync,
PE delete session is done which stops the timer. Because of this
'gLimAddtsSent' flag is not reset and add tspec response is not sent to
SME, this blocks further SME commands as addts req is not removed from
the active command list. This also blocks PE msg processing as
gLimProcessDefdMsgs is set to FALSE when addts request is sent.
This is not reset as the timer is killed as part of pe delete session.
To address this issue, call lim_process_sme_addts_rsp_timeout()
to reset the 'gLimAddtsSent' flag and send addts rsp timeout to SME.
Change-Id: I7cd1f38fa317bb0a10e22de242aaf42ff62641fd
CRs-Fixed: 1104590
'fast_roam_enabled' flag does same as 'do_not_roam' flag which is used to
track whether roaming is enabled or disabled per CSR session.
As per code 'do_not_rome' flag alone is sufficient to track roaming status
per session.
Fix to remove redundant 'fast_roam_enabled' flag to allow vendor roaming.
Change-Id: Id7f6e547b883c932f615cfbf89eeb30d47d6408e
CRs-Fixed: 1105973
qcacld-2.0 to qcacld-3.0 propagation
Add change to validate no.of RIC data desctriptors
before using it to access RICData array.
Change-Id: I0ac4e9e1eb61690b3c13a74fa0edfc5af13d88c6
CRs-Fixed: 1102327
qcacld-2.0 to qcacld-3.0 propagation
Currently host prints PTK and GTK key information in default logs.
Fix to remove the debug logs which prints sensitive key information.
Change-Id: I358b09b77d23eeb5da7d826859ae119a8ea4af8a
CRs-Fixed: 1097857
qcacld-2.0 to qcacld-3.0 propagation
Driver will not allow scan if connection is in progress.
Add driver changes to generate bug report and trigger SSR
if current session id, rejected reason matches with last rejected
sesssion id, reason and time delta between current time and
last rejected timestamp is greater than 5 mins
Change-Id: Ic64a6fd443104b291b5b7f6cda3bfbe8273c671a
CRs-Fixed: 1081489
Avoid NULL pointer dereferencing of mpdu_buf by putting NULL
check before using it in htt_rx_restitch_mpdu_from_msdus func.
Change-Id: I726891d4fc1f6928cbda911932dbbcd2ec681b63
CRs-Fixed: 2008901
wlan-cld3.driver.lnx.1.1-dev to wlan-cld3.driver.lnx.2.0-dev propagation
If station is connected to an AP with open security, fast
transition would fail as preauth is attempted only if FT
ies are present.
To fix this, Preauth is attempted even if FT ies are not
present for a 11R connection in open security.
Change-Id: I0ac15fc63b4b97a0e2fcecfe70d7cfc1c9277318
CRs-Fixed: 1086498
Make changes to support compilation for the files that have
been renamed. Rename the files from wlan_serialization_legacy_mcl_api
to wlan_serialization_legacy_api to keep it more appropriate.
Change-Id: Id219a9f3e00bef0ed85408539b33d54462bf91b5
CRs-Fixed: 2012863
For testing purposes, expose the ability to override the interface pause
setting sent to firmware during WoW enable. Relatedly, allow userspace
to specify which wakeup trigger firmware should use, instead of assuming
HTC wakeup.
Change-Id: I265ccef7ca5304c94bcb5ff2eb9a3d35cfa74191
CRs-Fixed: 2011131
PE is sending the deauth frames to all the connected tdls peers
while processing the deauth frame on STA interface from AP. But it
is not deleting the TDLS peer.
This change is to delete the tdls peer after sending the deauth frame
to tdls peer.
CRs-Fixed: 1108945
Change-Id: I0e115bf005e7d3bb3102f170f0d614160b9a0e38
During wifi-on the framework will load the driver and starts the
supplicant. In the present scenario, as soon as the driver registers
with the platform driver it checks whether FW_READY indication is
recieved. If the FW_READY is received the platform driver calls
probe of the driver in same context of the wifistate machine. If
the FW_READY indication is not received it calls the probe of the
driver in the work queue context. This is resulting in the wifi grey
out in the UI.
So, wait for the driver probe completion in the module_init, before
returning the context to framework.
Change-Id: I21b70f7e383bde07ac8cc3d4969be18b840d26a4
CRs-fixed: 1112295
On roam, obss scan params, sta ext capabilites and
qos map set are not updated to pe session entry
before returning from lim_process_assoc_rsp_frame.
Fix is to copy QoS map set, update obss scan params and
sta ext capabilities in PE session entry before return.
Change-Id: Iad35491c04452b6d459dde94713fc9c627c098e1
CRs-Fixed: 2007784
During legacy serialization's code review, few comments were provided.
Fix them.
CRs-Fixed: 2005532
Change-Id: Id5daea23532f263aea1e1bb9c3daa4651274890f
Legacy SME module is using old serialization mechanism, enable new
serialization mechanism.
Provide ifdef switch to fallback to old serialization in-case if it
is required to move to old serialization.
CRs-Fixed: 2005532
Change-Id: I4801dbab53e451206e2ff0904d102676fd7336e2
qcacld2.0 to qcacld-3.0 propagation
1) Roam enhancement change needs to handle the case of White list
SSID value count can be zero. This zero count is reset mechanism
to clean up the existing configuration.
2) The Blacklist BSSID count can also be zero and used as reset of
existing list.
Change-Id: I9c753b571138ab7533e6e897b820ca1db72c3880
CRs-fixed: 2007708
Move cfg ini based WMI pktlog enable command from hdd_wlan_startup
to hdd_wlan_start_modules during DRIVER_MODULES_OPENED state.
After hdd_wlan_startup, host starts the interface timer and if this
timer gets expired, then driver closes all the modules and cut down
the power to the chip.
On iface up, power on happens and modules are started again, and all
WMI configuration needs to be sent again to FW which happends as part
of hdd_wlan_start_modules.
CRs-Fixed: 2009995
Change-Id: I6d72e896532a6443150b1754d93ae06bf2edc3b3
Move cfg ini based WMI cts2self enable command from hdd_wlan_startup
to hdd_wlan_start_modules during DRIVER_MODULES_OPENED state.
After hdd_wlan_startup, host starts the interface timer and if this
timer gets expired, then driver closes all the modules and cut down
the power to the chip.
On iface up, power on happens and modules are started again, and all
WMI configuration needs to be sent again to FW which happends as part
of hdd_wlan_start_modules.
Change-Id: I50183b65c88b5b5fec6a09f93dc2c86d39f48039
CRs-Fixed: 2010097