Graf commitů

3061 Commity

Autor SHA1 Zpráva Datum
Neil Zhao
cc51c79fb6 qcacmn: FR 42103 drop mgmt if rx RSSI's below set threshold
Management frames with RX RSSI lower than
user set value will be dropped.

CNSS-CODE-SCAN:: QUICLOST-196308:: Completed

Change-Id: I9af967703182513cb9a51ee96c0954b7d27eaacb
2017-07-11 23:48:05 -07:00
Pamidipati, Vijay
bea353e14c qcacmn: Set the Tx completion ring size to appropriate value
Size the completion ring using following 2 parameters
 - NAPI schedule latency (assuming 1 netdev, gmac, competing for CPU) = 20ms
								 (2 jiffies)
 - Worst case PPS requirement = 400K PPS
    Ring size = 20 * 400 = 8000

Change-Id: Iaac0b61f50b52a4e824c3c8ef5d980adf455854c
CRs-Fixed: 2068155
2017-07-11 23:48:03 -07:00
Pamidipati, Vijay
f82fb2b8f7 qcacmn: Add support to process v2 fw2wbm completion structure
FW has moved to using v2 HTT_FW2WBM message format for Tx completions
Add corresponding change on Host.
Add missing code to free Tx descriptors for few HTT completion types
Also change the descriptor pool lock to spinlock_bh since transmit path
and completions typically run in tasklet/softirq context

Change-Id: I024d44243f95907f19086225f0f02a5cd64f4508
CRs-Fixed: 2068155
2017-07-11 23:48:00 -07:00
Abhijit Pradhan
ca7d77b408 qcacmn: Fill per psoc regulatory info
Move per psoc regulatory info from pdev level function to psoc
level function.

Change-Id: Id06c6fee110ce929925f568db3a3b507214294d5
CRs-Fixed: 2066122
2017-07-12 12:08:42 +05:30
Abhijit Pradhan
cc5597b3d2 qcacmn: Add "reg_" prefix to regulatory static functions
Add "reg_" prefix to regulatory static functions.

Change-Id: Idf9beff4c2aa25c1429f52caabe4228599942d84
CRs-Fixed: 2065940
2017-07-10 09:37:01 -07:00
Amar Singhal
331a5a6e7c qcacmn: Correct CTL value for world reg-domains
Assign CTL_NONE to WORLD 2GHz/5GHz regdomain.

Change-Id: I346c136947083f5e00407a3d91651c6fd071aa1d
CRs-Fixed: 2048784
2017-07-10 09:36:59 -07:00
Amar Singhal
3162e0daad qcacmn: Modify reg-domain to pdev level
In worst case, different pdevs can be in different countries and
hence different reg-domains. Also there could be differences due
to front-haul and back-haul.

Change-Id: Ib9e998b5f7de4e42a1736d07e9e5602d8506e7b6
CRs-Fixed: 2048784
2017-07-10 09:36:58 -07:00
Varun Reddy Yeturu
3c38ca8bcf qcacmn: Increase scan ageing init value for emulation
Increase the scan ageing timer value from 30 seconds
to 90 seconds for the initializer
SCAN_CACHE_AGING_TIME

Change-Id: I0131ab601de9c86b89449bddd721ac857862a5b5
CRs-Fixed: 2072461
2017-07-08 23:41:12 -07:00
Arif Hussain
23473930ae qcacmn: Add more channel flags in nol logic
Add more channel flags support in nol channel
marking logic.

Change-Id: I2c931fec773c2f6138fff8ee757c4c99b056d56d
CRs-Fixed: 2069388
2017-07-08 23:41:10 -07:00
Naveen Rawat
7b62aff6c7 qcacmn: Add Passphrase and Service Name parameter to NDP cmds
Add Passphrase and Service Name to NDP initiator request and NDP
responder request.

Change-Id: I6a189747760a15393fcbac9dc382847fef789ab1
CRs-Fixed: 2072498
2017-07-08 01:45:00 -07:00
Pramod Simha
e382ff88b9 qcacmn: Add RXDMA_DST ring support
Setup & process the RXDMA_DST ring to handle error frames
from RXDMA block. Pro-active fix to handle the WAR for
the WBM stuck issue seen when sending RX_FLUSH command.

Change-Id: Ibf56062da2cd9b5d447f1d43bbae5944426d88c8
CRs-Fixed: 2059870
2017-07-07 12:33:54 -07:00
Selvaraj, Sridhar
a0e6f88b15 qcacmn: Add support to pass lca_disallow_config_params to fw
Add LCA[Last Connected AP] AP disallow params to
roam_scan_filter_params structure.

Change-Id: Id7a47bdc40d08b356483114b71981df352386172
CRs-Fixed: 2054195
2017-07-07 00:50:11 -07:00
Ravi Joshi
a9ebe0a7ca qcacmn: Fix issues in monitor mode initialization
Current monitor mode implementation does not catch
initialization failures causing it to believe successful
monitor mode initialization.

Change-Id: I5c30ac22e3084871b86cf5e2f0627988ebbb7b5d
CRs-Fixed: 2071602
2017-07-06 21:55:19 -07:00
Ravi Joshi
8851f4eb1c qcacmn: Enable RXDMA ring configuration for monitor mode
Enable RXDMA status, desc, buffer and destination rings to
support monitor mode. The change also provides fix to properly
map pdev_id to mac_id.

CRs-Fixed: 2071602
Change-Id: Ie9caaaa0021d5842eaf28a5532b3ab5512fe507f
2017-07-06 21:55:18 -07:00
Ravi Joshi
2320b6fe68 qcacmn: Enable all mgmt, ctrl and data fields in pkt_tlv
Currently all mgmt, ctrl and data frames are not enabled
while requesting for the pkt_tlv configuration for the
monitor mode. Adding changes to enable these while sending
HTT ring configuration message.

Change-Id: Ifa23edb55562512e18bb2ee4c426fa0b5e45a577
CRs-Fixed: 2071602
2017-07-06 21:55:16 -07:00
Ravi Joshi
1eaf7b5b82 qcacmn: Update radiotap header to include HE parameters
Add/extend radiotap header to include high-efficiency (11ax)
parameters.

CRs-Fixed: 2071602
Change-Id: I8bfbed16edca42eb38256bccc2efff8f21e50f15
2017-07-06 21:55:15 -07:00
Adil Saeed Musthafa
0ec675d2cd qcacmn: Add verbose print in wmi_register_event_handler
Add verbose information print in register_event_handler

CRs-Fixed: 2071681
Change-Id: Icf2a81b71a97a0d01a9771ad998f96b5d10f6cb6
2017-07-06 17:50:27 -07:00
Krishna Rao
d03216cbe1 qcacmn: Rename 20/40 coex flags to facilitate 11ax changes
Rename the 20/40 coex related flag WLAN_PEER_F_REQ_HT20 to
WLAN_PEER_F_REQ_20MHZ and WLAN_PEER_F_40_INTOLERANT to
WLAN_PEER_F_40MHZ_INTOLERANT in order to facilitate 802.11ax 20/40
coex changes. This is also in line with relevant clauses in the
standard.

Change-Id: I78ddc0ebcfe70c37283bf81522e6519fa052c50c
CRs-Fixed: 2040816
2017-07-06 14:35:15 -07:00
Srinivas Girigowda
5d4ab79521 qcacmn: Move the logs to appropriate log levels
Move the logs to appropriate log levels.

Change-Id: I9e28ecc7a62be6108ba13e510b8b42b843c97468
CRs-Fixed: 2063646
2017-07-06 11:40:51 -07:00
Kapil Gupta
7401104431 qcacmn: Add support for AES ctr mode for kernel 3.18
Add changes to support AES CTR modes for FILS encryption and
decryption.

Change-Id: I418e85987bfa96efb7b9dc10e9b2125290299c89
CRs-Fixed: 2039626
2017-07-06 08:29:27 -07:00
Wu Gao
f5bb0ac31b qcacmn: Free global pointer ol_sc
For TF SDIO chip, it allocated memory for global pointer ol_sc, but
doesn't free when unloading, which cause memory leak.

Change-Id: Ia27be884ccbaaeb01c9fd5b67898e6f7e4c54364
CRs-Fixed: 2070479
2017-07-06 06:19:48 -07:00
Srinivas Pitla
f4c4186d0d qcacmn: Add notes on Ref count
This change adds the notes in function headers for which ref count
gets incremented internally

Change-Id: Ide232bd7a7361b081edd08c8107451820c2736cc
CRs-Fixed: 2063383
2017-07-05 18:34:42 -07:00
Kiran Kumar Lokere
4decc31941 qcacmn: Add 11d scan as wakeup event
11d scan is scheduled every one hour.The HOST can
be asleep when new country is found. So add 11d
scan as wakeup event.

Change-Id: I495c010b9c1224ab17fc0b082292befaa6b4f1e8
CRs-Fixed: 2057841
2017-07-05 11:04:58 -07:00
Ashish Kumar Dhanotiya
c846868cd8 qcacmn: Add correct api call to get proper boot time
Propagation from qcacld-2.0 to qcacmn

Currently to get clock boottime, qdf_get_monotonic_boottime_ns
api is getting used which does not include the suspend time.

To include the system suspend time also in clock boottime, use
qdf_get_bootbased_boottime_ns api which uses ktime_get_boot_ns
kernel api.

Change-Id: Ibcc628c315201fa3ced7e1ad96753772d91707b2
CRs-Fixed: 2069085
2017-07-05 03:40:50 -07:00
Nandha Kishore Easwaran
f6ddc0cd3e qcacmn: Change keyix in wlan_crypto_getkey for athkey tool
wlan_crypto_getkey only gets key data for default index.
Athkey get with idx 0 retrieves default key else, it will
retrieve custom key data.

Change-Id: I3d1d412f7f024b4ed40590be9b74c6a7fcec0303
2017-07-04 04:29:52 -07:00
Rajeev Kumar Sirasanagandla
2a46442db5 qcacmn: Send proper CTL info to fw in world regd
Currently, for world regd and some other regds where conformance test
limit is NO_CTL, host is sending invalid CTL info to fw instead of
NO_CTL (0xff) due to type conversion issues.

To fix this, use proper unsigned type for CTL info.

Change-Id: I0407d30c6cd6f7f485d767c97bc5381c9c731440
CRs-Fixed: 2056847
2017-07-03 15:58:01 +05:30
Rakesh Pillai
13146458f9 qcacmn: Fix CLANG warnings in Data path
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'

CRs-Fixed: 2063344
Change-Id: Id3613d0b7fca58c3d94c5af59838b0bff3ef26de
2017-06-30 22:50:37 -07:00
Pramod Simha
59fcb31d81 qcacmn: check for in use flag during free
Add a in_use flag to identify if a rx desc is associated
with a valid nbuf and use this flag while freeing the nbuf.

Change-Id: Iace002ecadfd95ce60b7d1eaebc42194a433963b
CRs-fixed: 2044907
2017-06-30 20:14:16 -07:00
Karunakar Dasineni
f40efac097 qcacmn: Fix wbm release descriptor settings
Set BM_ACTION, RELEASE_SOURCE and BUFFER_OR_DESC_TYPE fields in WBM release
ring descriptor in hal_rx_msdu_link_desc_set function.
Added HAL API to retrieve RXDMA push reason and error code from REO entrance
descriptor.

Change-Id: I64209d9ebb332136fae43a55b39e0f0d242315fb
CRs-Fixed: 2062922
2017-06-30 19:29:47 -07:00
Sandeep Puligilla
5c41638e14 qcacmn: set logging thread priority to default
Currently logging thread priority is equal to cds
thread which can cause scheduling issues to other
priority tasks when there are too many wlan debug
messages.
Set logging thread priority to default value.

Change-Id: I578ac062a69a34f7f4b7a2450e59e3f934704934
CRs-Fixed: 2047462
2017-06-30 15:50:14 -07:00
wadesong
c79aed0d8c qcacmn: Wakeup target when configuring PCI-E legacy ISR
Wakeup AR6320 target when PCI-E legacy ISR is configured to
avoid a subsequent crash while interrupt is handled

Change-Id: I3d24f3b7e06c05ba43f631daaeb75af419ed13a5
CRs-Fixed: 2035618
2017-06-30 05:40:32 -07:00
Karunakar Dasineni
1018547152 qcacmn: Fix LMAC interrupt mappings
Current data-path interrupt registration/handling assumes PDEV indices to be
in same order as HW MAC IDs, which is not always true. Fixed this by adding
wlan_cfg api to set and get pdev index to mac id mapping.

Change-Id: Iec8e9f4a02cd618a3b244cfd6fc7ead1e7d993c3
CRs-Fixed: 2063673
2017-06-29 18:25:27 -07:00
tfyu
60c2c9836e qcacmn: Fix the TX packet drop after doing the TX bundle
qcacld-2.0 to qcacmn propagation

The driver will drop the TX packet if remaining depth of the sending queue
is less than 2. This will casue the memory leak, credits missing and TCP stall
issue when running the iperf test.

The fix is to add back current packet before return, which just be dequeued.

Change-Id: I9e0c69c16e9562afd627d0fc222a9fbd475c468c
CRs-Fixed: 2056195
2017-06-28 21:33:30 -07:00
tfyu
2c6845fe26 qcacmn: Increase bus request number from 64 to 105 for SDIO
qcacld-2.0 to qcacmn propagation

The resource of bus request buffers will be exhaused after enabling PTP
feature, which change the data path to OTA path for SDIO solution. So
increase bus request number from 64 to 105 will fix this issue to avoid
memory leak, credits missing and throughput drop issue.

Change-Id: Ic3bb5cea72bcc6a8d3dfd910294efd871fe7e938
CRs-Fixed: 2054177
2017-06-28 21:33:29 -07:00
Kai Chen
cbe4c342b6 qcacmn: Fix the issue on setup monitor mode ring
The pdev id in host is not the same as firmware MAC id
Add host pdevid to firmware MAC id mapping code
in set pdev id for htt sring setup and
set pdev id for htt rx ring selection cfg

The mon_ppdu_status is not synchronized
Fix the issue on pdev mon_ppdu_status by reset
mon_ppdu_status to DP_PPDU_STATUS_START after
monitor destination ring is processed

Add code for mpdu fcs error for later use

Change-Id: Ia6245cc9441e3339bcd01ed18fdce2f33f3f7699
2017-06-28 17:33:34 -07:00
Srinivas Pitla
d7f096602a qcacmn: Fix issue with locking
logical deleted peer list change has a corner case on lock releasing,
which leads to skip unlock API. This change would fix the issue.

Change-Id: If5ad0da589b0bc933a14de8b101bbd17aec413bc
CRs-Fixed: 2058168
2017-06-28 12:47:52 -07:00
Kapil Gupta
041087bfe8 qcacmn: Resolve compilation errors in lower version kernels
symmetric key cipher APIs are present in linux kernel version 4.3
and above only.

Add changes to protect symmetric key cipher APIs invoke in lower
version kernels.

Change-Id: I512d0d98886c887a242a834763b46b2ec0cd4751
CRs-Fixed: 2034502
2017-06-28 12:47:42 -07:00
Kapil Gupta
830881389a qcacmn: Add changes to support crypto API
Add support for hash, hmac-hash calculation and
aead encryption and decryption.

Change-Id: Idddcfaa2ec4c5689c997559551230bc8f59df032
CRs-Fixed: 2029962
2017-06-28 12:47:14 -07:00
Keyur Parekh
fad6d088fa qcacmn: Packet log changes for wifi3.0
Change-Id: I82462f426e4e449c5bc65331e39f07a062e8e242
2017-06-27 23:37:33 -07:00
Ravi Kumar Bokka
4a517a223e qcacmn: Auto Detect SoC Power Collapse Failure changes
Add host support for detecting SOC power collapse failures in FW and
communicating the same to framework.

Change-Id: Icee39c896802c4d7136e0b8ef442a33feeb4799c
CRs-Fixed: 2016580
2017-06-27 22:13:06 -07:00
Arif Hussain
7e19e88ef8 qcacmn: Fix setting WMI_ROAM_INVOKE_FLAG_REPORT_FAILURE
WMI_ROAM_INVOKE_FLAG_REPORT_FAILURE flag is not set correctly,
bit(1) in flags represents WMI_ROAM_INVOKE_FLAG_REPORT_FAILURE,
fix the same.

Change-Id: I8311b1e6999f3c741ec8be87536a73f3e7e3cb93
CRs-Fixed: 2044160
2017-06-27 21:32:06 -07:00
Varun Reddy Yeturu
defe8d10b7 qcacmn: Indicate firmware to report failure for ROAM_INVOKE
Set the WMI_ROAM_INVOKE_FLAG_REPORT_FAILURE flag in the
WMI_ROAM_INVOKE_CMDID requesting the firmware to always
report the failure to the host

Change-Id: Ie1a10ba774cf43e791b48a2f675225c74e94b958
CRs-Fixed: 2023893
2017-06-27 21:32:05 -07:00
Gurumoorthi Gnanasambandhan
f960724eaf qcacmn: Changes to support pdev stats for TLV
Handle WMI_UPDATE_STATS event to process the PDEV stats

Change-Id: I33ebab8deec41a1c8c361e8ca3e3cde05f650325
2017-06-27 20:02:01 -07:00
Rajeev Kumar
fdcab13767 qcacmn: Do not free leaked memory if halt on kmem leak is enabled
If halt on memory leak is enabled then do not free the leaked memory
because when leaked memory gets freed kernel poisons it with 0x6Bs
and all useful data from leaked memory gets lost. In addition add the
leaked memory in a global trash list such that leaked memory can be
extracted for offline debugging.

Change-Id: Ie37fd810199e845831c3c3f325ef1e9ff60c5f37
CRs-Fixed: 2055470
2017-06-27 20:02:00 -07:00
Tushnim Bhattacharyya
3db6b3cc4e qcacmn: Avoid buffer overread when retrieving cnss diag cmd
In cnss_diag_cmd_handler(), add length check for the command attribute.
This prevents possibility of a buffer overread or underrun.
Also add audit comment to express the intent why policy table
is not used in this API.

Change-Id: I023bbf3789498f315fd1bff8db8ef8257abb2b04
CRs-Fixed: 2058580
2017-06-27 18:12:59 -07:00
Manikandan Mohan
64c3d8438f qcacmn: Add athdiag support for QCA6290
Add support for athdiag read / write using PLD APIs.

Change-Id: I5ce8a10bb44342427c97c02d1b6d05db026ef78a
CRs-fixed: 2046045
2017-06-27 18:12:58 -07:00
Vivek
8fe2d7704c qcacmn: Clean up unwanted prints or change to appropriate log levels
Remove unwanted prints from the dirver and also change tha log levels
from some of the prints which could be useful in debug pruposes only.

Change-Id: I2b4e0c94fcf1571b332fc005b34bc4b7bcb4b7c5
2017-06-27 18:12:57 -07:00
hqu
8c27253b0b qcacmn: Fix cnss diag log capture issue
Presently if the module name is changed to something other than wlan,
then MULTI_IF_NAME is defined and cnss diag log can't be captured
because the driver doesn't register itself to cnss_logger module.
Add fix to resolve this issue.

Also add free skb buffer operation for one case to sync with qcacld-2.0.

Change-Id: I815c5260fbc248e37e1ec0417ed5a8cc476ca8b7
CRs-Fixed: 2029803
2017-06-27 18:12:56 -07:00
Archana Ramachandran
54425cc368 qcacmn: Disallow moving to single MAC mode when a 2.4GHz connection exist
After the P2P GO is up on 2.4 GHZ, the opportunistic upgrade
timer handler is sending request to move to single MAC mode.
Since 2.4 GHZ connection is always on MAC1 in DBS 2X2 capable
HW, this is causing P2P connection failure. Add fix to not
downgrade to single MAC mode when there exist a 2.4 GHZ
connection.

Change-Id: I90e2b5b43a6bc8a5b5b44ea96905410092f2866e
CRs-Fixed: 2055867
2017-06-27 18:12:55 -07:00
Soumya Bhat
5d0786be5e qcacmn: Change to address multiple logically deleted node
In the existing code we check for the first instance of logically deleted
node and return to the caller, but there might be multiple nodes in logically
deleted state at a given instance.

Modify code to populate all the peers in logically deleted state in a list
and return the node with delete response pending from FW, to the caller.

Change-Id: I79ce99cc97404c2260ae18983709707ec6e8cdac
CRs-Fixed: 2058168
2017-06-27 15:16:17 -07:00