Commit Graph

2220 Commits

Author SHA1 Message Date
jianmin
d85ce3cf2b qcacld-3.0: Avoid use after free in wma_delete_sta
If wma_send_msg_high_priority failed to send msg, msg body is freed,
can't access later.
Move wma_delete_sta_req_sta_mode and log to avoid use after free.
Duplicate MLME_IS_ROAM_SYNCH_IN_PROGRESS is called in 3 functions in
same stack, clean up it.

Change-Id: I28b7cc9f12902aefa37bf1345c94ec6f0b581297
CRs-Fixed: 2748407
2020-08-06 08:43:02 -07:00
Abhinav Kumar
731ad8d610 qcacld-3.0: Print roam_trigger_reason and roam_ap_info params
Print BTM BSS termination timeout value and BTM MBO assoc
retry timeout value coming from FW through
wmi_roam_trigger_reason_tlv_param tlv.

Print Blacklist reason, Source of adding AP to BL, timestamp
which indicates the time when AP added to blacklist and
Original timeout value in milliseconds when AP added to BL
coming from FW through wmi_roam_ap_info_tlv_param.

Change-Id: Iea5b8c136f83841d679b9ad06721bb0c9349b46a
CRs-Fixed: 2744250
2020-08-05 11:18:39 -07:00
jianmin
1ec4f1c8f9 qcacld-3.0: Disconnect after LFR3 roaming to different channel
vdev mlme chan info isn't updated after LFR3 roaming, so
wlan_hdd_cfg80211_get_channel get old center_freq1 from vdev mlme,
center_freq1 isn't same as center_freq for 20M channel,
cfg80211_chandef_valid return false.

Change-Id: I4037f80627d207bdf9ba60cd9c3b7be82bad81e8
CRs-Fixed: 2746246
2020-08-05 06:33:01 -07:00
hqu
ed6c27c858 qcacld-3.0: Move rso related process to connection manager [PART 4]
Add new code to implement below functions for connection manager
roam part:

Filling below WMI cmd parameters related process:
WMI_ROAM_BTM_CONFIG_CMDID
WMI_ROAM_SCAN_STOP_CMD
WMI_ROAM_PER_CONFIG_CMDID

And RSO command:
ROAM_SCAN_OFFLOAD_RESTART

Change-Id: I18480941980a55957abd48e0329fe4ef213a1243
CRs-Fixed: 2747578
2020-08-05 04:24:03 -07:00
Abhishek Ambure
687d129962 qcacld-3.0: Change HW mode after SAP channel change
After SAP switches the channel, policy manager needs to check if
the host needs to change HW mode. SAP state machine updates channel
change event to hdd to indicate SAP channel switch. Hence move logic
to change HW mode from start bss success event to channel change
event case in sap event callback.
Problem scenario:
1. DUT is in Single MAC mode by default.
2. SAP is up on Channel-1. So SAP is on MAC-0.
3. Host sets Policy Mgr Hw mode = DBS.
4. STA comes up on Channel-36. As host is in DBS mode, STA came up
   on MAC-1.
5. SAP does CSA to Channel-36 (STA’s channel). So SAP moves from
   MAC-1 to MAC-0.
6. Host sets Policy Mgr HW mode = Single MAC (As both VDEVs are on
   same band).
7. Now, SAP does CSA to Channel-11. As Policy Manager Hw mode is still
   Single MAC, SAP is still on MAC-0. So now STA (Channel-36) & SAP
   (Channel-1) are in MAC-0 doing MCC.
Fix:
After SAP switches channel, policy manager checks and changes HW mode
change in hdd sap event callback.

Change-Id: If7964057592d85a11dd77197c889a4ed77ed039a
CRs-Fixed: 2719810
2020-08-05 02:16:46 -07:00
gaurank kathpalia
324fc0b0c3 qcacld-3.0: Enhance BLM infra
Enhance BLM infra to include source,
reason for blacklist, original timeout,
received time for better debug.

Change-Id: Ia705a967a08412824063275f5073c338dabde539
CRs-Fixed: 2744402
2020-07-31 16:26:25 -07:00
Abhinav Kumar
631f7d15a1 qcacld-3.0: Print info related to WTC BTM roaming
Print info related to WTC BTM roaming coming via
wmi_roam_trigger_reason_tlv_param.

Print timestamp, which indicates the time when btm response is sent
to AP, coming via wmi_roam_btm_response_info_tlv_param to HOST.

Change-Id: I2c408527739e1e2831015dd7b959ab17299abf6b
CRs-Fixed: 2740597
2020-07-31 12:02:25 -07:00
nakul kachhwaha
dcd3e2a624 qcacld-3.0: Add weightage to valid non-pcl channels
In scenarios where p2p is going to be the first connection,
while performing group negotiation, pass up the allowed non-pcl
channels with valid weight so that supplicant can include these
channels as well during negotiation.
Passing interface mode to policy_mgr_get_valid_chan_weights and
populating the channel list based on policy_mgr_is_concurrency_allowed
api for the given mode and assign WEIGHT_OF_NON_PCL_CHANNELS for all
allowed channels.

Change-Id: I8ff08163e6490642f9c2ebd9ca08f1275a2bb1b8
CRs-Fixed: 2734756
2020-07-31 07:43:28 -07:00
Arun Kumar Khandavalli
c4ead2606e qcacld-3.0: check for firmware state during the init sequence
During the init sequnce host and firmware exchange the capability
messages, if there is any timeout driver currently induces the fatal
to debug the issues.

If the reason for the timeout is beacaue is because of firmware is
already recovering gracefully return resulting in probe failure.

Change-Id: I487aeae23db37a0ad2d991bae113b221e19a439a
CRs-Fixed: 2742638
2020-07-30 22:15:49 +05:30
Kiran Kumar Lokere
222d174cdd qcacld-3.0: Add support to inject disassoc frames
Add support to inject disassoc frames with user configured pmf
options.

Change-Id: I40df805f8d6ef62dab48477c26cb9b0fc6b17929
CRs-Fixed: 2665042
2020-07-28 15:41:05 -07:00
Subrat Dash
d17ad81d80 qcacld-3.0: Featurize qtimer sync based tsf capture
It will enable periodic capture of tsf and qtime pair.
The qtime will be used as reference for determining
instantaneous tsf.

The 'cat tsf’ command to fetch tsf will print the tsf
at that instant as well along with qtime and host time.

CRs-Fixed: 2736030
Change-Id: I11eb70d4ae710ef2bf50ebee708801fa67d0396c
2020-07-28 13:41:31 -07:00
Pragaspathi Thilagaraj
eb46090d19 qcacld-3.0: Print current RSSI of AP after roam scan is complete
In wma_get_trigger_detail_str() driver prints the roam trigger
detail for Low rssi and Periodic scan triggers, the RSSI value of
the current AP is the value before roam scan is triggered. But
the firmware considers the rssi of the current AP after roam scan
is complete to calculate the next RSSI threshold. So there could
be mismatch in the current rssi value and next rssi threshold
when roam_info->rssi_trig_data.threshold is used to print the
current AP rssi.

Use roam_info->current_rssi to print the current connected AP
rssi in the roam trigger logging.

Change-Id: Ib154bb3cbdfe13dbcdd8c8830cdafb6daefa34b5
CRs-Fixed: 2739346
2020-07-27 14:01:29 -07:00
hqu
f36840cce8 qcacld-3.0: Move rso related process to connection manager [PART 2]
Add new code to implement below functions for connection manager
roam part:
WLAN_ROAMING_IN_PROG/WLAN_ROAM_SYNCH_IN_PROG related handler.
Filling below WMI cmd parameters related process:
WMI_VDEV_PARAM_BMISS_FIRST_BCNT
WMI_VDEV_PARAM_BMISS_FINAL_BCNT
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
WMI_ROAM_SCAN_PERIOD

Change-Id: I28439393a57c72012f9de51f24050f95366294bc
CRs-Fixed: 2738353
2020-07-23 06:59:59 -07:00
Lincoln Tran
327afe4640 qcacld-3.0: Update from band_info to band bitmap
Currently the band_capabability from mlme_cfg is a bitmap over
reg_wifi_band. Update the checks so that it is compared with
a bitmap, instead of with band_info.

Change-Id: Ibad0231f1f6e5c555e6e5be5a5662fd26c549037
CRs-fixed: 2738440
2020-07-23 06:59:51 -07:00
Abhishek Ambure
6f71dff9a9 qcacld-3.0: Handle disconnect request for SA Query timeout
FW sends a disconnect request to HOST while roaming failure
through event WMI_VDEV_DISCONNECT_EVENTID per vdev id. For disconnect
reason SA query timeout in WMI_VDEV_DISCONNECT_EVENTID, add support
to handle disconnect request from FW.

Change-Id: If911b18476d021bfe62eb10b4db3c2eec2a37743
CRs-Fixed: 2736242
2020-07-22 05:33:14 -07:00
gaurank kathpalia
9f7c94b95b qcacld-3.0: Consider old peer phymode to set the new phymode
If peer phymode is not same as vdev phymode on channel switch the
peer phymode is updated with vdev phymode.

It should consider the prev peer phymode to calculate the new
phymode.

Change-Id: I33b57ad991a5899742e7aa4334089762cd325c59
CRs-Fixed: 2736158
2020-07-20 17:15:38 -07:00
Jianmin Zhu
eb5898e905 qcacld-3.0: Fix data stall after sta roaming disabled and reconnection
When reassociate, roaming is disabled by wpa_supplicant, but RSO stop
reason REASON_SUPPLICANT_DISABLED_ROAMING is ignored and roam scan mode
isn't cleared to 0 before vdev WMI_ROAM_FW_OFFLOAD_ENABLE_FLAG flag is
cleared. Then host can't receive peer unmap/map event when wlan disconnect
and reconnect, host dp peer id isn't updated, Rx frames are dropped for
peer id mismatch.

Fix: When roaming is disabled, make sure roam scan mode is cleared to 0
before vdev WMI_ROAM_FW_OFFLOAD_ENABLE_FLAG flag is cleared.

Change-Id: Ia471998cf631948d8ffa701e67fcee22eebb0fa0
CRs-Fixed: 2734351
2020-07-20 17:15:35 -07:00
Huashan Qu
7277418aa5 qcacld-3.0: Move rso related process to connection manager [PART 1]
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:

csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.

Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
2020-07-18 18:13:31 -07:00
Abhinav Kumar
68c001d157 qcacld-3.0: Process Disconnect request from FW
FW sends a disconnect request to HOST while roaming failure
through event WMI_VDEV_DISCONNECT_EVENTID per vdev id.
Fix is:
1. Process WMI_VDEV_DISCONNECT_EVENTID and issue disconnection.
2. Make WMI_VDEV_DISCONNECT_EVENTID event as wakable

Change-Id: Ic1e83aace48a3e8424f23641b0e77c66f4283587
CRs-Fixed: 2731952
2020-07-17 21:25:40 -07:00
Abhinav Kumar
c871ecddbd qcacld-3.0: Send roam triggers from vendor cmd to firmware
Userspace can configure different roam control params as
defined in qca_vendor_attr_roam_control through the roam subcmd
QCA_NL80211_VENDOR_SUBCMD_ROAM and the below attributes:
QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_SCHEME
QCA_ATTR_ROAM_CONTROL_CONNECTED_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_USER_REASON

Send value of above attribute to fw through command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID for trigger
reason WMI_ROAM_TRIGGER_REASON_BTM_WTC.

Change-Id: I17502eebab56652192164144b7ebdadb32033117
CRs-Fixed: 2729119
2020-07-16 20:05:12 -07:00
Abhinav Kumar
87a292e54a qcacld-3.0: Print BTM RSP and initial roam info in kmsg
The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the btm response.

This helps in debugging/understanding the scenario when roam
failure happens.

Print the info received related to btm rsp and roam initial
info into kmsg.

Change-Id: Icb2058eed5df3265018b3c53548d123f3a4faf4f
CRs-Fixed: 2728267
2020-07-16 20:05:07 -07:00
Abhishek Ambure
d4bf5ac73b qcacld-3.0: Cleanup sae auth timer for romaing scenarios
Host sends SAE auth retry frames if the response/ack for the previous
SAE auth is not received. In roam scenarios like roam abort, HO fail
host don't need to send SAE auth again.
Hence cleanup sae auth timer for roaming scenarios.

Change-Id: I617a61fdb4ce7b6afa66415ebc33a2ce23e3821b
CRs-Fixed: 2730888
2020-07-16 12:02:34 -07:00
gaurank kathpalia
a3c45ece94 qcacld-3.0: Modify the HE cap MCS for 160Mhz
Currently the driver intersects the 2g and 5g
capability and stores them in the HE cap variable
of the same PHY.
In the HW where a single PHY supports both 2g and
5g and with max BW support of 160Mhz, the intersection
of 160Mhz and 80+80Mhz MCS will lead to zero as 2g will
not support 160 and 80+80 BW. Hence the MCS map will be
0 for them indicating that the STA would support only
till MCS 7 and not above that which would lead to a
lower coding rate and lower QAM thus resulting in
a lower throughput.

Fix is to not intersect the MCS capability of 2g and 5g
and copy MCS directly from the target capability.

Change-Id: Ice5c426db43516b5dff5379926086b40d69f3d96
CRs-Fixed: 2732512
2020-07-16 02:05:27 -07:00
Lincoln Tran
1de7a9a643 qcacld-3.0: Update band_capability INI to use bitmap
The band_capability field is used in other places to be
a bitmap over reg_wifi_band. Update the field in wma_tgt_cfg and
wlan_mlme_generic to take the same bitmap for consistency.
Update all references to these fields to expect a bitmap as well.

Change-Id: I8abd697e2fbe02b4eadd32f3027bef7408bac2a0
CRs-fixed: 2726710
2020-07-15 01:46:30 -07:00
Srinivas Girigowda
8cf89cb514 qcacld-3.0: Replace obsolete WMA_LOGE() with wma_err()
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: Iaf11baa0f09cfb090806527184c6137f8b950aa8
CRs-Fixed: 2723709
2020-07-14 02:02:27 -07:00
Srinivas Girigowda
e0f33862ae qcacld-3.0: Replace WMA_LOGE() with wma_err() in wma_scan_roam.c
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: I3e99ae2c91d3382afe128b68ec51b13368b3f177
CRs-Fixed: 2723709
2020-07-14 02:02:21 -07:00
Srinivas Girigowda
a9ef877204 qcacld-3.0: Replace WMA_LOGE() with wma_err() in wma_power.c
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: I2846bd57e79812ebe4ce8ca51cd34581bdf4f7ff
CRs-Fixed: 2723709
2020-07-14 02:02:17 -07:00
Srinivas Girigowda
8e8ad1393c qcacld-3.0: Replace WMA_LOGE() with wma_err() in wma_mgmt.c
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: Iff73ada8b420fb66e71f45d236cc365db165eefe
CRs-Fixed: 2723709
2020-07-14 02:02:12 -07:00
Srinivas Girigowda
f986fdacc4 qcacld-3.0: Replace WMA_LOGE() with wma_err() in wma_utils.c
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: Idbb82562db1c64d05920629a2eb3f1cc4916997e
CRs-Fixed: 2723709
2020-07-14 02:02:07 -07:00
Srinivas Girigowda
e609dac563 qcacld-3.0: Replace WMA_LOGE() with wma_err() in wma_dev_if.c
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: Id5a5e41cf1c5a43bf176e0beef925959dcd8f91f
CRs-Fixed: 2723709
2020-07-14 02:02:03 -07:00
Srinivas Girigowda
a1083daa2b qcacld-3.0: Replace WMA_LOGE() with wma_err() in wma_data.c
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: I3db62e12cb1392d73045686a6157c3530568f1b2
CRs-Fixed: 2723709
2020-07-14 02:01:58 -07:00
Srinivas Girigowda
403e38b615 qcacld-3.0: Replace WMA_LOGE() with wma_err() in wma_features.c
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: I8c9492c0877a476d5a2d0420b3013dc6f18b24c7
CRs-Fixed: 2723709
2020-07-14 02:01:53 -07:00
Srinivas Girigowda
13d15035e7 qcacld-3.0: Replace WMA_LOGE() with wma_err() in wma_main.c
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: If55d52640dbe921377f1ceffed609e096f449563
CRs-Fixed: 2723709
2020-07-14 02:01:48 -07:00
Wu Gao
4e5a1591c5 qcacld-3.0: Add ini to configure max tdls peer count
Add ini "gTDLSMaxPeerCount" to configure max tdls peer count.

Change-Id: I45c287c6c9a2fa1dcebcea54fdd0fc0d8a14b064
CRs-Fixed: 2718971
2020-07-13 23:39:20 -07:00
Srinivas Dasari
d296457502 qcacld-3.0: Rename nan_disable_support to nan_conc_controlled_by_host
nan_disable_support is the firmware capability to allow host to
disable NAN. So that host can disable NAN in any unsupported
concurrencies. This was actually introduced to handle
NAN concurrencies. Rename the capability flag and corresponding
APIs across host driver to resemble the functionality.

Change-Id: I24805194fdb855040bcc518acc96459ee7cb5128
CRs-Fixed: 2729984
2020-07-11 20:32:22 -07:00
Pragaspathi Thilagaraj
eb128b5dfe qcacld-3.0: Add roam offload state machine changes
Add changes to handle transition to the 2 new states:
1. Roaming in progress: Switch to this state when roam
start notification is received from firmware.
2. Roam Synch in progress: Switch to this from RSO
STARTED state if roam synch indication event is received
from firmware. Change to this state is also allowed in
RSO STOPPED state if supplicant disabled roaming on that
vdev - to allow roam invoke to be processed.

Also query the state machine to get the roaming status instead
of using discrete flags at various layers. Clean the redundant
roaming in progress, roam synch related flags.

Change-Id: Ide20a30d9d8c20a96d8bba70367b51b8643cae09
CRs-Fixed: 2725443
2020-07-10 13:42:21 -07:00
Surabhi Vishnoi
1ce2688f28 qcacld-3.0: Add handler for WMI_VDEV_BCN_LATENCY_EVENTID
WMI_VDEV_BCN_LATENCY_EVENTID is sent by firmware when it receives
the latency IE from connected AP in beacon.

Add handler for this event and when latency_level received is ultra
low in latency IE, update request pm qos type PM_QOS_CPU_DMA_LATENCY
to level DISABLE_KRAIT_IDLE_PS_VAL to speed up CPU efficiency and
irq response. This is needed for Voice and Music products where extreme
low latency is needed while playing music and high power consumption is
accepted.

Change-Id: I3c63ef247f4f4a1add68111ef1bcee6daafd148a
CRs-Fixed: 2723205
2020-07-09 15:54:14 -07:00
Li Feng
0e6dc924e5 qcacld-3.0: Add ini entry for wow pulse configuration
qcacld-2.0 to qcacld-3.0 propagation

Add ini entry to configure wow pulse repetition count
and wow pulse init level.

Change-Id: Ic23d2ae80f6f0adef9f35bfef5a59eb0220c70ae
CRs-Fixed: 2722997
2020-07-08 06:51:42 -07:00
Yeshwanth Sriram Guntuka
c719f2d546 qcacld-3.0: Parse data stall info for appropriate trigger reason
Data stall info received as part of wmi debug msg flush
event is parsed for all reasons. Since fw populates this
info only when the reason is data_stall_trigger, in all
other cases this info would be garbage values and is sent
to userspace.

Fix is to parse data stall info only for the appropriate
trigger reason.

Change-Id: I70004e5825e67df375e9bc14c2db2a398d860c97
CRs-Fixed: 2724248
2020-07-08 04:52:25 -07:00
Pragaspathi Thilagaraj
750e889d9e qcacld-3.0: Send vdev pcl command when STA + STA roaming is active
Send Vdev pcl command on both connected STA vdev when sta+sta
roaming is enabled. Handle below cases:
1. When 1st STA is connected send PDEV pcl command for the
first sta. Set pcl_vdev_cmd_active false.
2. When 2nd STA comes up, Set pcl_vdev_cmd_active to true,
send vdev PCL for 1st sta before enabling roaming(disabled
as part of the connect on 2nd STA).
3. For second STA force dbs connection when
enable_dual_sta_roam_offload ini is enabled. Set the channels
of the 1st connected STA band as invalid and remove these
channels from the scan filter.
4. On disconnection of 2nd STA connection, clear the vdev
PCL sent for 1st STA and then send PDEV pcl command.

Also make changes to send set PCL command after roam init
is done before RSO start is done at firmware to avoid assert.
Post set pcl command from sme/csr through lim/wma/wmi to avoid
the above condition.
Disable roaming on the vdev before sending set PCL command to
avoid roaming on undesirable band & channels.

Change-Id: I6bd869015b7248fe5c5c90b6e2fa0174995be197
CRs-Fixed: 2725360
2020-07-07 16:23:06 -07:00
Pankaj Singh
aa9ab765bf qcacld-3.0: Failure to create pdev before get FW ready event received
During TDLS if SSR occurs then wlan driver is not deleting the tdls host
peer.This lead to tdls peer leak, vdev and pdev ref leak. As pdev is not
deleted after SSR new pdev create fails.

Fix is to remove tdls peer information from host driver during ssr

Change-ID: I9f4c2026821a166fbf38f658c75d93e7409141cc
CRs-Fixed: 2726083
2020-07-07 14:16:37 -07:00
Pragaspathi Thilagaraj
6b525a4f72 qcacld-3.0: Add support to compile connection manager STA+STA roam API
Enable compilation of the connection manager roam files with
Kbuild changes.
Add new API to store and retrieve the firmware scan channels at
mlme. Also add initial support to post SET_PCL command through
lim, so that it is not sent before ROAM init command.

Add changes to restrict connection of the 2nd STA to
channels on the other band of the 1st STA connected band.
This is done by filling only the allowed band channels in
the scan filters for the 2nd STA connection. If only
1 STA is active, it is allowed to connect on any band.

Add header gaurds for missed header files:
wlan_cm_tgt_if_tx_api.h
target_if_cm_roam_offload.h

Change-Id: Id2bce12b9663ed635ea46164169b088461aab870
CRs-Fixed: 2720341
2020-07-07 07:24:47 -07:00
Jingxiang Ge
99728132d7 qcacld-3.0: Fix set max power fail issue
it will always return here if find vdev in wma_find_vdev_id_by_addr,
as default value of ret is failure.

Separate lookup vdev for sap/sta mode and check return value.

Change-Id: Ic94c6b25d2a02f9e66ed469bec4cf297d696e2a8
CRs-Fixed: 2721825
2020-07-07 02:53:24 -07:00
Sandeep Puligilla
c6d0cb6ece qcacld-3.0: Incorrect phymode sent as part of peer_assoc
Incorrect phy mode sent to firmware as part of the
TDLS connection peer assoc command.

VHT phymode representation for 2G and 5G is different
and host is sending 5G VHT phymode as part of the 2G
TDLS connection peer_assoc command to firmware.

Modified phymode generation logic at WMA for TDLS
connection to populate 'WLAN_PHYMODE_11AC_VHT20_2G'
phymode.

Change-Id: I7867df7f013bc05a182e33495181a099332d1fd5
CRs-Fixed: 2719278
2020-07-06 19:30:30 -07:00
Abhishek Singh
97a9343767 qcacld-3.0: Avoid deleting peer on other vdev in case of duplicate MAC
In STA+SAP case if AP1 and STA1 have same MAC, and DUT's STA is
connected to AP1. Now when the STA1 tries to connect with DUT's SAP
peer with same mac is already present the add peer fails, but during
delete peer the DUT STA peer (AP1) is deleted instead of STA1 of
DUT's SAP. This leads to SAP deleting peer of a STA interface and
thus the SAP peer count is out of sync.

Fix is to reject any association req from STA1 if AP1 is connected
to DUT's STA. Also ad vdev check while deleting the peer in wma.

Change-Id: I448226497c7aa3c11cb9097be9c7d57eb4239900
CRs-Fixed: 2723814
2020-07-02 18:23:19 -07:00
Srinivas Girigowda
1fa6dbbc37 qcacld-3.0: Replace obsolete WMA_LOGI() with wma_info()
Replace obsolete WMA_LOGI() macro with wma_info().

Change-Id: I537751027559f09792b61131b13566c058d03a91
CRs-Fixed: 2722291
2020-07-01 07:50:45 -07:00
sheenam monga
f63c83abc1 qcacld-3.0: Consider phy mode sent by fw to get dot11 mode
Currently, after roaming only vht ie is used to get dot11 mode
which may casue issue whenever vendor vht ie is present but vht
ie is not present in beacon. Host updates dot11 mode to
11N based on missing vht ie and does not consider vendor vht but
fw considers vendor vht ie which causes different dot11 modes in
fw and host.

Consider phy mode sent by fw in roam sync event to get dot11
mode to maintain compatibility between host and fw.

Change-Id: Ie9e4cbadd84d239c6f386f296c77677b15ce0500
CRs-Fixed: 2714566
2020-07-01 00:26:07 -07:00
Abhishek Singh
fb4325a69d qcacld-3.0: Replace different struct of ssid with struct wlan_ssid
There are different version of SSID structure used in driver, replace
them with struct wlan_ssid.

Change-Id: I8a5bfdafbdc4365afccc11980633272be9c75a81
CRs-Fixed: 2721873
2020-07-01 00:25:57 -07:00
gaurank kathpalia
6ebfc3c01b qcacld-3.0: Add AP to BLM reject list
Currently the driver calls the BLM API
to add the BSSID to the reject list if
STA kickout event comes from the FW.
Now since the event comes in interrupt
context and BLM takes a mutex lock, it
is not allowed.

Fix is to change the context
and call the BLM API from lim del sta
which would execute in scheduler
thread.

Change-Id: I3c2726ea152eeeee6ae30d80388aedac631f6c39
CRs-Fixed: 2716192
2020-06-27 06:18:10 -07:00
Pragaspathi Thilagaraj
3bbb4610b6 qcacld-3.0: Introduce new ini for dual sta roaming
Add new ini enable_dual_sta_roam_offload to enable/disable dual
sta romaing feature. Enabling this ini will allow firmware to
roam on both the vdev if firmware supports dual sta roaming and
the hw is dbs capable.

This ini will be checked in the dual sta roaming offload state
machine to enable roaming on both the STA or to fallback to the
current implementation where first connected sta will have rso
enabled.

Change-Id: I04f141ac31e0f168b6f19fe878bca219a36cfae7
CRs-Fixed: 2709036
2020-06-27 06:18:03 -07:00