Gráfico de commits

3616 Commits

Autor SHA1 Mensaje Fecha
Edayilliam Jayadev
a9919d6e12 qcacmn: Changes to wext interface for external acs
Private ioctls for external acs operation like
set icm active, get channel load info, clear chan load info,
get nominal noise floor were transported and
handled by spectral module. We seperate this ioctls
from spectral by adding new IWPRIVs(get_icm_active,
set_icm_active, get_nominal_nf, clear_chan_info)and
moving their handlers out of spectral.

CRs-Fixed: 2126313
Change-Id: I8c6b56b85d566f5bc7f6217f6fbc99fa23171cdd
2017-10-30 01:39:07 -07:00
Gyanranjan Hazarika
409dc097be qcacmn: Enable sending vdev-param HEOP to target
It is required to send vdev-param HEOP to the target with
updated bss-color to enable HE BSS Color feature. Add
necessary code to support this.

Change-Id: I826bc5387dad8d044abcbc9cbdf69e93b59beb39
CRs-fixed: 2126605
2017-10-29 15:25:23 -07:00
Ganesh Kondabattini
948539c1d3 qcacmn: Go for DBS scan if atleast one session is connected
In coex mode, BT throughput test cases are getting effected as
driver is selecting non-DBS scan policy for directed scan requests.
FW is going to use only one MAC for scan when performing non-DBS
scan which inturn increases the total scan duration.
This increase in total scan duration has effect on BT throughput
test cases.

Select DBS scan policy if atleast one session is in connected
state.

CRs-Fixed: 2084608
Change-Id: I6fba26accbaed4d57c6c56a782e570b534af43c4
2017-10-29 07:25:15 -07:00
Ganesh Kondabattini
ef8506f32a qcacmn: check for directed SSID and BSSID
Update dbs scan policy as HDD_SCAN_DBS_POLICY_FORCE_NONDBS if
the scan request is for directed SSID or directed BSSID.

CRs-Fixed: 2084612
Change-Id: I9d720770e2e364ca5cb01bb5fe137f7248593398
2017-10-29 07:25:13 -07:00
Amar Singhal
009d7f1ab2 qcacmn: Add size checks in diag_fw_handler
Correct the invalid type conversions in diag_fw_handler.

Change-Id: I930c8602c0f98d19b7276987cbb4d42e4757e267
CRs-Fixed: 2129581
2017-10-28 19:36:37 -07:00
Shashikala Prabhu
739e33f1e0 qcacmn: Do not call scheduler for PO and FO
PO = Partial Offload
FO = Full offload

If the channel list preparation is handled in the same thread
of execution then call to scheduler is not required.

Change-Id: I46bf07ac14c1101de5e00165f34e937ab939659e
CRs-Fixed: 2124580
2017-10-28 07:25:39 -07:00
Shashikala Prabhu
70f77c51bd qcacmn: Fix invalid memory free
Problem:
Memory is allocated for avoid_freq_ind in reg_call_chan_change_cbks
function and freed when avoid_freq_ind is NULL.

Solution:
Memory is freed when avoid_freq_ind is not NULL.

Change-Id: I263441c5b05755054ee581b20af191d93c3dea5e
CRs-Fixed: 2124580
2017-10-28 07:25:38 -07:00
Houston Hoffman
c6d785d033 qcacmn: Support non atomic skb allocation
Improve reliability of skb allocations from non atomic callers
by letting them sleep.

Change-Id: If5a594519902ebe549fbc1ebd8c0eb97679cdcae
CRs-Fixed: 2127770
2017-10-27 19:37:28 -07:00
Yun Park
b9a7b5ac0d qcacmn: DP logging adjustments (0)
Reduce logging level of DP prints

Change-Id: I8909110ae33f279a9e2e66ae3fa1d40936418db4
CRs-Fixed: 2118016
2017-10-27 19:37:27 -07:00
Yingying Tang
474bba0579 qcacmn: Add "static" to fix compilation error for HL bus
Add "static" before some functions which only be used in 1 file to
resolve the compilation error.

Change-Id: I5bf80fe2e124bf4258c9bfdc997a5423773ca474
CRs-Fixed: 2010227
2017-10-27 13:33:01 -07:00
Kiran Kumar Lokere
c55ea47249 qcacmn: Add knobs to configure the scan paramters
Add user configuration parameters to configure the number of
probes in scan request and probe repeate time during scan

Change-Id: I65a3734d8080d8adfe3e9ffa26905e6adc196197
CRs-Fixed: 2071697
2017-10-27 13:33:00 -07:00
Shashikala Prabhu
4105bf68a4 qcacmn: Fix channel list validation failure for Taiwan country
Problem:
In 2.4GHz Taiwan country code, channel 8 shows HT40PLUS/HE40PLUS
supported. As per latest regulatory sheet, channel 8 should
support only HT20/HE20 and HT40MINUS/HE40MINUS.

Root Cause:
When populating the master channel list, channel 12 is marked as
enabled for bw 10MHz. Therefore, for channel 8 HT40PLUS/HE40PLUS
flag is enabled.

Solution:
Channel map defines the min and max BW for each channel. The
solution here is to define the (min, max) as (20, 40)MHz instead
of (2, 40)MHz for 2GHz channels. That way, channel 12 would not
be marked as enabled for TW.

Change-Id: If208c23d1341f7fc90d6714ec09de6deafc455d4
CRs-Fixed: 2124202
2017-10-27 06:07:06 -07:00
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