Commit grafiek

3035 Commits

Auteur SHA1 Bericht Datum
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
Linux Build Service Account
2584ae5d53 Merge "qcacmn: fix skb cb corruption issue" 2017-06-27 11:49:03 -07:00
Tallapragada Kalyan
0cd1793ba5 qcacmn: fix skb cb corruption issue
the ftype in skb->cb is overshooting allocated 48 bytes
causing kernel crash

Change-Id: Ie33508c462a032b28624de5270ce91a93d0b067d
2017-06-27 10:32:46 -07:00
Vivek
b02a649f89 qcacmn: Remove vdev/peer locks for trivial APIs
Remove vdev/peer locks from trivial API's. This follows the changes from
which the lock requirement from few simple APIs are removed.

Change-Id: I9972d51dfd1a42bdedbfd0fd4e67af03d030a1f5
CRs-Fixed: 2060880
2017-06-26 23:32:22 -07:00
Vivek
5ec0bd3636 qcacmn: Remove psoc/pdev locks for trivial APIs
Remove psoc/pdev locks from trivial API's. This follows the changes from
which the lock requirement from few simple APIs are removed.

Change-Id: Ib5769c2234c8d57f485c0eef5a4e3c61fa170508
CRs-Fixed: 2060880
2017-06-26 23:32:19 -07:00
Srinivas Pitla
adbe5caff0 qcacmn: Remove lock requirement for trivial APIs
Function headers updated to reflect lock requirement removal

Change-Id: I67ff64253abc402d41d3e19f3579dcf76b15067a
CRs-Fixed: 2060880
2017-06-26 23:32:18 -07:00
Jeff Johnson
a7acc98b0d qcacmn: Properly validate QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR
Currently the QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR nla_policy specifies
a type of NLA_STRING, but the underlying implementation expects a
NUL-terminated string. Update the policy to correctly use a type of
NLA_NUL_STRING with the len updated to remove the allocation needed
for the terminating NUL.

Change-Id: Ic73241511ab73ae63fd7c1a8d6422da91931919c
CRs-Fixed: 2063588
2017-06-26 19:34:12 -07:00
Pamidipati, Vijay
be379457e6 qcacmn: Add a flag to enable/disable per-packet sync of DP stats
Currently all Host collected DP statitics are synced to upper layers
on per-packet basis; This is causing significant CPU overhead.
Add a flag which can be controlled through iwpriv to enable/disable
updating of these statistics from DP to higher layers

Change-Id: I983c6d91803c83c1efd49c5535769a0c10fbc9b5
CRs-Fixed: 2064113
2017-06-26 17:42:34 -07:00
Pamidipati, Vijay
45b1df25fc qcacmn: Configure DP interrupt mitigation values based on ring type
Currently interrupt mitigation values are configured for per-packet interrupts.
Change this for core DP rings (REO Destination and WBM Tx Completions) to reduce
CPU overhead of interrupt processing

Change-Id: I7bf0f6e78c52b5678ad3c8cc4d829444e410fad3
CRs-Fixed: 2064113
2017-06-26 17:42:33 -07:00
Linux Build Service Account
6863f03e13 Merge "qcacmn: Initialize mac_phy_count to zero before populating macphy params" 2017-06-26 17:31:31 -07:00
Kiran Venkatappa
be23decc06 qcacmn: Initialize mac_phy_count to zero before populating macphy params
mac_phy_count should be initialized to zero before populating machphy
params. Target stop/start framework skips attach/detach which means
mac_phy_count should be initialized explicitly.

Change-Id: I9fe537c3a7e375397982174f6a63599a961ba8d3
CRs-Fixed: 2065321
2017-06-26 15:36:01 -07:00
Deepak Dhamdhere
e99d6683f7 qcacmn: Enable PMK cache and OKC with RSO command
Firmware now supports PMK caching in addition to OKC
(Opportunistic Key Caching). Use additional bit flags to enable
PMK caching in PMK configuration in roam offload scan request.

CRs-Fixed: 2004963
Change-Id: I536a4d45d5d915ab02dc13db6124a1ce8949fe48
2017-06-26 11:57:55 -07:00
Jeff Johnson
f155c675e5 qcacmn: Validate vendor abort scan command
In wlan_vendor_abort_scan(), nla_parse() is invoked without specifying
a policy. This can result in a buffer overread when processing the
QCA_WLAN_VENDOR_ATTR_SCAN_COOKIE attribute. To avoid this issue
introduce a "scan_policy" (replicated from qcacld-3.0) and use this
policy when invoking nla_parse().

Change-Id: Ia3e5cb7535bf0f700399e4a49c9c5da362a3ccf6
CRs-Fixed: 2059857
2017-06-26 11:07:16 -07:00
Linux Build Service Account
eba9b1e192 Merge "qcacmn: Incorrect use of tx descriptor" 2017-06-23 18:25:25 -07:00
Venkata Sharath Chandra Manchala
340c0d8903 qcacmn: Incorrect use of tx descriptor
Avoid accessing and releasing tx descriptor when it is
not allocated in tx path.

Change-Id: I36515b679c541d081fd836ea3fb732768031cc06
CRs-Fixed: 2062160
2017-06-23 10:41:30 -07:00
Linux Build Service Account
444e706a79 Merge "qcacmn: Fix buffer overflow when radiotap header is larger than available headroom" 2017-06-23 09:41:45 -07:00
Rakesh Pillai
847482ff8e qcacmn: Fix buffer overflow when radiotap header is larger than available headroom
The condition which detects if the length of the radiotap header is
greater than the available headroom in the skb is incorrect.

Correction to check if sufficient headroom is available
for updating the radiotap header.

Change-Id: I71c140c6af415678efe66cff2f16b8cabc62697a
CRs-Fixed: 2047909
2017-06-23 07:42:02 -07:00
Om Prakash Tripathi
4fa65d80b7 qcacmn: increase scan cache size to 1024 for WIN
Change-Id: I3798c5927ea557cb51c569aa41452b37acf1bc53
CRs-Fixed: 2065195
2017-06-23 07:42:01 -07:00
Linux Build Service Account
6b1f8fda05 Merge "qcacmn: Filter sched_scan channels when DNBS set" 2017-06-22 17:32:35 -07:00
Linux Build Service Account
03d8e64d8d Merge "qcacmn: Add icmp dptrace for latency issue debug" 2017-06-22 12:17:43 -07:00
Ajit Pal Singh
890fc8d420 qcacmn: Filter sched_scan channels when DNBS set
Filter channels passed to firmware for scheduled/offloaded scans,
when Do_Not_Break_Stream is set.

Change-Id: I36d434b9f7c25ff7de5ccb4d20a2ae41b2712662
CRs-Fixed: 2064380
2017-06-22 09:51:07 -07:00
Abhishek Singh
fb9d5acfed qcacmn: Add API to deint scan runtime suspend lock
Add API to deint scan runtime suspend lock, which can be called
before HIF is closed, to avoid crash while acessing HIF pointer.

Change-Id: Ida9269cdaea33a387e2acd1e3d9670d152b6016f
CRs-Fixed: 2065228
2017-06-22 06:35:01 -07:00
Zhu Jianmin
af3420af93 qcacmn: Add icmp dptrace for latency issue debug
Ping latency is a key performance KPI for some customers,
need log in debug mode

Change-Id: I96eebf3f249668dd220aa1062fb339f940d36975
CRs-Fixed: 2039646
2017-06-22 04:38:28 -07:00
Linux Build Service Account
6d7efdb142 Merge "qcacmn: Set-key convergence for non-TLV boards" 2017-06-22 03:58:52 -07:00
Rohan Dutta
d52b36da63 qcacmn: Set-key convergence for non-TLV boards
The tx_iv flag of wapi has been changed
from an array of type u32 to array of type u8
this change adds support for it .

Change-Id: Ia0e57e25c151e7f7f232cf8dc07d59d5a19b47e0
2017-06-22 02:02:28 -07:00
Linux Build Service Account
c6e57eb7ba Merge "qcacmn: Kill bh execution contexts before cleaning up the hif" 2017-06-21 21:33:34 -07:00
Linux Build Service Account
1f9a659707 Merge "qcacmn: Fix core_ctl_set_boost "off" ref count" 2017-06-21 21:33:34 -07:00