提交图

3440 次代码提交

作者 SHA1 备注 提交日期
Govind Singh
e265e3315c qcacmn: Add watchdog timer for WMI work queue lock-up
WMI work queue rx context can block other work queue
shared on the same CPU if it takes more time.

Add watchdog timer for WMI work queue housekeeping and
assert if takes more time in SLUB DEBUG build

Change-Id: I60b1dad21afbf93a5b88aa855a2835bb0f85b82f
CRs-Fixed: 2104106
2017-09-28 01:57:28 -07:00
Yu Wang
a3f76c5ae5 qcacmn: Add CDP API to set ptp rx opt
Add CDP API to set ptp rx opt. This rx opt is
needed for determining whether to time stamp
the received MSDUs or not.

Change-Id: Ia7cfbe838ff62ef0775164f542a160bf93e44a74
CRs-Fixed: 2095956
2017-09-27 21:40:05 -07:00
Arunk Khandavalli
e14e8e9fcf qcacmn: Fix Dma memory allocation leak from Hif layer
HIF close is not freeing RRI memory allocated during HIF initialization
resulting in memory leak of RRI memory after driver unload

To mitigate the issue, freeing RRI memory in HIF close.

Change-Id: Ib3daba8de0cabc1d8e303d7148448d21c47905e7
CRs-Fixed: 2019147
2017-09-27 20:08:51 -07:00
sumedh baikady
84613b085a qcacmn: Add support to disable monitor mode
Reset htt_tlv_filter when monitor mode is disabled.
CRs-fixed: 2112856

Change-Id: I3f412cd40e6d097b82e659faf275d2d6e28c79ad
2017-09-27 19:23:55 -07:00
Nachiket Kukade
6e3ecc0cb4 qcacmn: New vendor sub-cmd id to change BmissFinalBcnt dynamically
To support the CLD implementation to change BmissFinalBcnt dynamically
(Change-Id: Ie3c3895d48248d349400e755f07edc807e335b44), add new vendor
sub-command id QCA_WLAN_VENDOR_ATTR_CONFIG_TOTAL_BMISS_CNT as 52.

Change-Id: I8df8faab1b49d8fc30a1b775d5f5fec5139ca25d
CRs-Fixed: 2084255
2017-09-27 19:23:53 -07:00
Kai Chen
ad516ae457 qcacmn: Fix monitor hang issue on receive amsdu pkt
Remove the NAPI quota check on processing monitor destination
ring. The quota is applied to monitor status ring process.

change Dummy TLV in status ring handling. The Dummy TLV
is not an indication of PPDU done.

Remove the mpdu err check in MPDU pop function.

Increase Monitor buffer ring, monitor destination ring
and monitor descriptor ring size.

Push destination ring buffer to stack when ppdu id from
status ring is bigger than ppdu id from destination ring.

Change-Id: If592a89ad132d405ab215024c8198a020153a9ff
2017-09-27 16:23:23 -07:00
Yue Ma
245b47bfb5 qcacmn: Add runtime PM support for new data path
Handle runtime PM feature in new data path for QCA6290.

Change-Id: I0a211436d80d68bc94d11ccd3c34860b648e40e7
CRs-fixed: 2023358
2017-09-26 11:25:52 -07:00
Vignesh Viswanathan
21fae9fd6a qcacmn: Enable LCA Disallow for Background Roam Scan
Currently LCA Disallow (Last Connected AP) bitmap is hardcoded
to be enabled only for PER roam scan.

Add Background Roam Scan also to the LCA Disallow bitmap set from
host to fw.

Change-Id: I4878350ef772f168ba909fd8b30cf2aa31f68fcc
CRs-Fixed: 2109974
2017-09-25 23:42:32 -07:00
Shashikala Prabhu
5a8249b1ea qcacmn: Regulatory updates
Regulatory spec changes(Regdomain_23).
Added below changes:
* Add new country Gibraltar.
* Create APL19_ETSIC for India to support -5875 Channels.
* Remove legacy MKK regdomains.
* Change default Japan country mapping to Japan15.
* Add MKK16_MKKC outdoor-only regdomain.
* Add APL17_ETSID, APL23_WORLD, FCC13_WORLD, APL20_WORLD,
  FCC14_FCCB regdomain pairs.
* Assign FCC14_FCCB for PANAMA.
* Change APL14 and APL15 UNII3  power.
* Assign ETSI8 for Russia to remove DFS.
* Assign 2MHz minimum bandwidth for ETSI1 and ETSI4.

Change-Id: I59f297328fe8ff3c5ace979370ef21570560c71a
CRs-Fixed: 2081279
2017-09-25 13:21:44 -07:00
Ganesh Kondabattini
c2cce632c8 qcacmn: Refactor the code to update the conc_system_pref
Refactor the code to dynamically change the conc_system_pref.
Whenever user changes conc_system_pref from application,
driver is overwriting the conc_system_pref which is getting
populated from ini file. Once it is overwritten there is no way
to get the configured value for this setting. So add a new
variable to hold the value of conc_system_pref without disturbing
default value read from ini file.

CRs-Fixed: 2082073
Change-Id: Icfb245c7a8872885332ec222780c911d08521d46
2017-09-25 13:21:42 -07:00
Ganesh Kondabattini
727c4b3880 qcacmn: Add support for QCA_NL80211_VENDOR_SUBCMD_ACTIVE_TOS
Add support for handling vendor sub command
QCA_NL80211_VENDOR_SUBCMD_ACTIVE_TOS and its attributes.

CRs-Fixed: 2100587
Change-Id: I8734deb4eb2e2481329131d47b747d266463350a
2017-09-25 13:21:41 -07:00
Pamidipati, Vijay
625276bc31 qcacmn: Increase number of Tx descriptors for 1024 clients
Increase the Tx descriptor pool size to 32K to take care of
1024 client requirement

Change-Id: If6e0711204479e602d7cb468270ee2279a5c4dfe
2017-09-25 09:21:51 -07:00
chenguo
ebc085458b qcacmn: Fix RX dead loop for SDIO WLAN
There is a dead loop when nbuf allocation failed for SDIO WLAN.
Do not change the status back to OK when E_RESOURCE is triggered.

CRs-Fixed: 2112323
Change-Id: I50b8fff99707cdccb1e5e837558131d6777ec9c0
2017-09-24 23:20:23 -07:00
Kiran Venkatappa
482bc5ecbc qcacmn: Add support of extended service bitmap handling
Extended service bitmap is used by FW to indicate supported services
bitmap for services excedding the current limitation of 128. Add support
to save and use this bitmap to check services supported in FW. Also,
change exisiting services bitmap to be dynamic allocated buffer to
optimize the buffer used to save the bitmap.

Change-Id: I24a0321bc1a06ee3aedf1c6acbc379e907bbd464
CRs-Fixed: 2103617
2017-09-23 10:32:47 -07:00
Dustin Brown
a46d9c69f2 qcacmn: Fix compilation issue when CNSS_GENL is enabled
A recent change added a wrapper to nla_parse. When CNSS_GENL is enabled,
this new wrapper API is not defined in cnss_diag_cmd_handler, causing a
compilation failure. Include the appropriate header file when CNSS_GENL
is enabled.

Change-Id: I2e929b48e306fb1426eb6e59011cd821922bb8dd
CRs-Fixed: 2112767
2017-09-22 13:20:45 -07:00
Kabilan Kannan
ce76a35340 qcacmn: Fix TDLS peer capability initialization
In tdls_set_peer_caps(), is_buffer_sta and is_off_channel_supported are declared,
but are not initialized. This will create unpredictable problem in TDLS
operations.
Initialize all the variables with default values in peer capability.

Change-Id: I469d7a56e1222944f3cd76efb76544aba7d8dff6
CRs-Fixed: 2092034
2017-09-22 03:57:41 -07:00
yeshwanth sriram guntuka
074f5e91b8 qcacmn: Send default ies in scan request to fw
On framework initiated scan, ies are not sent in
scan request from upper layer and default scan ies are
not sent as part of scan request sent to firmware. This
results in not including oce ie in probe requests for
framework initated scans

Fix is to copy default ies to ie field in scan request
sent to firmware.

Change-Id: I895563bafc2a2b6e483d08cb28ee44ad34f5af70
CRs-Fixed: 2087124
2017-09-21 23:30:19 -07:00
Vignesh Viswanathan
3a133b7ca3 qcacmn: Dump disconnect stats
Add a new dumpStats parameter (25) to dump disconnect stats.
The following command will dump disconnect Stats into QXDM.
>iwpriv wlan0 dumpStats 25

Related qcacld-3.0 change I0908c947b5c829f51b087871ad11d5674908dca2

Change-Id: I359ef19c268123848fe6195f6453a6c246fba3a1
CRs-Fixed: 2058958
2017-09-21 20:17:58 -07:00
Dustin Brown
833077d4a1 qcacmn: Move ipa.h include under #ifdef IPA_OFFLOAD
The WLAN driver should compile against kernels that do not include the
IPA driver. Move an ipa.h header file include under an IPA_OFFLOAD
feature guard to allow the driver to compile when IPA is not supported.

Change-Id: I4d8ca77bace273d16453b123daa0363de16bf5ea
CRs-Fixed: 2111891
2017-09-21 19:07:24 -07:00
tfyu
052b32a5b3 qcacmn: Fix incorrect number ul_outstanding_cnt when do TX bundle
qcacld-2.0 to qcacmn propagation

The ul_outstanding_cnt is not increasing when do TX sending in the bundle.
Which will cause the count is not correct, and will drop to the negative
number.

Change-Id: If7f06b376633b3384203cc49d8e8acafdd1b4853
CRs-Fixed: 2112977
2017-09-21 19:07:22 -07:00
Venkateswara Swamy Bandaru
b3d6b4e446 qcacmn: remove module parameter from dp code
Remove napi_budget module parameter from dp code.

Change-Id: Ib48d08044977da9091f1a1264d219420d7f53962
CRs-Fixed: 2096650
2017-09-21 16:41:57 -07:00
Dustin Brown
1d5f7ede48 qcacmn: Flush memory table on debugfs iterator stop
When printing memory allocations via debugfs, the dedupe table is
flushed to output when it reaches capacity. If the dedupe table is not
full when the allocation enumeration is complete, the entries contained
will be dropped. Flush the dedupe table to output one last time when
enumeration is complete to avoid dropping memory allocations from the
output.

Change-Id: I10f866b7bfa13c871d75e3e4ff798a8a820482df
CRs-Fixed: 2110106
2017-09-21 16:41:55 -07:00
sumedh baikady
308ff00498 qcacmn: Fix per msdu info for Monitor mode
Add support to include per msdu header info for each msdu in monitor mode.
Set HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_RESERVED in htt msg
from host. Enable per msdu bit and set it in the dp_htt to be used for
filtering.

Change-Id: I36217e893c40570c86b758f586c581d88633b557
CRs-fixed: 2101013
2017-09-21 16:41:54 -07:00
Vignesh Viswanathan
d7d562de5a qcacmn: Pass new Bad RSSI threshold offset for 2G and flags to FW
Add new Bad RSSI threshold offset for 2G to 5G roam and flags
to roam_offload_scan_rssi_params and fill them in the WMI cmd TLV
to pass it to the firmware.

Change-Id: I78876f5104e67280b1342ec0957d0162edbaf502
CRs-Fixed: 2105894
2017-09-21 16:41:52 -07:00
Wu Gao
77b6e57eb0 qcacmn: Remove log in pm runtime get and put
Run throughput with Rome chip, crash happens since of too many logs
in pm runtime put and get. So remove log in these functions.

Change-Id: I9ca4ddef328ade7fef63d04f19603927cf8ee6d8
CRs-Fixed: 2112431
2017-09-21 16:41:50 -07:00
Anurag Chouhan
d40d1d1df4 qcacmn: Add wmi interface command to support debug stats
Add wmi interface command to support set/get NUD debug stats.

Change-Id: I2c5e9e2f6b0bb2e7b7b0a6404e939b33bffa3f18
CRs-Fixed: 2011463
2017-09-21 16:41:48 -07:00
Dustin Brown
37dd1494e6 qcacmn: Interpret delayed work interval as milliseconds
The QDF delayed work APIs currently expect delay intervals in terms of
jiffies. Since QDF is OS agnostic, and jiffies are Linux specific,
interpret delay intervals in terms of milliseconds instead. This aligns
the delayed work APIs with the general timer APIs as well.

Change-Id: I9b9300425baa0857c35f63823de2037a954eed1f
CRs-Fixed: 2111987
2017-09-21 16:41:46 -07:00
Amar Singhal
ce94494ad3 qcacmn: Initialize the channel map during DFS init
For no offload case, channel map is needed to calculate
regulatory channels. So initialize channel map when dfs region
is set.

CRs-Fixed: 2104133
Change-Id: Iee406b89429588185488acef23380b6cfa8f2af9
2017-09-21 16:41:44 -07:00
Pratik Gandhi
e918f62496 qcacmn: Control frame stats
Add stats for Rx CTS derived from RTS Success.

Change-Id: I3eea7cfafe2709c280457f1eff6ab287192a1e7f
2017-09-21 16:41:42 -07:00
Linux Build Service Account
e0ea1373cc Merge "qcacmn: add useful debug prints" 2017-09-21 11:28:38 -07:00
Linux Build Service Account
e09994c0ed Merge "qcacmn: Add APIs to get IE by EID and Ext ID" 2017-09-21 11:28:37 -07:00
Linux Build Service Account
367584a18d Merge "qcacmn: Fix DFS kernel panic" 2017-09-21 11:28:37 -07:00
Linux Build Service Account
5b6fb9d48f Merge "qcacmn: Add ini param to control the crash inject" 2017-09-21 11:28:36 -07:00
Neil Zhao
1d1801c53d qcacmn: add useful debug prints
CRs-Fixed: 2089479
Change-Id: I3378fa874095974cd4dce771a6725eee5adc9a41
2017-09-19 17:35:33 -07:00
Neil Zhao
502dceb933 qcacmn: fix vdev id limited to 32 issue
Issue: create 33 VAPs on both WIFI0 and WIFI1, will see fw crash
Root cause:
2nd DWORD in vdev id map array is never used, so max id is 32
Fix:
map_index needed to be updated before used to calculate adjust_ix.

CRs-Fixed: 2089479
Change-Id: If808d13dbd375197fe637bb53da0bcc3d654ec9e
2017-09-19 17:35:31 -07:00
Karunakar Dasineni
11e51e2863 qcacmn: Add pld_stub/inc to qdf include path
Add pld_stub/inc to include path in WIN qdf Kbuild.

Change-Id: I5a00e4a797384445513f9d48d03c8caa6585e0c0
CRs-Fixed: 2111926
2017-09-19 16:34:30 -07:00
psimha
fb49db3c83 qcacmn: Check to prevent crash when reading stats
Add a check for update_dp_stats before calling it.
This is registered only for WIN & causes a crash on MCL.

Change-Id: I584b7dba73bcc2426deb97641c30b4d704ce0d8b
CRs-Fixed: 2111735
2017-09-19 15:53:02 -07:00
Dustin Brown
4ff1c130d3 qcacmn: Remove vma from vm_operations_struct->fault handler
Linux kernel 4.10 removes the vm_area_struct parameter from the
vm_operations_struct->fault handler. Add conditional compilation to
provided the appropriate fault handler signature based on the version of
the Linux kernel being compiled against.

Change-Id: I467f4d8426ecfa55e4f2aac26a5326901239a752
CRs-Fixed: 2094824
2017-09-19 13:27:50 -07:00
Kai Chen
7df3f4f74b qcacmn: Regulatory add 4.9 channel support
Add 4.9 channel support. Populate 4.9 channel to
channel list

Change-Id: I5a8f990fd28cba027b5200cb3dd8dc1949a7db7c
CRs-Fixed: 2105631
2017-09-19 09:59:24 -07:00
Jeff Johnson
fcf0cc6593 qcacmn: Avoid NULL pointer dereference in nl_srv
Currently nl_srv_bcast() and nl_srv_ucast() allocate a temporary
buffer to hold the netlink message which is subsequently sent to
userspace. The value returned by qdf_mem_malloc() is not checked for
NULL, and hence if NULL is returned it will be dereferenced.
However in reality a temporary buffer is not required. Update the
functions to directly send the message from the skb.

Change-Id: Ia12e1695498323c4e29b8280b9265c20393a2fe7
CRs-Fixed: 2111674
2017-09-19 09:59:21 -07:00
Gurumoorthi Gnanasambandhan
527d2b2994 qcacmn: Aggregation failure in PMF
Mismatch between structure ieee80211_cipher definition and initialize
order.miclen is taken as 0 instead of 8 because of wrong order.

CR Fixed: 2096266

Change-Id: Iadcdb971d3b09abee5b189e9882b2f5055d93b6c
2017-09-19 08:16:18 -07:00
Jiachao Wu
56ce86e04f qcacmn: Pass beacon tx rate value to FW
Set bcn_tx_rate when send WMI_VDEV_START_REQUEST_CMDID to FW.

Change-Id: I402d996fe4382d8dfd765e3bf7957d4696549b00
CRs-Fixed: 2097703
2017-09-19 04:18:27 -07:00
Linux Build Service Account
e20506e2ae Merge "qcacmn: Test change" 2017-09-19 03:53:35 -07:00
Ravi Kumar Bokka
0090e226f1 qcacmn: Add ini param to control the crash inject
qcacld-2.0 to qcacmn propagation

Currently the crash can be injected by iwpriv command and FW
gets crashed.
Changes are done to add the gEnableCrashInject ini parameter

1) This ini param is disabled by default.
2) If this param is disabled the crash inject is ignored.

Change-Id: I7e908be1e37090a9d343dc04411fe387f776a937
CRs-Fixed: 1087774
2017-09-19 02:28:14 -07:00
Varun Reddy Yeturu
7a7a6e85bb qcacmn: Pass config parameters for bad RSSI roaming to firmware
Fill the roaming parameters wmi_roam_bg_scan_roaming_param and
send them to firmware to be consumed for the background roaming
at bad RSSI

Change-Id: I08786141d28f8459aad27aaf53816ec4cdec7f08
CRs-Fixed: 2082906
2017-09-18 20:27:43 -07:00
Naveen Rawat
8b1ec565cc qcacmn: Add APIs to get IE by EID and Ext ID
Add wlan utility APIs to get IE pointer from within IE buffer by
EID or Ext ID.

Change-Id: I26492078cec73b5877f3fc346a91223a045f31aa
CRs-Fixed: 2103529
2017-09-18 20:27:41 -07:00
Varun Reddy Yeturu
f56e59833c qcacmn: Configure MAWC NLO parameters from host to firmware
Get the MAWC based NLO parameters from HDD/UMAC and pass them to
firmware via target/if

Change-Id: I76d7c8677ee73f9a3c54b7af4943b74a6b23323d
CRs-Fixed: 2064837
2017-09-18 19:38:22 -07:00
Shashikala Prabhu
bb8b274815 qcacmn: Fix DFS kernel panic
Problem:
During DFS attach the DFS related timers are initialized only if
the DFS is not offloaded.
When user issues a bangradar command for full offload where DFS is
offloaded to FW, HOST is trying to set a un-initialized timer and
leads to a crash.

Solution:
Handle bangradar command in HOST only if the DFS is not offloaded.

Change-Id: I8d23d450ff1941890fdc81cef1425fae8b55ce56
CRs-Fixed: 2108874
2017-09-18 17:45:57 -07:00
sumedh baikady
86a83e8927 qcacmn: Fix Radiotap headers in monitor mode
In monitor mode, code decodes legacy rates and bandwidth information for
HT and VHT. Other changes include populating radiotap header with correct
nss and mcs values for legacy, HT and VHT frames. Mapping of mcs rates in
rx_msdu_start tlv and radiotap header info is done using Lithium data
structure document.

Change-Id: I5f20e5d89329738e3a6c076ee14457c003cab279
CRs-fixed: 2083027
2017-09-18 17:45:54 -07:00
Linux Build Service Account
e8762e7c50 Merge "qcacmn: Add API to check if scan entry is from hidden AP" 2017-09-18 12:35:18 -07:00