Commit Graph

19218 Commits

Author SHA1 Message Date
Jianmin Zhu
c310b00031 qcacld-3.0: LFR2 failed for stuck in ROAM_DEINIT
With Change-Id: I02f207cdde9d8fb68cd91fab07572baa9e7ac50d,
Ini roam_trigger_bitmap is only initialized when LFR3 enabled.

In LFR2 case, without disconnect, roam_trigger_bitmap is set as
0, vdev roame state is stuck in ROAM_DEINIT for 0 bitmap, can't
switch to ROAM_INIT and ROAM_RSO_STARTED any more, can't enable
roam scan offload in F/W,  so no roam scan and better AP event
is reported to host from F/W even RSSI low or beacon miss
happens.

change-Id: I95cb6c892a67816cf47c8dada9b542ae6aefe7f3
CRs-Fixed: 2662880
2020-04-21 14:04:30 -07:00
Kai Liu
5a3d4987fa qcacld-3.0: pass supported device id list to platform driver when loading
Wlan driver is built to support different chipset, while on QC platform
function driver and device probe happened in CNSS platform driver,
so when loading wlan driver, need parse supported id list to platform
driver to check if this wlan driver can be loaded in current platform.

Change-Id: I91e87ffa32d77e2bab15fca09514cdefb1075c71
CRs-Fixed: 2644233
2020-04-21 14:04:18 -07:00
nshrivas
95dfaed58c Release 5.2.0.182I
Release 5.2.0.182I

Change-Id: I13a6bf642414a07bdde4bf88a6f46e51a5745997
CRs-Fixed: 774533
2020-04-21 07:54:28 -07:00
Abhishek Ambure
716952641d qcacld-3.0: Update max tx pwr allowed received from fw
Wlan firmware updates "max tx pwr allowed" to host in vdev start response
event and roam sync indication event. Host uses this value to update
power constraint ie in assoc request and TPC query response.

Host updates "max tx pwr allowed" value to firmware after association
completion, so that firmware uses the same max power to transmit mgmt and
data frames.

Change-Id: Ifd8d47fd830bd02bdde2633c22ea82820adf73a0
CRs-Fixed: 2652690
2020-04-21 07:54:28 -07:00
nshrivas
2ddc9adecb Release 5.2.0.182H
Release 5.2.0.182H

Change-Id: Icf9d128dd455f7cf2b1fd5e63ba225e0a7693cbe
CRs-Fixed: 774533
2020-04-21 01:45:54 -07:00
Utkarsh Bhatnagar
03701c359a qcacld-3.0: Cleaning up duplicate variable lteCoexAntShare
Replacing all occurences of mac_context->lteCoexAntShare
with mac_context->mlme_cfg->gen.as_enabled

Change-Id: I8c86d1d082446e9dc63fc35d478b2e59768dae95
CRs-Fixed: 2665255
2020-04-21 01:45:53 -07:00
nshrivas
175ed11161 Release 5.2.0.182G
Release 5.2.0.182G

Change-Id: Iaa645969701f2520ff26ddcaaf6dfd26e228604f
CRs-Fixed: 774533
2020-04-20 22:30:45 -07:00
Will Huang
4a2a2e6fda qcacld-3.0: Add EID=195 for probe response
CERT test case VHT-4.2.16h will check VHT Transmit Power Envelope IE
in both beacon and probe response frames, we only have it in beacon
frame.

Change-Id: Ie2447fa7affdf8211a46877e0d8b0e41796f0cc3 removed TPE IE
from add IEs and add TPE IE to beacon template, so need add EID=195
to probe response template for target and lim sending probe response
frame for host.

Change-Id: I649f722db552223d2daf912980db0652b9120f63
CRs-Fixed: 2661422
2020-04-20 22:30:45 -07:00
nshrivas
9551ef7235 Release 5.2.0.182F
Release 5.2.0.182F

Change-Id: I9f2610ee671e003738748f4e755d8f97ba3e72bd
CRs-Fixed: 774533
2020-04-20 19:19:44 -07:00
Arun Kumar Khandavalli
04dd442ed6 qcacld-3.0: move to the new pld uevent for the hang data
New pld uevent is added for the hang data. Move to the new uevent
and send the data to userspace upon the reception.

Change-Id: I24360c4171f4b26dc2bce719f06317ecc0316738
CRs-Fixed: 2665593
2020-04-20 19:19:44 -07:00
Mohammed Siddiq
0865e3866f qcacld-3.0: Add code to handle hang event data via ICNSS_UEVENT_HANG_DATA
Add code to handle hang event data via ICNSS_UEVENT_HANG_DATA
uevent.

Change-Id: Ic423b47177922bbb6634d2ad143f93cd1961dda7
CRs-Fixed: 2665604
2020-04-20 19:19:28 -07:00
nshrivas
3f7c4bf3f4 Release 5.2.0.182E
Release 5.2.0.182E

Change-Id: I4f5389e98e5ea43f6ee81c33052ec17bd0c737fc
CRs-Fixed: 774533
2020-04-19 22:03:43 -07:00
Sourav Mohapatra
0ee5697aeb qcacld-3.0: Rectify mac address validation check
In function hdd_dis_connect_handler, before calling ucfg_ipa_wlan_evt,
the driver validates the mac address being passed. Currently this
validation is not done properly and valid mac address are marked as
invalid.

Replace the incorrect validation API with the correct one.

Change-Id: Ia6bee986089bc0f0defe94ede1d093210bc47034
CRs-Fixed: 2664190
2020-04-19 22:03:43 -07:00
nshrivas
5a10ab54ce Release 5.2.0.182D
Release 5.2.0.182D

Change-Id: I1f4e0c57c54333fe89b5b04056bb1ababd2ca027
CRs-Fixed: 774533
2020-04-19 15:26:21 -07:00
Utkarsh Bhatnagar
77f65f02ba qcacld-3.0: Remove dual_mac_feature_disable
dual_mac_feature_disable isn't used in the module.
Hence, Removed from mac_context and csr_config_param.

Change-Id: If85fdbc93b8bfafd6dea694efc5847aa4d5abc42
CRs-Fixed: 2666569
2020-04-19 15:26:21 -07:00
nshrivas
76048c0977 Release 5.2.0.182C
Release 5.2.0.182C

Change-Id: I43881588665929432a9f835764cfc25966be5894
CRs-Fixed: 774533
2020-04-19 07:00:29 -07:00
Pragaspathi Thilagaraj
ecec2d5b28 qcacld-3.0: Don't send RSO update after receiving set pmksa command
When set_pmksa command is received from userspace, the internal
pmk table is updated with the new bssid entry and the pmk is saved
to the session. Additionally this update triggers an RSO update
command to the firmware which causes the use of stale pmk for
single pmkid case, in which the BSS capability of SAE single pmk
will be known only after parsing the beacon/probe received in the
roam synch indication.

So donot send RSO update on receiving set pmksa command.

Change-Id: I25419fbc3061ab963ccf3228b3681c83773a7963
CRs-Fixed: 2659055
2020-04-19 07:00:28 -07:00
nshrivas
67a40617b6 Release 5.2.0.182B
Release 5.2.0.182B

Change-Id: I85935a7dff728571d4c553b7c548967533108a08
CRs-Fixed: 774533
2020-04-19 04:05:55 -07:00
Utkarsh Bhatnagar
7fd7efd5ee qcacld-3.0: Use qdf_mem_malloc_atomic to process beacons
Use qdf_mem_malloc_atomic to allocate memory while processing
beacons to avoid delays.

Change-Id: I5cdbf02302e599559c4b90273912a81308e0e73a
CRs-Fixed: 2665830
2020-04-19 04:05:55 -07:00
nshrivas
432d711970 Release 5.2.0.182A
Release 5.2.0.182A

Change-Id: Ib6a0c522d7623539d3c9f3a3f4cdf47679822a03
CRs-Fixed: 774533
2020-04-18 19:19:10 -07:00
Abhishek Ambure
79c5436094 qcacld-3.0: Increase max ndp instances per peer to 2
To allow multiple instances of NDP on single peer, limit of max ndp
instances per peer set to 2.

Thus termination of first NDP instance will not affect second NDP
connection.

Change-Id: I421b185bd344688630dbe02e97f0b047d8823abe
CRs-Fixed: 2654713
2020-04-18 19:19:10 -07:00
gaurank kathpalia
4d769c247d qcacld-3.0: Use correct hw mode switch reason
Currently the driver uses the reason code
POLICY_MGR_UPDATE_REASON_CHANNEL_SWITCH for
chanenl switch for P2P-CLI which is same
reason code used for hw mode change in case
of SAP, so after the hw mode is changed the
VDEV-SM does call the callback of SAP CSA
also.

Fix is to use a different reason code for
SAP CSA.

Change-Id: I16b0521d5a21391e642f29e86037f9eb4fd2af62
CRs-Fixed: 2663915
2020-04-18 19:18:40 -07:00
nshrivas
670a0b4e58 Release 5.2.0.182
Release 5.2.0.182

Change-Id: I12d6b4bda632b5a7bcffdbd2cf209aa6bff0b1b8
CRs-Fixed: 774533
2020-04-18 11:04:10 -07:00
Ashish Kumar Dhanotiya
1ad7188e72 qcacld-3.0: Add support to cache he operation info
Currently if station is connected in 11AX mode, AP's HE
IE is not getting updated in the cache information of the
station.

Add support to update HE operation element in the connection
info structure of the station context.

Change-Id: I214d6cec22525788e9ce21a7d832263148989715
CRs-Fixed: 2656005
2020-04-18 11:04:10 -07:00
nshrivas
1d6d66377c Release 5.2.0.181Z
Release 5.2.0.181Z

Change-Id: I1a4ee3e8b7d91a4101789d5a2f489839c9e7a2d3
CRs-Fixed: 774533
2020-04-18 08:05:48 -07:00
hqu
365520551b qcacld-3.0: Signal chan change event before cac start in chan switch
When detect radar in the process of SAP cac, SAP may choose another
DFS channel to switch and will do cac again, but still indicate
WLAN_SVC_DFS_CAC_START_IND with old DFS channel info to hostapd, it's
wrong. Issue is introduced by
'Change-Id: I0915ee78a97e5f27ce83c31cc673cb8820ae535b', due to this
change it will drop one time eSAP_CHANNEL_CHANGE_EVENT signal before
do cac start on new DFS channel, then operating_chan_freq for
hdd_ap_ctx can't be updated to new DFS channel timely.

Fix is to add one time eSAP_CHANNEL_CHANGE_EVENT signal before do cac
start in the process of channel switch.

Change-Id: I441e32e4ecd356834e66f97f2e2334966f48ec5d
CRs-Fixed: 2663539
2020-04-18 08:05:47 -07:00
nshrivas
d643e106f0 Release 5.2.0.181Y
Release 5.2.0.181Y

Change-Id: I77457a3eb576e60b4440cd3912009fd343262c1c
CRs-Fixed: 774533
2020-04-18 05:00:54 -07:00
Aditya Kodukula
f1c3387ee4 qcacld-3.0: Add a feature flag WLAN_POWER_DEBUG for power stats
Power stats is moved from debugfs to sysfs, and hence add the feature
flag WLAN_POWER_DEBUG such that this feature can be compiled out for
low memory foot print drivers.

Change-Id: Ic395f393580fcd59faa4e4676f67a39ff37bdd1a
CRs-Fixed: 2665089
2020-04-18 05:00:54 -07:00
nshrivas
25a932a57b Release 5.2.0.181X
Release 5.2.0.181X

Change-Id: Iab418fd189a48faa7033ff0c694ac23f4c5a4b6f
CRs-Fixed: 774533
2020-04-18 01:52:49 -07:00
Jingxiang Ge
5d4fbccf23 qcacld-3.0: Fix linkspeed wrong for 11ax after roaming
after roaming, the he_capble of ft_session is not set
correctly.
update this value refer previous session.

Change-Id: I92361e26a8ef28cf5a3c7981883f1ee2fa1272ff
CRs-Fixed: 2663307
2020-04-18 01:52:48 -07:00
Alan Chen
ff95ece535 qcacld-3.0: Move RTPM QoS notification inside HDD enable/disable
Runtime PM is enabled in hdd_enable_power_management(). Hence, move
PM QoS notification registration to HDD enable power management.
Similarly, move PM QoS unregistration to HDD disable power management.

Change-Id: Ifc7f280ab838dd9347095726961b6a0296626f6a
CRs-Fixed: 2665176
2020-04-18 01:52:32 -07:00
nshrivas
ea9dddbe54 Release 5.2.0.181W
Release 5.2.0.181W

Change-Id: I1136b6cd7afd3dd9426ee4edc9966ab6475c8bfd
CRs-Fixed: 774533
2020-04-17 17:24:22 -07:00
Srinivas Dasari
96b333e8a1 qcacld-3.0: Make max supported vdevs as 4
Currently, number of vdevs required can be configured through
the ini param gNumVdevs.
Firmware can accommodate maximum 4 vdevs and the ini param
gNumVdevs indicates the same.
If host driver is going to create vdev for NAN, it indicates
the total no.of vdevs supported to firmware which includes the
NAN vdev.
If firmware is going to create NAN discovery vdev, host should
indicate 3 vdevs and firmware shall add 1 vdev for NAN. So decrement
the num_vdevs by 1.

Change-Id: I9a4fc9ac3bf4ce62fa3388643e047a7a1d546f4d
CRs-Fixed: 2649478
2020-04-17 17:24:22 -07:00
Srinivas Dasari
11c907f867 qcacld-3.0: Consider host and firmware capa for NAN separate vdev
Firmware advertises the NAN separate vdev capability through
the service capability wmi_service_nan_vdev and host advertises
through the ini param nan_separate_iface_support. Both of the
capabilities must be checked to support the NAN separate vdev
support. Define an API to check both the capabilities and made
the individual capability APIs static. So that individual APIs
are not accessed outside this common API. Use this API to
know the support. This is to avoid any possible misses in
checking the support.
For example, NAN vdev id is fetched from the NAN enable
response message received from firmware only based on
firmware capability in nan_handle_enable_rsp. If firmware
supports the feature and ini is set to 0, then vdev id might
be invalid as it's fetched from the NAN enable response
without considering host capability. If either firmware or
host doesn't support NAN separate vdev feature, firmware
creates vdev and it may not fill the vdev id in NAN enable
response. Host shall use NAN_PSEUDO_VDEV_ID then.
So, consider NAN separate vdev feature as supported only if
both host and firmware support.
Also fetch the firmware capability to support NAN separate vdev
when wma_rx_service_ready_ext_event is received and update to NAN
psoc priv object.

Change-Id: I50e76fbe17befb28a5262fc26f5675b67f4d21f2
CRs-Fixed: 2650354
2020-04-17 17:24:13 -07:00
nshrivas
fa9219d45e Release 5.2.0.181V
Release 5.2.0.181V

Change-Id: Id1f6fe2c7410e8f9bde4634a3d9a8d711b5c363d
CRs-Fixed: 774533
2020-04-17 10:29:26 -07:00
Will Huang
dd01f5ba00 qcacld-3.0: Fix dsc_vdev leak when create exist softap
If add softap which name already exist, wlan_hdd_allow_sap_add() will
return the exist softap, which check as valid wdev in function
_wlan_hdd_add_virtual_intf(), so we created useless dsc_vdev for this
duplicanted softap, and upper layer has no chance to delete it because
it only has unique softap.

Fix it by removing wlan_hdd_allow_sap_add() checking because kernel
will check duplicated naming when register interface.

Change-Id: Ic6ffa793a678cfdeb43ecd6c472e8a70c8a150f1
CRs-Fixed: 2661354
2020-04-17 10:29:26 -07:00
nshrivas
4ccad7446b Release 5.2.0.181U
Release 5.2.0.181U

Change-Id: Iac213c53e78334c545c08ab1454d646304083636
CRs-Fixed: 774533
2020-04-17 07:36:07 -07:00
gaurank kathpalia
70b68f8075 qcacld-3.0: MCL specific movement from cmn to cld of stats
Move the MCL specific files related to cp stats from the
cmn to cld folder.

Change-Id: I00ce5d650780f9b74c64923c8392f06222e651a5
CRs-fixed: 2552458
2020-04-17 07:36:07 -07:00
nshrivas
ff87ba521d Release 5.2.0.181T
Release 5.2.0.181T

Change-Id: I3de7d111746e8a39bf294b5352d5a82a16a0a063
CRs-Fixed: 774533
2020-04-16 21:58:06 -07:00
gaurank kathpalia
d35f19ff66 qcacld-3.0: Fill proper seg0 and seg1 values
In the API lim_extract_ap_capability the driver
depends on the value of seg0 and seg1 values
from the AP and blindly fills that and sends
that as part of vdev start params.
There can be some APs which do not fill the
seg0 and seg1 APs correctly and blindly
depending upon those values can lead to
wrong seg0 and seg1 thus leading to FW assert.

Fix is to fill the seg0 value as centre channel
of 80Mhz and seg1 as 0 in case of 80Mhz BW.
Since these are unique values and dependent
on channel number (primary) driver can fill
that directly rather than depending on the
AP for them.

Change-Id: I46f2a81b443e1d0d62eb039878add15310595c8c
CRs-Fixed: 2664405
2020-04-16 21:58:06 -07:00
Bapiraju Alla
6cddfae45a qcacld-3.0: Wait for sme_soc_set_dual_mac_config to get complete
SAP turn on is getting stuck for longer time due to vdev is getting
deleted logically before response for sme_soc_set_dual_mac_config comes.

To resolve this, add wait in wlan_hdd_update_dbs_scan_and_fw_mode_config
to confirm sme_soc_set_dual_mac_config completion.

Change-Id: I9408713fcf828d24688ecc45290d8c90a8d54c22
CRs-Fixed: 2663509
2020-04-16 21:57:48 -07:00
nshrivas
6132f72217 Release 5.2.0.181S
Release 5.2.0.181S

Change-Id: I01104783d2f7d64d5bca1d8e37669fdbae5579b2
CRs-Fixed: 774533
2020-04-16 19:09:06 -07:00
Rachit Kankane
a056dcf1e3 qcacld-3.0: Copy peer and radio stats correctly
Copy WMI_LINK_STATS_ALL_PEER stats and number of channels in
radio stats properly to the buffer.

Change-Id: I3219e3c46e93d43f2684ab51a2c5d98a63a3f88e
CRs-Fixed: 2649207
2020-04-16 19:09:05 -07:00
Sourav Mohapatra
4fb6737376 qcacld-3.0: Properly handle interface down in case of SSR
Presently in case there is an interface down during SSR, the request is
rejected outright. This causes the driver and the userspace to go out of
sync on the status of that particular interface.

The root cause of this issue is that while SSR is ongoing if interface
down comes, the DSC control via __dsc_vdev_can_trans rejects the interface
down citing QDF_STATUS_E_INVAL. This prevents the request to be queued and
processed later.

To fix this remove the check for driver recovering from the DSC control.

Change-Id: I9598c4606984f924d63e8c459ded0520d0824d08
CRs-Fixed: 2658597
2020-04-16 19:08:49 -07:00
nshrivas
e719329b58 Release 5.2.0.181R
Release 5.2.0.181R

Change-Id: I21757e866ce220f5fffc51160943e008c1a1020e
CRs-Fixed: 774533
2020-04-16 16:19:15 -07:00
Ashish Kumar Dhanotiya
e98592f479 qcacld-3.0: Add serialization command to get disconnect stats
Currently for SAP case on the disconnection with the
client, host driver sends get stats command for the
disconnected peer to the FW and proceeds with the peer
deletion. There is a race condition where if the peer
gets deleted in the object manager before FW sends the
requested stats in that case host driver drops the
response from the FW.

To resolve above issue send the get stats request command
in serialization before peer delete command gets serialized
which will ensure that get stats response is processed
before peer delete in the object manager.

Change-Id: I1aa4be329a06e261222c0f9dccc36e08bd6b137a
CRs-Fixed:  2656842
2020-04-16 16:19:15 -07:00
nshrivas
3bc889d5b1 Release 5.2.0.181Q
Release 5.2.0.181Q

Change-Id: Ia4e3e5177c5c9c56bb49a01c155d3add0216322c
CRs-Fixed: 774533
2020-04-16 08:17:04 -07:00
Liangwei Dong
eb4d039e1f qcacld-3.0: Reconnect to same BSS once again ifdd assoc timeout
Add INI - gActionOUIReconnAssocTimeout to configure driver
to do:
1. Driver will not send deauth to the AP after association timeout.
2. Reconnect to same BSS again if the last association failure
is association response timeout.
Default="00E04C 00 01"

The change fixes IOT issue with certain AP which doesn't
response first association request frame sometime. But the AP
would response second association request.

Change-Id: I9f7b8d14aaaaa97f08856c8b62e49b145db3ac91
CRs-Fixed: 2653877
2020-04-16 08:17:03 -07:00
nshrivas
83b3d290ea Release 5.2.0.181P
Release 5.2.0.181P

Change-Id: Icf4c2cd4ed73509216a8e69115d9a3ee15260028
CRs-Fixed: 774533
2020-04-16 03:10:40 -07:00
Sravan Goud
146c50d37f qcacld-3.0: Flush pending ipa pending events
At stop adapter flush vdev's pending wlan ipa events
and also increase the ipa resources load/unload timeout
to 500ms as current timeout of 100ms which is less taking
in to account of suspending IPA pipes, WLAN FW pipes and
also waiting separately for the RX and TX suspend ack from
the FW.

Change-Id: Ia622ab84f15089826c23502f365b11e742277ca8
CRs-Fixed: 2660807
2020-04-16 03:10:40 -07:00