qcacld-2.0 to qcacld-3.0 propagation
Host should trigger bug report if HDD has zero scan results
to report to cfg80211 layer.
Add changes to trigger bug report if HDD has zero scan
results.
Change-Id: Ibac7fc5abfc860fc8759fe2cd029d19e2d6662a9
CRs-Fixed: 992733
When GETIBSSPEERINFOALL command is used to print IBSS peer info,
both creator and peer info are displayed.
Fix is to decrease the loop iteration by one so that creator
info is not displayed.
Change-Id: I1cc467d6fd4b3b29f86f01aa111235f04ddaef42
CRs-Fixed: 1061472
qcacld-2.0 to qcacld-3.0 propagation
If ll stats provided by FW has more than one peer then
Driver is allocating memory for all the peers but copying stats
for only first peer before sending it to upper layer.
Fix the issue to copy stats for all the peers.
Change-Id: I91b14377acfed6ccdde4315c4796ef1adbfd18c3
CRs-Fixed: 1018539
qcacld-2.0 to qcacld-3.0 propagation
There are some Access points that have not included the
capability field in the RSN ie's though the length for the
RSN ie's indicate for the presence of this field. This shall
result in the next byte after this RSN ie as the capability
field, thus resulting in the improper interpretation of this
field, the end result being a failure to connect to such AP's.
This commit introduces a work around to interop with such AP's
by appending the capability field with 0 value to the obtained ie.
It updates MPDU length of received RxPacket based on addition of
RSN Capability if it is missing in Probe response.
Change-Id: Ic599c8bdb19e368fefb13293499451e7ab38d517
CRs-Fixed: 667983
qcacld-2.0 to qcacld-3.0 propagation
Currently, sizeof(tAniHdr) is not added to payload length in
messages in wlan_send_sock_msg_to_app, ptt_sock_send_msg_to_app.
These missing lengths can cause user space
to drop these messages. Fix this by adding appropriate lengths.
Change-Id: I2609029445110e661440a7fc55f36801e4f72afc
CRs-Fixed: 985614
qcacld-2.0 to qcacld-3.0 propagation
In limInitPeerIdxpool, driver initializes gLimAssocStaLimit/
gLimIbssStaLimit entries of peer index pool. But there is a chance
of allocating less memory for peer index pool in peCreateSession
which can overwrite adjacent memory locations as maxStation can be
different from gLimAssocStaLimit/gLimIbssStaLimit. Fix this by
initializing maxStation entries.
Change-Id: I915e67fe7a15ebe622273af971d8a88ad78585cf
CRs-Fixed: 1025378
qcacld-2.0 to qcacld-3.0 propagation
Currently pmfComebackTimer is not initialized during roaming. This
can lead to error in pe_delete_session when driver tries to destroy
pmfComebackTimer. Fix this by initializing pmfComebackTimer during
roaming. Also, handle status eSIR_MAC_TRY_AGAIN_LATER as failure
during roaming.
Change-Id: Ic9c4e996c4078d09ef7cd9b3b073105d94eb53fb
CRs-Fixed: 1037640
qcacld-2.0 to qcacld-3.0 propagation
use_protection in erp IE was not reset after legacy AP goes away
which was leading to reduced throughput issue.
Fix is to reset protection bit and update the FW once legacy AP
goes away.
Git-commit: c7218f04e83907f1bba51131adf448360076d1d4
Change-Id: I4138434477e1de432b9547ce1aec4968a559188f
CRs-Fixed: 1006601
qcacld-2.0 to qcacld-3.0 propagation
Client connectivity with SAP fails after Association due to DHCP Timeout.
This happens as iwpriv command is issued to change the SSID type to hidden,
As part of this command VDEV STOP->VDEV RESTART->VDEV UP are issued to
firmware. DHCP frames are stuck in the driver queues as queues are paused
as part of VDEV restart sequence done for hidden SSID. VDEV unpause is not
done after VDEV up which leads to this issue. This fix unpauses the data
queue after the SSID configuration is done. Also, recalibration of Hidden
SSID setting is avoided if the required setting(broadcast/hidden SSID) is
already configured
Git-commit: a14bb2ab3423674c2b6a1a67f7a33232816af7f7
Change-Id: Ic31fc5c7fc8ea7d47358cf701e51fa830eefd2ab
CRs-Fixed: 990208
qcacld-2.0 to qcacld-3.0 propagation
User can configure the vendor IE and access policy from
application. Driver has to parse this vendor attribute and
update the protocol stack.
Change-Id: I176570336aea74b10c5a7e6ad42ed9854dc11b8c
CRs-Fixed: 1020078
qcacld-2.0 to qcacld-3.0 propagation
User configures vendor IE and access policy to allow or deny
association. PE should allow or deny connection based on access
policy and presence of vendor ie in probe request/association
irequest frame.
Change-Id: Ia2714ba07a67602e552a6f43928f02de0d4d0b9b
CRs-Fixed: 1020078
qcacld-2.0 to qcacld-3.0 propagation
During roaming the connected AP's operating channel is used instead of
preauth channel to fetch the band, based on which the data rate is set.
Due to this incorect data rate is set.
To address this, use the preauth channel during roaming to fetch the band
and set the data rate accordingly.
CRs-Fixed: 1017943
Change-Id: Ia3bf13c1a93a156eba8461bcdcf3490b9f49c2a2
qcacld-2.0 to qcacld-3.0 propagation
Currently, On sending disassoc from HDD lim will process
disassoc and clear's session of station and thus leading to
drop deauth in lim since context is already cleared. Hence
deauth frame is not sent from SoftAP although deauth command
is executed on hostapd_cli.
Fix will ensure to send disassoc command through new API
and doesn't clear's session and the same is cleared after
sending deauth.
Change-Id: I912a91f1df4001bb2d4f1f0d6031cc102d1bbd65
CRs-Fixed: 981121
qcacld-2.0 to qcacld-3.0 propagation
use the same reason code in the disassoc, which the upper
layer has passed to the driver
Change-Id: I6302a5c8318a8e3c1221b9272637455da4e7f150
CRs-Fixed: 852387
Propagation from qcacld-2.0 to qcacld-3.0.
Add sanity check based on TLV len in addition to the check
based on TLV tag id to ensure that if fw does not support or
is not sending rssi stats then HOST does not process it at all.
Change-Id: I92b197f9578aa003bf622617c363fea7334dbcb2
CRs-Fixed: 1023179
Propagation from qcacld-2.0 to qcalcd-3.0.
Add support to get per chain rssi from fw via
already existing WMI command WMI_REQUEST_STATS_CMDID
and then store it in the station_info structure defined
by cfg80211.
Change-Id: Id50c96dd322b5ca4db34cf2df901730d8b103251
CRs-Fixed: 1005367
qcacld-2.0 to qcacld-3.0 propagation.
Validate ssid length before accessing the ssid
if the length exceeds max ssid length then return.
Change-Id: I6902a8a3edf6547cf30d37fe5e435ad4f226ac46
CRs-Fixed: 1059205
qcacld-2.0 to qcacld-3.0 propagation
Validate cfg_ini before dereferencing the ini
parameter gEnableRoamDelayStats.
Change-Id: I0b2b78f8838cb1c46c60669b8f327ac18e863e80
CRs-Fixed: 1059205
There's mistake that pld_power_off calls pld_pcie_power_on. Fix
this by calling the correct pcie power function.
Change-Id: I9e968d749479856510e0dd7f32f5babc57b6ebed
CRs-Fixed: 1064058
The CDS config flag bpf_packet_filter_enable is not being populated.
Populate bpf_packet_filter_enable with the corresponding value from
the ini config.
Change-Id: Ia13386e74d43d7a5cad55e4c77f5eb8bcdc9f43b
CRs-Fixed: 1067041
The WLAN_FEATURE_MBSSID conditional compilation flag is no longer
needed since MBSSID is a required feature. Remove this flag and
any alternate code referenced in the conditional compilation blocks.
Phase 3 covers wlan_hdd_hostapd.c, with other *.c files to follow in
future changes.
Change-Id: I740344af895edadbc30cb8a3d8aea2909d9661cb
CRs-Fixed: 1066509
The WLAN_FEATURE_MBSSID conditional compilation flag is no longer
needed since MBSSID is a required feature. Remove this flag and
any alternate code referenced in the conditional compilation blocks.
Phase 2 covers wlan_hdd_cfg80211.c, with other *.c files to follow
in future changes.
Change-Id: Id7171529eaeefe652085bd1ed6377e3cde050694
CRs-Fixed: 1066411
The WLAN_FEATURE_MBSSID conditional compilation flag is no longer
needed since MBSSID is a required feature. Remove this flag and
any alternate code referenced in the conditional compilation blocks.
Phase 1 covers wlan_hdd_p2p.c, with other *.c files to follow in
future changes.
Change-Id: I7c68b0af7181cdabc324d94464ae6ceb8edd66df
CRs-Fixed: 1065945
1) Do not dereference mac_ctx for logging when mac_ctx itself is NULL
2) Use standard logging mechanism such as the QDF infrastructure for
logging purpose
Change-Id: Iedb4b5d20fd7aa85ff1b98e5fab4edb9de51f7b2
CRs-Fixed: 1065301
Once WMA context is retrieved, check if it has NULL value
before dereferencing it
Change-Id: I9896204933deb0588bca51e006e1477d5ed6c03e
CRs-Fixed: 1065301
Some HDD suspend/resume logging messages are vague or include redundant
status codes. Update these messages to reflect what actually happened and
remove redundant status codes.
Change-Id: I5c4a481a8fbbdebe88f2ecffffb1f2189922da4f
CRs-Fixed: 1062544
PM suspend and FW interrupt handler is running at same time
which is leading to multiple race conditions and host is missing
FW wake up interrupt which is causing APPS not waking up reliably.
Define .suspend_noirq and .resume_noirq callbacks and make
sure there is no pending FW interrupt before allowing PM
suspend to complete. Kernel PM suspend framework gives guarantee
that suspend_noirq and device interrupt handler can't run
simultaneously. This helps WLAN driver to reliably detect FW
wake up interrupt during PM suspend and fail PM suspend gracefully
if FW has requested for initial wake up.
Change-Id: Ic82d7dd6b6b743dd3f55b036e012ad0c8bebd50d
CRs-Fixed: 1060748
Register suspend_noirq/resume_noirq callbacks to kernel. It will
make sure no wake up is pending from FW and if initial wake up is
received then failing it should trigger resume.
Change-Id: Ie553dfc1401c2c6934961773bc98a24626a9cd34
CRs-Fixed: 1060669
Remove freeing of msg from helper function lim_delete_sta_util, since
caller of that will free the msg buffer at the end of function.
Change-Id: I2e0ee43dda9d5e30e86c4033eba934e4d7938887
CRs-Fixed: 1066025
Currently cfg.ini supports the following configuration items:
gRrmOperChanMax
gRrmNonOperChanMax
However these configuration items are no longer in use, so remove
them.
Change-Id: Ib6f1ea0b86d97132ebf58b09ad1699efc96e592f
CRs-Fixed: 1060775
Previously change "qcacld-3.0: Fix max dwell time for passive scan
beacon report" (Change-Id: Idc0b4f15f2b7464507aacfaefb99e1ba48ad1eca)
modified the default value of the "rm_capability" INI item, but it
also included other changes which incorrectly utilized the obsolete
gRrmOperChanMax & gRrmNonOperChanMax INI items. Since those INI items
are going to be removed from the code, the original implementation of
"qcacld-3.0: Fix max dwell time for passive scan beacon report" was
reverted. To correctly solve the original problem, bring forward the
change to update CFG_RM_CAPABILITY_DEFAULT.
Change-Id: I7a473a5babf7a7b32a633ea1fe6373574457dcb3
CRs-Fixed: 1060775
This reverts Change-Id Idc0b4f15f2b7464507aacfaefb99e1ba48ad1eca.
"qcacld-3.0: Fix max dwell time for passive scan beacon report"
introduced a change to allow some of the RRM parameters to be
controlled by the existing gRrmOperChanMax & gRrmNonOperChanMax INI
items. However those INI items are obsolete, having been replaced
with rm_capability. So revert the change, and a subsequent change
will update the default value of rm_capability to correctly solve the
original issue.
Change-Id: Ie67f9f95ea6832a5aec706a8ec0a42ee49b4844c
CRs-Fixed: 1060775
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entry:
gDataInactivityTimeout=200
The associated default value within the driver is:
#define CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT (20)
These are obviously divergent and should be converged.
Note that this flag is used to change the value of the MAC CFG item
WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, and this currently has the
following default value:
#define WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT_STADEF 20
Since all recent testing has used the default WCNSS_qcom_cfg.ini,
converge on the value defined there, 200, in all locations.
Change-Id: I7895911708d5d17f73971254865da2cc177a3c5a
CRs-Fixed: 1063037
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entry:
ImplicitQosIsEnabled=0
The associated default value within the driver is:
#define CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT (1)
These are obviously divergent and should be converged.
Note that this flag was added in a prior generation of the driver
during WMM-AC certification testing since some test cases would fail
when Implicit QoS was enabled. It is expected that all customers are
disabling this feature, and hence this feature should be disabled by
default within the driver itself.
Change-Id: If611b2b491b81b46c3254146ebd734dc244ffde5
CRs-Fixed: 1062978
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entries:
Intf0MacAddress=000AF58989FF
Intf1MacAddress=000AF58989FE
Intf2MacAddress=000AF58989FD
Intf3MacAddress=000AF58989FC
The associated default values within the driver are:
#define CFG_INTF0_MAC_ADDR_DEFAULT "000AF5898980"
#define CFG_INTF1_MAC_ADDR_DEFAULT "000AF5898981"
#define CFG_INTF2_MAC_ADDR_DEFAULT "000AF5898982"
#define CFG_INTF3_MAC_ADDR_DEFAULT "000AF5898983"
These are obviously divergent and should be converged.
Elsewhere in the driver, in hdd_update_tgt_cfg(), is logic to
auto-generate MAC addresses if no addresses have been configured.
This logic currently checking:
static struct qdf_mac_addr default_mac_addr = {
{0x00, 0x0A, 0xF5, 0x89, 0x89, 0xFF}
};
Since this logic is aligned with the values present in the default
version of WCNSS_qcom_cfg.ini, update the CFG_INTF*_MAC_ADDR_DEFAULT
definitions to match.
Change-Id: Ic34bc67cffad44b4d61cdfeb06776d0e3a63889f
CRs-Fixed: 1062967
Currently cfg.ini supports an "isAndroidPsEn" configuration item.
However this item is no longer in use, so remove the obsolete support
for this item.
Change-Id: I632513b5e6365a658bb02e0a47a40de94b04856c
CRs-Fixed: 1060747
Currently cfg.ini supports the following configuration items:
beaconEarlyTerminationWakeInterval
enableBeaconEarlyTermination
However neither of these is actually used by the driver, so remove the
obsolete support for these configuration items.
Change-Id: I41caec6697c0ff37efcf7db5dd7ab27ff2cdee95
CRs-Fixed: 1060657
Currently cfg.ini supports a "gFlexConnectPowerFactor"
configuration item, and this is used to override the
WNI_CFG_FLEX_CONNECT_POWER_FACTOR entry in the MAC CFG database.
However this MAC CFG database entry is no longer in use, so remove
the obsolete support for this configuration item.
Change-Id: I660a18a2663ca7ce29ca2c8bacf4a869de684ffb
CRs-Fixed: 1060643
Currently cfg.ini supports a "gEnablePhyAgcListenMode"
configuration item, and this is used to override the
WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE entry in the MAC CFG
database. However this MAC CFG database entry is no longer in
use, so remove the obsolete support for this configuration item.
Change-Id: I24a0dcf3d834ec794d88d16ca092ee25084183ce
CRs-Fixed: 1060636
Currently cfg.ini supports a "gNumRxAnt" configuration item, and this
is used to override the WNI_CFG_CURRENT_RX_ANTENNA entry in the MAC
CFG database. However this MAC CFG database entry is no longer in
use, so remove the obsolete support for this configuration item.
Change-Id: I8a8f7ca382262edee187013425fd41598783342c
CRs-Fixed: 1060626
Currently cfg.ini supports a "gEnableAutomaticTxPowerControl"
configuration item, and this is used to override the
WNI_CFG_TX_PWR_CTRL_ENABLE entry in the MAC CFG database. However
this MAC CFG database entry is no longer in use, so remove the
obsolete support for this configuration item.
Change-Id: I8ca653bc75c18692519ff1d88f52441e7f0375f5
CRs-Fixed: 1060597
Currently cfg.ini supports a "gEnableCloseLoop" configuration item,
and this is used to override the WNI_CFG_ENABLE_CLOSE_LOOP entry in
the MAC CFG database. However this MAC CFG database entry is no
longer in use, so remove the obsolete support for this configuration
item.
Change-Id: Ic8b7f4f522e910476273dd428bbb471a19cbe79f
CRs-Fixed: 1060579
Interrupt handlers do not have valid process context and hence
current pointer is not valid for software/hardware interrupt
handlers. In WLAN log to user space API current process name is
logged using current->comm but hardware/software interrupts do not
have corresponding current pointer because they use current pointer
of interrupted process. Make changes to not to log process name when
log message is generated from hardware/software interrupt handlers.
Change-Id: I42420c501f9e7161112c5210909f83755ba4813e
CRs-Fixed: 1065898
In softap case DEVICE_IFACE_OPENED flag is not set/cleared when the
interface is opened/stopped(hdd_hostapd_open/hdd_hostapd_stop).
During the STA+SAP concurrency when the STA is turned
off, during the interface down it check's if any interfaces are opened,
if no interfaces are opened it starts the timer to close the modules.
Since the interface opened flag is not set for softap case the timer
is getting kickstarted and resulting in closing the modules even when
the SOFTAP is running.
To migitate the issue, set/clear the DEVICE_IFACE_OPENED in the adapter
even for SOFTAP.
Change-Id: I9e3f1391d92473d8a189d9fee6523ec3a7554c96
CRs-Fixed: 1065130
When FW wakes up APPS processor from power collapse it sends 120
bytes of payload piggy backed to wake up event handler. There are
some types of frames for which packet stats is not maintained.
Clean up log messages in WMA such that error message is not logged
to console.
Change-Id: I31d032874e5c9b8773a4e8d5067923c1dd20e23a
CRs-Fixed: 1065309
Send vendor specific TPC report IE as part of scan request IE to firmware.
This IE will then be included in probe request sent by firmware for scan.
Change-Id: I16e067de3980faa773d5027306795ca8e2a3c247
CRs-Fixed: 1062155
When receiving a power save request from user space, disable any active
power save timer and start a new one using the timeout supplied from
user space.
Change-Id: I88299776a973118e1bdba8cfd5fa4c8018f0758a
CRs-Fixed: 1065234
When coniguring NS Offload via Cfg80211, configure firmware NS Offload
to match via HDD.
Change-Id: I8d95be773ff29512ebb72a8eb5e9dddbc9e675dd
CRs-Fixed: 1064168
qcacld-2.0 to qcacld-3.0 propagation
In the current implementation, there is no log of instructions
set by framework.
To resolve this and understand the packet filters,
log of set instructions is added.
Change-Id: Ibe3c23de374261741f78a76c05c97b2342e9064e
CRs-Fixed: 1013062
Currently in wma_wow_wakeup_host_event, NDP WOW handler code is doing manual
pointer arthematics followed conversion to event tlv. This is duplicate effort
as necessary wmi event struct is already available. Remove this and directly
use wmi event struct.
Change-Id: I90da473d773781d007f4932d6ffbec389d5a2766
CRs-Fixed: 1058503
This is qcacld-2.0 to qcacld-3.0 propagation.
Change NDP_SERVICE_INSTANCE_ID from 16 bits to 32 bits
Change-Id: I4fab1af6d9b8e34396bb3679f112c7f29bbe9f93
CRs-Fixed: 962367
Fix below build error:
qcacld-3.0/core/hdd/src/wlan_hdd_softap_tx_rx.c:605:2: error: implicit
declaration of function 'cds_host_diag_log_work'
[-Werror=implicit-function-declaration]
cds_host_diag_log_work(&pHddCtx->rx_wake_lock,
^
cc1: all warnings being treated as errors
Change-Id: Ia1fe71abd783e24e91ae197db4a6b8fcc0b28ec7
CRs-Fixed: 1065872
When NS offloading is enabled, and we reach the maximum number of supported
addresses, disable NS offload so Apps can handle it.
Change-Id: I8312d5e8091cfbdc1f6e3e1e1093ae1dca0c096c
CRs-Fixed: 1063737
In sap_random_channel_sel function, new channel and channel width will
be calculated based on the available channels. New channel width is
populated to only new_chanWidth and this new channel width value will be
assigned to new_ch_params in wlansap_set_channel_change_with_csa.
This channel width from new_ch_params will be used as new channel width
on restarting SAP on Radar detection.
wlansap_set_channel_change_with_csa will get called only when radar is
detected when SAP started beaconing (after CAC wait).
If radar is detected during CAC_WAIT state, new_ch_params will not be
having new calculated channel width, it will be having zero, So during
this scenario SAP will be restarted with 20MHz bandwidth.
To fix this, populate new channel width to new_ch_params in
sap_random_channel_sel along with new_chanWidth.
Change-Id: If07f875dda3a4f6d29480c84b784ca7995c19c7f
CRs-Fixed: 1063038
(cherry picked from commit 714eb0a7fae9c4e50b1c52fa27001705991ab6eb)
Peer create is called before peer delete which
triggered assert at firmware.
Remove the duplicate peer entry before creating
a new entry for the same peer by serializing
the messages.
Change-Id: Ibf044df5271e9cd2fc3e869bb28d101d3ea9ad43
CRs-Fixed: 1052279
(cherry picked from commit fe914b42b15af00236e3db8e0d6c7d408c5bc4be)
As part of MBO(Multiband Operations), the Assoc IE's including
MBO IE need to be sent to FW as part of Roam Scan Offload command
so that these IE's can be used later in firmware initiated roams
Change-Id: Ia873c65a7813ae63d8e53d7445095990b0c2fed7
CRs-Fixed: 1039969
(cherry picked from commit 0af3520421400b65002604e0a3a9c7c714cc1e21)
qcacld-2.0 to qcacld-3.0 propagation
Due to race between user triggered disconnect and OTA disconnect,
On receiving OTA disconnect PE sends DISCONNECT_IND to SME and
waits for conformation from SME. By the time if SME already received
disconnect from user it will give PE DEAUTH_REQ instead of DIASSOC_CNF
messgae. Upon receiving this PE will do the clean up and will send
DEAUTH_RSP message. SME will also process DISASSOC_IND and will send
eSmeCommandWmStatusChange. But this will be in pending queue as user
triggered deauth is in progress as a SME active command. If this is processed
after user initiated disconnect command, HDD will get two disconnects which
cause mess up of eConnectionState_Disconnecting/eConnectionState_NotConnected
states in hdd disconnect handler.
Fix is to remove pending eSmeCommandWmStatusChange command after
DEAUTH_RSP from SME.
Git-commit: 7f0986129d00270d1b7bba3d671bba79ba323933
Change-Id: I004834785491ab7cf3e90371dfd1910c25d0bbef
CRs-Fixed: 1003374
(cherry picked from commit 2b4f56c8dcbc292391d705993c7cd874c3dea008)
Link speed is returning incorrect value.
Fix is to allow link speed only for P2P GO/Client. Return error
for other device modes, as link speed feature in FW is only
supported for P2P interfaces as it was implemented to support
Miracast.
Change-Id: I5747d9ebbcbac3ae1ebf69f261d721a96e22d53c
CRs-Fixed: 1063541
(cherry picked from commit 9327fc30217078d165f7be85a3fb277e9d09e669)
(cherry picked from commit a346e371732b5fc24f171a3bde4666e7950f3c01)
qcacld-2.0 to qcacld-3.0 propagation
Kernel updates RSN IEs in BSS table only if it receives the Probe
response. Hence set fProbeRsp flag in BssDescriptor if PNO found
indication is due to probe response.
CRs-Fixed: 907635
Change-Id: I2bfee96c5a2abc6b0730c11e0c694ede81a69a21
(cherry picked from commit abb1af07e98ca6581186538a04a735b33e0ca66f)
(cherry picked from commit 5985919d63cb0e58920fc0022f0807ae36fa19fa)
Propagation from qcacld-2.0 to qcacld-3.0.
While initiating TDLS connection, overflow occurs when the
minimum time for TDLS stats is less than 1000 ms.
To avoid the overflow, the default time is kept as 2000 ms
and minimum time as 1000 ms. To improve the TDLS discovery,
packet threshold is changed to 40 packets.
Change-Id: Ibbb422c739b5927c5f2d788712f376a1cfa42930
CRs-Fixed: 1020247
(cherry picked from commit f9fe1c7d3a55caf8cf263f280508a91f0fe06a96)
(cherry picked from commit 388cc4379009f9e7a09fbfec6a846bcc80452d43)
Propagation from qcacld-2.0 to qcacld-3.0.
The device supports only 20 MHz while operating in IBSS
mode in 2.4 GHz band. There is no support in firmware to
do OBSS scan in STA/IBSS mode. Thus, the device will not
start IBSS when the configured bandwidth is other than
20 MHz in 2.4 GHz band.
Update channel width as 20 MHz if the device is in IBSS
mode and is operating in 2.4 GHz.
Change-Id: I01fa0df44f8b6f9ada835c0fc80a46eb0da6d6d7
CRs-Fixed: 1009922
(cherry picked from commit 5167d6c9b4271f08d3e819a0e9a7da1142630094)
(cherry picked from commit 5baf73480e91e68a2b5dfbe2a6981003d064fc9c)
qcacld-2.0 to qcacld-3.0 propagation
Add radio index at the end of wlan svc msg in TLV format inorder
to maintain the backward compatibility with user space application
like wlan_services and cnss_daemon.
Change-Id: If578d66eada17784eef7daafa7351df95fc74f5a
CRs-Fixed: 1019664
(cherry picked from commit 6a1d4b9d33b10ed50990efc825e530e020661153)
(cherry picked from commit 53627e3d41d55a9d71889443daa2ab769227c170)
qcacld-2.0 to qcacld-3.0 propagation
Function wlan_hdd_tdls_connection_callback takes few milliseconds
to complete its functionality which can effect roaming delay.
Move this functionality after enabling queues to reduce roaming delay.
Change-Id: I78d7b4deadb6cccdfd81f8431b6dd7c013e05340
CRs-Fixed: 978673
(cherry picked from commit a86f1940b048ef49dae99c903c0dee3400444068)
(cherry picked from commit 827dea48dfc7c6d25e77ade6383645f866991e5e)
qcacld-2.0 to qcacld-3.0 propagation
Currently session id is not initialized for auth retry timer
during roaming which can result in error in lim_deactivate_and_change_timer
during preauth. Fix this by initializing session id for auth retry timer.
Change-Id: Ia7093802c9240c967378de54695a258d80c395de
CRs-Fixed: 1043384
(cherry picked from commit 2095a2a7167cb8ca5fb23aa339639f360709edbb)
(cherry picked from commit 9232eaf4e118445b187252c8b8c80249da16c624)
qcacld-2.0 to qcacld-3.0 propagation
It could be possible that after SSR, pMac context is lost,
due to which the management frame callback will not be invoked
and none of the management frames will be processed,
resulting in scan and connection issues.
To address this, Register management frame callback during wlan re init.
CRs-Fixed: 962187
Change-Id: I5429da9dbc33c7e2044d5a4daa1c8d3d7af241ee
(cherry picked from commit aa3229ce46b3b8922d6dbad512aeb038df15530a)
(cherry picked from commit 48a63b11432f5879cc5abaf2cff78977253d5d41)
qcacld-2.0 to qcacld-3.0 propagation
The wait time in go negotiation response is set to 100msec by
the wpa_supplicant. Due to which, there could be a possibility
for the DUT to miss go negotaition confirmation frame if the
ROC times out, resulting in connection failure.
Also the wait time for GO negotiation confirmation, invitation
response and provisional discovery response frames are set to 50msec.
To address this, increase the wait times for these response frames.
CRs-Fixed: 1050955
Change-Id: I1fa8a0ae669293ab27c5b4f43f6f33465ff3f2c0
(cherry picked from commit 9481683888c272bacddd2d7983b909157a576a97)
(cherry picked from commit a5b48ffdb93f686e2df0291143549e657a3eb285)
qcacld-2.0 to qcacld-3.0 propagation
Convert the pr_info logs to qdf_trace logs with error log level,
so that the logs are displayed both in kmsg as well as in logger
app logs.
CRs-Fixed: 956590
Change-Id: Ib6ed5744cf38924a6b1dc20e3291639554c42c6b
(cherry picked from commit e7d8f2a4214e32aa30152aff806c0caa15c78787)
(cherry picked from commit ecb280f37bfea24afd6996480ca70ee0ef15de94)
qcacld-2.0 to qcacld-3.0 propagation
Add error log to print channel number and frequency in
wlan_hdd_cfg80211_inform_bss_frame() if it fails to retrieve the
channel.
CRs-Fixed: 1010559
Change-Id: I8fe77db17ffa40ea07206a3701c02f02564ea8fd
(cherry picked from commit c56aea24166cbdcbfe4acc44fc3cb8464ddaabca)
(cherry picked from commit 9cd27801a80b2b71959289efd66f99e4ac32e1fc)
qcacld-2.0 to qcacld-3.0 propagation
Currently driver is setting TDLS supported capability only in case
of tdls peer discovery response. In case of explicit trigger discovery
is optional, so it could be possible that the false capabiltiy is sent
as tdls not supported though it supports when link is enabled using an
external trigger.
To address this, set the tdls supported capability during the tdls setup
confirmation.
Change-Id: I13041f2b03e749617e58a74d82bdf77d9e6886ed
CRs-Fixed: 988686
(cherry picked from commit fab4eefd36b1b452dc96149beab1536414571e06)
(cherry picked from commit db27ba3e3d92af5d3d361f9ad59c4cd9213b31cd)
qcacld-2.0 to qcacld-3.0 propagation
In earlier android builds PMF was not enabled by default in the supplicant
unlike the latest builds. So even if PMF is set as optional, driver was
mandating it. So if we try to roam to an AP which is not PMF capabale
driver would simply drop the connection.
To address this, allow non PMF connection if PMF is set as optional by the
supplicant and the AP is not capable.
CRs-Fixed: 1018482
Change-Id: Ideecb861dcc362f94a73b47d1a4766d621a38214
(cherry picked from commit ec4d9feff5461a575b2988b38428b89cf6337584)
(cherry picked from commit 54b657e08ac628616b8cf6cbddfb9204ecf28ce5)
qcacld-2.0 to qcacld-3.0 propagation
Sometimes it is possible for the host to receive the ack for
go negotiation request after the go negotiation confirmation
is sent. So supplicant assumes go negotiation confirmation is
success though it is not and results in connection failure.
To address this, drop the pending ack for the go negotiation
request. so that the supplicant will wait for the ack of the
negotiation confirmation.
CRs-Fixed: 1032185
Change-Id: I54f305319e23b1ffcbd54cc6e7dcc74d39a2e511
(cherry picked from commit 83df79da05419397ef85b77acef353a9ffb05ced)
(cherry picked from commit f13a15829f20a644e5cbaad4a1783a33d0f78014)
qcacld-2.0 to qcacld-3.0 propagation
We do not support SAP on DSRC channels, so skip the DRSC channels
during sap channel initialization.
CRs-Fixed: 1050454
Change-Id: If5544027bca7bc0a578978dfe91adc37e897e992
(cherry picked from commit 0005bfa2adcbe4bc06b96523bb387a7df902a6c7)
(cherry picked from commit b8f62655ae5a86b745ca099fa371914a702abf59)
qcacld-2.0 to qcacld-3.0 propagation
During P2P functionality, Host will send GO NEG REQ and
receives ACK completion from firmware which will be queued
to indicate HDD. Meanwhile if host receives GO-NEG RESP it
will be sent directly to HDD via function callback. In HDD as
we got GO NEG RESP before ACK completion for GO-NEG REQ, HDD
will generate pkt completion for GO NEG Request.
Now GO NEG CONFORMATION frame will be sent and driver will be
expecting completion for this. The GO NEG REQ ACK completion
which got buffered in PE will be delivered to Supplicant and
Supplicant assumes that this is the ACK for GO NEG CONF frame.
This causes early termination of remain on channel due to which
firmware may drop the GO NEG CONF frame and may not retry as ROC
is terminated.
Fix this by making ACK Completion indication to HDD via function
callback.
Git-commit: 32ddf4196f423b8eaea7ec6c0816e2961aa7fc45
Change-Id: I0dd3acb236b270839649d2becfdc007e7aae9fdd
CRs-Fixed: 1012547
(cherry picked from commit a3996d421de7f55d5a6f7da19d7ff4b568ce7c50)
(cherry picked from commit 42405db3bd3f4b10800cde8cdcd14f521461a5a7)
qcacld-2.0 to qcacld-3.0 propagation
As part of "change iface" in HDD, host does close session (VDEV DELETE) and
as part of "start ap", host invokes open session(VDEV CREATE).
Link Layer(LL) stats query is received in host driver in a corner/race
condition between the events "change iface" and "start ap" which leads
to an exception issue in firmware since FW receives REQUEST_LINK_STATS WMI
for a deleted VDEV.
This fix adds a boolean variable vdev_active to vdev structure(wma_txrx_node),
which is set to true once vdev is created. vdev_active is checked for TRUE
before sending LL stats query to FW with WMI command.
Git-commit: cf7bf99eb9a71b1043cd230aee704c44c62c98ff
Change-Id: Ifcc986c3352e4e66da35b8d6c489d98dbe61401d
CRs-Fixed: 987734
(cherry picked from commit b82c03d8686a57b120f991ffbb9b9801c908aac8)
Send HT/VHT CAPs IE to firmware per band. This will allow certain
features like LDPC to be configured per band.
Change-Id: I21c83af984f9be3ade46121ef148b52568c3ad0f
CRs-Fixed: 1055774
(cherry picked from commit 2a94c5666ea0c66477d0086c8d5a401db8e4afcf)
This reverts Change-Id: I12e1db54468c7215318333b55d991c53886d21ff
WLAN driver is blocked from promotion as the dependent kernel
change is not merged yet. Getting/setting unsafe channels and
dfs nol are no longer be present after reverting.
CRs-Fixed: 1061220
Change-Id: I110df8d25464ff0d70428aa275538a98667ac57d
This reverts Change-Id: I3d3de3789a7d560ed171294fa9a1ebe6389746a7
WLAN driver is blocked from promotion as the dependent kernel
change is not merged yet. PM suspend_noirq/resume_noirq are
not available after reverting.
CRs-Fixed: 1060669
Change-Id: I2b1300bbb19d2e4975bb86a82a892501b993827b
This reverts commit Change-Id: Ib16a4e86f2378a8ca3f7eaada54fc7a3d67a886b
WLAN driver is blocked from promotion as the dependent kernel
change is not merged yet. Race condition between PM suspend and fw
irq will occur again after reverting.
Change-Id: Ida519d607df1e1e183c7af445d48be2f50101ce7
CRs-Fixed: 1060748
In current codeflow, we are maintaining the length of the TSO segments
belonging to one jumbo packet inside tso_info, which is common for
all the segments of one jumbo packet. This works if the length of
the segments (frag[1]) is the same. In case it is not, it ends up
assigning incorrect length to all the segments. This is resulting
GMS login failure.
Fix issue by maintaining the total length of the segment in the
qdf_tso_seg_t structure.
Re-factor code for easy readability
Add TSO_DEBUG prints which can be enabled (compile time) to debug
TSO issues
Change-Id: Ie0cf8434902c0713ef8d36dc36c105afa6b5eabc
CRs-Fixed: 1062556
(cherry picked from commit 0a851f054171cf4b2f5bd7e8cd6841e90d999928)
When pktlog is enabled in INI (i.e. no iwpriv commands are issued),
store the events forwarded from firmware into the pktlog buffer.
Host will not honor any pktlog disable command if pktlog enable command
was not sent previously with WMI_PKTLOG_ENABLE_FORCE.
Change-Id: Id0b7dd6b4573147eef9b80b57bc78284e52807ec
CRs-Fixed: 1062295
(cherry picked from commit 07e5fbfcf0ec1ca7e92721a523e401e70887f487)
Fix below issues:
1) check cds_get_context results before use
2) remove function calls from ASSERTs
3) make sure variables are initialized before use
4) check pointers for NULL before dereferencing
Change-Id: Iac92e6f2d1030a7dd12469e34341135bea7c781f
CRs-Fixed: 1047286
(cherry picked from commit a2547fd35fc517abfbc96363768b5d036d59d057)
qcacld-2.0 to qcacld-3.0 propagation
Currently driver block wpa_supplicant context for response
for 5 / 5 seconds for LL stats and firmware memory dump
feature respectively. But in M framework watch dog will
be triggered after 1 second because driver is holding
the context longer, which lead to wd thread starvation.
As a part of this fix, block time is reduced to 800 msec
respectively in both cases.
Change-Id: I02cc7623bc0bc6004ece972f8c4a5e8e751131d2
CRs-Fixed: 951119
(cherry picked from commit 6f39e5ac60eac096107a36b8feb9218ceeef6c38)
qcacld-2.0 to qcacld-3.0 propagation
Host should not send the ipa_enable_disable cmd to firmware
during driver unload.
As a part of this fix, Host discards ipa enable/disable
commands during driver unload.
Change-Id: Ib7fe63463eaaa2f124428c73857f19e65bce67a3
CRs-Fixed: 994677
(cherry picked from commit 67c30cf80f9ff7e05637a08f5b25cec6fa20c38e)
qcacld-2.0 to qcacld-3.0 propagation
During suspend request host send wow cmd to fwr and set
target suspend true so other wmi cmd won't send to fwr.
While waiting for wow ack/nack from fwr, if time out
happens then host inject crash and start self recovery.
But inject cmd is getting dropped due to target suspend is
set.
As a part of this fix, reset target suspend flag if timeout
occur for wow ack so self recovery can be triggered.
Change-Id: I1db556f9aa83fbf1324ddc1c1d205b0217b11bc2
CRs-Fixed: 983694
(cherry picked from commit 7aa878de9ba001e573cb63b52ddf4d78543bb673)
qcacld-2.0 to qcacld-3.0 propagation
If SSR/ram dump collection is in progress, rmmod waits
for it's completion for 75 times. But for high latency
target SSR/ram dump collection is taking more then 75 sec.
As part of this fix,For HL target set retry count to 200.
Change-Id: I8cc052c748e6a6dfff45675f9c15ead00b002a11
CRs-Fixed: 974023
(cherry picked from commit f788043e64fe707c495b2c0baee6e6d116268068)
qcacld-2.0 to qcacld-3.0 propagation
Currently for low latency target, host is waiting for 1 sec for download
complete, which is blocking MC thread. Due to this MC thread is not
serving the SME queue and which triggers the active cmd time out.
As a part of this fix, MC thread waits for download complete only
for those frame which needs OTA.
Change-Id: I25f45e969dd5bbf2341d586265d84919755f6ed3
CRs-Fixed: 967842
(cherry picked from commit c54a6f76ec228eaca7fa5f1f529d29011a83c445)
This is a qcacld-2.0 to qcacld-3.0 propagation
This commit allows the upper layers to send setband request to
driver using vendor command.
Change-Id: I3ce769e5426a5afb85979b4e19dbabd234f18e98
CRs-Fixed: 879527
(cherry picked from commit 0e0eaa6aa061031c5cf5314497b9d41eb0aef850)
qcacld-2.0 to qcacld-3.0 propagation
Observed kernel panic due to the race between initialization of
logging wait_queue in supplicant thread context and the same
uninitialized wait_queue is referenced in MCThread context.
To mitigate this issue, don't send logs to upper layers if logging
service is not initialized.
Change-Id: I96e3efb3947279be64b83a27a7e2458d04021c4e
CRs-Fixed: 963275
(cherry picked from commit fe200c52491b12087752a46bc602288adaf26557)
This is a qcacld-2.0 to qcacld-3.0 propagation.
In present code, Host sets thermal power limits to 10dbm,
for both 2g and 5g, leading to connection failure.
Set Thermal Power limit to 30dbm for both 2g and 5g. So
that FW takes the default values from BDF.
Change-Id: I053108babfaa9ac2629cdb107ceb507c2f8891e5
CRs-Fixed: 1011361
(cherry picked from commit b25fb5987e792d286542e09f8d8fa30223115453)
qcacld-2.0 to qcacld-3.0 propagation.
There is a possibility of buffer overflow while processing
GET_CFG IOCTL to retrieve ini parameters from a global array,
because of invalid if condition.
Resolve buffer overflow issue by correcting if condition.
Change-Id: I8881abde0b543d7b1562968ecbb6240a0ca552a3
CRs-Fixed: 1000853
(cherry picked from commit 2dff47b5bc87559c430da20bf563975749b2a8cd)
qcacld-2.0 to qcacld-3.0 propagation
In SME, while processing set beacon parameters, free
dynamically allocated memory, once done with the it.
Change-Id: I281ef5eb9492fe75d639b2bef7ed588aacee8e74
CRs-Fixed: 974567
(cherry picked from commit feaa49e6b906f33a98a11f5ee35c947abe5d28bd)
qcacld-2.0 to qcacld-3.0 propagation.
Allow IPv4 and IPV6 offloads to FW by enabling ARP and NSoffload feature
by default even if it's not explicitly enabled in the ini file.
Change-Id: I9af928f5ea6e2b9589d3c8666abfa3927fe5e908
CRs-fixed: 1053887
(cherry picked from commit e0dba23a18a4484ae799e9db1eb867446e9ba0c8)
qcacld-2.0 to qcacld-3.0 propagation
Currently the following private ioctls are only supported on STA-type
interfaces: set_ldpc, get_ldpc, set_tx_stbc, get_tx_stbc, set_rx_stbc
and get_rx_stbc. Update the driver to support these commands on
SAP-type interfaces as well.
Change-Id: Ic135dcbd74918a2d27802e3edc34444545aa18ff
CRs-Fixed: 844097
(cherry picked from commit bf5ed2ca492bbe66b8825ad68ce975454f989dd6)
qcacld-2.0 to qcacld-3.0 propagation.
Added ini parameter for extscan so that scan can be aborted
if extscan ini is not enabled.
Change-Id: I7bfcd88901512de6b70af94d1ebd76894bb14755
CRs-Fixed: 927236
(cherry picked from commit 5af7ebadac8ea8ccd11af6c03d5d3a4cf209e85b)
qcacld-2.0 to qcacld-3.0 propagation.
If ACS is enabled in hostapd configuration,hostapd sends
a list of channels to HDD for softap bring-up. If hostapd
finds a invalid/unsupported channel in its channel list,
it will send a 0 for that channel. Since HDD always takes
the lowest channel as starting channel for scan, the scan
will always include 2.4Ghz channels even if channel mode
is set to a. Hence HDD should ignore these invalid entries
in channel list.
CRs-fixed: 959490
Change-Id: Iddaf6c4ba14e22b476f22f1f098faf726f4407ec
(cherry picked from commit 9f410939ff801316a153c44c603ce575fe6d15d5)
qcacld-2.0 to qcacld-3.0 propagation.
Log success or failure status whether disassoc/deauth sent successfully
over the air.
Change-Id: I527bd35546eb21157498f235fe74710dd3f7688e
CRs-Fixed: 1016866
(cherry picked from commit d081fef10c8440830cea8d6e598087d5021687ae)
qcacld-2.0 to qcacld-3.0 propagation
From Kernel-3.18 onwards pending scan request is handled
as part of NETDEV_DOWN event, by invoking the cfg80211_scan_done
callback which frees the scan request structure. To support this,
driver will not invoke scan_done_callback if interface is down.
In case, if interface down and up are called back to back there
is a chance that kernel frees scan request as part of NETDEV_DOWN
and after which before driver triggers scan_done_callback if
interface is made up, driver scan_done_callback is through its
execution and accesses the freed scan request results in kernel
panic.
To mitigate this, don't return from hdd_stop until scan request
is aborted. Though this fix is to avoid kernel panic due to 3.18
kernel specific changes, it is acceptable across all the kernel
versions.
Change-Id: Iba8bd7a32fac33e8a0c3eea293aad682a1105397
CRs-Fixed: 977264
(cherry picked from commit 153dba8b716c3d10a1745df6e2da09c0c05d9b01)
qcacld-2.0 to qcacld-3.0 propagation.
In current implementation, RA filter is enabled irrespective of the
BPF filter status. This change checks if BPF configuration in ini as
well as in target config is enabled, then RA will be disabled.
Change-Id: I85df0828af665d2bcc13c865b0ba40ebf882fffe
CRs-Fixed: 1058884
(cherry picked from commit 8dda6e83eb85ef9f0342ab23954e093c6dfebe2e)
qcacld-2.0 to qcacld-3.0 propagation
The new cfg80211 connect api 'cfg80211_connect_bss' takes
a new input parameter, the connected bss. This is required
for the kernel to map its current_bss to the bss on the
correct channel when more than one bssid, ssid pair is
present on different channels with the kernel. Without this
the kernel might report a wrong channel as the associated
channel. Hence add support in driver to use the new connect
api.
Change-Id: I1e5ded1b40ca324469917acebf17a03cc1e1c679
CRs-Fixed: 1008794
(cherry picked from commit fc06d173ce8155c1ee470f0a135490d42237d66e)
qcacld-2.0 to qcacld-3.0 propagation
Framework may initiate LL stat ops while roaming is
in middle, which in turn block the call or wait for
timeout hence introducing roaming delay.
This delay can be overcome by avoiding LL stat ops
if it is triggered in between the roaming.
Change-Id: Ie64c8c56f905cc297057e62b69c010cf1e0974ed
CRs-Fixed: 881429
(cherry picked from commit 125d2e3ce70d7829ed6b37ee032f6c2036974587)
qcacld-2.0 to qcacld-3.0 propagation.
Do not re-initialize periodic probe request timer if the calculated
value for "initScheduleTimeInMsecs" from max channel timer is zero.
Change-Id: I7cc03d84088c8c3f2b1e704c2e6c8c24c1a01189
CRs-Fixed: 909143
(cherry picked from commit 0d91c221310d699374b9d4373f7b5cd52ece3ac8)
qcacld-2.0 to qcacld-3.0 propagation
In AP+AP scenario, it is possible that hostapd can set default
key index before there is a session associated with pAdapter.
So save wep default key index in pHddApCtx and set it after bss start.
Change-Id: I1c27ad8984cb1ece266405fb5c427e59dd01db3a
CRs-Fixed: 938522
(cherry picked from commit d93be6957228143d757f299fcd32d2428860f9ee)
qcacld-2.0 to qcacld-3.0 propagation
In function "sap_select_channel" avoid selecting DFS channel if
DFS master mode is disabled.
Change-Id: I4b45401500db32f0677e5364e4cf415dca2ca23c
CRs-Fixed: 939153
(cherry picked from commit 0a1ecad5876e7526a9283cba331e22453e03490e)
qcacld-2.0 to qcacld-3.0 propagation
Currently if user space sends two different beacon
interval in AP+AP, driver is not updating correct beacon interval.
Beacon interval should be sent as per session.
Change-Id: I13653701e7ed6fb2eb643bbb8e20e7c0102c2ec2
CRs-Fixed: 1037455
(cherry picked from commit 183b9b33087f5afc925d5899b468450e88b97998)
qcacld-2.0 to qcacld-3.0 propagation
Currently there are no diag events to debug auth, assoc timeouts
and memory failure. Add such diag events which can be useful during
failures.
Change-Id: Iec4c2a9946fbef388959fdc796273944d3be8003
CRs-Fixed: 954888
(cherry picked from commit 96f330d11abe16a35c13a87346e8e60cbd0c7141)