Commit Graph

5939 Commits

Author SHA1 Message Date
Kris Muthusamy
a999ec4a42 qcacmn: WMI changes for rawmode open config WAR
Add WMI changes for rawmode open config WAR.

Change-Id: Ia7dd3ae6f40509d01c59413b7f3ad8410c9aa801
2018-11-14 18:51:51 -08:00
Visudha Sathurappan
f140e5cadc qcacmn: Resolve symbol errors when DA_SUPPORT is disabled
Protect calls to DA function

Change-Id: Iba79c0bf8c5ac9b31b8e568a26b553ce3a07598a
2018-11-14 16:46:21 -08:00
Pamidipati, Vijay
a59b5607c6 qcacmn: Split Tx and Rx indication handling
Add support to handle Tx completion processing and Rx processing into
different NAPI threads/contexts for Lithium DP

Change-Id: I4f5c6ef3ce969ce457e26cf3e8305df1ae782f09
2018-11-14 12:20:34 -08:00
Pragaspathi Thilagaraj
4db72ac87b qcacmn: Fix null pointer dereference in extract_sar_limit_event_tlv
When WMI_SAR_GET_LIMITS_EVENTID is received from firmware, the
function extract_sar_limit_event_tlv is called to update the SAR
limits for all the chains of each band. There is a for loop
defined to loop over each item in param_buf->sar_get_limits.
Since the param_buf->sar_get_limits could be either optionally
defined or not a part of the message at all there is a potential
NULL pointer dereference if sar_get_limits is not sent as part
of the WMI_SAR_GET_LIMITS_EVENTID event.

param_buf->sar_get_limits needs to be checked for NULL prior to
derefencing it.

Change-Id: I93c07fa8048df97c6f6960b0db6df3bbc30e23b4
CRs-Fixed: 2336928
2018-11-14 09:03:51 -08:00
jiad
b4ea80e030 qcacmn: Fix maybe-uninitialized build error
This change fixes build errors with compiler option
-Werror=maybe-uninitialized.

Change-Id: Ieff271ed61575c9e60ce73f5145fff2c2d6dfa24
CRs-Fixed: 2346019
2018-11-14 07:41:26 -08:00
Krishna Rao
8bd4f992f9 qcacmn: Remove temp_samp_msg_len and unnecessary updates to it
Remove unused variable temp_samp_msg_len from
target_if_spectral_create_samp_msg(). This variable does get updated,
but is ultimately unused. By removing it, we save processor cycles
which would otherwise be wasted on the update operations occurring for
each Spectral sample.

Change-Id: Ib5ca5598d5bee6cc15ca72e9e002239d2e76fd6c
CRs-Fixed: 2349113
2018-11-14 04:03:05 -08:00
Shashikala Prabhu
8f6703be71 qcacmn: Add support to override tid value
Add support to configure a specific tid for unicast packets derived from
multicast packets.

Set the user provided tid value when both multicast enhancement and
tid_override_en flag is set.

Change-Id: I770166a37c920a7e642c6649f918456846fb5f90
Acked-by: Shashikala Prabhu <pshashik@codeaurora.org>
CRs-Fixed: 2342717
2018-11-14 02:35:14 -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
Ruchi, Agrawal
93bcf1292f qcacmn: Take reference for peer before adding ast
Add reference for peer before adding ast entry
Reference is taken to avoid any synchronization
issue wrt to peer when adding ast entry.

Change-Id: Id3116daed84ad15eba515fedddb1146845542742
CRs-Fixed: 2335943
2018-11-13 22:44:40 -08:00
Vignesh Mohan
a7acb00fcb qcacmn: Add cfg to enable/disable NOL subchannel marking
Add entry in cfg enumlist for radio to enable or
disable NOL subchannel marking.

Change-Id: Ia989e1fa99303eecd1ed85fd957405d90acc418a
CRs-Fixed: 2334258
2018-11-13 15:43:13 -08:00
Venkata Sharath Chandra Manchala
443b9b4da2 qcacmn: Print HP/TP Stats
Extend txrx_stats to print current HP/TP
Status for UMAC rings.

Change-Id: I50332f7507fdf1841dee51f0b1e97ef4ea68f04f
CRs-Fixed: 2332191
2018-11-13 06:56:15 -08:00
chenguo
6609dbbddd qcacmn: Remove an obsolete lock in host to target layer
After gerrit#2176826, which the change ID is
I615f0e4d6de150924b99b3444cebf00571ddc088, HTCCreditLock is
removed from creation. However, the destroy of this lock is
missed. Need to remove this obsolete lock completely.

CRs-Fixed: 2345978
Change-Id: I4b67aa2a12befcd94a04a8a6acd43e31ae0b837f
2018-11-13 01:11:49 -08:00
Dustin Brown
75e3c8cc7e qcacmn: Panic on uninitialized lock destroy
Currently, if an uninitialized QDF mutex or spinlock is destroyed, the
issue is logged in dmesg. This has allowed multiple uninitialized
spinlock issues to merge into mainline and remain unnoticed for several
weeks. Instead, if an uninitialized lock is detected during destroy,
panic.

Change-Id: I929cfa3f295cb1e76634653bbd4aec3a6f1268b7
CRs-Fixed: 2347717
2018-11-13 01:11:46 -08:00
jiad
095729006f qcacmn: Fix switch-unreachable build error
This change fixes build errors with compiler option
-Werror=switch-unreachable.

Change-Id: I731267648689a4c68fe1822c7b5f89918923cdcf
CRs-Fixed: 2346023
2018-11-13 01:11:43 -08:00
Abhiram Jogadenu
f5caeedb42 qcacmn: Fix memory leak in ucfg_scan_init_chanlist_params
Regulatory channel list is allocated memory while initializing,
but isn't being freed. This change will free the list and fix
the possible resource leak.

Change-Id: I4603271697603cdacbfe4cbf327faad8ce582715
CRs-Fixed: 2348117
2018-11-12 21:23:09 -08:00
jiad
5728624cee qcacmn: Fix misleading-indentation build error
This change fixes build errors with compiler option
-Werror=misleading-indentation.

Change-Id: I7dbafdc60f0e143c33e4abe12dfd2dbc2d7756cd
CRs-Fixed: 2346027
2018-11-12 21:23:05 -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
Priyadarshnee S
8a2dbfbc78 qcacmn: Export a reg api to be used by other modules
Export ucfg_reg_get_current_chan_list so that it can be called from
offload layer.

CRs-Fixed: 2339508
Change-Id: I808ccbab7d95d3e896def298bdf7f38f298d97fc
2018-11-11 23:12:48 -08:00
Venkata Sharath Chandra Manchala
0ce469e330 qcacmn: Add pktlog handler to process rate events
Add dp_msg_pktlog_handler to handle
rate events from the firmware.

Change-Id: I24776caa3b78ec38d94421f243ec72d81ee3102d
CRs-Fixed: 2340639
2018-11-11 09:27:32 -08:00
Pranita Solanke
58e34a3e10 qcacmn: Check non-zero Rx RSSI during vdev/pdev aggregate
Do not update vap level rssi value if rx rssi is zero.

CRs-Fixed: 2339560
Change-Id: I91409903f29c41fb17aaca77dc1ab266077c58bf
2018-11-11 04:47:50 -08:00
Visudha Sathurappan
1d0ab1991c qcacmn: Move hal files to DA directory
Spectral Kbuild changes are made since hal
files are moved to a direct attach directory.

Change-Id: Icb2b45dd7a285ccd88fba3b06dc98efd5b89a0c1
2018-11-10 22:50:04 -08:00
Visudha Sathurappan
669c33eea5 qcacmn: Move lmac files to DA directory
* Since LMAC files are moved to direct attach directory
  specral Kbuild changes are made.
* Spectral DA objects are conditionally compiled.

Change-Id: I8724af4b9511539566485e91e05de88c8eb0435c
2018-11-10 22:50:01 -08:00
chenguo
5f7f131a9d qcacmn: Fix double destroy operation about mon_lock
mon_lock is created only once for each PDEV, but is destroyed
according to the RXDMA number. Need to ensure this lock is freed
only once.

CRs-Fixed: 2338573
Change-Id: I3630dd0a3aaf808fa910cd40864042bf23ecc79e
2018-11-09 19:43:35 -08:00
Mohit Khanna
efdae7f1bf qcacmn: Reduce log level in hal_srng.c
Functions hal_update_srng_hp_tp_address and hal_set_one_shadow_config
are dumping a lot of information, which is not needed.

Reduce INFO log levels to DEBUG.

Change-Id: I210cd5493d758685312b7851eb37e05ce93b6071
CRs-Fixed: 2342960
2018-11-09 19:43:33 -08:00
Bala Venkatesh
929882c3a1 qcacmn: Increase serialization command timeout
Increase the serialization command timeout for
add sta and del sta of tdls peers requests.

Change-Id: If6ba6aa1297afaea1fd86bf406dcbb6e4e461d25
CRs-Fixed: 2345425
2018-11-09 16:59:18 -08:00
Pamidipati, Vijay
b75e8108a1 qcacmn: Fix the buffer replenish ring for REO errors
Currently buffers reaped in REO exception ring handler are being
replenished into 5G MAC ring always.
Fix this by using appropriate MAC ring for replenish

Change-Id: I04f5a1179a7df4b018b6a0b435e2a0421ef534e5
2018-11-09 13:11:27 -08:00
Rhythm Patwa
8ff2fb7fa8 qcacmn: Add WMI support for configuring UL parameters
Add wmi vdev param support for UL parameters.

Change-Id: I3f742daf5691b0867c42b447c26efa640478800f
CRs-fixed: 2226303
2018-11-09 08:19:53 -08:00
Pavankumar Nandeshwar
03b0b38c07 qcacmn: Add flags to enable vow stats in firmware
Add flags WMI_HOST_FW_FEATURE_VOW_FEATURES and
WMI_HOST_FW_FEATURE_VOW_STATS which will be sent
to firmware to enable VOW stats.

Change-Id: I7829327ac21406af309f21b79f9f040687997275
CRs-Fixed: 2340765
2018-11-09 04:12:22 -08:00
jiad
4320219982 qcacmn: Fix format build error
This change fixes build errors with compiler option
-Werror=format=.

Change-Id: I98b93f776c7d58a12d93e1be3a6acf34486ddfab
CRs-Fixed: 2344756
2018-11-08 09:40:18 -08:00
Vivek
4f60ed9111 qcacmn: Log history of serialization commands
Capture the addition and removal of commands
to the serialization queues and the associated
action that resulted in queue changes.

Provide an interface to dump the commands
in either active and pending of scan or non scan
queues and the history of commands that moved in
and out of the serialization queues

Change-Id: I87291f3649f27cc1cb84709d24c0cf8403a41a65
CRs-Fixed: 2334156
2018-11-08 05:44:42 -08:00
Sandeep Puligilla
08d71d6ae5 qcacmn: Reduce VDEV manager log level
Reduce log level of VDEV manager debug messages
to avoid clogging of kernel console log.

Change-Id: I20cf6ef9d7870bb69696fa533d0351ae3c19a979
CRs-Fixed: 2342961
2018-11-08 01:30:54 -08:00
Abhinav Kumar
55229dfcec qcacmn: Possible Out of bound read in policy_mgr_get_channel_list
To prepare the channel list suggestion for a new connection,
policy_mgr_get_channel_list invokes policy_mgr_get_valid_chans to
get the number of valid channels. Driver uses returned num channel
and iterates channel list to divide the list into 2.4 & 5 GHz
lists. In case if, num of valid channel returned by
policy_mgr_get_valid_chans is greater than the maximum number of
channel supported in the channel list, QDF_MAX_NUM_CHAN(128),
possible OOB read occurs.

Validate the value of chan_index of channel list in
policy_mgr_get_channel_list against the maximum number of
channels supported in the channel list.

Change-Id: I6beb9231aaef491731557434d1ae210ac0bdb036
CRs-Fixed: 2346125
2018-11-07 21:17:43 -08:00
Venkata Sharath Chandra Manchala
f0b7fdb82e qcacmn: Remove excessive logging in tx path
Invalid status completions have already been accounted
in the counters. Remove error message for every
invalid status completion as it would lead to excessive logging.

Change-Id: I4af025f3a8731e8488d1d49799c65399a6cc9e37
CRs-Fixed: 2342963
2018-11-07 10:52:25 -08:00
Bala Venkatesh
f2e35432fe qcacmn: Send the supported channel list length correctly to FW
Currently, peer supported channel list length is updated first,
and then channel list updated by removing the DFS and invalid
channels. So, Wrong channel list length is sent to FW.

Change-Id: I1e71bdeae3d5368fbea85ae5e47e13c326e36375
CRs-Fixed: 2344729
2018-11-07 05:09:25 -08:00
Adil Saeed Musthafa
8325200db5 qcacmn: Fix for wrong packet type in monitor mode
In monitor mode, the packet type is wrongly filled radiotap header as
11n when the actual incoming packet is 11b frame.
The packet type field is common for all MPDUs and is obtained from
PPDU_END_USER_STATS and hence no need to overwrite that value from the
MPDU specific TLV in the function hal_rx_mon_hw_desc_get_mpdu_status

Change-Id: I97f96e64012636f562f7ac2e4a91b63ffc7553db
CRs-Fixed: 2333915
2018-11-07 02:58:15 -08:00
Abhishek Singh
d22c097aaa qcacmn: cleanup the unused serialization commands
Cleanup the serialization commands that are not used now.

Change-Id: I3b2dd5021476bc59669029f536e4e0b804f01555
CRs-Fixed: 2344571
2018-11-07 01:35:58 -08:00
Lin Bai
2a78c0054c qcacmn: Avoid excessive defrag log in spinlock
The excessive/unnecessary ERROR level log during defrag_flush will
cause WDOG timeout on MSM platform. Also, it will lead to the
spinlock be held too long.
Move them out of spinlock, and de-priority/remove unnecessary one.

Change-Id: I3501e0e40a268f073c80ab36abfe762a007e5672
CRs-Fixed: 2342065
2018-11-07 01:35:55 -08:00
Arif Hussain
e1a66b56e2 qcacmn: Add support for obss spatial reuse default threshold
Add support to send default offsets to firmware.

Change-Id: I5d566fbd5eb074e7aac94f793c5431734c2e0922
CRs-Fixed: 2345173
2018-11-07 00:12:24 -08:00
Liangwei Dong
a903e9330a qcacmn: Increase Max HW mode number
Increase Max HW mode Number to 3 for
dual dbs mode hw.

Change-Id: I7cf37f854027470cd1decdccc5bd2cd5919ac486
CRs-Fixed: 2340756
2018-11-06 22:40:08 -08:00
narayan
fdf921110e qcacmn: Adding wmi param as part of peer_extd_stats
Adding two members including tx sgi_count in
host peer_extd_stats structure which is received from
the fw and populated to upper layer along with adding two
members to cdp_rx_stats.

Change-Id: Id45b2d0042d01771ac74a906d72c369c3dc31394
CRs-Fixed: 2147922
2018-11-06 22:40:05 -08:00
Yeshwanth Sriram Guntuka
d8ee7699e6 qcacmn: Reduce scan time when in GO+STA MCC
Scan on STA interface is taking around 10 secs to
complete. There is a 7secs expiry time used in nl
which could result in scan results received for
the first 3secs, which are from 2G channels, to
be flushed.

Fix is to not set offchannel simultaneous feature
capability, decrease the active dwell time for 2G
channels to 40msecs and increase burst duration
to 240msecs when GO is active.

Change-Id: If014b2115048018432943d863bbe184beb498408
CRs-Fixed: 2340516
2018-11-06 22:40:03 -08:00
Adil Saeed Musthafa
ae6a73dac7 qcacmn: fill timestamp and lsig in hal_rx_status_get_tlv_info
This was added earlier but got lost during HAL code refactoring

Change-Id: I9b7acc17aa68b1a2b6bc1c7fec0c39231c84a82e
CRs-Fixed: 2339289
2018-11-06 22:40:01 -08:00
Bala Venkatesh
f327b8c30f qcacmn: Pass valid arguments to hdd_wmm_is_acm_allowed
Currently pointer of the vdev object is sent to the callback
hdd_wmm_is_acm_allowed to get the adapter. But this can't
be used to get the adapter. Instead pass the vdev id to get the
adapter.

Change-Id: I3cb2f58d09a263c77a3696a36e863cc4137c7821
CRs-Fixed: 2341799
2018-11-06 21:07:54 -08:00
Tallapragada Kalyan
887fb5d580 qcacmn: dp_peer use after free condition
there is a use after free case observed with the
recent changes to wait for a WMI WDS delete response
Basically the peer got deleted by the time we got
response for WDS delete and we are trying to access this
peer when trying to delete the AST entry from host.

Change-Id: I78215345ccd12d5bdd801fccf8d9f5cd196466de
2018-11-06 21:07:50 -08:00
Rajeev Kumar
1803278802 qcacmn: Fix excessive console logging from qdf set print level
qdf set print verbose level is using pr_info to log debug logs
and pr_info logs are logged on console hence change pr_info
to pr_debug to avoid logging debug logs on console.

Change-Id: I43ccef244c9576483f1520c0a5027ac88e0cbb07
CRs-Fixed: 2342962
2018-11-06 18:02:55 -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
Harprit Chhabada
ab6c10d3bd qcacmn: Fix OOB read in util_scan_gen_scan_entry
qdf_mem_copy() is called in util_scan_gen_scan_entry() to copy the ssid
into scan_entry using a length of WLAN_SSID_MAX_LEN. Because the length
of ssid is only checked against the maximum value this will result
in an OOB read of up to WLAN_SSID_MAX_LEN bytes.

Change-Id: I150e7c7a75e7134cab1c4abeb799578166400461
CRs-Fixed: 2341004
2018-11-06 16:16:11 -08:00
Aditya Sathish
dc949c59be qcacmn: Add CDP support for resolving RA from DA for ME6
Add support for parsing AST entries to resolve the RA for
multicast enhancement (mode 6) and enabling access of the API to
the higher layers through the use of the CDP framework.

Change-Id: I909bea86b90c22f311484c0b2653dd7623971c24
CRs-Fixed: 2333014
2018-11-06 00:22:24 -08:00