Commit Graph

3308 Commits

Author SHA1 Message Date
Jeff Johnson
32bd9740ce qcacld-3.0: Replace hdd_wlan_get_freq() with converged service
Currently HDD defines function hdd_wlan_get_freq() which uses
it own static table to perform channel to frequency mapping. This
duplicates functionality provided by the converged regulatory
function wlan_reg_chan_to_freq(), so remove hdd_wlan_get_freq()
and update its only client to use wlan_reg_chan_to_freq().

Change-Id: I6fcb11b9b967ab77dcd7c8d0c1bc185ee3c18913
CRs-Fixed: 2215576
2018-03-29 23:37:14 -07:00
Dundi Raviteja
170d287f1d qcacld-3.0: Fix buf overflow in __wlan_hdd_cfg80211_update_connect_params
Currently, number of bytes being copied into keyname_nai buffer is
key_nai_length, which can be greater than FILS_MAX_KEYNAME_NAI_LENGTH.
But the size of keyname_nai is limited to FILS_MAX_KEYNAME_NAI_LENGTH,
which may cause buffer overflow.

To address this issue, add check for key_nai_length against
FILS_MAX_KEYNAME_NAI_LENGTH to ensure buffer overflow does not happen.

Change-Id: I88c89b1fef6fdb1c4bd93e0fb8f3e54634b4940f
CRs-Fixed: 2208881
2018-03-29 18:57:20 -07:00
Ashish Kumar Dhanotiya
d39c8b55db qcacld-3.0: Update correct reason code on receiving del sta
On receiving del station command, SAP is not updating the del
station reason code properly in station info.
Update the correct reason code in station info whenever a
del station or deauth station event comes.

Change-Id: I2004dc21f18682dbc7dee488e7b55bfccd0d242a
CRs-Fixed: 2178538
2018-03-29 17:32:02 -07:00
Sravan Kumar Kairam
3033844ad4 qcacld-3.0: Update SAP interface stats only for exception path
Currently sap netdev interface stats are updated even for the
IPA uc HW offload packets. This is not correct as the stats need
to be updated only for the exception packets which comes to the
host and forwarded to netdev kernel. In this change update the
soft ap interface stats only for the exception packets which
comes to host.

Change-Id: I0b017cf1d5ff74234bfee540ef37ee03c5131c48
CRs-Fixed: 2164582
2018-03-29 13:16:06 -07:00
Sandeep Puligilla
f5ccbf66e6 qcacld-3.0: Deprecate enum wmi_dwelltime_adaptive_mode
Deprecate enum wmi_dwelltime_adaptive_mode and use enum
scan_dwelltime_adaptive_mode defined in scan component.

Change-Id: I9c33b852172d9208fb8440c6dc71a12aefd717da
CRs-Fixed: 2213150
2018-03-29 06:57:42 -07:00
Padma, Santhosh Kumar
eb90a558a3 qcacld-3.0: Trigger/handle SAE using cfg80211
Add changes to trigger SAE using cfg80211 API's. Also, add
changes to handle SAE status that comes via cfg80211 ops

Change-Id: Ie113f84d4fdc927fff26b13b0e0551b92b22fd5d
CRs-Fixed: 2211041
2018-03-29 03:37:26 -07:00
Yun Park
c3e355631a qcacld-3.0: Implement DHCP START/STOP indication for SAP/P2P GO
The Data Path in the WLAN host driver needs to be sending DHCP START/
STOP indications to FW during DHCP based IP address acquisition phase
in the SAP mode.
Inspect the Tx/Rx frame, and send the notification to the FW through
WMI message.

Change-Id: Iad6308980a7158516f341b97f3baffab1e4c4bc3
CRs-Fixed: 2114816
2018-03-28 21:09:07 -07:00
Rajeev Kumar
4a70823519 qcacld-3.0: Enable auto PS timer in hdd config file
Enable auto PS timer in hdd config such that adrastea
is never stuck in full power mode.

Change-Id: I2668b7c1ba64b67bf524e449e96ec6d79a2c1676
CRs-Fixed: 2214124
2018-03-28 20:01:37 -07:00
Jiachao Wu
7bf72b44c5 qcacld-3.0: Increase hdd disconnect wait time
wlan_hdd_disconnect wait time is 5 second.
WMA_VDEV_STOP_REQUEST_TIMEOUT is 6 second.There have 1 sec gap.
Which means if timeout happend, wlan_hdd_disconnect will exit before
wma_vdev_resp_timer is invoked. wma_vdev_resp_timer will trigger SME
to invoke callback hdd_dis_connect_handler to release vdev obj ref
count.

If unload driver during the time gap, vdev cannot destory
successfully because hdd_dis_connect_handler haven't be called.

rmmod will wait for wlan_hdd_disconnect exiting then unload driver.
So increase hdd disconnect wait time. Make sure wlan_hdd_disconnect
exit after lower layer timeout and hdd disconnect handler be called.

Change-Id: I8fddae200ed675b93c0f300a9e28dbbfd3a976a6
CRs-Fixed: 2201448
2018-03-28 20:01:34 -07:00
Kiran Kumar Lokere
b04f7f89f7 qcacld-3.0: Fix the band setting in 11ac phymode update
If user configures the phymode to 11ac then band is configured
with only 5G that disables the 2.4G channels.

Instead of setting the band to 5G, enable the 5G band during
11ac phymode update if the 5G band is not enabled.

Change-Id: I4a4fa3a0bddb345e7ea73b7b36f0581644029316
CRs-Fixed: 2210359
2018-03-28 14:44:25 -07:00
Jeff Johnson
179762a2ae qcacld-3.0: Remove obsolete "change country code" callbacks
In HDD there are currenty two different callback functions which were
formerly used to synchronize country code changes with SME:
- wlan_hdd_change_country_code_callback()
- wlan_hdd_change_country_code_cb()

With the "converged regulatory" implementation these are no longer
used, so remove them.

Change-Id: I65da8160c9057383ad3ccf3b2094b4c52fcf5a47
CRs-Fixed: 2212959
2018-03-27 13:52:35 -07:00
Jeff Johnson
5fe539bd73 qcacld-3.0: Relocate stats-related APIs
Currently quite a few stats-related APIs which have no dependency upon
wireless extensions (wext) are located in wlan_hdd_wext.c. Relocate
the following functions to wlan_hdd_stats.c:
wlan_hdd_get_rssi()
wlan_hdd_get_snr()
wlan_hdd_get_linkspeed_for_peermac()
wlan_hdd_get_link_speed()
wlan_hdd_get_peer_rssi()
wlan_hdd_get_peer_info()
wlan_hdd_get_class_astats()
wlan_hdd_get_station_stats()
wlan_hdd_get_temperature()

Change-Id: I72a35f33648f20bbb2c01bb81cea409f6e80ee00
CRs-Fixed: 2212113
2018-03-27 13:52:32 -07:00
Liangwei Dong
22810e8615 qcacld-3.0: Add ini for BT/WLAN chain assignment
We need to set chainmask for BT /wlan share antenna
case, e.g:
2.4g:wlan 1x1 on chain 1, BT chain 0
5G: wlan 2x2 chain 1&0.

Add ini enableBTChainSeparation, default 0.
If enableBTChainSeparation set 1, chainmask will
be set to FW event though 2x2 case.

Change-Id: Ifc8c2c64824c793b72a7caa878f500c71f722e17
CRs-Fixed: 2206935
2018-03-27 13:52:30 -07:00
Tushnim Bhattacharyya
3b99f4b181 qcacld-3.0: Deprecate enum sir_conn_update_reason
Deprecate enum sir_conn_update_reason & use enum
policy_mgr_conn_update_reason from policy manager component.

Change-Id: Id592d5405235f29a962a2a7d8b679fa4363f556d
CRs-Fixed: 2213000
2018-03-27 07:29:09 -07:00
Bala Venkatesh
c8236ca598 qcacld-3.0: Add ENABLE_DBS_CXN_AND_DISABLE_DBS_SCAN
Added ENABLE_DBS_CXN_AND_DISABLE_DBS_SCAN option for the ini
gDualMacFeatureDisable. To enable dbs support for the
connection and disable dbs support for the scan.

Change-Id: I05c613467195fffac98e79b7e4a2991471ac1d80
CRs-Fixed: 2202919
2018-03-27 00:25:30 -07:00
Jeff Johnson
7f2c5915a9 qcacld-3.0: Refactor hdd_register_wext()
In addition to actually registering with wireless extensions,
hdd_register_wext() initializes data structures associated with the
STA's roam profile. Since roam profile initialization is independent
of wireless extensions, refactor all of the roam profile
initialization code out of hdd_register_wext(), and relocate it to
wlan_hdd_assoc.c.

Change-Id: Ibd19b02373694b169ba9c122c812a264e6b8a63b
CRs-Fixed: 2212067
2018-03-24 21:50:39 -07:00
Jiachao Wu
4584516ba4 qcacld-3.0: EID is wrong when set SAP hwmod
Correct wrong EID in wlan_hdd_set_sap_hwmode.
It should be WLAN_EID_SUPP_RATES.

Change-Id: Ic80f8b6bd32cc681ca5ae86c4cedf8435239350c
CRs-Fixed: 2204402
2018-03-24 12:06:34 -07:00
gaurank kathpalia
a398d5fb2e qcacld-3.0: Modify dwell time and DBS scan based on scan request
Update wiphy with feature to modify dwell time
and DBS scan based on scan request from cfg.

Change-Id: I23498799c05a252cbc9c9f6d50b847130dd0ceac
CRs-Fixed: 2197172
2018-03-24 02:51:13 -07:00
Jeff Johnson
eefd3be525 qcacld-3.0: Remove obsolete standard wext dispatch tables
Support for standard wireless extensions has been removed from the
driver so remove the (now empty) dispatch tables as well.

Change-Id: I274906978302c029e4132cd119cefe5b02074a55
CRs-Fixed: 2211125
2018-03-24 01:33:22 -07:00
Jeff Johnson
618764fc36 qcacld-3.0: Remove obsolete standard_wext_control INI item
Previously the INI item standard_wext_control was used to control
whether or not standard wireless extensions (wext) ioctls were allowed
to be called. But since they were obsolete, all support for standard
wireless extensions ioctls have been removed from the driver. As a
result this INI items is also obsolete, so remove it.

Change-Id: I608f54fc13df691fe3d3774fdecdbfa9e0b553f8
CRs-Fixed: 2211124
2018-03-24 01:33:20 -07:00
Jeff Johnson
81ea01ab8c qcacld-3.0: Remove obsolete SAP support for SIOCGIWFREQ
At one time the predecessor to the current driver was managed via
wireless extensions, but now the driver is managed by cfg80211. The
SAP implementation of SIOCGIWFREQ should no longer be used, so remove
it.

Change-Id: I2d0205a854c6216ef36274954027c3d383deea39
CRs-Fixed: 2211123
2018-03-24 00:32:44 -07:00
Jeff Johnson
adfcc89a0f qcacld-3.0: Remove obsolete STA support for SIOCGIWNAME
At one time the predecessor to the current driver was managed via
wireless extensions, but now the driver is managed by cfg80211. The
STA implementation of SIOCGIWNAME should no longer be used, so remove
it.

Change-Id: Ic2c5d20fe3837d0481b4ef2f936e22c6ba867ec8
CRs-Fixed: 2211122
2018-03-24 00:32:42 -07:00
Jeff Johnson
980e6a1922 qcacld-3.0: Remove obsolete STA support for SIOCGIWRANGE
At one time the predecessor to the current driver was managed via
wireless extensions, but now the driver is managed by cfg80211. The
STA implementation of SIOCGIWRANGE should no longer be used, so remove
it.

Change-Id: I428e350e43cae5b8a67e8edfedc156102d9d7e3c
CRs-Fixed: 2211121
2018-03-23 23:25:29 -07:00
Jeff Johnson
fe2a28beda qcacld-3.0: Remove obsolete STA support for SIOCSIWCOMMIT
At one time the predecessor to the current driver was managed via
wireless extensions, but now the driver is managed by cfg80211. The
STA implementation of SIOCSIWCOMMIT should no longer be used, so
remove it.

Change-Id: Id5bceb081666f5f396765ac01ab6d4ee532719b5
CRs-Fixed: 2211120
2018-03-23 23:25:26 -07:00
Jeff Johnson
fd9928af95 qcacld-3.0: Incorporate hdd_wext_state into hdd_station_ctx
None of the data items contained in struct hdd_wext_state is actually
unique to wireless extensions(wext) -- cfg80211 also uses these data
items. Since all of these data items are now being accessed by
accessor functions, rename and relocate them to struct
hdd_station_ctx.

Change-Id: Icfdde73ed3f01fb1c48105e0728f610fe1d94717
CRs-Fixed: 2208687
2018-03-23 23:25:23 -07:00
Jeff Johnson
37ecea4381 qcacld-3.0: Update auth key mgmt semantics
Currently HDD maintains an auth key management bitmap as field
authKeyMgmt in struct hdd_wext_state utilizing bitmaps defined by
wireless.h. This current implementation suffers from the following
issues:
- The implementation is independent of wireless extensions so it
  should not use wireless.h definitons or be stored in a wext-related
  data structure.
- The name uses camelCase which is inconsistent with the Linux coding
  style.

To address these issues define a new set of bitmps along with a
properly named field located in struct hdd_station_ctx.

Change-Id: I0d1c66236f88b7e6486b2d03c3383ef38f80c134
CRs-Fixed: 2207904
2018-03-23 23:25:20 -07:00
Ashish Kumar Dhanotiya
e4e6c5b819 qcacld-3.0: Complete all wait events before shutdown
There is a race condition between complete wait events as part of fw_down
indication and wait for timeout of stop_bss_event during stop_ap.

When stop ap and SSR runs parallel, first as part of SSR, fw_down
indication comes and all the wait_events are getting set. After this
as part of SAP stop, driver is waiting for stop_bss_event which will
be never set as fw_down indication is already processed. Timeout of
stop_bss_event is much higher than the timeout of wait-for-external-
thread-completion during shutdown, hence shutdown will proceed without
setting the stop_bss_event. Now as part of the SSR, hdd_re_init gets
invoked and the memory of the hdd_hostapd_state (and as part of this
memory of stop_bss_event) is getting memset inside hdd_init_ap_mode.
After this memset the timeout of the stop_bss_event occurs and
stop_bss_event tries to access this memset memory.

To address this issue, all the events which were added in between fw_down
indication and shutdown process, should be completed as part of
the shutdown.

Change-Id: I022f125b2afc99862351407b140f2d1b72f43bc4
CRs-Fixed: 2206326
2018-03-23 04:37:33 -07:00
Himanshu Agarwal
5fb304b11a qcacld-3.0: Assign center_freq1 and center_freq2 before use
As center_freq1 and center_freq2 passed in bss start params
by hostapd are not stored in sap_config, center_chan derived
in sap_ch_params_to_bonding_channels() is coming 0. And so BSS
start failed.

Store center_freq1 and center_freq2 in sap_config in
__wlan_hdd_cfg80211_start_ap().

Change-Id: I3a5869c2d8488a5bd272762b8dab67b340d72817
CRs-Fixed: 2193663
2018-03-22 01:58:50 -07:00
Sravan Kumar Kairam
983a445b37 qcacld-3.0: Move IPA SMMU functions to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy HDD IPA SMMU functions to the
IPA component.

Change-Id: I3ac5ebe87cc48913f3e8e075e60737e78664f861
CRs-Fixed: 2177925
2018-03-21 18:57:34 -07:00
Sravan Kumar Kairam
5214f65bf9 qcacld-3.0: Move IPA WLAN event handler to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy HDD IPA WLAN event handler to
the IPA component.

Change-Id: Ia53adce7ef29eea747f288fa074f96a84e47925d
CRs-Fixed: 2177925
2018-03-21 18:57:30 -07:00
Sravan Kumar Kairam
1309e7eaf5 qcacld-3.0: Move IPA UC offload initialization to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA UC offload initialization to
the IPA component.

Change-Id: I221a11e7f8aa2459918f87c6b043d4682e05cb04
CRs-Fixed: 2177925
2018-03-21 18:57:23 -07:00
Sravan Kumar Kairam
858073b1f9 qcacld-3.0: Remove legacy IPA code from HDD
As part of converged driver model remove IPA from
HDD and create a new IPA CLD component. Remove the
legacy code from the HDD.

Change-Id: Id4691e0f490c2f9bd9ccc8d5225be32002a5df9e
CRs-Fixed: 2177925
2018-03-21 18:57:20 -07:00
Sravan Kumar Kairam
271fab287a qcacld-3.0: Move IPA stats and debug info API to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA stats and debug info  APIs to
the IPA component.

Change-Id: Ieb68a1579986c835f66c84e5e3b7aa2a4004383d
CRs-Fixed: 2177925
2018-03-21 18:57:17 -07:00
Sravan Kumar Kairam
9e99e9a9f9 qcacld-3.0: Move IPA set perf level API to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA set perf level APIs to the IPA
component.

Change-Id: Idbbab9cc6885b6acf1cd40d432a236f0629c8dff
CRs-Fixed: 2177925
2018-03-21 18:57:14 -07:00
Sravan Kumar Kairam
d01b445db4 qcacld-3.0: Move IPA setup and initialization to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA setup and initialization code
to the IPA component.

Change-Id: I63717eb2601c569131c6642f7330e4182e604424
CRs-Fixed: 2177925
2018-03-21 18:57:08 -07:00
Sravan Kumar Kairam
4af61cf612 qcacld-3.0: Create IPA CLD component
As part of converged driver model remove IPA from
HDD and create a new IPA CLD component. Add files for
IPA core, dispatcher and target_if. Define IPA related
public and private structures.

Change-Id: I8848331edc7dd878f9fc51ef9f5e311ad91ed70b
CRs-Fixed: 2177925
2018-03-21 18:57:03 -07:00
Jeff Johnson
f908cd0cad qcacld-3.0: Use roam profile accessor in wlan_hdd_wext.c
Update wlan_hdd_wext.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: I0b7998f674fae9b021b2f5c4d5911b930ed40a39
CRs-Fixed: 2207896
2018-03-21 16:08:45 -07:00
Jeff Johnson
eb21475834 qcacld-3.0: Use roam profile accessor in wlan_hdd_scan.c
Update wlan_hdd_scan.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: I0aec410024263a2f44b79cbcb5f49b3347a5b46f
CRs-Fixed: 2207895
2018-03-21 16:08:35 -07:00
Jeff Johnson
a0c1ca7751 qcacld-3.0: Use roam profile accessor in wlan_hdd_power.c
Update wlan_hdd_power.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: I1d7be21fa5bec21f9502e7c078360d72fc426a6d
CRs-Fixed: 2207894
2018-03-21 16:08:25 -07:00
Jeff Johnson
641839e239 qcacld-3.0: Use roam profile accessor in wlan_hdd_nan_datapath.c
Update wlan_hdd_nan_datapath.c to use the recently introduced roam
profile accessor function hdd_roam_profile().

Change-Id: I442aa7a4ea62f8a5105ed7d7783394f883d5f215
CRs-Fixed: 2207893
2018-03-21 16:08:14 -07:00
Jeff Johnson
025618cb1a qcacld-3.0: Use roam profile accessor in wlan_hdd_main.c
Update wlan_hdd_main.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: Idfb20fbf55c45051e8e67d6a2a746e44c5176ff3
CRs-Fixed: 2207892
2018-03-21 16:08:05 -07:00
Jeff Johnson
8313b9dfdd qcacld-3.0: Use roam profile accessor in wlan_hdd_ioctl.c
Update wlan_hdd_ioctl.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: I6a535f56ed93ebbeb77d3b23f21562e8cd1beb1e
CRs-Fixed: 2207891
2018-03-21 16:07:53 -07:00
Jeff Johnson
2b89f8b8bd qcacld-3.0: Use roam profile accessor in wlan_hdd_hostapd.c
Update wlan_hdd_hostapd.c to use the recently introduced roam profile
accessor function hdd_roam_profile().

Change-Id: Ieb772ec0b851d9a036f01f5002f35033c628d8db
CRs-Fixed: 2207890
2018-03-21 16:07:42 -07:00
Jeff Johnson
20227a9fa2 qcacld-3.0: Use roam profile accessors in wlan_hdd_cfg80211.c
Update wlan_hdd_cfg80211.c to use the recently introduced roam profile
accessor functions.

Change-Id: I7170a1c8c3d499fd84c5187ea5f3097c5c566c35
CRs-Fixed: 2207889
2018-03-21 16:07:33 -07:00
CNSS_WLAN Service
e503affb69 Merge "qcacld-3.0: Use roam profile accessors in wlan_hdd_assoc.c" into wlan-cld3.driver.lnx.2.0 2018-03-21 12:37:25 -07:00
CNSS_WLAN Service
54ec46409c Merge "qcacld-3.0: Introduce hdd roam profile accessor functions" into wlan-cld3.driver.lnx.2.0 2018-03-21 12:37:23 -07:00
Jeff Johnson
844eec7fc8 qcacld-3.0: Use roam profile accessors in wlan_hdd_assoc.c
Update wlan_hdd_assoc.c to use the recently introduced roam profile
accessor functions.

Change-Id: Ie74414bf0038ae8f12e18c8bc13de48c3e37f8a5
CRs-Fixed: 2207888
2018-03-21 12:07:08 -07:00
Jeff Johnson
57e0751622 qcacld-3.0: Introduce hdd roam profile accessor functions
Currently the roam profile associated with an adapter, along with two
accessory buffers, are located within the adapter's hdd_wext_state
structure. However the roam profile is independent of wireless
extensions (WEXT) support, so there is a plan to relocate these
structures. In order to facilitate this relocation first introduce
accessor functions.

Change-Id: Ifdec89d3b529eb50042b08b31615854791024e4d
CRs-Fixed: 2207887
2018-03-21 12:07:04 -07:00
Poddar, Siddarth
762c5475b6 qcacld-3.0: Send NUD diag event when ARP tracking is enabled
Send NUD failure event to diag only when ARP tracking
is enabled, otherwise ignore.

CRs-Fixed: 2178801
Change-Id: I9296df8461671f46d6d90c510a6d47c0d3c13d5c
2018-03-21 05:57:43 -07:00
Dustin Brown
a2868623a0 qcacld-3.0: Use logging wrappers for HDD logs
Several logs are using QDF_TRACE with QDF_MODULE_ID_HDD directly.
Migrate these calls to the hdd_* logging wrappers instead.

Change-Id: I191014f0fd1ae55db71393655d96407ffa5953cb
CRs-Fixed: 2209514
2018-03-20 20:02:12 -07:00