Commit graph

4,946 commits

Author SHA1 Message Date
Vivek
972ee331d9 qcacmn: Export cfg_psoc_parse API
The cfg_psoc_parse API is called from
a different ko in WIN and the API should
be exported

Change-Id: Idcb3aa7ee745f5942d2877df348fb77389149811
CRs-Fixed: 2256145
2018-06-13 12:31:03 -07:00
jitiphil
fcc2488d25 qcacmn: NULL pointer dereference in free_htc_bundle_packet()
Inside free_htc_bundle_packet() if the HTC packet queue
associated with a packet is NULL, a NULL pointer dereference
can occur.

Add check to verify that HTC packet queue is not NULL before
dereferencing.

Change-Id: I1965a66de74b8954fdc59733e5ef86120f4f8898
Crs-Fixed: 2232839
2018-06-13 12:30:58 -07:00
Aditya Sathish
e6168d475d qcacmn: Extend kernel version condition in i_qdf_time.h
For kernel v3.17 and above, timekeeping.h is included for
some kernel APIs such as ktime_get() but for versions prior to 3.17,
the above APIs are present in hrtimer.h.

To accommodate the usage of these APIs for older kernel versions,
include <linux/hrtimer.h> into this file for kernel versions
lower than 3.17

Change-Id: I445a1673d9067a2dd47045d6c48d73aaa239790e
CRs-Fixed: 2252563
2018-06-11 04:45:27 -07:00
Naga
54a68b5752 qcacmn: Add os_if implementation of dcs chan stats
Add change to support get API for dcs chan stats from
within cp stats component

Change-Id: I55af5d83389f34c6c7ff9a7f2a7826eb3a9f4a4c
CRs-Fixed: 2247228
2018-06-11 03:03:41 -07:00
Naga
8703c9c98f qcacmn: Add os_if implementation of atf peer cp stats
Add change to support get API for ATF peer cp stats from
within cp stats component

Change-Id: I1f7ed2e2d1c071df28f34f08d137be1302f61c36
CRs-Fixed: 2247228
2018-06-11 03:03:39 -07:00
Naga
06ef93b2c1 qcacmn: Add os_if implementation of pdev cp stats
Add change to support get API for pdev cp stats from
within cp stats component

Change-Id: Ib791a32a912b7f7e8b7c3b5ebcb3f4e64cdf1f6f
CRs-Fixed: 2247228
2018-06-11 03:03:37 -07:00
Naga
9eeb35db5f qcacmn: Add os_if implementation of vdev cp stats
Add change to support get API for vdev cp stats from
within cp stats component

Change-Id: Ice1c9d6858cbf7241791a6901db7934217bb6076
CRs-Fixed: 2247228
2018-06-11 03:03:35 -07:00
Naga
c5e9342021 qcacmn: Add os_if implementation of peer cp stats
Add change to support get API for peer cp stats from
within cp stats component

Change-Id: I81276cee57a8c28e52e82c0cbc7f58be7dbfa33e
CRs-Fixed: 2247228
2018-06-11 03:03:32 -07:00
Rakshith Suresh Patkar
81f4f19830 qcacmn: Add debug change to record timestamp
This change adds timestamp information for every memory
allocated and mapped for debugging purposes.

Change-Id: Iba8e720790b863ae11c528a02f5c32ea606560dd
CRs-Fixed: 2236213
2018-06-11 01:41:47 -07:00
Nirav Shah
c9b0931950 qcacmn: Featurize packet log
Featurize packet log.

Change-Id: Ica7d658ef65486ae77e24a11cef50291a5e82563
CRs-Fixed: 2245424
2018-06-09 02:28:11 -07:00
Amar Singhal
6cc647211d qcacmn: Add legacy code CTRY_JAPAN15 to regdb
Legacy code CTRY_JAPAN15 is still being used. Add that to
regdb as well.

Change-Id: Ibf455b31b11bf909cfba85f487c9c40816eb8959
CRs-Fixed: 2255527
2018-06-08 22:59:44 -07:00
Nandha Kishore Easwaran
372f566a59 qcacmn: Remove rx_header.h file inclusion
Remove inclusion of rx_header.h file

Change-Id: Ie585334fcfed369f2ff81b4d1d1bc16466c46c3e
CRs-fixed: 2256497
2018-06-08 20:14:15 -07:00
Varun Reddy Yeturu
27b4aef196 qcacmn: Add support to store target TWT capabilities
Add support to read the TWT services being advertised
by the target and make use of it internally in the host
at appropriate places

Change-Id: I3691622447271467d9276788574a2f2717928f83
CRs-Fixed: 2251389
2018-06-08 20:14:13 -07:00
Amar Singhal
699074598b qcacmn: Remove unused function htc_add_receive_pkt
Function htc_add_receive_pkt exposes pointer to local
variable to the caller. Since it is unused; remove it.

Change-Id: I3294fde4499a58e6872c44fd8615eff2bfb42556
CRs-Fixed: 2247626
2018-06-08 16:30:36 -07:00
Amar Singhal
f98d926bcf qcacmn: Validate the network buffer before processing
Check for potential buffer overflow and NULL ptr access
issues.

Change-Id: Iecb36530716dafa27a95a82392e97f662a7c25f0
CRs-Fixed: 2251345
2018-06-08 16:30:34 -07:00
Kiran Venkatappa
d4a55e0c77 qcacmn: Fix compilation error when FEATURE_NAPI disabled
Modify hif_update_napi_max_poll_time API to take ce_id instead of
pointer that is defined under feature flag to avoid compilation error.

Change-Id: Iec4a06e816ed1714ec5c00ecdc5a7c6d6eb217e3
CRs-Fixed: 2249802
2018-06-08 10:12:07 -07:00
Shashikala Prabhu
26d9f36f90 qcacmn: Do not print DFS error message for non 5 GHz pdev
In Repeater AP scenario, when STA vap starts scan, it calls the
registered DFS callback function to get the AP CAC status. For a
2 GHz pdev, dfs object is NULL and hence 'dfs is NULL' print is
always seen when user enables the dfs error logs.

Add non 5 GHz pdev check in dfs callback function before dfs NULL check.

Change-Id: Id087d0b126996406f2b6e1b5b34b90a12a18a890
CRs-Fixed: 2245034
2018-06-08 10:12:04 -07:00
Wu Gao
dd58f63b13 qcacmn: pmo feature flag disable
In case PMO feature flag disable, add this change. Change
WLAN_PMO_ENABLE  to WLAN_POWER_MANAGEMENT_OFFLOAD.

Change-Id: I875e568dcb239da1b86d1a76cb8cbc925bb13cde
CRs-Fixed: 2243948
2018-06-08 08:31:10 -07:00
Naveen Rawat
1883008d4c qcacmn: Fix get chain rssi stats
Fix chain rssi stats by correcting logic to extract chain
rssi stats.

Change-Id: Ifd8337abaef7f101082131e48f2ec87097317899
CRs-Fixed: 2253043
2018-06-07 12:46:58 -07:00
Lihua Liu
562c9115ce qcacmn: Add NULL check for qdf_dev in init_deinit_free_num_units()
As return of wlan_psoc_get_qdf_dev(), qdf_dev may be
NULL. Add null check in case referencing null.

Change-Id: I7e9bd54e5f4b5260f664bdd4ccee0e4267e2b81e
CRs-Fixed: 2247327
2018-06-07 10:48:29 -07:00
Sandeep Puligilla
0a341a5e92 qcacmn: Add spectral scan feature flag
Add spectral scan feature flag which can be
used to control the feature through build options.

Change-Id: Ic56416fc99b521174cccb3af27cc841bfb2ad27d
CRs-Fixed: 2244334
2018-06-06 23:49:17 -07:00
Dustin Brown
03f2ec07f7 qcacmn: Use configured value for channel_prediction
The scan component is currently using an unrelated field to populate
the PNO channel prediction enabled field sent to firmware. Use
channel_prediction instead.

Change-Id: I88b066c1b61e7ce49fcee889dfed9b1208d2862f
CRs-Fixed: 2252153
2018-06-06 20:28:36 -07:00
Orhan K AKYILDIZ
3a7669bf6c qcacmn: Rate-limit excessive logs
Customer requests some CE logs to be rate limited as logs flood
the logs space.

Rate-limit the logs.

Change-Id: I922f5a737b967a62b557715c2d74f330fa47ca06
CRs-Fixed: 2179665
2018-06-06 18:56:31 -07:00
Pramod Simha
5a03e749e9 qcacmn: Fix invalid format specifiers for kernel addr
Change format specifiers to print kernel vaddr from
%p to %pK.

Change-Id: Iccb0a4dae03f28533a6933cb6b60449315d159ee
CRs-Fixed: 2211136
2018-06-06 18:56:29 -07:00
Lin Bai
f1c577ee03 qcacmn: Cleanup defrag waitlist when removing peer
Peer's RX TID may already be added to defrag's waitlist when it is
removed. Then use-after-free occurs when waitlist be accessed later.
Remove current peer's entries from waitlist, before it is freed.

As waitlist may be accessed from two contexts, additional lock
introduced to protect waitlist.

CRs-Fixed: 2244566
Change-Id: I8f1935973372a81086e9dbd992ac771b6709a677
2018-06-06 07:39:38 -07:00
Lin Bai
b5955f0e24 qcacmn: check peer when removing from defrag waitlist
Different peer may use same TID to receive fragment msdu. To avoid
such mismatch, compare both peer and TID number when removing entry
from defrag's waitlist.

CRs-Fixed: 2246558
Change-Id: I80d81e4fa8bef3df429c2a28f2e50135e7fd225f
2018-06-06 07:39:35 -07:00
Manjunathappa Prakash
e6aba4f65f qcacmn: Add DP callbacks for flow_pool create and delete
Current lithim_dp flow pool created in wma_vdev_start, wma_vdev_start
is called for same vdev multiple times for vdev. This leads to creation
of multiple flow pools for each vdev. Instead create from policy_manager
when session become active.

Register flow pool create/delete callbacks with policy manager.
So that lithium_dp vdev flow pools are created/deleted when vdev
become active/not-active.

Change-Id: Iaf6aaece47c79c7e6f7745feaee35a6bc5cd1297
CRs-Fixed: 2231601
2018-06-06 05:49:26 -07:00
Dustin Brown
92d87f5161 qcacmn: Remove SYS_MSG_ID_MC_THR_PROBE
SYS_MSG_ID_MC_THR_PROBE is no longer used. Remove it from scheduler.

Change-Id: I23504da35778a54404e57df27ff4fa9100fa0cf3
CRs-Fixed: 2250404
2018-06-05 15:57:50 -07:00
Wen Gong
daa9515da8 qcacmn: Add extscan feature flag
Add config flag to enable / disable extscan feature

Change-Id: I6303836226aa2cdcaf3a680d9ce36f2490fde615
CRs-Fixed: 2243749
2018-06-05 06:01:45 -07:00
c_cgodav
f2a954e493 qcacmn: Add command to set ACS noise floor threshold value
Add iwpriv command for setting the ACS noise floor threshold value

Change-Id: Ia3eca81243ff7aa03e7d42a0af23e06c7fdc1d1d
2018-06-05 04:07:29 -07:00
Tushnim Bhattacharyya
0dd6eb531b qcacmn: Reduce log level to debug for tdls
Reduce the log level for tdls related logs from info to debug.

Change-Id: I0de4d0b4ae78a5b1c72c975d4d928cee7c21970f
CRs-Fixed: 2252980
2018-06-04 15:03:55 -07:00
Jeff Johnson
a66ede604e qcacmn: Replace reference to typedef cds_context_type
To align with the Linux Kernel coding style typedef cds_context_type
is in the process of being removed, so replace the reference in epping
with a reference to the underlying struct.

Change-Id: Ifdc5bca8d7aa97bf7dc06238c4f9fddc304a0d05
CRs-Fixed: 2250663
2018-06-04 13:59:01 -07:00
Jeff Johnson
03f91cce40 qcacmn: Remove legacy tQDF_* definitions
Previously legacy definitions tQDF_GLOBAL_CON_MODE and
tQDF_ADAPTER_MODE were renamed to have converged semantics.  However
since these were defined in a common project, and since not all
references could be simultaneously changed, legacy definitions were
left with the expectation that they would be removed when all
references to the legacy definitions had been updated.

All of the legacy references have now been updated, so remove the
legacy definitions.

Change-Id: I21775c1f5a8ab1868c1ce27edce90acf5a1aa962
CRs-Fixed: 2245250
2018-06-04 13:58:58 -07:00
Tushnim Bhattacharyya
5539b45b88 qcacmn: Initialize reg_cap in init_deinit_populate_phy_reg_cap
Initialize local array reg_cap in init_deinit_populate_phy_reg_cap
to avoid accessing uninitialized fields in the array.

Change-Id: I9afb8d47cc12b3d1626aa64a52f9583d45df5f34
CRs-Fixed: 2232822
2018-06-04 12:11:10 -07:00
Rajeev Kumar
f0e1361efe qcacmn: Do not take PSOC ref count during PSOC create notification
Do not take a common object ref count during common object create
notification because until common object destroy notification is
not received the ref count will not be released and in this case
ref count will never be released becasue object destory notification
will never come. takign ref coutn from object create notification
will always lead to object leak.

Change-Id: Iab7da602ef2d627866c3353b978eaa63749b62dd
CRs-Fixed: 2252274
2018-06-04 10:12:37 -07:00
Rajeev Kumar
1239566fc1 qcacmn: Add numeric values to UMAC component id
Add numeric values to UMAC component id for better code
readability and easier offline debugging.

Change-Id: I10d438e68588a756eff05abc7933e78c3e7dd128
CRs-Fixed: 2252908
2018-06-04 10:12:35 -07:00
Jinwei Chen
15da8a56d7 qcacmn: fix tx desc allocate from freed pool issue
The avail_desc is not set to 0 when the tx desc pool is
freed, later if still try to allocate tx desc by judgement
of avail_desc, panic happens.

Change-Id: Ia4565da1caa6898c6d4293e2658cf4ccf89563fa
CRs-Fixed: 2246328
2018-06-04 00:55:39 -07:00
Amar Singhal
aa6deb6c22 Revert "qcacmn: Use the right index while accessing ipv6 array"
This reverts change-Id I38eb1d3be2840bfbb5fdc9c72606ce.
Zero_comp value can be 0 also; so revert the change.

Change-Id: I7ab10c20c74d005009f435d483d39e138687a547
CRs-Fixed: 2233854
2018-06-03 23:39:40 -07:00
Zhu Jianmin
da1d4517f4 qcacmn: Check chip capability when enable AP+AP
Check capability of dbs, mcc and scc on single band when enable
AP+AP, then same driver code can support different chip and
firmware.
Add wmi_service_dual_beacon_on_single_mac_(mcc/scc)_support

Change-Id: I505747122504b2a89813e7bdfcd27dc07539f39e
CRs-Fixed: 2214237
2018-06-02 10:26:19 -07:00
Yun Park
c8a48dbe8f qcacmn: Remove ipa_add/del_hdr_proc_ctx from QDF
Remove unused IPA API ipa_add_hdr_proc_ctx and ipa_del_hdr_proc_ctx
from QDF.

Change-Id: Iffe79a040ae68e817433416f9f59b23d9029fbdf
CRs-Fixed: 2242429
2018-06-01 19:44:48 -07:00
Zhang Qian
eb5dc5bd68 qcacmn: Add timeout for BMI message exchange
qcacld-2.0 to qcacmn propagation

Currently there is no timeout for BMI message exchange.
If HW interface is stuck, kernel thread for driver loading
will be blocked.

Change-Id: Ia7039f2939cf39af605a8ebec3278c5e1685bfbe
CRs-Fixed: 2228298
2018-06-01 18:24:29 -07:00
Rhythm Patwa
a6ba9eefb4 qcacmn: Add support to parse MU-EDCA IE from beacons
Made changes to add support for parsing MU-EDCA IE from beacons.

Change-Id: I6e9b76c82f9048858df3fe0c259182b5df070f30
CRs-fixed: 2247879
2018-06-01 14:54:05 -07:00
wadesong
0b79d037ff qcacmn: Add support for ACS diag event
Add APIs for ACS diag event:

- EVENT_WLAN_ACS_REQ
  ACS request event indication

- EVENT_WLAN_ACS_SCAN_START
  Indicates the diag event for ACS scan start request

- EVENT_WLAN_ACS_SCAN_DONE
  Indicates the diag event for ACS scan done

- EVENT_WLAN_ACS_BEST_CHANNEL
  Indicates the best channel has been selected after ACS

- EVENT_WLAN_ACS_CHANNEL_SPECTRAL_WEIGHTCHAN
  Indicates a diag event for ACS channel weight evaluation result

Change-Id: I508449c597caddba14a49aa9cf5da671b80e5bc4
CRs-Fixed: 2238687
2018-05-31 19:23:14 -07:00
Naveen Rawat
2d39710f9b qcacmn: Protect wifi_pos global psoc object
Protect wifi_pos global psoc object with spinlock.

Change-Id: I5a250061b482fd2699bebb34c7eac3bd649831f7
CRs-Fixed: 2235825
2018-05-30 15:51:51 -07:00
Krunal Soni
cd192eccc8 qcacmn: Pass the arg by reference while calling sme_pdev_set_pcl()
While calling sme_pdev_set_pcl() API, driver is passing the argument
by value. The size of the argument is 280 bytes which is not good
design.

Pass the argument by reference instead of passing it by value to make
design simple.

CRs-Fixed: 2238293
Change-Id: I92849fb125fe864c1c7c7977bce392a7bcfe4121
2018-05-30 13:57:23 -07:00
Srinivas Pitla
77e179103b qcacmn: Remove lock free option in object manager iterate APIs
Object manager iterate APIs are provided with an option to decide
lock protection by the caller, as that is leading to race conditions
in SMP scenarios.

Locks are made default and handled possible deadlock scenarios,
handlers can take any object lock as required

Change-Id: I74b5d9d7440bc48b2ec2918c3b4ddd7057f3ac48
CRs-Fixed: 2238529
2018-05-30 07:09:09 -07:00
Wen Gong
583a3b1b18 qcacmn: Featurize dbglog_host
Featurize parsing support for WLAN firmware logs in WLAN host driver

Change-Id: I94a75a0ab09f086209298bdd4870df78e9733a3f
CRs-Fixed: 2228370
2018-05-30 01:42:30 -07:00
Pramod Simha
6417448381 qcacmn: Fix format specifier for printing kernel addr
Change the format specifier to print kernel
virtual addr from %p to %pK.

Change-Id: If87dc3b2bea4154ed2e077a70b258f92a0276aa2
CRs-Fixed: 2213180
2018-05-29 13:34:38 -07:00
chenguo
6a027fb223 qcacmn: Indent adjustments for DP statistics counters
There are several indent errors for DP statistics counter prints.
Made adjustment to them to avoid confusion and misleading problem
for statistics readers.

CRs-Fixed: 2245604
Change-Id: Ia46ae8e803e41e5f379408156bfbe209a4ebbc79
2018-05-29 02:05:27 -07:00
Zhang Qian
3c724258f3 qcacmn: Add null pointer check in qdf_dp_trace
In hdd_tx_timeout(), null nbuf is passed to qdf_dp_trace(). This
results a null pointer dereference when getting data buffer.
Since data buffer is not mandory for qdf_dp_add_record(), add null
nbuf check in qdf_dp_trace().

Change-Id: If5fb4753d382d8f29bdf4d934a7910a28a7c76aa
CRs-Fixed: 2244543
2018-05-29 00:08:14 -07:00