Add FEATURE_TSO flag in Kbuild to enable the
TSO feature for Lithium based chipsets
Change-Id: Ie26b2b9a191828b3ce833000a7abbb09dd492713
CRs-Fixed: 2042950
Handle WIFI configuration vendor attribute
QCA_WLAN_VENDOR_ATTR_CONFIG_RESTRICT_OFFCHANNEL.
This attribute is set by applications to restrict operations which
cause the AP/GO to go offchannel.
A counter is also added to hdd_adapter to track the number of times
this attribute is set by different applications.
This counter will be reset in the driver when the AP/GO interface is
brought down.
It is the responsibility of the application to remember(through
persistent storage) that it has applied the setting and in case the
application is killed it should be able to recall that it has made the
setting when it is re-started next time.
Change-Id: I45106c8515756d1a007514f1b3e9744bd6ce4834
CRs-Fixed: 2050999
qcacld-2.0 to qcacld-3.0 propagation
In some case, scan_block_work will be scheduled, but NETDEV_DOWN will
come before scan_block_work executed, it will lead to crash. Because
in this case it will call ___cfg80211_scan_done to free scan request in
cfg80211_netdev_notifier_call firstly, but it will access scan request
in wlan_hdd_cfg80211_scan_block_cb afterwards, so it will crash.
Add flush scan_block_work process when receive NETDEV_GOING_DOWN notifier.
Change-Id: Iada4b907f5fb03871406904340e21b6cdf89306f
CRs-Fixed: 2034794
The WOW wakeup print messages are causing some confusion. Explicitly
log that UNSPECIFIED wakeups are not caused by WLAN to help.
Change-Id: Ia4d009a702d4a488414a65dd189ed129bde92067
CRs-Fixed: 2053267
Currently peer is not removed if add bss fails. This can cause
assert in firmware as driver sends VDEV DELETE without peer delete.
Add changes to remove peer if add bss fails.
Change-Id: I7591af55f24919af9cf2d1f288a5bd9ff706adda
CRs-Fixed: 2029804
Return value of __netif_tx_trylock should be checked immediately
after being invoked, any subsequenct actions designated to the
atomic context should be abandoned if trial acquiring of the
spin lock fails
Change-Id: I95504eed14c3e30d014aa1ccc23356a7df02fb00
CRs-Fixed: 2047246
qcacld-2.0 to qcacld-3.0 propagation
Add support for configure host init SAP HT rate
upper bound.
Change-Id: If749f8a036d98d9070cb05170fa1e612fcb30e8a
CRs-Fixed: 1091897
qcacld-2.0 to qcacld-3.0 propagation
Add support for host enable/disable rts sifs bursting, and set
default tx mpdu aggregation count.
CRs-Fixed: 1089478
Change-Id: Ieb63621f217ccd1a50b925ea4dda05fecad01387
Currently, if supplicant disabled roaming, driver doesnot send RSO
cmd to fw. This causes roam invoke to fail in FW since RSO start
never happened at least once to configure roaming engine in FW.
After connection, Send RSO start followed by RSO Stop if supplicant
disabled roaming to make sure roaming engine in FW is configured
properly with required parameters at least once.
Change-Id: I72b73554b03ea3f0fa04d0da2a2db96c0ed8b1c8
CRs-Fixed: 2042629
Currently, host driver sets FILS capability enable if broadcast
probe response support is enabled(i.e. g_enable_bcast_probe_rsp).
since this support adds FILS request params IE(which has the max
channel time STA would wait for AP to respond with broadcast probe
response) in probe request, FILS capability is set in ext cap.
However, it is also set in SAP role which leads to scan issues with
some client stations.
Restrict FILS caps in ext cap to STA role only if
g_enable_bcast_probe_rsp INI is set.
Change-Id: Ia5fc0cbf36a4a6df3eb21015ef0508f6daa7b21d
CRs-Fixed: 2048318
Avoid frequency list can be generated due to LTE Coex and
Do_Not_Break_Stream.
Combine LTE Coex & DNBS avoid frequencies before sending the list to
application.
Change-Id: Ibafac2fcc160d029fc5643847a5647edf10db29d
CRs-Fixed: 2045120
Adds API to send "list of frequencies to be avoided"
to the application, when Do_Not_Break_Stream is active.
When DNBS is active, all frequencies other than the
AP/P2P-GO operating frequency, in the current band are to be avoided.
Change-Id: Ia27b5911715a216f0ab49aa0d984243e9ea49b64
CRs-Fixed: 2045120
presently timer value is 250sec for wlan interface up from the upper layer,
which is too high.hence moving to 5sec.
Change-Id: Ia955bd12ab37f33c312c728d55c0019317a20acc
CRs-Fixed: 1104031
If firmware supports CSN[Compressed Steering Number of Beamformer Antennas
] 8x8 and if the concerned INI(i.e. gTxBFCsnValue) is set above 3 which is
default fw support currently, send Probe/Assoc Request with CSN in VHT caps
as set in INI. Else set CSN to 3.
CSN of Beamformer Antenna in VHT caps is one less than the max number of
space time streams that the STA can receive in VHT NDP(i.e. CSN in VHT caps
= max space time streams STA can receive - 1)
Change-Id: I6c77f7513ee090beba8849b27c90ac0346e1ac58
CRs-Fixed: 2052348
Parse Service Ready Extension event to get requested DMA ring capability
and initialize DMA rings.
Change-Id: I491e61a2ebbab549c31635ea74dcb89e20be3f97
CRs-Fixed: 2055839
1. Add an extra parameter pdev id to
qdf_trace signatures to avoid compilation break.
2. This variable allows to collect records per pdev
for Lithium based chipsets.
3. Set this variable to a default value QDF_TRACE_DEFAULT_PDEV_ID
for older chipsets.
Change-Id: I2f4c2e3525ac0d1d53f1af3db7e43acadf6ab835
CRs-Fixed: 2049412
If the peer's MAC is same as the peer present on any other vdev,
and if this peer is added to firmware, firmware will crash.
To fix this do not add peer, if peer with same MAC exist on any
other vdev.
Change-Id: I5565f4b18ab68cff6b63ba99f307f16654e50246
CRs-Fixed: 2053392
Initialize add_ie to false to avoid the possibility of
using add_ie with random value.
Change-Id: Ic2a4dfee2961220f853e674c3dfe90707377bf24
CRs-Fixed: 2042711
On wifi config set of default scan ies from supplicant, default_scan_ies_len
is not properly initialized and reset leading to memory overwrite.
Properly initialize the default_scan_ies_len on every wifi config set
of default scan ies from supplicant.
Change-Id: Ib26820e30019a30a7d6369d382d51b648b6b0d43
CRs-Fixed: 2036132
1) If g_qcn_ie_support is enabled, Save QCN IE along with default scan
IE's received from Supplicant at init time.
2) Compare and update scan IE's with saved default scan IE's for each
scan offload request to FW.
Change-Id: I902ab753db3bc3d5b4de400f550bf4ba3ceb424b
CRs-Fixed: 2033203
Currently, PCL may not have the weights for the channels
from the selected band.
Keep only the channels of the selected band and remove
the channels of other band from ACS channel list
and PCL.
CRs-Fixed: 2053468
Change-Id: Ie71febe9068493e2c356f0590a86e3c15494b2e1
Currently, in beacon IE parsing of roam synch indication, fixed fields
[beacon interval, timestamp, capabilities] are not parsed resulting
in these fields being reported as zeros to supplicant.
Parse beacon IE's to extract fixed fields from beacon IE's.
Change-Id: I3ba2b8037de99a49b42eeecc7670bdb23c118f9d
CRs-Fixed: 2053019
Defer the disconnect that is issued because of driver unload
and handle it immediately after the roaming is complete.
Change-Id: I9200d0f218560f2a990f491a27563bbbf594ae24
CRs-Fixed: 2025273
The firmware version sub id is not included in the current Bugreport.
Including subid and HW version.
Change-Id: Idc96c15d377935e0ff7291b5542ef34627613136
CRs-Fixed: 2034277
Move a few logs to appropriate levels so that they are
not unnecessarily spamming the dmesg
Change-Id: I0ae839ef1420f3a540cfccee3867261ddf5a5870
CRs-Fixed: 2043741
When data traffic is running on HL card, it will hit watchdog
bark issue. It's caused by wrong pointer usage in ol_tx_queue.c.
Add fix to sync with qcacld-2.0.
Change-Id: I7869ef86839e69e515ccd70795b3909abc09d46c
CRs-Fixed: 2053632
Currently, Host allows to set packet filter in disconnect
state which is leading assert in firmware.
As a part of this fix, skip packet filter configuration
in disconnect state.
Change-Id: Ibc02105fe4d2455dfb0e527d7fcb240fc1b39330
CRs-Fixed: 2041846
Currently ext_cap structure is not reset to zero in
lim_send_probe_rsp_mgmt_frame. This can cause
dot11f_unpack_ie_ext_cap to return status other than
DOT11F_PARSE_SUCCESS and result in unnecessary error messages in
lim_update_extcap_struct.
Reset ext_cap structure in lim_send_probe_rsp_mgmt_frame to fix this.
Change-Id: I874d4d150a405d32737912f0b40661bafa5df268
CRs-Fixed: 2035704
Add eSAP_DFS_CAC_INTERRUPTED, eSAP_ECSA_CHANGE_CHAN_IND and
to sap_hdd_event_to_string(). Currently these events are
printed as eSAP_HDD_EVENT_UNKNOWN.
Change-Id: Ic59b4dfcfdd09aa808398d9dcd0b935cedfa7de3
CRs-Fixed: 2053387
Currently in hdd_extscan_start_fill_bucket_channel_spec() the
QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC attribute is parsed without
specifying a policy. This means that no policy is enforced.
Subsequently the values of the nested attributes are retrieved, but
again without any length limits enforced. This could result in a
buffer overread.
To prevent this issue:
* Parse using the existing policy wlan_hdd_extscan_config_policy
* Update the policy to add missing attributes
Change-Id: I3b20cb28d1beccd2e804b022b531413ad1edb533
CRs-Fixed: 2054958
Host is always updating channel width as 20MHz while updating the
rx nss value in Operating Mode IE.
Channel width should be updated from session entry.
CRs-Fixed: 2048435
Change-Id: Ib78f52d3ad1be875450a76c20a9332933f50277f
Driver is accepting get tx power request from the application in
disconnected state and requesting FW for class A stats.
Since it is in disconnected state driver fails to parse the peer
stats.
CRs-Fixed: 2052864
Change-Id: Ie49528f0822b45bb103bc578f35b992797ebb1c5
WMA is ignoring stats request if there is already pending stats request
for the same sta id. When WMA ignores stats requests it should send a
response back to HDD so that it doesn't timeout waiting for response.
CRs-Fixed: 2052962
Change-Id: I781816c42fac12a0ace4e64558fc09418f32ddd7
Host is not stopping the TDLS timers when PDR is triggered.
These timers are expiring during wlan shut down and leading to
crash.
Fix is to stop TDLS timers while resetting adapters.
CRs-Fixed: 2050795
Change-Id: I944081342ff2de2548ff839a7b852d64282c0323
FW indicates the bt coex events using event
'WMI_TDLS_CONNECTION_TRACKER_NOTIFICATION' and with reason as
'WMI_TDLS_ENTER_BT_BUSY_MODE' and 'WMI_TDLS_EXIT_BT_BUSY_MODE'.
WMA is handling this event and sending it to PE, But PE is not
handling it.
This change is to handle WMI_TDLS_CONNECTION_TRACKER_NOTIFICATION
in PE.
CRs-Fixed: 2051707
Change-Id: I844d1883bcb769799170fd7cf7114940d1bb8cd4
All the vdev and peer related commands are forbidden, when the
roaming happens in the system.
Firmware roaming module does vdev_stop, once the roaming is
successfully completed. Part of vdev stop, firmware will delete
all TDLS peers. So after roaming is completed, as part of
roam_sync_complete, host should not send peer_delete. If host
sends peer_delete then FW will not be able to send
peer_delete_resp_event as peer is already deleted
during roaming.
Make changes to reject all vdev and management commands
to firmware, when roaming is in progress in the system.
Change-Id: I17b36d0ce484efeda9dc537684792c7a90d2eae8
CRs-Fixed: 2049039
Currently, driver is not updating the ESE version IE presence to PE
session if power constraint IE is present in beacon/probe. This causes
driver not adding ESE version IE in assoc request though AP is
advertising ESE version IE in its beacon/probe.
Update ESE version IE presence to PE session irrespective of whether
Power constraint IE is present or not.
Change-Id: Idb4ab5ef03449df49ee74848c8824bca9318f08a
CRs-Fixed: 2042660
Remove self assing variable rx_pkt->pkt_meta.tsf_delta
from wma_process_rmf_frame which is already initialized
in wma_mgmt_rx_process from structure wmi_mgmt_rx_hdr.
Change-Id: Ie8a777fccc2fb282018fc9e3548631def00878a4
CRs-Fixed: 2043356
Staid with 0 value is considered invalid for TDLS peer.
But Staid with 0 should not be invalid.
The fix is to allow staid with 0 value as valid for
TDLS peer, and assign 0xFF as invalid staid for TDLS
peer.
Change-Id: Ia175c7f1621e7ac0bb826c60fad4ce98dbd41d44
CRs-Fixed: 2041406
In the hdd_ipa_forward, we are not populating pm_tx_cb->ipa_tx_desc
field. So, during hdd_ipa_cleanup, call ipa_free_skb only when
ipa_tx_desc is not NULL.
Change-Id: Ib15cd3eb0c7b10a205993db27960fa2e7775b335
CRs-Fixed: 2046901
Observing compilation errors when FEATURE_WLAN_LFR_METRICS
flag is enabled.
Add changes to fix the compilation errors
Change-Id: I9272cf26e590879f327629e21c76b991d077ad5c
CRs-Fixed: 2053760
Disable vendor VHT IE support if 11ac is disabled in 2.4G by
user configuration
Change-Id: I8920fae5352fa1a4c7356918bce3b27e2c4a3345
CRs-Fixed: 2052059
P2P connection is failed because host driver is updating
stale BSS entry of P2P go to NL.
Remove BSS entry from scan cache irrespective of reason
code.
Change-Id: I99eb1fd953037bbbd9c1af1147d3656f6ca246c3
CRs-Fixed: 1110752
Fix compilation error of "sessionId may be used uninitialized in
this function" by initializing sessionId to CSR_SESSION_ID_INVALID.
CRs-Fixed: 2055208
Change-Id: Id2da1f3ee028d85b1e0c1dfc4f65af5a54dd4479
Changes done to head pointer in ol_rx_add_mpdu_to_list() is not
returned back to caller as arguments are sent as pass by value
Change-Id: Ie8c98af2ea4e03b0678df243aa0c832165494168
CRs-Fixed: 2046362
Few APs create interoperability issues when STA goes to power-save mode
right after initial connection.
In order to resolve these issues, defer the power-save for few seconds
when connected to those APs.
Change-Id: I3f6b642fb4e481dcb8e14f6da141f4cfa9d6b167
CRs-Fixed: 2046014
In ol_rx_fwd_check, do not remove nbuf Rx packet in case intra-bss
forwarded traffic. Regular Tx completion will take care to free the nbuf
and its tracking.
In ol_rx_defrag_decap_recombine(), it is callers responsibilty to free the
source nbuf if concatinate succeeds.
Change-Id: Iaf83524924e312bf819483de38603241f45170a5
CRs-Fixed: 2047377
If SAP operating in DFS channel and CAC was done, isCacEndNotified
flag was set to true. If ssr triggers, SAP will restart and does cac
wait, and isCacEndNotified flag remains set which will prevent sending
vdev up to firmware to start beacon after cac done.
Change-Id: I02b9c1dbcd1f37df1de134ce54233c2061bf7cec
CRs-Fixed: 2049957
Make sure to first reset dfs_cac_block_tx (if operating channel is not
dfs) as soon as start bss event received. It is observed that in some
cases further processing of start bss event in hdd_hostapd_sap_event_cb
is failed and dfs_cac_block_tx flag remain set, because of this all the
tx packets from network layer are blocked. SAP continue to beacon but
peer stations failed to connect as SAP is blocked to transmit dhcp or
other data packets from network stack.
Change-Id: I045e38d6b826d2de64520fe9063e6123bc6650e6
CRs-Fixed: 2026958
Supplicant uses connect command to send roam request and
also starts auth timer. On failing to receive assoc success
from driver, supplicant will send disconnect indication to
the driver after auth timeout which is 10 sec.
So, currently supplicant does not allow to stay with current AP
if roam invoke fails.
On roam invoke failure, indicate this failure to supplicant
and send death to current AP for driver and firmware cleanup,
So that we can avoid 10sec auth-timer delay.
Change-Id: Ie010a55b9b7a6563c817b17815d004f7b8bfa2fa
CRs-Fixed: 2044156
Make sure to update cac duration correctly if any of the
bonded channel is weather channel.
Change-Id: If96654427abd32757a592a1e89113c185127f221
CRs-Fixed: 2034640
Make sure to free cfg resource in allocated during
cfg_init when case of pe_open failure happen.
Change-Id: I651585dabec344253fb3015d974f9f4685d24304
CRs-Fixed: 2027588
In “Change-Id: I3638b576b76c26181cb180d8b37e195ba3b0ecad”
replaced dynamic allocation of p_mac to used memory from
.bss segment, So do not free p_mac.
Change-Id: I2aab77871b8b96de65d7732a001934586df635d0
CRs-Fixed: 2026241
Size of global context handler p_mac is too big to allocate memory
and more possibility of failing memory allocation of this big size.
So use mac global context from .bss segment by using global static
variable.
Change-Id: I3638b576b76c26181cb180d8b37e195ba3b0ecad
CRs-Fixed: 2011049
qcacld-2.0 to qcacld-3.0 propagation
When the DUT connects to an AP whose BI is short, for
example 25ms. Per the fw scan schedule mechanism, the
TBTT scan has high priority. Then the scan issued by
host will be timeout.
To mitigate this issue, enable the burst scan feature
by setting the burst scan duration.
Change-Id: Id28e9d1ec242c205481fb3b7242134b0dae78834
CRs-Fixed: 1109279
Add INI params for 11AX HE OBSS_PD. Update code to set
these params on BSS start on station connection and SAP start.
Change-Id: I60ae2cae936558668dfb1059744a6e3891aaebd1
CRs-fixed: 2045431
Propagation from cld3.0-1.1 to cld3.0-2.0
Firmware sends a value of 0x127 or -1 to represent
an invalid SNR to the host. Handle it in the host
for both the values
Change-Id: I374c626566cd5b7d67aaca43167f9fe4bd4b85a2
CRs-Fixed: 1105132
gHwFilterMode was mistakenly defaulted to 0. Change the default value
for gHwFilterMode to 1, to match the previous non-arp-bcast-filter
semantics.
Change-Id: I2b22c253fae52ef500290dea63699633da82fd06
CRs-Fixed: 2044102
Add a 'gHwFilterMode' ini item to control the DTIM mode hardware
filter. This ini item supersedes 'g_enable_non_arp_bc_hw_filter.'
# disable feature (default)
gHwFilterMode=0
# drop all broadcast frames, except ARP
gHwFilterMode=1
# drop all multicast frames, except ICMPv6
gHwFilterMode=2
# drop all broadcast and multicast frames, except ARP and ICMPv6
gHwFilterMode=3
Change-Id: I6bc8ac7585ffd0a62ab1c57558a798df9b63f2ce
CRs-Fixed: 2040420
Record ol rx indication events in a global ol rx indication record
buffer to have history of msdus received, no. of buffers replenished,
etc. in rx indication messages.
Change-Id: I96cf27a209c81208c6f6566b5e57116b2cf233e8
CRs-Fixed: 2012485
Remove unused concurrency ini parameters used to
configure number of channels combined for each split
scan operation.
Change-Id: I913b6e769f282a0f5a0ddb40e54d294ae07deb55
CRs-Fixed: 2013444
Change iface is trying to open session before
closing the previous session when ACS is in progress.
This is causing assert in firmware due to duplicate
vdev with same mac address.
Send failure response to userspace when ACS is in
progress.
Change-Id: Ib49931c60935723c503b60334b7f299caf98f5b0
CRs-Fixed: 2030851
Freed scan list is accessed in CSR.
Don't free the memory when the scan list contains
zero entries.
Change-Id: Ia3bd1193288781ea15a2eab2e0a0ffd24b4d03f7
CRs-Fixed: 2052399
Handle error case if DATA2/DATA3 htt service connection
with fw fails.
DATA2/DATA3 connect service is done after FW ready indication.
Hence it's safe to handle the error scenarios.
Change-Id: If6f07f3c29cbc5f1486231a7897d1223ad1c24bb
CRs-Fixed: 2034843
When IBSS peer is deleted, host send peer delete to firmware
and continue with delete in host. In this case we may hit the
situation that peer is not deleted in firmware and host tries to
add the peer again.
To fix this wait for peer delete resp before proceeding with host
cleanup
Change-Id: I500e4c4a840156295aa00125643f87e23b5168b8
CRs-Fixed: 2047244
When connected to a certain Vendor AP that cannot handle SMPS frame, only
connect in 1x1.
Change-Id: Ieae25191df8340a582e81dc716b9a1aee6a71921
CRs-Fixed: 2047347
For a certain Vendor OUI this ini param allows STA connection in 1x1
only. This is needed to resolve IOT issue.
Change-Id: If4ff4ece3c4bd1c4b85ebfd5c4870b27efbbe475
CRs-Fixed: 2047347
Peers have to be deleted to avoid leaking for STA and P2P client modes
during SSR.
Change-Id: I4ac88cc64f4ff36e0441f92affee6fdb674e3a6e
CRs-fixed: 2021415
qcacld-2.0 to qcacld-3.0 propagation
Currently data tx is suspended and later checked for preauth
in limProcessChannelSwitchTimeout. This can result in a condition
that data tx to be always in suspend case if roaming triggers at
the same time.
Fix is to add a check for preauth during channel switch.
Change-Id: I0ac3d63a5db000beed7de34b13e5926c7dc3ce48
CRs-Fixed: 2035031
qcacld-2.0 to qcacld-3.0 propagation
Currently dot11mode is not updated properly for roamable AP. This can
result in incorrect data rates. Update dot11mode to fix this.
Change-Id: I644f685fc2c0e041b308017ed3206d56c9c57fe9
CRs-Fixed: 2053478
If peer is not ht/vht capable and if OFDM rates are not supported
by peer then set the peer type as 11B to configure the correct peer
phy mode to FW.
Change-Id: I3115541a6fb51c78bf29a6473460dfb17bf9be51
CRs-Fixed: 2053227
Function wma_mgmt_rx_process will drop packets when recovery is in
progress and when load/unload is in progress. During these events
if host receieves a lot of packets it might lead to WD bite. To fix
this reduce log level of "Recovery in progress" and "Load/Unload in
progress" in this function.
Change-Id: Ic926e23fe14dd3f670dd9269519866095d51539a
CRs-Fixed: 2049811
Add changes to drop assoc request and return error if RSNIE or
WPAIE parsing fail during parsing of assoc request.
CRs-Fixed: 2046578
Change-Id: I88d779399c2eba5d33c30144bf9600a1f3a00b77
If SU beamformee is not set in assoc req when AP is not SU beamformer
low throughput is seen with specific AP.
To fix this, always set SU bformee capability in assoc request
depending on ini value.
Change-Id: If1279cf10b45d9e8900dc2eb5021a4603537aaee
CRs-Fixed: 2050951
Remove the check for recovery in progress in wma_fill_hold_req
and wma_fill_vdev_req.
Currently Re-initialization of the SAP after SSR happens with
the recovery_in_progress flag set, so in wma_fill_hold_req and
wma_fill_vdev_req APIs we need to remove the check for this flag.
Change-Id: Id6c875936a9f0dddeacc89c24203eaa3c7f72d67
CRs-Fixed: 2047286
During SSR the hold req is not removed from queue and if HDD is
waiting for the response from WMA/FW, the HDD may timeout and due
to this shutdown ack is not sent to modem which results in modem
crash.
To avoid this, remove hold req from queue during ssr and call
their calback when SSR is in progress.
Change-Id: I462726c524cb15ff9aa88b051467f038ab1f4e67
CRs-Fixed: 2038200
In case of join failure during auth and assoc phase scenario
join response is sent to umac before peer delete response is
received from firmware.
Defer the join response till the peer delete response
is received from firmware.
Change-Id: I380b969d76f4b86508c0523bf7879d8504a5f207
CRs-Fixed: 2036890
In failure scenario join response sent to umac before
peer delete response is received from firmware.
Defer the join response till the peer delete response
is received from firmware.
Change-Id: Icac97e0ed0e374bdd7f7d50e357af8f88b519f4d
CRs-Fixed: 2030841
As part of join request failure scenario, lim sets
the link state to eSIR_LINK_DOWN_STATE and WMA sends
vdev stop to firmware but firmware also expects
vdev down.
Added vdev down message handling in vdev stop
response handler and generation of WMA set link
response also moved to moved vdev response handler.
Change-Id: Ib5229c43677c36c1abc51a53f5ab44a666d0ab4d
CRs-Fixed: 1088356
Since AVOID_FREQUENCIES event might be needed even when
FEATURE_WLAN_CH_AVOID is disabled,
always enable QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_INDEX in the
cfg80211 event list.
Also function wlan_hdd_send_avoid_freq_event() which is used to send
AVOID_FREQUENCIES event to user-space is always compiled in.
Change-Id: Ied011c309b38fa43e847eb125728e681df4ceca4
CRs-Fixed: 2045120
Use CDP API to configure the interrupt in cds open / close.
CDP API is mainly introduced to call detach interrupt before HTC
stop in cds close routine. This avoids race condition on interrupt
trigger.
Change-Id: Ib9a8e4014ad0bb5e3d1a691121c1069faa8c91e8
CRs-fixed: 2046062
In HDD STA_ID is being incorrectly used. This change fixes
following two issues:
1) 0 is treated as invalid STA_ID.
2) In hdd_get_transmit_sta_id function, value of INVALID
STA_ID is used as indication for MC/BC packet. This should
rather be a check against status returned from get_sta_id API.
Change-Id: I1710a73b8698c0fd4c537af35f947293c9ab623d
CRs-Fixed: 2039010
In hdd_wlan_start_modules() failures after cds_pre_enable are not handled
properly, this leads to freed data structures access during next module
start because driver state is still set to opened state. Add fix to
properly handle failures after cds_pre_enable by 1st doing cds_post_disable
such that FW is PDEV suspended, SoC is reset, ce tasklets are killed and
interrupts are disabled before calling cds_close() because cds_close()
frees host posted buffers to FW and if FW is not PDEV suspended and host
frees posted buffers this can lead to SNOC errors and unknown HLOS memory
corruptions. Also change the driver state to closed state before doing
cds_close such that when next hdd_wlan_start_modules() comes then driver
gets re-opened and re-enabled properly.
Change-Id: I5abfa3c782480d130d7fd3f9087f7a071e4a3f70
CRs-Fixed: 2007845
Add PMO changes to configure and clear default packet filters
over suspend and resume.
Change-Id: Icd0acdbb58bebb5726a4213b13db59fe083835a5
CRs-Fixed: 2034398
Modify the legacy LRO implementation which is in HDD to
use the implementation in QDF instead. This is to avoid
code duplication and to unify the LRO implementations for
Napier and Helium.
Change-Id: Ie9d3bb6d3dcda5a7d1d5fda6e7cbdef92be30461
CRs-Fixed: 2042812
In hdd_wma_send_fastreassoc_cmd function we are directly invoking UMAC
messaging rather than calling an SME API. Implement SME API that can be
called from hdd_wma_send_fastreassoc_cmd and take care of messaging.
Change-Id: I2924da44e6b5e31e741a8816cf7afea293225219
CRs-Fixed: 2050646
If wlan is unloading when iperf is running, iperf
will call wmm select and check whether it's in
loading/unloading status, if yes, it will send the
following log to user space via wlan logging thread:
'Unloading/Loading in Progress. Ignore!!!';
These logs are printed too frequently, which will
cause watchdog bark.
To fix this issue, remove the log in:
wlan_hdd_validate_context();
Propagated from cld2.0.
Change-Id: I4130ae9bc4693f5b8dd37a2af5f95e90800303cd
CRs-Fixed: 2034385
Invalid ipa suspend pipe indication is going to firmware
due to invalid handling of sap_num_connected_sta counter.
Prevent invalid ipa suspend indication to fw when ipa
pipes are down.
Propagation from qcacld-2.0 to qcacld-3.0.
Change-Id: Id7ac76bedc20aac39199e14b7042cfb58ba255fe
CRs-Fixed: 1036471
Rssi value is set to zero in mgmt frame ind
sent to sme via lim_send_sme_mgmt_frame_ind
in few cases.
Fix is to send rx rssi normalized value.
Change-Id: Ie8731dc2968fdfe4503266039f4753405db1b8ce
CRs-Fixed: 2032629
Update uevent status to hdd, based on the uevent received
from the platform driver
Change-Id: I1ac0fa61efa8b7f4f9d5e4e6abfcf969dbc1c592
CRs-fixed: 2027958
Platform driver icnss can provide uevent notification like FW
ready & FW crashed. Register the call back for notification and
update driver state for FW crashed indication so that driver
doesn't have to wait for shutdown call back to know FW crashed.
CRs-fixed: 2004309
Change-Id: I48afe8e023107aba8362324e3adabf6d50996b67
When NDI create and delete are repeated multiple times NDI create
crash second times due to MC thread getting stuck in infinite loop
within function csr_scan_append_bss_description. This function is
not applicable for NDI profile type. This patch fixes this by avoiding
csr_scan_append_bss_description for NDI mode.
Change-Id: If63068e214fa546f1ed015a99ed5b2f95298b39b
CRs-Fixed: 2044704
Expose the new QDF timer multiplier APIs via a new ini configuration
item, gTimerMultiplier.
Change-Id: I76f86f1488f4335dc7f1f128e1469f3f4cf32645
CRs-Fixed: 2049308
There were several suggested improvements to the previous WoW event
handler refactoring. Address these recommendations in this follow-up
commit.
Change-Id: Id7a67f63c681bda8453b46451388a168d268bc0c
CRs-Fixed: 2040961
It will clean session id at then end of cfg80211 stop ap and won't set
flag SME_SESSION_OPENED after sap session started, which case session
for P2P GO can't be closed properly.
Change-Id: I0c6f21f3616ededd9e827b3eac9cbbe2c26bc60c
CRs-Fixed: 2050994
Fix memory leaks in csr_save_profile by freeing all buffers within
saved cmd allocated within this function.
Change-Id: Ie06c91b145165df21992829883be11932871550d
CRs-Fixed: 1116619
Propagation from qcacld-2.0 to qcacld-3.0
Currently even for non local ARP requests wake lock is getting
acquired which is preventing the system suspend which is a power
penalty. Do not acquire wake lock for the non local ARP requests.
Change-Id: I5fcd0cf0edc5c28a4662ae49a33cc55a77f3d3e4
CRs-Fixed: 1088974
Fix csr_is_auth_type11r to return correct value for open security
when MDIE is not present in beacon or probe response.
Change-Id: Idad01f9f708776f40514cac81d6c007eb6e53a00
CRs-Fixed: 2035374
Logging thread creates the bug report spinlock initially.
ifconfig thread tries to create the same spinlock
again, this leads to change in spinlock magic.
Create and Destroy the same lock on insmod/rmmod only.
CRs-Fixed: 2033886
Change-Id: Iea2fe4f9bd47b0d7f4ad1a176a361bac242b9d4d
In Vdev start response if due to some reason host fails it doesnt
send vdev stop to firmware to mark vdev as inactive. Due to this
when delete vdev is received by firmware it crashes.
To fix this send VDEV STOP to firmware if vdev start response fails
in host.
Change-Id: I170265069d7e92b091397a63972575bfe7c9ef6d
CRs-Fixed: 2038379
Caller pass an allocated memory to u_mac_post_ctrl_msg, but memory
is again allocated in u_mac_post_ctrl_msg before passing it to message
queue.
This change remove this duplicate mem allocation and use the memory
passed by the caller.
Change-Id: I4d329c5883832bb6571d1e81f0d9b9a044ebb6d9
CRs-Fixed: 2050449
If QCA_WIFI_3_0_EMU DS params is set for all channels.
To fix set DS params only in 2.4 Ghz channels.
Change-Id: I859b56080f55428c27aacf3fea25223c8931c960
CRs-Fixed: 2045226
Currently, function variables in csr_send_join_req_msg and
csr_roam_connect uses stack and are consuming much of the stack
eventually reaching the stack end quickly.
To avoid stack consumption issue, mem alloc function variables
instead of using stack.
Change-Id: If6fecb7f7ca9a31fdda2ea12d40a110e6c238508
CRs-Fixed: 2045315
During wlan disconnect, after sending del bss indication to firmware,
host expects vdev stats indication from firmware to update rssi
value of current disconnect AP and to return same to upper-layer if
getRSSI is received after disconnect. But presently, due to invalid
condition check, Host failing update rssi value.
If VDEV is up and BSSID is zero, get RSSI from vdev stats indication
and update the same in HDD. So that driver can return valid rssi to
upper-layer, on receiving getRSSI indication after disconnect.
Change-Id: I0554e513535bc033ea3bfe5021b5f8ddc108ffbe
CRs-Fixed: 2047842
Add support of sending fw_log_mode to WLAN FW for QCA6290. WLAN FW
will decide whether to push its debug log through DIAG or not based
on this value.
CRs-Fixed: 2046631
Change-Id: I6c4ec8dbd65f8fc034381770bdef7e145b1d2b6a
1. Remove unused variable of type ol_txrx_stats_req
passed through cdp_txrx_stats api to avoid
compilation break.
2. Add dp_stats file to the Kbuild. This file is
used to collect HTT Statistics for Lithium based
chipsets.
Change-Id: I0252c996d47cc866291d25f35eb9bb9e19073a8b
CRs-Fixed: 2050798
Currently, the host driver blindly configures ARP/NS offloads and other
work when it receives an IP address change notification from the kernel.
Ensure the specificed adapter is still up before processing IP address
change notification changes from the kernel to prevent extra work and
invalid access.
Change-Id: I087b72a9ffd735a0482d1c4ff9ad62cb8beb036b
CRs-Fixed: 2049976
Currently, driver updates FW assoc IE's to be used for LFR3 roaming
and is not checking the supported max tx power before updating the
same to FW resulting in different max tx power values in reasssoc
and assoc requests.
For Power cap IE, check and set the max tx power properly if halphy
provided max tx power exceeds the supported value, while updating
the same to FW for LFR3 roaming.
Change-Id: Idec518245963a92da8ee2ba8c509c7248a298901
CRs-Fixed: 2042674
Currently, while sending RSO command, channel list is overwritten
with valid channel list from mac context even though it is already
properly updated from current channel list info (or) INI.
Avoid overwrite channel list in RSO command if it is already
updated properly.
Change-Id: Iee1875e378270530b29540b379d68b2b0fd7ac2d
CRs-Fixed: 2045067
After SSR, scan request is dropped at HDD if roaming_in_progress
flag is set. roaming_in_progress is set when host receives ROAM_START
from fw and reset when as part of ROAM_SYNCH_COMPLETE event. If SSR
happens between these two events, roaming_in_progress is not reset
which leads scan request drop in HDD after SSR.
Reset roaming_in_progress flag after SSR
Change-Id: I25516c288034a1de23ebc5417a4b5bb483216ebc
CRs-Fixed: 2035411
Peer sta kickout ind was received from fw nine times
which resulted in queuing nine scan commands as part
of csr_scan_request_lost_link1 without checking for
max allowed scans. The ninth scan cmd is not released
as fw did not send completion event resulting in
subsequent connect to fail.
Fix is to
1) check for max allowed scans before
queuing scan command.
2) check for lim sme state to avoid invoking tear
down link with ap multiple times on receiving
multiple peer sta kickout ind from fw.
3) don't invoke csr_scan_request_lost_link1 as part
of csr_roam_lost_link as supplicant will issue scan
after successful disconnection.
Change-Id: I850fd336fc73e4b2c2362dfd11db433b68ccd1fb
CRs-Fixed: 2031342
-If disconnection is in progress then don't process the
new disassoc frame.
-Limit the number of logs message related to disassoc
frame dropping.
Change-Id: Ia4d612ec67d4a6b80991a6e0e6393bc59ba76617
CRs-Fixed: 2035813
If AP changes its color code for 11AX mode then it will announce
through bss color change IE. Connected STA needs to honor that IE
and update its internal table.
Along with color change IE, he ops can also be changed by AP.
STA needs to honor that as well.
CRs-Fixed: 2039284
Change-Id: I4f6767d0a6a814f56448dc6d647e045c852e2750
Add support for handling BSS color collision and select new BSS
color. Update beacon template and set new BSS color to FW.
Change-Id: If441990916753bdcf4daaded031e16f0460a0e8f
CRs-Fixed: 2039284
Add new IEs related to 11ax. Following IEs are added as part of
this MU EDCA Parameter Set and BSS Color Change Announcement.
Change-Id: I5b31f026e3a9625a89bda027599493248fee760a
CRs-Fixed: 2039284
qdf_trace_set_value() is depreciated. Use
qdf_print_set_category_verbose() instead.
Change-Id: I37a2af5c0e08bfd8e8c6e0ce0e503889e6e0c782
CRs-Fixed: 2048109
Reduce the excessive failure logging of OL_TX_SEND. Make it as debug log
so that it will not hog the console. OL layer tx flow control stats will
catch the dropped packets.
Change-Id: I57feee9b4eeb7bf6c6c0c239c2a30041936fa758
CRs-Fixed: 2047953
Currently, for disable roam from supplicant, if STA is in
not connected state, driver wont send any commands to FW
as it is unnecessary. However, for this case, driver updates
fail status to supplicant.
Update success status for disable roam cmd when STA is in
not connected state.
Change-Id: I076d1b5389868b5d136e5adce730f6b3ec41e6f8
CRs-Fixed: 2042596
For MBO[Multi-Band Operations], supplicant configures driver to ignore
assocition disallowed even if assoc disallowed attribute is present
in MBO IE of target BSS. Currently driver is updating this config
in PE session and fails if PE session doesnot exist at the instance.
Save ignore_assoc_disallowed config to mac context and update the same
to PE session while creating it.
Change-Id: I0379c756f6150533723ba4306f9780e345c3f61f
CRs-Fixed: 2042550
Function sapconvert_to_csr_profile is allocating memory for
pRSNReqIE without checking if it is already populated. This
will leak memory if this function is getting called for sap
restart. Fix this by first freeing memory if already allocated.
Change-Id: I562b1dabb330057b4f1b934b0edad692330aab70
CRs-Fixed: 2046608
This is qcacld-2.0 to qcacld-3.0 propagation.
This patch adds ini support for WMI_VDEV_PARAM_DISCONNECT_TH
which represents number of dropped packets before FW sends out
kickout event for that peer to host.
Change-Id: I4c82bd1b5d1bc5d8265e3b0e5e58c82cdcab7f50
CRs-Fixed: 862686
Serialization is not required to deliver the set key request coming
from upper layer as well as set key response coming from lower layer.
Take the set key request coming through IOCTL thread, and directly
post the request to protocol layer. Similarly take the set key response
coming through worker thread, and post the request to protocol layer.
Change-Id: Idcd0047f6e323d982e3159f7ef376e6eeb201395
CRs-Fixed: 2046036
In PMF SAP case iface->rmfEnabled is not set and thus even
unprotected frames are received by driver and processed.
To fix this set iface->rmfEnabled while adding station.
Change-Id: I3cbe5d7d64ee0d38f64f9cf256ce338163edd302
CRs-Fixed: 2048364
WoW patterns are maintained in an internal cache that is not cleaned
when the WLAN module is unloaded. Free the WoW pattern cache as part
of the WLAN module unload.
Change-Id: I1ebd1876555d01551542f7029f53a72af6773dbc
CRs-Fixed: 2044774
When channel list changes dynamically; it needs to be
propagated to kernel and firmware. Do the propagation in
the callback registered by hdd.
Change-Id: I2c9fb92a9abf1c26a8c57ee8be65bd5556bb84a1
CRs-Fixed: 2012415
e_sme_command_set_hw_mode is always requested on session id 0 even
though it is supposed to go on different session id. This is due to
not updating session id when posting e_sme_command_set_hw_mode
command to SME.
Update session id in e_sme_command_set_hw_mode command.
CRs-Fixed: 2041453
Change-Id: I211f8b4cda3ef4ce216c1957eeea812e0eec5dc7
Check for NULL pointer before accessing the roc_ctx in function
"wlan_hdd_cancel_pending_roc".
Change-Id: Ic01f2776567f6fc7d9fc89523b78fc697fb625a8
CRs-Fixed: 2045861
In case the service ready extension event is not available from
firmware, the hal_reg_capabilities in psoc structure do not get filled
up. But pdev channel list depends on hal_reg_capabilities extension
having proper range values values for channels. Since MCL has only
single pdev, unconditionally fill up the values in psoc service ready
ext data structures..
Change-Id: Idb2c8525d5789078654c1cba8d841dea03841ae8
CRs-Fixed: 2048054
Firmware expects TDLS set state cmd before vdev stop, but
the cmd is going out of sequence during roaming and induce
crash in the system.
Send the TDLS set state cmd with correct sequence.
Change-Id: Ie106b8a8cebaa7f107c9eff67dda924b231162da
CRs-Fixed: 2045961
When client send AssocReq without any cipher suite IE to DUT's SAP
which has security configure, driver/hostapd will not reject/delete
this client, this client will associate but eapol process will not
happen, so this client tlSTAState will not change to
OL_TXRX_PEER_STATE_AUTH state, and it blocks DUT's STA scan because
cds_is_connection_in_progress check this state.
This change is to reject it from driver when AssocReq without any
cipher suite IE received from DUT's SAP which has security configure.
Change-Id: Ia9a3b0791ac36c3ee6d48cf6df97f47a3752bd16
CRs-Fixed: 2033663
Since firmware has already asserted, VDEV deletion will timeout
finally which will result VDEV release failure in host driver.
Bypass it in SSR shutdown routine.
Change-Id: Ib9a4b8a4d49edf8178a1da8201f8a7c6931f487f
For module start/stop and SSR cases, pdev is reused so it needs to be
restored to MAC/WMA contexts again.
Change-Id: Ifce95437d2c32a71c9376164f821f4e27df38409
CRs-fixed: 2021415
Firmware expects TDLS set state cmd before vdev stop, but
the cmd is going out of sequence and induce crash in the
system.
Send the TDLS set state cmd with correct sequence
Change-Id: I5be19d8d44f86b60eed162ee3798f34e87892b15
CRs-Fixed: 2042194
Currently, Host serialize get link speed command through
MC thread which is truly not required.Hence removing
serialization for get link speed cmd.
Change-Id: Ia2895394025056d4957856bb9bde0350b55d25ca
CRs-Fixed: 2042492
In station role, peer idx pool's index 1 is reserved for BSS.
for TDLS the index should start from 2.
Thus for station role if number of supported peer is n, the peer
idx pool size should be n + 2
Thus set peer idx pool size to n + 2 if TDLS is enabled.
Change-Id: Ie1afb16bb4a7fb914142d27080dfa257bc9ffeac
CRs-Fixed: 2044524
Assoc IE length sent in ROAM START cmd to firmware is cumulative len
of all the IEs passed to firmware. Update in Ext Cap was causing this
length value to be wrong. Update the Ext Cap IE length correctly when
updating Assoc IE length.
Change-Id: I3c4acf507d533896993a51c443407ecac290628a
CRs-Fixed: 2026407
Do not disable Roaming if multiple STA are active, individual STA
session are controlled by adapter->fast_roaming_allowed.
Change-Id: Ic979f4addd3b9e4f940291817c9a797302e3ac66
CRs-Fixed: 1104238
A new external acs configuration parameter acs_policy.
This parameter indicates the external ACS module whether
its mandatory or preferrable to select a channel
from the preferred channel list provided by the
driver
Change-Id: I80925109349c68c95f25ba27d87bd68964c4eb04
CRs-Fixed: 2037034
Do not typecast the physical address passed to hash list to
32 bits. The physical address maybe greater than 32 bits which
will lead to a mismatch during look-up.
Change-Id: I095e1e63c59da74bc8a2507273e7c6487d0b19e7
CRs-Fixed: 2044161