Enable the register write failure history for
reo remap registers in lithium based targets.
Change-Id: Iaed3ea33e8ae3ab012b2403c50cb785f81497c04
CRs-Fixed: 2626325
Currently for big data logging in case of sap, query for
rssi, txrate and rxrate happens when station issues disconnect
to SAP but these stats are not queried when SAP
issues disconnect to the connected station.
To address above issue, add a logic to issue stats request
to FW when SAP disconnects the connected station.
Change-Id: I40db82d7b57fd0894ffbe95f52d27b4931227690
CRs-Fixed: 2626857
Disconnect cmd received from supplicant, at the same time
roam start event received from FW.This results in
conetxt switch in scheduler thread and leads to disconnection in
progress variable could not set. Roam sync events
SIR_ROAMING_DEREGISTER_STA and SIR_ROAM_SYNCH_PROPAGATION are
received one after another. Here again supplicant thread context
resumes resulting in csr roam profile cleanup.Later on when
scheuler thread resumes back it result in instability while trying
to access roam profile object.
Fix is to add check for current roam state using mlme component.
check for current state is ROAM_RSO_STOPPED during both
SIR_ROAMING_DEREGISTER_STA and SIR_ROAM_SYNCH_PROPAGATION events.
Change-Id: Id0ea18a33dfef3d4e9a4003da33fc7172cf58e85
CRs-Fixed: 2626474
Userspace expects the assoc request IEs of a disconnected station
to derive 11kv capabilities. Send the same in STA_INFO as part
of remote station info.
Change-Id: Iab5f39de833cd06e814e83f0149a0d21caf59b9f
CRs-Fixed: 2624922
Currently beacon IEs of the connected AP are cached in host driver
and flushed when it disconnects. Userspace needs this info after
disconnection to know the capabilities of the last connected AP.
So don't flush the IEs just after disconnection and provide the
same to userspace in GET_STA_INFO when queried. IEs are flushed
in the next connection.
Change-Id: I29c308b01b7519fffa174e26d644e0817e51b6fc
CRs-Fixed: 2624882
Currently, driver send a generic reason code
eSIR_MAC_DISASSOC_DUE_TO_INACTIVITY_REASON to userspace when a
STA kickout happens. Send eSIR_MAC_SA_QUERY_TIMEOUT when STA
kickout happens due to SA query timeout.
Send eSIR_MAC_PEER_XRETRY_FAIL when STA kickout happens due to
XRETRY failure.
Still host sends deauth frame with reason code
eSIR_MAC_DISASSOC_DUE_TO_INACTIVITY_REASON.
Change-Id: I72fa7406ef1b131ef3519bb6bef21cc52bc548cb
CRs-Fixed: 2624948
Driver caches last disconnected reason code in adapter. Convert it
to enum qca_disconnect_reason_codes and send it in STA_INFO to
userspace.
Change-Id: Ifd8566f4fb7d412d9a6ded0ae06f51b0c1dd6d2b
CRs-Fixed: 2624792
The notifier for pm qos is added when the runtime pm dynamic
is defined, when removing the notifier, we should also check
if the runtime pm dynamic is defined or not. We should not
remove this notifier if it is not defined.
Change-Id: Ic628c6fc38da00b2491355786ff40020d0249bb2
CRs-Fixed: 2622946
Issue happens as below scenaio:
1 suspend happens, but dp_rx_thread didn't finish in time,
so timeout happens for suspend_event, here suspend will
return success to kernel.
2 resume happens before dp_rx_thread to reset resume_event,
and resume finished.
3 if dp_rx_thread finished and blocking with resume_event,
and in following test, suspend didn't come(longer then
hang detect time).
4 hang detect will alarm.
Fix is to return failure if dp_rx_thread can't be suspend
in time. Suspend can triger again later.
Change-Id: Ifbfdef5bb1c8d6e00b8fa5cc5e6dc74d3495c9ea
CRs-Fixed: 2626468
Introduce a compile time flag SAE_SINGLE_PMK and new INI
"sae_same_pmk_feature_enabled" to enable/disable SAE
Roaming with same PMK/PMKID feature.
Change-Id: Ifca8ec8bcf6e9a2f1d8409b35390bfee0033bd30
CRs-Fixed: 2616025
The host driver updates the group management cipher suite to the
firmware as part of RSO commands over the WMI_AP_PROFILE
command.
Update the group management cipher suite from the crypto
component to the roam_request and copy it to the WMI_AP_PROFILE
command params in wma
Change-Id: I78d9cfbddfb74b16639ff03005935c4112a7e5af
CRs-Fixed: 2622864
PM QoS notifier is not getting deregistered during module stop and is
racing with module start as a result. Move hdd_register_notifiers()
and hdd_unregister_notifiers() calls to hdd_wlan_start_module() and
hdd_wlan_stop_module() to do proper registration and de-registration.
Change-Id: I4d47393d600c2c162b54e16ecdf06b286f1b93bc
CRs-Fixed: 2626126
FTM time sync feature is triggered when connection takes place
in case of STA and bss starts in case of SAP. The feature is
stopped when STA disconnects and bss stops.
Change-Id: I963b0134b7432c9827c2fb3d9dce7c81a8666d4d
CRs-Fixed: 2621144
Currently, Linux Kernel 4.9 doesn't support WDI3/WDI2 over GSI,
so it missed the definition of is_txr_rn_db_pcie_addr &
is_evt_rn_db_pcie_addr, and we should not call the relevant API
for Linux Kernel 4.9 + ROME target. So refine the function
ol_txrx_ipa_wdi_tx_smmu_params to fix compile issue.
Change-Id: I050d7f8613f9a5ae05d6a269dece53db624d18e2
Because FW don't support idle pdev suspend, and when all interface down
host will not send wow enable command because wakeup is not expected.
So the idle shutdown precedure is already there to prevent system go to
idle pdev suspend state, but it only exist for station mode now, apply
it to hostapd mode as well.
Change-Id: I1b11b5bd038ea9ad23835f142e443ea11e90f55b
CRs-Fixed: 2624453
Firmware advertises WMI_SERVICE_ROAM_SCAN_CHANNEL_LIST_TO_HOST_SUPPORT
at the time of initialization. When user requests for roam scan channels
to driver using GETROAMSCANCHANNELS command, driver queries firmware for
roam scan channel list by sending wmi command with command id
WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID and vdev id.
Firmware response to WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID commmad is
WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID. This event has roam scan channel
list, vdev id, connected BSSID, command_response.
Firmware issues WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID event for two reasons,
one for GETROAMSCANCHANNELS command where firmware sets command_response=1
in wmi event and asynchronous event upon disconnection where firmware sets
command_response=0 in wmi event.
Change-Id: I690aca6c3f1e3aa7ae1fe54aadc839ea19446079
CRs-Fixed: 2621535
QCN7605 has 2 set of shadow registers, WCSS block and PCIe block.
As PCIe shadow register are at power domain boundary, enabling
PCIe shadow register for QCN7605.
Also PCIe shadow register falls below 512KB, no need to use register
windowing which is required to get it access from IPA FW.
Change-Id: Ic0bbc2de4c3e32c4fb6453d273f0f29d19f3537c
CRs-Fixed: 2623851
Add ini config required for FTM time sync feature.
"enable_time_sync_ftm"- ini to enable/disable the feature.
"time_sync_ftm_mode" - ini to configure the burst/aggregated mode.
In burst mode the offset derived for each RTT frame is sent by
firmware, in aggregated mode only one offset is sent by firmware.
"time_sync_ftm_role" - ini to configure slave(STA)/master(SAP) role.
Change-Id: I6a06d6fdc4c7556c32ab2d28f1cbaa936b98a85b
CRs-Fixed: 2618654
The ch_params of sap_ctx->csr_roamProfile is not populated
correctly during SAP channel switching.
Fix it and send channel change event to supplicant with
correct seg0/seg1 value.
Change-Id: I7ef82c6e79b970edfee58d9960e8c6b42fa91ef8
CRs-Fixed: 2594973
Function wireless_send_event() is only present in the kernel when
wireless extensions are enabled. In order to allow the driver to build
when wireless extensions are disabled, put a wrapper around that
function.
Note that this is only a partial solution to the problem since this
means that when wireless extensions are disabled that the event will
not be sent to userspace. A subsequent effort will need to evaluate
each event to see if a cfg80211-based notification mechanism is
already in place, and if not, if one needs to be added in order to
maintain the underlying functionality.
Change-Id: Icbdddf6735bdc5ffd1ee189b5fabfa67fcce59ea
CRs-Fixed: 2621699
Currently there is logic to set the net device wireless_handlers
pointer to NULL in both hdd_deinit_station_mode() and
hdd_deinit_ap_mode(). This is unnecessary duplication of code, and
worse, this is WEXT-specific logic that exists outside the
WEXT-specific source files. In order to address these issues refactor
the logic into a new function that is exposed by wlan_hdd_wext.h.
Change-Id: I0fab5a7f35941f282ddf2e286fb12bfb8c4c7c50
CRs-Fixed: 2620818
Add proper NULL check for ht_info before accessing the structure. This
field is sent as a part of the event from FW and could be NULL.
Change-Id: I55dd7dcbe4ecdafe6a97ebcf2c7d9f08af30d8a2
CRs-Fixed: 2615175
Register tx and rx ops to send packet capture mode command and
to receive mgmt offload handler for packet capture component.
Change-Id: I70da00feff29399b98c5916eec17e26b62285db3
CRs-Fixed: 2619321
The host driver start scan request on channels in the operating
class requested in the beacon report request. Starting from first
channel all channels are scanned one after another. The scan
request is sent in correct order of the channels in operating
class, but when filtering the scan results from the scan db, the
channel freqency is not indexed properly so first channel is sent
to the filter always. Due to this, always beacon report response
has only entries from first channel from the OP class.
Populate the correct channel frequency to filter the rrm scan
result.
Change-Id: I75461a4da99be9ef215f8c16258e0e21877fe362
CRs-Fixed: 2619363
If resume and fw wakeup happens at the same time.
psoc_ctx->lock maybe doing bottom half operation for resume,
then wakeup interrupt comes on same cpu, the interrupt
handler will also acquire psoc_ctx->lock in
pmo_core_update_wow_initial_wake_up, which cause dead lock.
Using atomic for wow_initial_wake_up, so the interrupt handler
can avoid using spin_lock.
Change-Id: Id0e963a0924415e9660c57a1c1b776d3e609213d
CRs-Fixed: 2624899