Ensure that the wait for Nss update happens only in the case of
beaconing modes. Nss update request is done only in the case of
beaconing modes. As part of Nss update callback, check for Nss
update is being done for all modes due to which subsequent hardware
mode change is not getting initiated. Fix the same by ensuring that
the check for Nss update happens only in the case of beaconing
modes.
Change-Id: Icf975661236dba54d2948484445b0509e15f1da0
CRs-Fixed: 1011483
Fix the missing propagation while sending channel switch request
instead of doing SAP restart. A couple of lines of the change
I79e7317219503de0a9957940f3cf7a4e91c7a521 that are missing have been
restored.
Change-Id: I7f881d4f6793ec8c85e6f4ab41b90fb77d16f828
CRs-Fixed: 1010524
Clean up bmi_2 related code. These code are hardware/platform
specific which is no longer supported.
CRs-Fixed: 1001252
Change-Id: I783f4a411044268d24ba660ce9f10dabe0cce8bf
Fix the segmentID propagation from radar summary report to phyerror
event structure to correctly identify the segment, on which a phyerror
is received for pattern match processing. Also, to enhance the debug,
add all the radar summary parameters to dfs event and print while
processing the phyerror for a pattern match.
Change-Id: I1325ad541cf69685606e4905275244e207d95b29
CRs-Fixed: 1009784
The firmware would like host to initially populate all 2K entries,
so that fw shadow ring will always have 1K entries to fetch after
the initial population of 512 entries to each mac.
Change-Id: I5f19a1e2693f54f9d7938b723d0d57487f842daf
CRs-Fixed: 1006872
SGI setting for 80 and 160MHz are not advertised due to checking
the wrong channel width parameter in the session entry.
Check the correct channel width parameter to advertise the SGI
support in 80MHz and 160MHz
Change-Id: Ia0c2096f243b649088a9dc5ed5e5374cea972e51
CRs-Fixed: 1000145
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
Create a separate functions to configure lower layers before
cds_enable.
Change-Id: Ia6eba5a94889cef4502b71edfab773b6295847d6
CRs-fixed: 996332
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
Create a separate function to initialize and destroy feature
specific contexts.
Change-Id: Ia09960a832674bfcba0ec9b6e8ddc0cc925ec419
CRs-fixed: 996332
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
Add register/unregister notifier routines to register and
unregister NETDEV, IPv4 and IPv6 notifiers.
Change-Id: Ife886f06f170a50149c110073469d8fcf183d39b
CRs-fixed: 996332
Make sure that the maximum number of peers is initialized before
this value is configured to the target. Currently, the default
target configuration is happening even before the max number of
peers is initialized. Fix the same by initializing the max peers
before the default target configuration.
Change-Id: I189e9c92727703655b238b3edd1e3b480a09c17e
CRs-Fixed: 1011487
There is a race condition between hdd_disconnect_handler and
cds_pkt_proto_trace_close while trying to update the trace_buffer.
Fix race condition by calling cds_pkt_proto_trace_deinit (formerly
cds_pkt_proto_trace_close) at the end of cds_close, after all the threads
have been torn down and other modules have been shut. Similarly,
call cds_pkt_proto_trace_init at the begining of cds_open, so it gets
initialized before any of the threads are up or any modules have been
initialized.
Change-Id: If9e2d6a360d814b7f1b0c92789dc0fd3fe3d974b
CRs-Fixed: 1009162
TargetSendSuspendComplete should take the HTCInitInfo
context as an argument. The wow_nack should be its
own argument.
Change-Id: Ib13385cf0a04730d066ffcd53c1f669c7a5ced60
CRs-Fixed: 1003793
Use QDF macro to check if we are in epping mode.
Remove bit masks of epping configuration.
Change-Id: I454ef259dfcc4b7c7860a5adfda605837f4a89cc
CRs-Fixed: 1003792
qcacld-2.0 to qcacld-3.0 propagation
Change to initiate BUG report in case of fatal event
Add INI support to Enable/Disable it.
The fatal event handled are as below:
- Roaming failed after successful preauth.
- SME command timeout.
- PE defer queue is full.
- CDS run out of message wrapper.
- HDD level wait for event timeout.
CRs-Fixed: 912560
Change-Id: I64dff8b7d0836340ce3bec5f5985d1919b600c23
qcacld-2.0 to qcacld-3.0 propagation
Add diag event for EVENT_WLAN_TDLS_TX_RX_MGMT. This event contains
TDLS action frame type, subtype and if its rx or tx.
Change-Id: I6ec744518b7a391e4511c503cb858d532ef11322
CRs-Fixed: 934447
qcacld-2.0 to qcacld-3.0 propagation
Add diag event for EVENT_TDLS_SCAN_BLOCK. This event indicates if
scan is blocked because of TDLS.
Change-Id: I00dd9d2a54cbe054b400b2d1cb74c0e14b9a13d7
CRs-Fixed: 934456
qcacld-2.0 to qcacld-3.0 propagation
Add diag event for EVENT_OFFLOAD_REQ. This events contains info
if host has enabled or disabled the offload.
Change-Id: I19fe216ac0900dedbcb7b247cf0d171979308dc5
CRs-Fixed: 934455
qcacld-2.0 to qcacld-3.0 propagation
Add diag event for EVENT_WLAN_SUSPEND_RESUME.
This contains info if driver has entered early suspend, suspend,
early resume or resume state.
Change-Id: Ic9bb815667ea9203d44a3c3cfcecbdbae573e717
CRs-Fixed: 934452
qcacld-2.0 to qcacld-3.0 propagation.
Add diag event for EVENT_WLAN_TDLS_ENABLE_LINK.
This event contains below info:
- peer mac address
- Does peer supports off channel
- Is off channel configured
- Is off channel established
Change-Id: Ib491d8ac1d8a7850a050bf14a60b6eb08ab94078
CRs-Fixed: 934449
qcacld-2.0 to qcacld-3.0 propagation
Add diag event for TDLS teardown. Event contains reason for
teardown and peer mac address.
Change-Id: Ib04deac6cf7d61fae1a7bb0d0fb8f4dc652b3217
CRs-Fixed: 934448
API is trying to access the wmi descriptor
even though it is failed to allocate.
- Add a NULL pointer verification check before
accessing the wmi descriptor.
- Return failure to UMAC if the wmi failed to
provide the wmi descriptor.
Change-Id: I1ca8670c43e795d874d4e57bca8577b5fb90468a
CRs-Fixed: 1009636
Scan results are not updated to NL when scan times out.
Intermediate SME scan cache entries are dropped at LIM in failure
scenario.
Save scan results in SME global cache before sending the abort
indication to upper layers in scan timeout scenario.
Change-Id: I0f42f4264bfe275b38027998b23a061b9cea135f
CRs-Fixed: 997587
Per regulatory data, the regdomain pair mapping for
CTRY_JAPAN14 is MKK5_MKKA2 and not MKK5_MKKA. Therefore
correct the same.
Change-Id: Ica36574c2111753e4e23e2cd30d438a4613eefd8
CRs-Fixed: 1000056
Modify the set hardware mode command sequence during channel switch
in the case of SAP/P2P-GO and STA/P2P-CLI as per the latest FW
requirements. This is primarily to accommodate the time take for
calibration during hardware mode change which could lead to
momentary data stalls.
The new sequence is as follows:
1. Send (E)CSA
2. Do vdev restart/vdev up
3. For DBS downgrade:
a. PM will initiate HW mode change to DBS right away
4. For single MAC upgrade:
a. Opportunistic timer is started, PM will check if MCC
upgrade can be done on timer expiry
The old sequence is as follows:
For MCC upgrade:
1. Send (E)CSA
2. Opportunistic timer is started
3. vdev restart is initiated on the new channel
4. PM will check if MCC upgrade can be done on timer expiry
For single mac upgrade:
1. Send (E)CSA
2. PM will initiate HW mode change to DBS right away
3. vdev restart is initiated on the new channel
Change-Id: I4bce2ee176cae43b6a46c47216ed7ab47a82a54c
CRs-Fixed: 1006992
Fix the channel number sent to fw in probe response during P2P scans.
Current channel number being sent to FW is 0. For the probe response
frame from Host, as there is no channel frequency added, it ends going
on default MAC 0. As in this configuration, FW will do DBS scan for
P2P find, 2G is mapped to MAC1. Hence P2P probe response ends up going
on wrong channel (STA’s 5G channel). Fix this by using the user space
supplied channel in probe response for non beaconing modes and by
using the corresponding session's frequency in probe response for the
beaconing modes.
Change-Id: I3928f8eb2c663b12e40239809e0728d07839317a
CRs-Fixed: 1009549
Add support to change the concurrency system preference at
run time. The concurrency system preferences of throughput,
latency and power can be changed at run time using the IOCTL
"setConcSysPref". The policy manager provides the preferred
channel list based on this preference value.
Usage:
iwpriv <interface> setConcSysPref <preference>
Preference - 0 for throughput, 1 for powersave, 2 for latency
e.g., iwpriv wlan0 setConcSysPref 1
Change-Id: Ib2b8653688400a0bbad9c9c1b1d630025ae4edcb
CRs-Fixed: 993122
Correct the p2p scan's active dwell time, passive dwell time and
burst duration when a SAP session is already active. Since the
max duration of CTS-to-self is 32ms, the dwell time for p2p scans
are calculated in such a way that it does not cross 32ms if SAP
is running. This is in line with the existing STA scan parameters
when SAP is active.
Change-Id: I8089e01025ba07cc18684c277c36bb1694264214
CRs-Fixed: 998555
Replace the obsolete WMI event WMI_SOC_HW_MODE_TRANSITION_EVENTID
with WMI_PDEV_HW_MODE_TRANSITION_EVENTID. The new event additionally
carries the pdev id.
Change-Id: Ic5d04ce63fbc582dbecb9052f490189c83094bb5
CRs-Fixed: 989502
Replace the WMI command WMI_SOC_SET_DUAL_MAC_CONFIG_CMDID
and event WMI_SOC_SET_DUAL_MAC_CONFIG_RESP_EVENTID with
WMI_PDEV_SET_MAC_CONFIG_CMDID and
WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID respectively since
the former are obsolete. The new WMI commands and events
additionally carry the pdev id.
Change-Id: I77eab3ead005bbb7f951ce7e077cd661813cb628
CRs-Fixed: 989502
Replace the obsolete WMI command WMI_SOC_SET_HW_MODE_CMDID with
WMI_PDEV_SET_HW_MODE_CMDID and event WMI_SOC_SET_HW_MODE_RESP_EVENTID
with WMI_PDEV_SET_HW_MODE_RESP_EVENTID respectively. These new WMI
commands and events additionally carry the pdev id and all mac id
references are replaced with pdev id.
Change-Id: If2a3f93dcd1947eedce8d4eac8ed936166f7e078
CRs-Fixed: 989502
Save the requested scan and fw mode config when these
new configs are sent to the firmware for update. This
saved parameter updates the current scan and fw mode
config respectively on getting the response from the
firmware. If this parameter is not saved and updated
in the current scan and fw mode configs, the next
attempt to fetch the current scan and fw mode config
provides the wrong config values.
Change-Id: Iae10d16b29038a8e321ef74ba591b032eedbe425
CRs-Fixed: 1007653
FL macro definition is used in converged layer, move
FL macro definition from umac layer to common qdf layer.
Change-Id: Id3c4383c385eb3d6391c4c066b0034fb2f053cdc
CRs-Fixed: 1008835
Replace mac_id with pdev_id for WMI pdev commands and
vdev start response handler to support multi-radio in
converged firmware. In order to maintain backward
compatibility with old fw, host needs to check
WMI_SERVICE_DEPRECATED_REPLACE service id in service
bitmap and needs to fill pdev id or mac id accordingly.
Change-Id: I7e6b40b4c0bd20e967dc0a383b480068e256486f
CRs-Fixed: 994415
qcacld-2.0 to qcacld-3.0 propagation
A customer observed the following error log:
wlan: [1662:E :HDD] hdd_wlan_startup: 12873: set tsf GPIO fail
The customer was concerned that the device was not working correctly.
The reality is that the TSF GPIO is only expected to be set on
specific hardware platforms, and the customer platform was not one of
those platforms.
Fix this issue by making sure that all of the TSF GPIO logic is
properly encapsulated within the WLAN_FEATURE_TSF feature flag.
Change-Id: I34eab623243d4674c5fc1d0c8139d80efe5786a7
CRs-Fixed: 962955
qcacld-2.0 to qcacld-3.0 propagation
Update qcacld to configure only valid GPIO setting if enabled in
INI file. Default TSF Gpio value is set as invalid, so it will not
be set in firmware during driver load.
Change-Id: I0414becbf83718155a9ca51d60f34d0e8ffcd4e3
CRs-fixed: 994569
qcacld-2.0 to qcacld-3.0 propagation
Add configuration of gpio pin used for TSF. FW shall toggle
this gpio when receive capture/get tsf cmd.
Change-Id: I442f2de3af4f3946a20bf3f4a9d8c9b285aa7a7c
CRs-Fixed: 817527
qcacld-2.0 to qcacld-3.0 propagation
Get tsf from fw. Provide ioctl interface cap_tsf/get_tsf.
Driver issue wmi cmd to fw to realize capture/get.
It can be used in station and softap mode. For sta, getting
tsf from connected ap. For softap, it will generate tsf by-
self
Change-Id: I00d30882bce2f49ee3de3fa189e094c04c0d9943
CRs-Fixed: 817527
PLD stands for platform driver. It is a interface between CLD and
CNSS/ICNSS. It hides the CNSS/ICNSS APIs from CLD and provides a set
of common APIs.
Other modules should include pld_common.h if they want to call PLD
APIs.
CRs-Fixed: 979275
Change-Id: I3571fc70f502dc367c65f13b412cd5d37ee41d3c
WMA bus resume returns un-initialized local variable as status
to hdd bus resume callback which does bug on if status is not 0.
Fix WMA bus resume routine to return proper qdf status
and conver it into linux status before returnign it to HDD.
Change-Id: I8f36c11552412b569ac33afa320fd39fa3fedc50
CRs-Fixed: 1008027
During IBSS session tear down, we are hitting a lockup. The issue is
seen as the pdev->peer_ref_mutex is being taken up twice in
ol_txrx_remove_peers_for_vdev and ol_txrx_peer_unref_delete. The later
function gets invoked by the former and hence we are stuck while trying
to acquire the spinlock, the second time.
Fix issue by releasing peer_ref_mutex lock before invoking
callback (wma_remove_peer) in ol_txrx_remove_peers_for_vdev function.
The dmesg signature of the lock-up is as follows
1100.230392: <2> [<ffffffc0002035a4>] el1_irq+0x64/0xd4
1100.235432: <2> [<ffffffbffc17e890>]
ol_txrx_peer_unref_delete+0xc4/0x33c [wlan]
1100.242461: <2> [<ffffffbffc17ecc8>] ol_txrx_peer_detach+0x1c0/0x1e0
[wlan]
1100.249020: <2> [<ffffffbffc160914>] wma_remove_peer+0x7c/0x18c
[wlan]
1100.255141: <2> [<ffffffbffc17dee4>]
ol_txrx_remove_peers_for_vdev+0x170/0x1b0 [wlan]
1100.262606: <2> [<ffffffbffc16311c>]
wma_vdev_stop_resp_handler+0x204/0x460 [wlan]
1100.269816: <2> [<ffffffbffc1886a8>] __wmi_control_rx+0x280/0x2c0
[wlan]
1100.276204: <2> [<ffffffbffc188a34>] wmi_process_fw_event+0x8/0x14
[wlan]
1100.282595: <2> [<ffffffbffc157054>] wma_mc_process_msg+0x80c/0x27fc
[wlan]
1100.289176: <2> [<ffffffbffc13f238>] $x+0x190/0x3f4 [wlan]
1100.294115: <2> [<ffffffc00023d7e8>] kthread+0xac/0xb8
CRs-Fixed: 1006847
Change-Id: Icedeb172bbd6736ab39343391ff0643ddd688444