커밋 그래프

428 커밋

작성자 SHA1 메시지 날짜
gaurank kathpalia
684b158cfd qcacmn: Change return type in case of simultaneous scan
Currently the driver returns EINVAL, instead of EBUSY if
the driver encounters a case of simlutaneuos scan, and
DBS scan is disabled for user space, and thus it may lead
to failure of OBSS scan, which can further lead to SAP
fail.

Fix is to return EBUSY intead of EINVAL, so that hostapd
can try to get the scan module perform a scan, which can
increase the probablity of SAP bringup.

Change-Id: I798e3d1ad0f62a5240603b4344963cb3ee637c13
CRs-Fixed: 2403499
2019-03-08 09:12:37 -08:00
Abhishek Singh
7062efab4c qcacmn: Fix Connection issue when AP change from hidden to non-hidden
If AP change its status from hidden to broadcasting SSID in its beacon
kernel drop the beacon entry as its confusing. Now during connection
driver try to update the entry in kernel and it fails and as kernel drop
the beacon the connection fails.

To fix this detect if AP changed its ssid type from hidden to
broadcasting and unlink the old bss from kernel in that case.

Change-Id: I10ec42749ebcd2ddea23f7f3a94d862124df156d
CRs-Fixed: 2410430
2019-03-07 20:47:10 -08:00
Arun Kumar Khandavalli
330e6c306d qcacmn: Update the offloaded packets enum from upstream
Update the enum qca_wlan_vendor_attr_offloaded_packets
with the one present in the hostapd's qca-vendor.h

Change-Id: I510d91ab55705f6eed7e676fcda9c469e5c72aca
CRs-Fixed: 2404707
2019-03-06 06:51:21 -08:00
Jayachandran Sreekumaran
203cf9052f qcacmn: Add new vendor attribute for preferred channels list
Add new vendor attribute for preferred channels list with weight
value and a flag to indicate how the channels should
be used in p2p negotiation process.

Change-Id: I7b7926bf2aa714be51a8c28e619bbe426d9d2a4c
CRs-Fixed: 2405321
2019-03-04 07:30:24 -08:00
Varun Reddy Yeturu
09a3b065f9 qcacmn: Fix WEP functionality in converged set key
Fix WEP security mode issues in converged set key.

Change-Id: Idd4071c8aef141cb45db9006c5773a94b352879a
CRs-Fixed: 2400864
2019-03-03 22:25:23 -08:00
Harprit Chhabada
f054557850 qcacmn: replace kernel version condition with if defined
replace kernel version condition in osif_akm_type_crypto_mapping
and osif_cipher_crypto_mapping with ifdef.

Change-Id: I1148bb29c212b82b0a644900b0b77bd6d74bc31f
CRs-Fixed: 2379763
2019-02-27 20:55:01 -08:00
Pragaspathi Thilagaraj
17810df306 qcacmn: Add support for FT SAE and FT Suite-B
Previously host driver only supports initial SAE and Suite-B
authentication types and roaming to SAE AP is blocked. The
802.11 specification has introduced the Akm suite 00:0F:AC:9 for
FT-SAE and 00:0F:AC:13 for FT Suite-B akm type. Add support for
FT-SAE and FT-Suite-B.

Extend the enum wlan_auth_type to include WLAN_AUTH_TYPE_FT_SAE,
WLAN_AUTH_TYPE_FT_SUITEB_EAP_SHA384. This enum wlan_auth_type is
the new implementation for akm type in converged scan module
corresponding to the legacy eCsrAuthType enum.

Add changes in scan module filter to support FT-SAE and
FT-Suite-B authentication suites be added to filter->auth_type.
csr_scan_get_result() will translate the legacy eCsrAuthType
to wlan_auth_type and push it to the filter->auth_type.

Change-Id: I74d7b0be74d33ced5d3e528032aec6e057a75ff3
CRs-Fixed: 2400683
2019-02-27 09:56:03 -08:00
Qun Zhang
af8a081505 qcacmn: Add vendor subcmd/attribute to check firmware state
Add the support to allow user space applications through cfg80211
vendor command to check if wlan firmware is alive or not.

Change-Id: If8346537eea6fe5c4978f6bc973e8d7b420557d9
CRs-Fixed: 2399493
2019-02-25 20:13:32 -08:00
Akshay Kosigi
1726ae21c5 qcacmn: Add API to update cmn vdev mlme structures
Add API to update cmn vdev mlme structures,
with the addition of new members to the new mlme
vdev structure,new api's are required to update
those members which will be subsequently used the
new mlme target if layer to send commands to the firmware

Change-Id: I9618613c0ad00f78003cd32951b30b631934ba71
2019-02-24 20:04:41 -08:00
Ashish Kumar Dhanotiya
38a0c9fe44 qcacmn: Send STA authorized status to supplicant for AP
Currently there is no support from driver to send STA authorized
event to supplicant.
Use QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES vendor command to
send STA authorized event to supplicant.

Change-Id: I46416949f04dd28a1713cbebf1f7d0e84b5efda2
CRs-Fixed: 2175481
2019-02-22 06:56:47 -08:00
Madhvapathi Sriram
409d19924e qcacmn: Remove error log for qdf_mem_malloc in os_if files
qdf layer already has the error trace

Change-Id: I4ff1fa2a7e261aecd715fd2c8ae68e6e843f1118
CRs-Fixed: 2376427
2019-02-11 02:29:59 -08:00
Kiran Kumar Lokere
b4d634fbf2 qcacmn: Fix compilation issue with crypto set key
Fix compilation issue with crypto set key feature.

Change-Id: I82d8220a9fea1f9e48338baa74307c124c98e784
CRs-Fixed: 2381329
2019-02-08 15:40:27 -08:00
Pragaspathi Thilagaraj
522a2a90bd qcacmn: Move PNO related structures under compiletime flag
Move all the PNO related structures and CFG items under
compile time flag "FEATURE_WLAN_SCAN_PNO"

Change-Id: I0decb3e0a7cf009ce18ef08eae05734962f6f8c7
CRs-Fixed: 2382997
2019-02-08 04:03:44 -08:00
gaurank kathpalia
b170fa8000 qcacmn: Reject scan after a max number of scans are received
Currently the driver enques any number of scans it receives
from the NL, or vendor scan path, which can lead to lower
throughputs of the connected profile ( any vdev ), as
antennas would be used by the MAC for scanning, and if
the number of scans are too much, this will lead to a
bad user experience.

Fix is to have a max check of number of scans, and then only
enque a particular scan request.

Change-Id: Iacdb1294ff5e7e20cd30dd328c6ea2b6f7899cda
CRs-Fixed: 2392883
2019-02-06 17:12:55 -08:00
gaurank kathpalia
0affa64a1c qcacmn: Add debug RL log in cfg layer
Add debug RL log in cfg layer to rate limit the
excess logs.

Change-Id: If4d18bfa45bb4011172896488de168950a14db67
CRs-Fixed: 2392876
2019-02-06 17:12:52 -08:00
Pragaspathi Thilagaraj
9d9a3c492c qcacmn: Refactor scan related ini items
Refactor the following scan related ini items to scan module:
CFG_ENABLE_MAC_ADDR_SPOOFING - ini to enable/disable scan mac
randomization
CFG_SCAN_AGING_TIME - configure scan entries aging time.

Previously these values are populated in hdd and passed to
scan module through ucfg_scan_update_user_config() function.
With new cfg infra, the scan module can directly get these
values from cfg component.

Change-Id: I0dcbd8253ae46387dd44e68c86f0622f279ba501
CRs-Fixed: 2378985
2019-02-05 18:01:22 -08:00
Edayilliam Jayadev
d4b7e3b572 qcacmn: Populate spectral capability and send via cfg80211
Populate Spectral capability structure with scaling parameters
from extended service ready event parameters. Send the spectral caps
via cf80211 interface.

CRs-Fixed: 2379652
Change-Id: Id0372bdd40843c2101df32d2e71920027a24909f
2019-02-05 04:02:20 -08:00
Ashish Kumar Dhanotiya
d163a896ef qcacmn: Avoid variable size array
There are couple of instances in driver where variable sized arrays
are getting used which are giving compilation issues on kernel-4.19.

To resolve this issue, replace static array with dynamic memory
allocation.

Change-Id: Idb12386265d03db5c857039b692a82ccdf227836
CRs-fixed: 2386880
2019-01-31 19:58:42 -08:00
gaurank kathpalia
94ac668ff6 qcacmn: Disable simultaneous scan based on ini
Currently the driver allows simultaneous scan irrespective
of the dual mac feature ini config, which can cause
connect latency.

Fix is to disable the simultaneous scan if the dual
mac config ini is configured to disable DBS scan.

Change-Id: I332284880c04955a8ae2ff19eae10313f240d9ae
CRs-Fixed: 2385027
2019-01-31 00:08:17 -08:00
stonez
2c6f4d1906 qcacmn: Add a vendor attribution to transfer evm information
User layer need to get evm info of each groups of antenna.
Host first get this info by WMI command and then transfer it
to user layer with attribution QCA_WLAN_VENDOR_ATTR_CHAIN_EVM
in netlink.

Change-Id: I66b745b0fd1052b0c75d45376334e5d08d35ae10
CRs-Fixed: 2381139
2019-01-25 01:05:53 -08:00
Nirav Shah
7dd1429dab qcacmn: Properly featurize QCA_WIFI_FTM_NL80211
Properly featurize QCA_WIFI_FTM_NL80211.

Change-Id: I7bb2ce1c84c46582b87ffcd7fa5b582a9fdec271
CRs-Fixed: 2384335
2019-01-23 21:46:37 -08:00
Pragaspathi Thilagaraj
cc3af93f48 qcacmn: Converge PNO related ini items to scan component
Add basic infra to move the following PNO  to converged scan
component:
CFG_ENABLE_DFS_PNO_CHNL_SCAN 	 CFG_PNO_SCAN_SUPPORT
CFG_PNO_SCAN_TIMER_REPEAT_VALUE	 CFG_PNO_SLOW_SCAN_MULTIPLIER
CFG_PNO_CHANNEL_PREDICTION	 CFG_TOP_K_NUM_OF_CHANNELS
CFG_STATIONARY_THRESHOLD	 CFG_CHANNEL_PREDICTION_FULL_SCAN_MS
CFG_ADAPTIVE_PNOSCAN_DWELL_MODE	 CFG_SCAN_BACKOFF_MULTIPLIER
CFG_MAWC_NLO_ENABLED	         CFG_MAWC_NLO_EXP_BACKOFF_RATIO
CFG_MAWC_NLO_INIT_SCAN_INTERVAL	 CFG_MAWC_NLO_MAX_SCAN_INTERVAL

Change-Id: I81bdbd917969fc8a73e6e5359ca69f78acdf723c
CRs-Fixed: 2357605
2019-01-23 15:14:34 -08:00
Abhishek Singh
0c1dedb899 qcacmn: Add support to acquire wake lock during user scan
Acquire wakelock to handle the case where APP's send
scan to connect. If suspend is received during scan, scan will be
aborted and APP will not get scan result and will not connect.
eg if PNO is implemented in framework.

Fix is to avoid the system suspend by taking the wake-lock
during scan. Added INI wake_lock_in_user_scan to control this.
The INI is disabled by default.

Change-Id: I62fdbbcbc6f049cb4e36e774d5a417600a2dfa86
CRs-Fixed: 2381622
2019-01-22 12:40:20 -08:00
Qun Zhang
84da07f17e qcacmn: Avoid double free in wlan_cfg80211_sched_scan_start()
In wlan_cfg80211_sched_scan_start() in the case where
wlan_cfg80211_is_chan_ok_for_dnbs() returns failure,
"req" is freed both at the point where the test occurs
as well as at label "error". Since label error provides
centralized cleanup for all of the error cases,
remove the free at the point where the test occurs.

Change-Id: Ibde90c58d76d1db48ee3f12c251be5eaa2b68c7b
CRs-Fixed: 2372789
2019-01-22 02:37:47 -08:00
Abhishek Singh
e88c0e8ffa qcacmn: Refactor the prints for rx management frames
Refactor the prints for rx management frames. Do not print beacon,
probe resp and probe req frames in txrx module.
Also remove the beacon print from wlan_cfg80211_inform_bss_frame.

Change-Id: I1dbfcec1614b9465d97c010fa4c386f3a1612f5f
CRs-Fixed: 2381796
2019-01-17 10:49:15 -08:00
Kiran Kumar Lokere
bd60ad37c2 qcacmn: QCA vendor commands to configure HE +HTC and OMI Tx
Define QCA vendor command attributes to configure HE +HTC support and
HE operating mode control transmission.

Change-Id: I6249a23ab0d0b9a82210c749dfd6bd53fb697c51
CRs-Fixed: 2377769
2019-01-16 00:12:06 -08:00
Abhishek Singh
00f80b6094 qcacmn: fix out of bound access of memories in wlan_cfg80211_scan
In wlan_cfg80211_scan the number of ssid, ssid length and number of
channels are not checked for max size of array and thus can lead to
Out of bound access of memories.

Fix is to add bound check before copying the params.

Change-Id: Ie6d4e546fb9c884d5988493b611ef7b217f0a95c
CRs-Fixed: 2375217
2019-01-13 11:26:48 -08:00
Kiran Kumar Lokere
25531c4717 qcacmn: Add support for SET KEY convergence
Make changes to the cmn driver to support SET KEY
convergence feature

Change-Id: I17b5f368a1f735eb394ea70f9b61cc033c3eb20a
CRs-Fixed: 2358796
2019-01-08 18:21:17 -08:00
Yeshwanth Sriram Guntuka
c4a14ea149 qcacmn: Add host support for db2dbm RSSI changes
Add host support for db2dbm RSSI changes. Firmware
indicates this capability when underlying hardware
has RSSI reporting feature. Based on this capability
host will know if firmware sends SNR or RSSI. If no
capablity is present then host will convert SNR to
rssi using a fixed offset of -96. If capability is
present host will directly use the rssi as it is.

Change-Id: I9058f16c6280d466feb96cf88a8a0d8cd7b02032
CRs-Fixed: 2364025
2018-12-24 03:33:04 -08:00
Nachiket Kukade
30ed5c4456 qcacmn: Add support for the new NAN EXT vendor command
As part of the NAN Discovery DBS support, new vendor command
- QCA_NL80211_VENDOR_SUBCMD_NAN_EXT - has been defined that
can carry the binary blob encapsulated within an attribute
and can carry additional attributes to enhance the NAN command
interface. Add the related definitions to support this command.

Add definitions to support the new NAN EXT vendor command.

Change-Id: I83c12c7512066434f8974619e1d953ac78d3a40d
CRs-Fixed: 2339032
2018-12-18 10:13:08 -08:00
Edayilliam Jayadev
83da2273d9 qcacmn: Add Spectral bin scaling parameters as attributes
Add Spectral scaling parameters as vendor attributes to
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO
vendor subcommand.

CRs-Fixed: 2368187
Change-Id: I212515782c052dca52be1c17f2ec28878554fdb6
2018-12-18 07:46:19 -08:00
Wu Gao
8e0f32b161 qcacmn: Remove TDLS component and related files from hostcmn
TDLS component used in CLD only and needn't in hostcmn. So there
is requirement to move it from hostcmn to CLD. This change removes
policy mgr related files/codes from hostcmn.

Change-Id: Ifeaf1447e74f83a17072d08c4a0ff62a13e91518
CRs-Fixed: 2361584
2018-12-13 02:38:03 -08:00
Wu Gao
9c68825b0b qcacmn: Remove P2P component and related files from CMN
P2P component used in CLD only, and needn't in hostcmn. So move P2P
component from hostcmn to cld. This change remove P2P related/codes
files from hostcmn.

Change-Id: I351ee153588bbcdb62041b4626370d451a3f56bb
CRs-Fixed: 2361487
2018-12-11 17:26:12 -08:00
Bala Venkatesh
ad2b2af274 qcacmn: Trim operation classes to max supported in tdls_extract_params
Operation classes supported can be controlled by user, which can
be sent greater than the max supported operations. This results
in stack overflow in change station command for TDLS sta.

Add check to validate operations supported param given by user
and if it exceeds max supported value, set it to max supported
value.

Change-Id: Idd3a35e38b091546a17d7ec6329f19429e5c289c
CRs-Fixed: 2361464
2018-12-10 11:11:06 -08:00
Sourav Mohapatra
040e9df4a8 qcacmn: Fix rx_rate population in upper layers
Presently the rx rate is not being populated in the upper layer.

Populate the rx rate in the upper layer via the callback function
get_station_stats_cb

Change-Id: I4729bebd56d550152b0af41017a8c9bd5fb5f187
CRs-Fixed: 2359955
2018-12-05 19:01:45 -08:00
Nachiket Kukade
2b5448d685 qcacmn: Remove NAN component and related files from CMN
NAN will not be needed in CMN codebase, to reduce the
unnecessary lines of code all the NAN related files have
been merged into CLD. Remove all those files from CMN,
remove NAN related API's and structures from init-deinit,
target if and lmac components.

Remove NAN component and related files from CMN.

Change-Id: I8fa22b84aff30cfbb7a8cd0a573acf6e0a9d8744
CRs-Fixed: 2338061
2018-12-03 15:18:11 -08:00
Abhishek Singh
fda72d751c qcacmn: Use objmgr API to get 1st vdev from pdev
If Vdev id is not present driver tries to get vdev with vdev id 0
from pdev. Vdev with vdev_id 0 might not be present on pdev so use
objmgr API wlan_objmgr_pdev_get_first_vdev to get the first vdev.

Change-Id: I2ae0d6056709339a8167582ec327269aa84c93f4
CRs-Fixed: 2349699
2018-11-15 05:11:12 -08:00
Min Liu
2fa0775090 qcacmn: Use vdev instead of pdev as parameter
For the case that there is leakage of vdev due to incorrect reference
count usage, and another vdev for the adapter is created, get ref of
vdev by mac address might get the incorrect vdev object since both vdevs
will have the same mac address and the leak one will be first matched
since it is created first.

To address this issue, use vdev pointer in adapter instead of pdev as
input parameter of related functions.

Change-Id: I855497358b5dabf3fc5c0f71a859dd7cae1b450a
CRs-Fixed: 2312155
2018-11-15 01:38:30 -08:00
Alok Kumar
db0d42384f qcacmn: Add vendor event to update TCP parameters
Currently, TCP params are configured through cnss-daemon.

Add vendor event to configure TCP params through Wi-Fi HAL.

Change-Id: Ifb81b810f0fb830515fb4558d016778083323b5a
CRs-Fixed: 2348945
2018-11-14 01:10:55 -08:00
Arunk Khandavalli
2131523a2b qcacmn: Return success during the sched stop request
In a scenario wherein after the sched_scan_start there is a system
recovery and previous pending sched_scan request is lost and during
the sched_scan_stop driver is returning error.
Because of which __cfg80211_stop_sched_scan will not
clear “rdev->sched_scan_req” blocking further sched_scan requests.

Return success in the event that the driver does not have any pending
sched scan to flush.

Change-Id: I6aba88ce033c59ebae54ca792e241a17b649ad73
CRs-Fixed: 2340653
2018-11-12 01:23:52 -08:00
Kiran Kumar Lokere
7b5131b757 qcacmn: Add test config attribute for action frame tx in TB PPDU
Define new test config attribute to configure action frame
transmission in HE trigger based PPDU.

Change-Id: Iad53381ec75303ba0717292b1cff94e94cda3de5
CRs-Fixed: 2322602
2018-11-06 16:16:20 -08:00
Kiran Kumar Lokere
82ba870f2d qcacmn: Define test config attribute to configure HE SU PPDU Tx
Define new test config attribute to configure HE single user
PPDU transmission.

Change-Id: I4539ead98f31d0f0c4dee0534f6a8f29b8bd86cc
CRs-Fixed: 2322595
2018-11-06 16:16:17 -08:00
Kiran Kumar Lokere
fd7bd58138 qcacmn: Define test config for HE OM control config
Add a new wifi test config QCA vendor attribute to configure
HE operating mode control field bandwidth and number of
spatial streams.

Change-Id: Ibe70d28329353e48c7bb323ab367c63be9706038
CRs-Fixed: 2320749
2018-11-06 16:16:14 -08:00
Frank Liu
f846d94d79 qcacmn: Fix potential resource leak when post msg in TDLS
Fix potentail memory leak when post message in TDLS module:
1. Add flush callback to hanlde memory free and release reference count;
2. Check the return status when post message and free the resource for
failure case.

Change-Id: I0a693ccb5704509a4220f26e024ce8c6c823890c
CRs-Fixed: 2341652
2018-11-05 16:15:24 -08:00
Liangwei Dong
cc8676b6a8 qcacmn: Action frame random mac addr tx support
1. Send add random mac addr rx filter WMI command
to target
2. Add/Del the active random mac addr entry
3. Clear random mac addr from target if not active

Change-Id: I9dcbdc20b76d9865da7a8db6ee013bf5e44e4407
CRs-Fixed: 2322097
2018-10-26 10:39:34 -07:00
Min Liu
e6403310ab qcacmn: remove time-consuming debug log
print format "pS" in module will call module_address_lookup in
kernel, which will disable preempt. This could result in some
performance issues, like block rt task vsync_retire_work and
then cause janks.

Change-Id: Ic334490b607d2fcee9eede2a0175c0f92cfc7ffd
CRs-Fixed: 2304391
2018-10-23 08:11:53 -07:00
Abhishek Singh
383ec70e7c qcacmn: Fix the return type of wlan_cfg80211_scan
In success scenarios wlan_cfg80211_scan return the qdf status without
converting it to os return status.

Convert the qdf status to os return status before returning in
wlan_cfg80211_scan.

Change-Id: Iee0503191aca371634c9dae9daf15f5aadfe7e2e
CRs-Fixed: 2334591
2018-10-17 19:37:34 -07:00
Yeshwanth Sriram Guntuka
17f7ea9f26 qcacmn: Fix incorrect NDP ids in NDP end request
NDP ids copied from NDP instance id array for NDP
end request does not use nla_data to copy the ids
resulting in incorrect data getting copied.

Fix is to use nla_data for NDP instance id array to
copy the ids.

Change-Id: I74795367a5c5a57f42cb1a67ece9cebfeb259b71
CRs-Fixed: 2328245
2018-10-06 00:01:36 -07:00
Edayilliam Jayadev
2256850e61 qcacmn: 160 MHz/80p80 support for gen III Spectral
For generation 3 spectral reports for the 80 MHz segments
come as part of different events. To deal with this a
state machine is added to report handler. Noise floor
value of the lowest chain in the chain mask is populated
in the SAMP message.

CRs-Fixed: 2236331
Change-Id: Ie24426449cf8503c9d7f7c30ca617a6697ca2b5e
2018-10-05 02:14:07 -07:00
Yeshwanth Sriram Guntuka
d3ceb840a7 qcacmn: Release vdev ref in os_if_ndp_end_ind_handler
NAN vdev ref count incremented as part of end_ind handler
is not released which will result in the nan vdev not
getting physically deleted.

Fix is to release nan vdev ref in os_if_ndp_end_ind_handler.

Change-Id: I31a32fa241fb9e86d3a64d490722bc42905970c4
CRs-Fixed: 2325580
2018-10-04 14:05:43 -07:00