Commit Graph

3604 次程式碼提交

作者 SHA1 備註 提交日期
Manjunathappa Prakash
c1e703a4cb qcacmn: Set CPU floor freq on high throughput
On high throughput mode, send a message to perfd, through
cnss-daemon, to set the min freq for perf cluster to 700 KHz,
and release it on transition to low throughput.

Goes with corresponding changes on cnss-daemon (1834087).

Change-Id: I9c5c701fa33992e44fc3bad5e58599da0b45cbd7
CRs-Fixed: 2133069
2017-10-27 01:57:54 -07:00
Sravan Kumar Kairam
26cf747681 qcacmn: Release the spin lock before return
Currently in interrupt handler of per CE, spin lock is taken for
send or receive and returns with out releasing the lock held if
target register access is not allowed. This condition will lead
to kernel panic if some other context is trying for the same lock.

Change-Id: I115f6fbb006d28097168342aa4add3526ad3939d
CRs-Fixed: 2077464
2017-10-27 01:57:52 -07:00
Frank Liu
e72a02d4e7 qcacmn: fix FT_PSK connection failure
For FT_PSK connection, we use WLAN_AKM_FT_IEEE8021X to make the
security match which causes can't find the candidate AP, the fix
is to use WLAN_AKM_FT_PSK instead.

Change-Id: Ic11fa8e47ccee04621e3bb9491f138c425c91cee
CRs-Fixed: 2131598
2017-10-26 23:48:07 -07:00
Manjunathappa Prakash
96713609aa qcacmn: Get rid of spinlock lro_unloading_lock
Spinlock "lro_unloading_lock" was required to synchronize the LRO
instance being deleted when there is LRO packet inflight.
With LRO moved to qdf and LRO is tied to hif_napi, LRO instance is
active with life time of the driver. So no need to protect via lock.

Change-Id: I06f7b43e80ddf0ce5e096351b38ce954eb634a95
CRs-Fixed: 2028318
2017-10-26 23:48:06 -07:00
Rajeev Kumar Sirasanagandla
3cbcfa519f qcacmn: Fix invalid buffer access in p2p mgmt tx processing
While transmitting p2p mgmt action tx frame, there is no check for
minimum payload length which can result in buffer over-read.

To avoid this, add check for header and payload length.

Change-Id: I9e3b4ef0878d934f3425d91bb6ea4a37b1892a3d
CRs-Fixed: 2103849
2017-10-26 23:48:04 -07:00
bings
21f4cdaee2 qcacmn: Free sdio global variables scn, ol_sc in hif_sdio_close
When BMI failed in sdio, hif_sdio_dev->claimed_ctx is not set as valid
value. Then scn, ol_sc can't be freed through hif_disable_bus as usual.

To fix this memory leak, free scn, ol_sc in hif_sdio_close.

Change-Id: I96b9b7c86ea6e84a32eec1c57c27ef042673e2e1
CRs-Fixed: 2131452
2017-10-26 21:49:14 -07:00
Amar Singhal
db8a58c97b qcacmn: Check for buffer overflow in event handler
Check for buffer overflow in send_log_supported_evt_cmd_tlv.

Change-Id: Ib4850ce1a7abb77025a0dc8a3cc9776f6550eb9e
CRs-Fixed: 2122746
2017-10-26 19:46:50 -07:00
Orhan K AKYILDIZ
6bd48f118a qcacmn: Add sanity check for pktlog msgs
Add sanity check for pktlog messages, as we have seen a single case
of inconsisten nbuf. Assert if fails.

Change-Id: I6a076c4dfaa2ff8e1972dd795cadeca1302b2c0e
CRs-Fixed: 2131952
2017-10-26 17:47:30 -07:00
Kiran Venkatappa
fa601a66eb qcacmn: Cleanup fw_abi_version handling in WMI
fw_abi_version is used in WMI to check compatabilty of host and target
WMI interface. Cleanup handling to fw_abi_version.

Change-Id: Ia78c4683b9eff06d3c052df3921c024962abd828
CRs-Fixed: 2131311
2017-10-26 04:07:56 -07:00
Himanshu Agarwal
2afd447999 qcacmn: Free netbuf and release peer ref at driver unload time
Free netbuf and release peer ref for tx frames for which tx completions
are not received from fw during driver unload time in
wlan_mgmt_txrx_psoc_close().

Change-Id: I8d5fb2e79f14a978473ab3754d9e495eb09eddaa
CRs-Fixed: 2122505
2017-10-26 01:40:13 -07:00
Shaakir Mohamed
ad25e73cc5 qcacmn: Fix for AP to ignore CAC complete event from firmware during CAC
Fix for AP to ignore the CAC complete event from firmware on WIN side,
during bring up on DFS channel, thereby not beacon during CAC.

Change-Id: I60107a9c571e6c6a64fb16c3f8884a7b7d32150d
CRs-fixed: 2122316
2017-10-25 19:41:16 -07:00
Sravan Kumar Kairam
786886b483 qcacmn: Management MGMT TXRX component over HTT
Currently there is no support for management MGMT TXRX
component over HTT endpoint and supports only over WMI.
As a result for platforms which does not support MGMT
over WMI will break other components which uses MGMT TXRX
component to send mgmt packets.

In this change implement changes to support MGMT TXRX
component over HTT.

Change-Id: I487aca3893aa21905a744e2e5dc7104e6c414fdc
CRs-Fixed: 2097694
2017-10-25 17:48:07 -07:00
Yun Park
b5e74bb6ae qcacmn: Fix irq mismatch from wake irq
Fix irq mismatch from wake irq, as well as extra irq free.

Change-Id: Id4415312868e54909521f0016923f859b228db64
CRs-Fixed: 2118005
2017-10-25 17:48:05 -07:00
Manjunathappa Prakash
2620760503 qcacmn: Add protection for pkt_log ops with module stop
Packet log ops are protected against load-unload and SSR, but not
against module stop. Take care to add check for module stop.
Also takecare to NULLing of wdi_event_list and NULL check before accessing.

Change-Id: I20d49ff587719fc14f60a53e86092383de6ef5b8
CRs-Fixed: 2131044
2017-10-25 13:41:05 -07:00
Poddar, Siddarth
a8cff1d786 qcacmn: Restrict each tso segment to 6 frags max
HW has the limit on the number of fragments per tso
segment of FRAG_NUM_MAX (=6).
When running traffic, network stack may send many small
messages which could result in tso segment has more number
of fragments than 6.
Therefore, ensure that tso segment should not contain
more than 6 fragment even if tso size is less than gso seg size.

CRs-Fixed: 2107317
Change-Id: I08f604e4f7fa6a1d6ab065c2360bba883328e5f2
2017-10-25 07:40:44 -07:00
Soumya Bhat
e9d320934e qcacmn: Fix return condition
Fix return condition in dp_tx_comp_free_buf()

Change-Id: Ia2d5fc1d3ceb12dfbb029627dc47e575ef52b327
CRs-Fixed: 2131477
2017-10-25 01:41:49 -07:00
Kai Chen
a0affa4174 qcacmn: Fix the packet capture issue on AMSDU/AMPDU
There is issue on receive RAW( Not Decap) long packet
that cross one skb in monitor mode. This issue is seen
to capture AMSDU/AMPDU packet that is use more than
on SKB.

Change-Id: Ic50b316818925b1d327634abc103430d8dde9f36
2017-10-24 23:50:25 -07:00
Houston Hoffman
353f06c4bd qcacmn: Allways do WMI_RX_EVENT_RECORD when wmi event recieved
Receipt of the wmi events wasn't being recoreded when the event
was being processed in the mc thread or tasklet.  Log the receipt
in all cases to root-cause unprocessed wmi events faster.

Change-Id: I2543a9ff9049e7d177c1ffa5df1e899035860f91
CRs-Fixed: 2125232
2017-10-24 19:19:12 -07:00
Hanumanth Reddy Pothula
fb715349e3 qcacmn: Include bitops.h header file to resolve compilation errors
Resolve compilation errors observed on 32-bit platform by including
bitops.h header file.

Change-Id: I907fa298a4ba1e4784dc85166b042512181b0c71
CRs-Fixed: 2037507
2017-10-24 16:40:17 -07:00
Frank Liu
f54299ee6f qcacmn: Send TDLS frames with lower AC
If ACM enabled and access is not granted for AC_VI, then send
TDLS frames with lower access category instead of dropping them.

Change-Id: I2201536dc4475764f33eebce1faa0a7df0b2c454
CRs-Fixed: 2119433
2017-10-24 15:38:24 -07:00
Ashish Kumar Dhanotiya
9563db8934 qcacmn: Remove wmi_id_to_name from wmi_unified.c
Remove wmi_id_to_name from wmi_unified.c as this
function is define in fw_api project.

Change-Id: I4b7d83ed79fe9a5d3a867149972a9ccb1e2f34c8
CRs-Fixed: 2002773
2017-10-24 15:38:22 -07:00
Liangwei Dong
8b6b17b592 qcacmn: Fix compile error
When build driver as static module with kernel,
the reg_get_dfs_region function name conflicts
with kernel function.

Fix by rename reg_get_dfs_region to
reg_get_current_dfs_region.

Change-Id: If2908f37c338b1dbf8290d10838f53848637271c
CRs-Fixed: 2127803
2017-10-24 05:39:17 -07:00
Balamurugan Mahalingam
1666dd32aa qcacmn: Enable support for Coldboot calibration in IPQ8074 platform
This changes checks the con_mode value and passes corresponding PLD mode value

Change-Id: I08a8f87c3dc92b7af02c36851b27eec800b7f4a7
2017-10-24 04:51:47 -07:00
Yun Park
175539f1fe qcacmn: Enable RPS dynamically for SAP mode
SAP Rx TPUT is bounded by host network stack, which is running in the
context of IPA work-queue, when IPA offload data path enabled.
However RPS shouldn't enabled for legacy Rx data path, where NAPI is
enabled. So, we dynamically enable RPS for SAP interface when the vdev
comes up and IPA was enabled only.
Send RPS enable indication to CNSS daemon to enable RPS only when SAP
interface comes up and disable RPS when SAP interface is closed.

Change-Id: Ia669b2c3ae814d0577f5226d8acbf026740ad760
CRs-Fixed: 2129520
2017-10-24 02:33:19 -07:00
Manjunathappa Prakash
7395e40ec2 qcacmn: Disable LRO capability during concurrency
LRO rx jumbo packets cannot be forwarded to other vdev and kernel drops
them with warning message:
"skbuff: wlan0: received packets cannot be forwarded while LRO is enabled"
So disable LRO capability during concurrency.

Change-Id: Ib35e1ee5f9c18a846e21ce1eb293e12e17761fa8
CRs-Fixed: 1092193
2017-10-24 00:49:36 -07:00
Yun Park
601d0d868a qcacmn: Fix IPA WDI3 Tx issues
Fix bug to enable IPA WDI3 Tx H/W path.

Change-Id: Ice691dccc649b38971985cd8da042719d943cec7
CRs-Fixed: 2085751
2017-10-23 22:08:28 -07:00
Kai Chen
1374d4b101 qcacmn: Remove buffer allocation for holding amsdu llc header
Remove buffer allocation for holding amsdu llc header. The
next amsdu llc header is copied to the end of previous msdu
skb buffer.

Check if monitor vdev pointer is NULL on packet delivery
on monitor mode to avoid crash.

Change-Id: I61dc53900c34f34d8dccb2e8b71cbdf5e005f61e
2017-10-23 22:08:27 -07:00
Manjunathappa Prakash
fe0b0d43c2 qcacmn: SSR protect the pktlog_fops functions
Protect pktlog_fops callback function from sub system restart.

Change-Id: Iaaa50f609a96058e5f1a669f88c97e4a97193562
CRs-Fixed: 2131028
2017-10-23 20:23:50 -07:00
Venkata Sharath Chandra Manchala
3e8add86bb qcacmn: Propagate config parameters to datapath
Provide an API to accept the config parameters
from the upper layer and store them in wlan_cfg_ctx.
Enable/Disable the datapath features based on these
parameters.

Change-Id: Icbdc835a51a6fea87c06174e9fc63d5d007aec1d
CRs-Fixed: 2097229
2017-10-23 16:30:16 -07:00
Soumya Bhat
cfbb8952ff qcacmn: Tx packet capture
Add support to send MSDU, mgmt. and ctrl payload along with metadata
to upper layer callback

FR 42132

Change-Id: Ie751322c7c15419ea908538e9e8687b64693fcfa
CRs-Fixed:2068486
2017-10-23 15:46:03 -07:00
Shaakir Mohamed
f6cb4b8576 qcacmn: Avoid CAC when switching to the same channel
Changes related to If63678a7e9ce00c1166e7f6533e5eaa0b0ae67a5
on modifying declaration of dfs_mlme_start_csa function on mlme side.

Change-Id: Id746faaaa2cdbdb48f80056eec3dd661a30122e5
CRs-fixed: 2117811
2017-10-23 13:43:22 -07:00
Tallapragada Kalyan
0017291c13 qcacmn: return msdu link descriptors to wbm release ring
add support to return msdu link descriptors received on rxDMA error ring
to wbm release ring without freeing the nbufs (msdus).

Change-Id: Ic12c3f0531a639b61d3d77cee6266ce595e4d1c9
2017-10-23 10:05:40 -07:00
Abhishek Singh
358312c3da qcacmn: Update Scan_ctrl_flags_ext flag on passive scan
For passive scan host expects dpp public action frames which
are broadcast. So set 3rd bit of scan_ctrl_flags_ext to 1, so
that firmware sends these frames to host upon passive scan.

Change-Id: I7ab70ef92d9226fc265e99f3d1196c5ebae6acb4
CRs-Fixed: 2124683
2017-10-23 08:06:26 -07:00
Kabilan Kannan
52a3a3ad05 qcacmn: Fix TDLS set state cmd sequence in concurrent TDLS connections
TDLS set state cmd to firmware is going out of sequence, if STA
is disconnected, when concurrent TDLS connections are active.
This out of sequence causes crash in the firmware.
Fix the out of sequence issue, by grouping all the TDLS delete
peer commands into one single command.

Change-Id: Idd315d544c46bcf063881bff5be70cb5d9ad0ea2
CRs-Fixed: 2123838
2017-10-23 08:06:24 -07:00
Pamidipati, Vijay
bd9c13f2e8 qcacmn: Enable update of per-peer statistics in MSDU Tx completions
Update of per-peer statistics was disabled from per-MSDU indications
as they are now updated from per-PPDU indications. However, the data from
per-PPDU indications is incorrect for some fields. Re-enable update of
statistics for per-MSDU completions till this issue is fixed in FW

Change-Id: I2983ef9244a6f95104ba49ab6d1c6543a951d0b2
CRs-Fixed: 2128230
2017-10-23 08:06:22 -07:00
Rachit Kankane
9b3889d6c4 qcacmn: Enforce MCC to SCC for 3-port combinations
This update is for moving of AP/GO to enforce SCC for 3-port
combinations AP+AP+STA and AP+GO+STA.

Change-Id: I878b56cd8215f0d0f846af62fa2033b268e96317
CRs-Fixed: 2127091
2017-10-23 06:12:41 -07:00
Rachit Kankane
6827e930ae qcacmn: policy_mgr update for new connection
Policy Manager updated when new connection request is under process.
The update is resctricting below behavior:
1. Maximum 2 vdevs are only supported per mac.
2. Intraband MCC among beaconing entities shall not be supported.
3. Intraband MCC shall be allowed when STA is operating on
   DFS/Passive/LTE avoidance channel.
4. No DFC SCC shall be allowed both in 2-port and 3-port for Auto.

Change-Id: If4e78791832207838c38ab7525f8081093cc73ed
CRs-Fixed: 2127091
2017-10-23 06:12:39 -07:00
Rachit Kankane
4298b392d7 qcacmn: New value for ini gWlanMccToSccSwitchMode
Currently ini variable gWlanMccToSccSwitchMode has 4 values.
Value 3 enforces SCC in anycase, if SCC is not possible then switchoff
the AP.
Added new value 5 for auto specific scenarios where, if SCC is not
possible the allow MCC.

Change-Id: I584958c6c61f7d1f5e077871e3891bba79f726a3
CRs-Fixed: 2127091
2017-10-23 06:12:37 -07:00
Rachit Kankane
3eef916a40 qcacmn: Correction in PCL index fetching routine
In case of SBS or DBS, both the MACs are used for operations.
We have issue in PCL index fatching routines for 3-port
concurrent combinations when first two ports are configured
in DBS mode.

Change-Id: I36ca9979ef4222428e383d89b52ff1388c79ac22
CRs-Fixed: 2127091
2017-10-23 06:12:36 -07:00
Rachit Kankane
0e5479e08c qcacmn: PCL update for 3-port combinations
Updated PCL table to support 3-port concurrent scenarios AP+AP+STA,
AP+GO+STA and AP+AP+AP.
The PCL entries are updated to have below behavior:
1. AP+GO or AP+AP will be supported either in DBS or in SCC mode
2. The Precedence order will be DBS, SCC.

Also disabling 3-port combinations with P2P-CLI.

Change-Id: I678e2b5a49577e173c0e34f83a7ccc528313aadd
CRs-Fixed: 2127091
2017-10-23 06:12:34 -07:00
Abhishek Singh
65c4be7ef3 qcacmn: Add support to enable/disable scans
Adds support to enable/disable scans for the psoc.
Also adds API to set and get the scan enable/disable status.

Change-Id: I2ebb6f9c7fffabef90e9f8c461bdf735e95f0db3
CRs-Fixed: 2124783
2017-10-23 03:42:51 -07:00
Pratik Gandhi
51b6b6d21b qcacmn: Control frame stats Rx BAR frames
Add Pdev level stats for Rx BAR frames.

Change-Id: I1cce56559fd1ffec11f873e35cb1c42b49c1c9ff
CRs-Fixed: 2110552
2017-10-23 01:55:58 -07:00
Nachiket Kukade
110e03024d qcacmn: Create a list for events and force complete them during SSR
During an SSR/PDR any threads waiting on an event won't be purged
unless they are timed out. This increases the recovery time taken
by the host after an SSR/PDR. Before waiting on an event, put the
event in a list. During an SSR set all the events in the list and
return error to the threads.

Change-Id: Iac4790a88cde1665fba4c23924566b4b309a2b03
CRs-Fixed: 2045141
2017-10-23 01:55:57 -07:00
Varun Reddy Yeturu
0f6d121446 qcacmn: Log the debug information before freeing the buffer
Log the necessary debug information before freeing the dynamically
allocated memory while sending WMI commands
WMI_ROAM_CONFIGURE_MAWC_CMDID and WMI_NLO_CONFIGURE_MAWC_CMDID.

Change-Id: I10c8a96f8bb1a6cb661501f9ae9b9b21560980de
CRs-Fixed: 2094763
2017-10-21 06:20:35 -07:00
Krunal Soni
80898349e8 qcacmn: Add NULL pointer check before dereferencing it
Few of the serialization APIs are de-referencing the pointer without
checking it against NULL.

Add a NULL check before de-referencing it.

CRs-Fixed: 2130161
Change-Id: I109518332e593e1f32936404021db1db7a332df7
2017-10-21 02:29:29 -07:00
Manjunathappa Prakash
136dd82676 qcacmn: Compilation fix, replace VOS by QDF macro
Change VOS_TRACE_LEVEL_ERROR to QDF_TRACE_LEVEL_ERROR.

Change-Id: I75575860e3ceea615740c34fc21db75082f10dfd
CRs-Fixed: 2121017
2017-10-20 18:59:58 -07:00
Sandeep Puligilla
d2c91d97a2 qcacmn: Initialize the mgmt tx params
Triggering crash at firmware due to
uninitialized value sent to firmware
as part of wmi_mgmt_params.

Initialize the management tx params
at p2p_mgmt_tx before populate.

Change-Id: Iea77266ee11f5742ea6a0074e4a6612452a764b1
CRs-Fixed: 2128419
2017-10-20 18:17:39 -07:00
Vignesh Viswanathan
9b9aedcfb4 qcacmn: Add cmn changes for supporting flush PMKSA fw
Currently, driver sends add/delete pmksa entry to fw
whenever supplicant sends set/delete pmksa to driver.

Add support to flush all PMKSA entries as well.

Change-Id: Iace843cdf26bf06f3e70703f87c082997a78b894
CRs-Fixed: 2094234
2017-10-20 16:10:29 -07:00
Naveen Rawat
9523aa15fa qcacmn: Add ucfg_wifi_pos set/get apis for FTM value
Define ucfg_wifi_pos apis for set/get of fine_time_meas_initiator.

Change-Id: Id33ba633c58e5b286211da9343797fc99ec364aa
CRs-Fixed: 2124286
2017-10-20 13:54:00 -07:00
Wu Gao
73b1f73a8c qcacmn: Add suspend and resume handler in P2P
Add suspend and resume handler in P2P component. Cleanup mgmt tx
queue and roc queue in P2P suspend handler.

Change-Id: I36bbe98e51eb817b60f08404636f0617b6aa537f
CRs-Fixed: 2058858
2017-10-20 13:53:58 -07:00