Commit Graph

529 Commits

Author SHA1 Message Date
Abhishek Singh
bfaebe3372 qcacld-3.0: Fix opportunistic timer start issue in 2x2 DBS mode
In 2x2 DBS mode once STA/SAP change channel from 2.4Ghz to 5Ghz,
policy_mgr_get_current_pref_hw_mode_ptr never return
PM_SINGLE_MAC_UPGRADE to start the opportunistic timer to switch to
single mac mode.

Fix is to check and start opportunistic timer once connection info are
updated. Also start opportunistic timer before
check for SAP to change channel as when SAP change channel it should
stop opportunistic timer and set required HW mode.
If single mac mode is required after channel switch it will start
opportunistic timer again in channel switch callback.

Change-Id: Id6bbc7ea51ba8147e517e7e7bf2b14931c95ea44
CRs-Fixed: 2419645
2019-03-24 14:54:48 -07:00
Ashish Kumar Dhanotiya
6025c701f7 qcacld-3.0: Cache supported mode of connected STA for SAP
Currently in case of SAP, supported mode of station received
in assoc request is not getting cached.

Add support to cache the supported mode of station received
in assoc request request in sta_info.

Change-Id: I9820ae2d65fc529a1ab16424f6732fd273da3ae0
CRs-fixed: 2419957
2019-03-22 13:33:34 -07:00
Jeff Johnson
4cfe6cc8b9 qcacld-3.0: sap: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within sap replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: I0f738f58e64fdf20957d57775c3570fb4ccfc9f7
CRs-Fixed: 2418389
2019-03-22 03:08:57 -07:00
Srinivas Girigowda
b8fdc643d2 qcacld-3.0: Consolidate multiple MAX_SSID_LEN to WLAN_SSID_MAX_LEN
Consolidate multiple MAX_SSID_LEN to WLAN_SSID_MAX_LEN.

Change-Id: I1764b891501c4e3371cf478c324ebcdcab319f5f
CRs-Fixed: 2419367
2019-03-20 22:09:45 -07:00
Srinivas Girigowda
cf161406dd qcacld-3.0: Use converged qcacmn macros (part 1)
Replace the existing qcacld-3.0 macros with qcacmn converged
macros.

Change-Id: Ie05f396fcd2e01cf86256f25dbc171bbdf763da9
CRs-Fixed: 2416429
2019-03-19 02:24:23 -07:00
Zhaoyang Liu
132becce7e qcacld-3.0: Fix issues about uninitialized variables
Fix issues that variables used without initialization.

Change-Id: I40d7054a719bf8a442d153beeb4c9aa38bcad373
CRs-Fixed: 2416837
2019-03-18 23:55:48 -07:00
Abhishek Singh
a0f55ea6b1 qcacld-3.0: Send HW mode change before switching channel in DBS mode
If DBS 2x2 mode is supported, to operate in 2.4Ghz the driver needs to
be in DBS mode before vdev start/restart is sent on 2.4Ghz channel.
In scenareo with gWlanMccToSccSwitchMode 4, when AP is in 5Ghz and
STA connect to any other channel in 5ghz, it force AP to switch to 2.4 Ghz
channel. Thus AP sends vdev restart without sending the HW mode change
to firmware.

Fix is to set HW mode before the AP start channel switch.

Change-Id: I2a1c176d5f3ed8cc2f62dc24c72959db1afbaae3
CRs-Fixed: 2414034
2019-03-12 08:34:52 -07:00
Srinivas Girigowda
d8697d4d00 qcacld-3.0: Replace CSR_SESSION_ID_INVALID with WLAN_UMAC_VDEV_ID_MAX
Replace CSR_SESSION_ID_INVALID with WLAN_UMAC_VDEV_ID_MAX.

Change-Id: I00e0784086805f43c7889e3708dd7026cfe52c4f
CRs-Fixed: 2412781
2019-03-11 15:53:49 -07:00
Jeff Johnson
4338caad72 qcacld-3.0: Replace typedef tSap_Event
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSap_Event typedef does not
meet any of those criteria, so replace it (and the "tp" variant) with
a reference to the underlying struct.

Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.

Change-Id: I523f8642ef81b3e35b2bb7a2801f3b734b2f5865
CRs-Fixed: 2412716
2019-03-09 02:28:46 -08:00
Jeff Johnson
04739e334c qcacld-3.0: Remove RSNAuthType from struct sap_config
The RSNAuthType field in struct sap_config is unused, so remove it.

Change-Id: Id60840b00ae30b243f46ba51a5840cb29a17dc1a
CRs-Fixed: 2411671
2019-03-08 10:47:56 -08:00
Abhishek Singh
8f4aa18225 qcacld-3.0: Fix vdev ref leak in P2P-GO during SSR
If P2P-GO is active and SSR happens the vdev ref coount taken
by sap_ctx is not released and this lead to ref count leak.

To fix this release vdev ref count for sap_ctx in
hdd_reset_all_adapters().

Change-Id: Id35247a917f3e0c3e163ea00a7a850cdf28ddd80
CRs-Fixed: 2410121
2019-03-06 16:56:17 -08:00
Jeff Johnson
93107ad75f qcacld-3.0: Rename HDD variable pStaCtx
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename HDD local variable pStaCtx to be
compliant.

Change-Id: Ief8942a12c802720d5eb2819e85eb895c6d8df40
CRs-Fixed: 2405752
2019-02-27 11:37:34 -08:00
Min Liu
0daa098737 qcacld-3.0: Handle OWE info update from hostapd
Handle OWE info update from hostapd in the following path:
HDD->SAP->SME->CSR

Change-Id: I7584fb5db036d1643bd7d56076d30a0c75008a98
CRs-Fixed: 2397009
2019-02-27 08:11:47 -08:00
Min Liu
e34708a91d qcacld-3.0: Send update OWE info event
When receiving assoc request from OWE STA, always send update OWE
info event which contains the following information:
- MAC address of STA
- RSN IE in assoc request
- DH IE in assoc request

Change-Id: I7017c5d2730e493db2472ae53d5dfa69553cfe45
CRs-Fixed: 2396925
2019-02-27 08:11:42 -08:00
Min Liu
ddd233069e qcacld-3.0: Save RSN auth type for RSN association
Save RSN auth type in related context for RSN assocoation.
Some OWE specific operation need to be done according to
this RSN auth type since we cannot tell if a STA / SAP is OWE,
WPA2 or OPEN by its auth type OPEN.

Change-Id: I17dd72c7adf1c663725ac58ce263f4408d9c967b
CRs-Fixed: 2396885
2019-02-25 18:43:42 -08:00
Pragaspathi Thilagaraj
2720d81efe qcacld-3.0: Send all assoc request IE to hostapd in SAP mode
Host driver packs only the RSN IE, WAP IE and additional IE
from association request to upper layers. With any new IE
support added on the driver, the driver has to add new structure
to csr_roam_info and pack that IE into the
tSap_StationAssocReassocCompleteEvent and pass it to higher
layers. This increases the redundancy with new IE introduced.

To facilitate hostapd to get information on all IE, pass all the
IE present in the assoc request to hostapd.

Change-Id: I1665a83de52bd67529ea026dc0c5e92cfbd51590
CRs-Fixed: 2390425
2019-02-20 07:42:04 -08:00
Abhishek Singh
b1954c63bc qcacld-3.0: Force P2PGO to SCC only if other beacon entity is active
In case SAP+P2PGO+STA interface are present, with SAP in down state
and STA in conencted state and P2PGO is started, it uses API
policy_mgr_concurrent_beaconing_sessions_running checks if multiple
beaconing interface are present to force the P2PGO to SCC or DBS
channel and as SAP and P2PGO interface are present it returns true.
Now the API to get concurrent channel get the channel of STA
which is active and thus P2PGO moves to STA channel.

Thus use the api to get channel for concurrent beaconing interface
instead of any interface to take care of beaconing interface
concurrency scenareos. With this concurrent channel will be non 0 only
if any other beaconing entity is present and in up state and thus
P2PGO will move to SCC or DBS only in case any other beaconing
interface is actually up and beaconing on a channel.

Change-Id: Ic4bacc8cc45386499c11e09e79d095e926318400
CRs-Fixed: 2395530
2019-02-15 18:28:24 -08:00
Jeff Johnson
6ed8018b5c qcacld-3.0: Remove eSAP_ASSOC_STA_CALLBACK_EVENT handling
Change Iea602a1da42d5eecafae1d00f2260f4930128f40 ("qcacld-3.0: Remove
eWNI_SME_GET_ASSOC_STAS_REQ handling") removed the logic that sent the
eSAP_ASSOC_STA_CALLBACK_EVENT event. Since this event is obsolete,
remove the handling code from SAP and HDD.

Change-Id: I49e169a1832845bac4e89cd832d72dec42d4ee09
CRs-Fixed: 2396058
2019-02-11 23:56:52 -08:00
Jeff Johnson
a7d5b54c7e qcacld-3.0: Replace typedef tSirSmeChanInfo
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirSmeChanInfo typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.

Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance, as well as to be more specific on how the
struct is used.

Change-Id: Ic9a596d05a7c4c0727264c33e865edd4a9786dac
CRs-Fixed: 2394998
2019-02-09 18:02:47 -08:00
Kiran Kumar Lokere
47d0dacaf4 qcacld-3.0: Correct the key type value in set key request
Send correct key type parameter value to crypto component in
set key request.

Change-Id: I17554a72f62e356871cb0a684a066c7d794f4d02
CRs-Fixed: 2388032
2019-02-08 17:47:56 -08:00
Abhinav Kumar
338e57d779 qcacld-3.0: Avoid VDEV restart for SAP when roaming in progress
Currently, driver allows VDEV-RESTART on SAP interface in order to
channel switch or hidden ssid connection when roaming is in progress
on STA interface. This leads to two simultaneous vdev starts or
vdev-restart in FW which causes the FW to assert.

Add changes to reject the channel switch for SAP or in hidden ssid
connection if roaming is in progress on any STA interface.

Change-Id: I1cea389021049779b5aa00145e2470cd67158edd
CRs-Fixed: 2390235
2019-02-06 17:12:36 -08:00
Jeff Johnson
21aac3a788 qcacld-3.0: Rename addIeParams
Per the Linux Coding Style mixed-case names are frowned upon, so
rename addIeParams to add_ie_params everywhere it appears.

Change-Id: Id003bf004d42d5313a932309a47bf82f228eda0c
CRs-Fixed: 2393731
2019-02-06 07:27:39 -08:00
Jeff Johnson
ecd4f21b4a qcacld-3.0: Replace typedef tSirSupportedRates
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirSupportedRates typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.

Further note the Linux Coding Style frowns upon mixed-case names
and so-called Hungarian notation, so in conjunction rename the
underlying struct to be in compliance.

Change-Id: I5007379a50223b6de85830e7ae389e65cdb8e4d3
CRs-Fixed: 2392398
2019-02-06 04:25:07 -08:00
Ashish Kumar Dhanotiya
c617106eea qcacld-3.0: Add support to cache peer capability info
Currently connected peer capability information is not getting
cached for SAP.

Add support to cache the capability info from assoc request

Change-Id: I0088bd20a98e2491f6ffb452417bc73f21e69e63
CRs-Fixed: 2392939
2019-02-05 06:29:30 -08:00
Bala Venkatesh
03b4f0cb34 qcacld-3.0: Delete the pe session only for STA role
While processing deuath notification in lim, PE session is deleted
without checking the session role. For AP case, if the deauth
notification is given to BSSID then also pe session will be deleted
and later clean up of the SAP will not be done properly.
Hence, for SAP case delete the pe session as part of del bss
response only.
Here the scenario is SAP's BSSID is blacklisted and acl command
is given via IOCTL. This triggered the deauth notification to lim,
and pe_session is deleted. Later, the del sta command is failed
because del bss has not happened and vdev delete also not done.

Hence delete pe session only for sta mode in lim_send_sme_deauth_ntf.
And return failure status for iwpriv softap.0 modify_acl command
if it is given for SAP's own mac address.

Change-Id: I2b394ae8676fe569537b416388a9566f2d35892a
CRs-Fixed: 2388404
2019-02-01 05:54:28 -08:00
Dustin Brown
b4260d5e38 qcacld-3.0: Simplify pre-cac flush prevention
Change I875c2f14ffd54272fc9ea0df1cecc6dd1171e310 introduced an elaborate
workaround to prevent the pre-cac work from flushing itself during stop
adapter. Introduce a less complicated work around by simply checking if
the current adapter is the pre-cac adapter before flushing the pre-cac
work.

Change-Id: Ib3e0716f8d088d124e960dcd724f579fb39a3d74
CRs-Fixed: 2387173
2019-01-28 01:57:10 -08:00
Abhishek Singh
d5cf22dffb qcacld-3.0: Change to include PDEV MLME component object
Changes to include PDEV MLME component object for VDEV SM.

Change-Id: I1f89e9bf5a4d5b17be7ec3c4fc52a5f8fe8f1862
CRs-Fixed: 2381858
2019-01-24 20:14:33 -08:00
Ashish Kumar Dhanotiya
aa9fdbb777 qcacld-3.0: Add support for new regulatory files
Regulatory component is getting updated to reduce the
code size based on different regulatory features. In this
process new regulatory files are getting added and some
of the files are getting removed.

To compile the newly added files update the required changes
in driver Kbuild file.

Some of the functins which are not supposed to be invoked from
outside the component directly, replace those function calls
with the appropriate wrapper functions.

Change-Id: I31a25268250b99f4f156c4f149966213746d999e
CRs-Fixed: 2373780
2019-01-23 15:14:09 -08:00
Wu Gao
eef680e4d0 qcacld-3.0: Exclude unused head file cfg_api.h
Since head file "cfg_api.h" is needn't, exclude it form these files.

Change-Id: Ic8f03b366eb9a20b153bbbafc778fab14340325a
CRs-Fixed: 2383295
2019-01-22 23:41:51 -08:00
Madhvapathi Sriram
3e6627a9f9 qcacld-3.0: Optimize schedule msg post error logging
Change-Id: Ieaddca5f141c99c42ed4a7c954dea2788e353640
CRs-Fixed: 2373015
2019-01-22 02:37:31 -08:00
Jeff Johnson
89748dc3d1 qcacld-3.0: Remove tSap_ManagementFrameInfo
Change Ib83700825112cc52dade594909bfa8993909ac29 ("qcacld-3.0: Send
management frame indication directly to HDD from PE") removed the
usage of tSap_ManagementFrameInfo. Since this struct is obsolete,
remove it.

Change-Id: Ic10c150286fe9f998884cdfcb8da2edadee7e156
CRs-Fixed: 2380771
2019-01-18 16:35:42 -08:00
Jeff Johnson
034649dbd7 qcacld-3.0: Remove requestedMCRate from tSap_AssocMacAddr
The requestedMCRate field in tSap_AssocMacAddr is unused,
so remove it.

Change-Id: If5ae0df5f84c99e3684df3cac75d32d63227d5ce
CRs-Fixed: 2380770
2019-01-18 16:35:38 -08:00
Jeff Johnson
ec828e6c62 qcacld-3.0: Remove last_radar_found_channel from tSapDfsInfo
The last_radar_found_channel field in tSapDfsInfo is unused,
so remove it.

Change-Id: I7afb516b01f5f696ea9fb9ad386daf2b0767e754
CRs-Fixed: 2380769
2019-01-18 16:35:34 -08:00
Jeff Johnson
c7429e600c qcacld-3.0: Remove ht_op_mode_fixed from struct sap_config
The ht_op_mode_fixed field in struct sap_config is unused,
so remove it.

Change-Id: Ie85a99d793c964dec493432b7680eb469a20a364
CRs-Fixed: 2380768
2019-01-18 16:35:30 -08:00
Jeff Johnson
7700a964a9 qcacld-3.0: Remove ampdu_size from struct sap_config
Change I9d05cd7b8e051c4e9e4912cf866206ae32ec293d ("qcacld-3.0: Define
data structures for new AP requirements") added the ampdu_size field
to struct sap_config. However logic to use this field was never added,
so remove the field since it is unused.

Change-Id: I183766da3af3a3e9c609ccde95a0cca561813226
CRs-Fixed: 2380767
2019-01-18 16:35:25 -08:00
Jingxiang Ge
1a16551c90 qcacld-3.0: Revert "qcacld-3.0: Check if gp_sap_ctx is empty after reinit"
This reverts commit I77708d296fb218ca53ac656f844d02f58e23d241

Change-Id: I564d7858576af09e0a0d9d89f569a7b09ce72a84
CRs-Fixed: 2381581
2019-01-16 19:35:21 -08:00
Wu Gao
aa15514706 qcacld-3.0: Change WNI_CFG_COUNTRY_CODE_LEN to CFG_COUNTRY_CODE_LEN
All WNI configurations will be cleanup based on new cfg framework, so
change Change WNI_CFG_COUNTRY_CODE_LEN to CFG_COUNTRY_CODE_LEN.

Change-Id: I786b62e2c0aff08a89fc3c8a3359e2ffb4044269
CRs-Fixed: 2380488
2019-01-14 21:47:20 -08:00
hangtian
127c953c7f qcacld-3.0: Use qdf_mem_zero for zero initialization
Use qdf_mem_zero for zero initialization.

Change-Id: Ic2b8d907623cf67a4569aaf01398c1b3a2bff707
CRs-Fixed: 2376644
2019-01-14 08:38:03 -08:00
Wu Gao
0821b0dd4c qcacld-3.0: Change WNI_VALID_CHANNEL_LIST_LEN to VALID_CHANNEL_LIST_LEN
All WNI configurations will be cleanup based on new cfg framework, so
change Change WNI_VALID_CHANNEL_LIST_LEN to VALID_CHANNEL_LIST_LEN.

Change-Id: I805be88ecdcca90cf3a19d1784bf8f8c261b6ca4
CRs-Fixed: 2379748
2019-01-13 18:45:55 -08:00
Jingxiang Ge
37d878ccb5 qcacld-3.0: Fix potential out of bound issue
Change to avoid potential out of bound issue
when unsafe channel numbers parameter is invalid.

Change-Id: I0c2cdac844c5fd644fce61d3d69fefcecdb62f19
CRs-Fixed: 2374986
2019-01-12 07:28:47 -08:00
Jingxiang Ge
b5fb05be39 qcacld-3.0: Check if gp_sap_ctx is empty after reinit
In SSR, after reinit, there is still memory leak
for gp_sap_ctx; As in multi SSR test, memory leak
detection is disabled in recovery mode, it is a
little late to get the issue moment.

Check gp_sap_ctx after stopping all adapter in
hdd_is_interface_down_during_ssr.

Change-Id: I77708d296fb218ca53ac656f844d02f58e23d241
CRs-Fixed: 2377718
2019-01-12 01:28:29 -08:00
Jeff Johnson
2d4ec97ad0 qcacld-3.0: Remove rate_set fields from struct sap_context
Change I3226438b908a96f1b1bd3c2968a0c20eef81a799 ("qcacld-3.0:
Populate correct supported rates from hostapd.conf file") removed
the logic which previously utilized the supp_rate_set and
extended_rate_set fields in struct sap_context. Since these fields
are now obsolete, remove them.

Change-Id: Id433659da18d61217b45a839aaddcfbae329143d
CRs-Fixed: 2378327
2019-01-11 13:37:00 -08:00
Jeff Johnson
a2a04c7b4c qcacld-3.0: Remove sap_roc_ind from tSap_Event
Change I83a704d3f03e9cb9e6a7420f32d609a323799a12 ("qcacld-3.0: Remove
legacy P2P codes in SAP") removed the usage of the sap_roc_ind field
in tSap_Event. Since it is obsolete, remove the field along with the
underlying struct sap_roc_ready_ind_s.

Change-Id: I6101ec7874825b8e4e2e891c3f8ae084486eef87
CRs-Fixed: 2378326
2019-01-11 13:36:57 -08:00
gaurank kathpalia
1dea75b34d qcacld-3.0: Fix channel numbers in SAP ACS 80MHZ channel bonding
currently the driver just ignore the channel numbers greater
than 165 for 80MHZ channel bonding, which results in best
channel selected as 169, 173 in 20MHZ bandwidth as the
respective channels does not support 80, or even 40 MHZ
channel bandwidth.

Fix is to assign the maximum weight to channel numbers greater
than 165, so that they do not get selected as best channel
for 80MHZ bandwidth operation.

Change-Id: I44c5073a806f39d98103681267faa317a6b6d73b
CRs-Fixed: 2375375
2019-01-10 19:42:06 -08:00
Yeshwanth Sriram Guntuka
261ac4d56e qcacld-3.0: Remove redundant logic in csr_is_valid_channel
sapDfsChannelNolList and numCurrentRegDomainDfsChannels
fields in sap dfs info is not populated and is used in
csr_is_valid_channel.

Fix is to remove the redundant logic in csr_is_valid_channel.

Change-Id: Ib98423ba910a1947a908f4a74762f82183aa89d5
CRs-Fixed: 2374080
2019-01-09 10:34:56 -08:00
Kiran Kumar Lokere
7d6e4c9dc1 qcacld-3.0: crypto convergence support for SET KEY
Make changes to the legacy code to support the
new SET KEY converged infrastructure.

Change-Id: Ic5359e3a9035ac5f2a937a9a1013fa92764cda9d
CRs-Fixed: 2358795
2019-01-08 20:24:43 -08:00
Jeff Johnson
22e2026036 qcacld-3.0: Remove vendor_ie_access_policy from sap_config
Change "I9d05cd7b8e051c4e9e4912cf866206ae32ec293d" ("qcacld-3.0:
Define data structures for new AP requirements") added the
vendor_ie_access_policy field to struct sap_config, but subsequently
no code was added which actually utilizes this field. Since it is
unused, remove it, along with the underlying enumeration.

Change-Id: I7a3661a50ef17b0452e87e0ed86c3826b3bd199d
CRs-Fixed: 2375528
2019-01-08 15:31:37 -08:00
Jeff Johnson
9661fc978d qcacld-3.0: Remove sapGetWPSPBCSessionEvent from tSap_Event
Change I9d83f66bce4ec66bc131747254a45d8b6afb5cbb ("qcacld-3.0:
Remove eSAP_GET_WPSPBC_SESSION_EVENT") removed the references
to the sapGetWPSPBCSessionEvent field in typedef tSap_Event.
Since this field is obsolete, remove it, along with the underlying
tSap_GetWPSPBCSessionEvent typedef which is also now obsolete.

Change-Id: I20dbc1635430f8148f997aeb15df4ddb7e06ceef
CRs-Fixed: 2375527
2019-01-08 15:31:30 -08:00
Jeff Johnson
a5798f1a03 qcacld-3.0: Remove typedef tChannelInfo
Change I5a07c44ca4138af5494d1a6f6e1d08158d244be2 ("qcacld-3.0: Remove
SapAllChnlList from struct sap_context") removed the last reference to
typedef tChannelInfo. Since this typedef is now obsolete, remove it.

Change-Id: Ib38c9744c9419ce91b94956b5da78cc7bcc440c5
CRs-Fixed: 2375526
2019-01-08 15:31:23 -08:00
Jeff Johnson
b382dcb420 qcacld-3.0: Remove typedef tSapChannelListInfo
Change I2c3b96e1f2ee44c9f1158108d4b5e48495222080 ("qcacld-3.0: Make
SAP open()-close() & start()-stop() symmetrical") removed the last
reference to typedef tSapChannelListInfo. Since the typedef is
obsolete, remove it.

Change-Id: I4fc7cf83f41ad0192b971513f0456cf211fabb54
CRs-Fixed: 2375525
2019-01-08 15:31:16 -08:00