Commit Graph

22754 Commits

Author SHA1 Message Date
Masti, Narayanraddi
605b536d10 qcacld-3.0: Fix SAP to not send Assoc Rsp for duplicate Assoc Req
qcacld-2.0 to qcacld-3.0 propagation

Fix soft AP to not send Assoc response for Assoc req which is
unprotected and initiated by an injector rather than a testbed
station.
If STAUT sends duplicate Assoc request, Assoc response should
be sent only in case of non-PMF connection.

Change-Id: I6fb4c139af333c937e767cb111df4d1d69bddbd9
CRs-Fixed: 902969
2015-12-28 22:20:26 -08:00
Sandeep Puligilla
ee029ad052 qcacld-3.0: BT AMP Cleanup in CSR
Remove unused BT AMP code from CSR module

Change-Id: I12ee3940ed8b9b4f50faffbed4ad949730cb1297
CRs-Fixed: 926965
2015-12-28 22:20:26 -08:00
Krishna Kumaar Natarajan
22b59a7689 qcacld-3.0: Add configuration option for mpdu density
qcacld-2.0 to qcacld-3.0 propagation

Add configuration option for mpdu density through INI. Update
the default value of mpdu density from 0 to 7.

Change-Id: Ib97869d4aec160065c945cd62876d6fd191d63a5
CRs-Fixed: 941182
2015-12-28 22:20:26 -08:00
Kabilan Kannan
2ccd9e6c57 qcacld-3.0: Change TDLS default teardown parameters
qcacld-2.0 to qcacld-3.0 propagation.

Current TDLS default teardown interval does not work in
all the scenarios. Hence, change the default teadown
interval to 5 seconds and default TDLS idle packet
threshold to 3 to support all TDLS use cases.

Change-Id: Idf8b4cd02963d24350a1322ac4c7465fbfc7204f
CRs-Fixed: 936003
2015-12-28 22:20:26 -08:00
Kabilan Kannan
421714b6c6 qcacld-3.0: Configure TDLS peer mac and kickout threshold to target
qcacld-2.0 to qcacld-3.0 propagation.

Add new TDLS mode for TDLS external control operation to
achieve power save on the target. Firmware will use this mode
to control timers precisely and save the power.
Add configuration "gTDLSPeerKickoutThreshold" to fine tune
TDLS peer sta kick out operation.

Change-Id: Ie941f93b54983ca6323ef4384a66e0807a56a7b1
CRs-Fixed: 929749
2015-12-28 22:20:26 -08:00
Kabilan Kannan
ca670be788 qcacld-3.0: Pass TDLS teardown notification interval to target
qcacld-2.0 to qcacld-3.0 propagation.

Firmware uses same notification interval to send trigger to the
driver for both TDLS setup and TDLS teardown operations. In ideal
scenario firmware needs to have an option to configure different
values for TDLS setup and TDLS tear down operations. This change
will enable firmware to have different values for setup and
teardown operations.

Change-Id: I300350c56d4ef23993953338529f29df2ea122a1
CRs-Fixed: 920835
2015-12-28 22:20:26 -08:00
Jeff Johnson
417af557d1 qcacld-3.0: Convert wlan_hdd_green_ap.c to unified logging
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_green_ap.c to use the unified set of APIs.

Change-Id: If58683a833b1650a6cbea147debcead2551697da
CRs-Fixed: 937202
2015-12-28 22:20:26 -08:00
Rajeev Kumar
321a19ac35 qcacld-3.0: Enable athdiag debug support for SNOC devices
- Athdiag debug support is enabled for PCIe devices but disabled
  for integrated SNOC devices like iHelium.
- Enable athdiag debug feature support for SNOC devices as well.

Change-Id: I73ce74286bf59147e45868e424de4ee1bc858ca0
CRs-Fixed: 948890
2015-12-28 22:20:26 -08:00
Rajeev Kumar
1bcfd63412 qcacld-3.0: Remove support of power gating parameters
Propagation from qcacld-2.0 to qcacld-3.0

- WLAN firmware does not support get/set operations for power
  gating VDEV parameters
- Remove support for power gating VDEV parameters from WLAN host
  driver

Change-Id: I5b262b71364c11f648b579a8bdb6fa993ecb4a81
CRs-Fixed: 880180
2015-12-28 22:20:25 -08:00
Abhishek Singh
daff59fc23 qcacld-3.0: Add log in vos_mem_alloc if kzalloc takes more than 3 seconds
qcacld-2.0 to qcacld-3.0 propagation

Sometime the thread sleeps in kzalloc for long time, resulting in
thread stuck.

This change prints time taken by kzalloc, if time taken is more
than 3 seconds.

Change-Id: I027ab2ad4e93f8a02ba9e48e47d7aa3123785a31
CRs-Fixed: 926479
2015-12-28 22:20:25 -08:00
Abhishek Singh
c12479078c qcacld-3.0: Lower the log level for unhandled Action frame logs
qcacld-2.0 to qcacld-3.0 propagation

Too many log prints are seen by default if unhandled action frame
are received.

This change lowers the log level for unhandled Action frame logs.

Change-Id: I4af258eed12c2f352f97df0f73e9ab0c6278a437
CRs-Fixed: 924661
2015-12-28 22:20:25 -08:00
Abhishek Singh
b7b2a3b712 qcacld-3.0: Add disconnect to the head of sme pending command list
qcacld-2.0 to qcacld-3.0 propagation

If connect is received and queued to sme pending list while scan
is in progress in sme, once scan is completed, again scan is
queued to get the scanned channel info with reason
eCsrScanGetScanChnInfo behind connect command.

Connect is executed next with scan command in pending queue.
Now if disconnect is received from hdd it is also queued in sme
pending cmd list behind scan.

Once connect is executed the wait for key state is set and wait
key timer is started. As only disconnect and set key command are
allowed in wait for key state, the pending cmd queue is not
executed with scan command at the head and thus the disconnect is
not executed. Also as supplicant has issued disconnect, no keys
will be set and pending command queue will not be processed till
wait for key timer expires.

If during this time unload starts all the commands including the
disconnect command sme pending queue are flushed and thus no
DEL BSS is sent to firmware before HAL STOP which leads to crash.
To avoid this add disconnect to the head of sme pending command
list so that disconnect can be processed after connect during
wait for key state.

Change-Id: I333e7b103ac10e368d34b5bf8b87cc360650cd50
CRs-Fixed: 930713
2015-12-28 22:20:25 -08:00
Satish Singh
82d8528bed Release 5.0.0.149 QCACLD3 WLAN Driver
Release 5.0.0.149 QCACLD3 WLAN Driver

Change-Id: I780e387e2df3e2b5f64cf193c81624efab4e92cd
CRs-Fixed: 688141
2015-12-28 14:23:23 -08:00
Houston Hoffman
5998d5f66d qcacld-3.0: Enable emergency reaping for wmi pipe.
Since management frames have been added to the wmi pipe,
the wmi pipe may fill up before the driver schedules the
tx completion processing.

Make tx completion processing use the DDR ce index to
avoid register access durring reaping.

Change-Id: I213aa0274d3c66e583bcdb700ced1133c2c30ebc
CRs-Fixed: 945831
2015-12-28 14:20:47 -08:00
Manjunathappa Prakash
c2425a6116 qcacld-3.0: add retry logic if htc_issue_packets fails
Fix WMI command path Tx failure case:
1) Current WMI command path frees the packet with dummy completion when hif
   fails to send the packet down. Fix it by putting back cmd to endpoint
   Tx queue for retry.
2) Also separate WMI mgmt command/event log buffer from control path
   command logs

Change-Id: Icc3f7fde10a592de3c5354ba720d6810ce1b635a
CRs-Fixed: 940100
2015-12-28 14:20:47 -08:00
Nirav Shah
f2e3637e64 qcacld-3.0: Ignore HTT_T2H_MSG_TYPE_MGMT_TX_COMPL_IND from FW
Ignore HTT_T2H_MSG_TYPE_MGMT_TX_COMPL_IND from firmware if
management over WMI is enabled.

Change-Id: Ic196d17526c251ae26dd59ca2f42b7bff9a46ffe
CRs-Fixed: 949946
2015-12-28 14:20:47 -08:00
Nirav Shah
22bf44dc87 qcacld-3.0: Do not reserve mgmt descriptors
Do not reserve tx descriptors for management packets
if management over WMI is enabled.

Change-Id: Iafe758d91d11f4875e3152d92538055784490a14
CRs-Fixed: 949917
2015-12-28 14:20:47 -08:00
Nirav Shah
331172a1d9 qcacld-3.0: Use appropriate list API
Use list_for_each_entry_safe API to traverse list
while deleting list entry in cds_drop_rxpkt_by_staid
to avoid crash.

CRs-Fixed: 943767
Change-Id: I4d09fd88f0faefacfc886866d9045b09feeb4432
2015-12-28 14:20:47 -08:00
Nirav Shah
6ea4ca5f0d qcacld-3.0: Remove per vdev tx descriptor pool
Remove per vdev tx descriptor pool feature as
it is applicable only for High Latency.

CRs-Fixed: 916724
Change-Id: I22ab3dd187518790694356bdde8475b194845bf5
2015-12-28 14:20:46 -08:00
Nirav Shah
9d7f2e8b79 qcacld-3.0: Enable enahnced flow control
a) Enabled flow control
b) Add small helper functions to avoid duplication of
   code.
c) Fix thermal mitigation unpause issue with flow control.

CRs-Fixed: 916716
Change-Id: Ic02b66d1c23768a1c71dc08ed50dcedd02b647ce
2015-12-28 14:20:46 -08:00
Srinivas Girigowda
bdc98160e9 qcacld-3.0: Add support for telescopic PNO
This is a qcacld-2.0 to qcacld-3.0 propagation.

QCACLD firmware already addresses power concern during PNO scanning by
extending fast_scan_period, slow_scan_period and fast_scan_max_cycles
configuration which need to be set by the host driver.

Add the host driver support to do the same.

Description:
1. fast_scan_period: This is the fast PNO scan period. The scan interval time
sent down by the supplicant is assigned to this.
2. fast_scan_max_cycles: This parameter tells firmware to switch from
fast to slow scan period after this many number of fast_scan_periods
has elapsed.
3. slow_scan_period: This is slow PNO scan period with which scan happens
less frequently to save power. Once the FW switches from fast to slow period,
it remains in slow scan period until next PNO Start.

cfg.ini items:
1. Repurpose gPNOScanTimerRepeatValue to fast_scan_max_cycles.
2. Introduce new cfg.ini gPNOSlowScanMultiplier to act as multiplier of
   fast_scan_period.

Change-Id: I453f09d42be3228ecc9c5023eca26eae1e589d6a
CRs-Fixed: 902381
2015-12-28 14:20:46 -08:00
Srinivas Girigowda
dccab9a38a qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirLinkSpeedInfo
Replace tSirMacAddr with cdf_mac_addr in sSirLinkSpeedInfo

Change-Id: Ieaac1d3bb7f632eeaa848e19dadb4f3013a272e4
CRs-Fixed: 898864
2015-12-28 14:20:46 -08:00
Srinivas Girigowda
3189655731 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirAddPeriodicTxPtrn
Replace tSirMacAddr with cdf_mac_addr in sSirAddPeriodicTxPtrn.

Change-Id: Idc7db873b0b1d5088465511eb7852fee40339c49
CRs-Fixed: 898864
2015-12-28 14:20:46 -08:00
Srinivas Girigowda
a5bba7ad2b qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirDelPeriodicTxPtrn
Replace tSirMacAddr with cdf_mac_addr in sSirDelPeriodicTxPtrn.

Change-Id: I0445b5c7ec7d1e361b5ab7d72d2c607c6b8121c0
CRs-Fixed: 898864
2015-12-28 14:20:46 -08:00
Srinivas Girigowda
4f59379d60 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirTdlsEventnotify
Replace tSirMacAddr with cdf_mac_addr in sSirTdlsEventnotify

Change-Id: Ia78eeffd98821ea075df0838dc7ff4367ce0ca36
CRs-Fixed: 898864
2015-12-28 14:20:46 -08:00
Srinivas Girigowda
a6a1d20a3a qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirWlanExcludeUnencryptParam
Replace tSirMacAddr with cdf_mac_addr in sSirWlanExcludeUnencryptParam

Change-Id: Ie6b3172757826d579ac44027b1d023be62b3292f
CRs-Fixed: 898864
2015-12-28 14:20:46 -08:00
Srinivas Girigowda
9853049218 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirRcvFltPkt
Replace tSirMacAddr with cdf_mac_addr in tSirRcvFltPkt group of
structures.
1. tSirRcvPktFilterCfgType
2. tSirRcvFltPktClearParam
3. tSirRcvFltMcAddrList
4. tSirRcvFltPktMatchRsp

Change-Id: I7c0dabc5c4643eee6dfe69dad76fb7363b40dce6
CRs-Fixed: 898864
2015-12-28 14:20:46 -08:00
Srinivas Girigowda
2213b1d9cf qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in GtkOffload Req/Rsp
Replace tSirMacAddr with cdf_mac_addr in GtkOffload Req/Rsp.

Change-Id: Ib5a20b5741d08bd86cd8674d8e9724392093b706
CRs-Fixed: 898864
2015-12-28 14:20:46 -08:00
Srinivas Girigowda
a35f10958e qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirTdlsAddSta Req/Rsp
Replace tSirMacAddr with cdf_mac_addr in tSirTdlsAddSta Req/Rsp.

Change-Id: Ie10b69ce99645f7ace3d772dc8c8de87ad86f2bc
CRs-Fixed: 898864
2015-12-28 14:20:45 -08:00
Srinivas Girigowda
84f4292b85 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirTdlsDelSta Req/Rsp/Ind
Replace tSirMacAddr with cdf_mac_addr in sSirTdlsDelSta Req/Rsp/Ind.

Change-Id: I98264dea13b7bc596c092461da0ecf865332095e
CRs-Fixed: 898864
2015-12-28 14:20:45 -08:00
Srinivas Girigowda
5146deef9f qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirPlmReq
Replace tSirMacAddr with cdf_mac_addr in sSirPlmReq.

Change-Id: I21df91d980bc081af28f67a344d138b3c54eaf14
CRs-Fixed: 898864
2015-12-28 14:20:45 -08:00
Srinivas Girigowda
9d6a6db43f qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sTSMStats
Replace tSirMacAddr with cdf_mac_addr in sTSMStats.

Change-Id: Ib7a00874a5ad1c90ac2ab332015b136efc73cdc9
CRs-Fixed: 898864
2015-12-28 14:20:45 -08:00
Srinivas Girigowda
37eeeb06c8 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirSmeProbereq
Replace tSirMacAddr with cdf_mac_addr in sSirSmeProbereq.

Change-Id: I86622c1bca4bdcd0aad5b7a44ff490e11e8c142d
CRs-Fixed: 898864
2015-12-28 14:20:45 -08:00
Srinivas Girigowda
d8af4a6b62 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in sSirSmeStartBssReq
Replace tSirMacAddr with cdf_mac_addr in struct sSirSmeStartBssReq.

Change-Id: I76c09e0c865ada1fe53a9e4779a32b19291fbfda
CRs-Fixed: 898864
2015-12-28 14:20:45 -08:00
Krishna Kumaar Natarajan
c768199001 qcacld-3.0: CL 1417063 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation

Add rsPhyErrMask fields to WMI COMB_PHYERR_RX.

Change-Id: Ib64bb9b21d381863ef60e17e93886d070a6a7617
CRs-Fixed: 865207
2015-12-28 14:20:45 -08:00
Krishna Kumaar Natarajan
e2c7046b2a qcacld-3.0: CL 1414893 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation

Add wmi interface changes related to SCPC implementation.

Change-Id: I493f03d14dfb54fb152e142c0ec4df69bcb65721
CRs-Fixed: 865207
2015-12-28 14:20:45 -08:00
Krishna Kumaar Natarajan
1dfa3537bf qcacld-3.0: CL 1413998 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation

Add new RTT related wmi interface changes to support
TLV based messaging.

Change-Id: I0591907984c3c58039a06ce123dca777d24c590f
CRs-Fixed: 865207
2015-12-28 14:20:45 -08:00
Krishna Kumaar Natarajan
3878391e4a qcacld-3.0: CL 1412803 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation

Add service bit for Unified WOW.

Change-Id: If23dbd048fab5032200901d263a71fb49c8203e4
CRs-Fixed: 865207
2015-12-28 14:20:45 -08:00
Krishna Kumaar Natarajan
04c4e912c6 qcacld-3.0: CL 1412709 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation

Add wmi interface changes related to enhanced ioac feature.

Change-Id: Ia45ef032bd6e01242e28123cfc402cac9ae8a22d
CRs-Fixed: 865207
2015-12-28 14:20:45 -08:00
Krishna Kumaar Natarajan
d913190603 qcacld-3.0: Fix mangled function names
Fix mangled APIs sme_configure_ext_wo_w,
sme_process_ready_to_ext_wo_w and
lim_remove_timeout_pbc_sessions which were introduced
while converting the names programmatically.

Change-Id: Ie0a79b476a99bf1be0411dae0542359e7d58141a
CRs-Fixed: 882962
2015-12-28 14:20:44 -08:00
Krishna Kumaar Natarajan
8a8df26374 qcacld-3.0: Fix incorrect reference to wiphy flags
Fix incorrect reference of wiphy flags while setting
WIPHY_FLAG_HAS_CHANNEL_SWITCH.

Change-Id: Ifebaa9a8452a8564f60f29015f240d5a43bb9afb
CRs-Fixed: 947551
2015-12-28 14:20:44 -08:00
Govind Singh
ede435fab0 qcacld-3.0: cleanup tx-queue during SSR
qcacld-2.0 to qcacld-3.0 propagation

During SSR, Host is sending packets to firmware before WMI_READY_EVENT.
Fix is to avoid sending tx when logp_in_progress & clean ll-queue
packets in shutdown.

Change-Id: Ib6b9f4d51f2aa7f85d384831818b45763c702c88
CRs-Fixed: 834887
2015-12-28 14:20:44 -08:00
DARAM SUDHA
a51d6fb5df qcacld-3.0: disable pn check for ibss network, in security mode
qcacld-2.0 to qcacld-3.0 propagation

Multicast packets using different sequence number space
gets dropped on the host due to the existing logic of
running duplicate detection check and out-of-order packet check
on all non-aggregation (legacy) TIDs, since f/w uses a
special (non-aggregation) TID (18) to indicate these packets
to the host, irrespective of sequence number space.

The fix is in 2 parts:

1) Do only duplicate detection on mcast packets & not out-of-order check
   (Also do dup-detection only if retry bit is set)
2) Instead of using mcast TID indicated by f/w, use the actual
   packet TID from the Rx descriptor to perform the duplicate detection
   and use a separate (new) field in rx_reorder_array to store
   the last successful mcast sequence number. On the next mcast packet
   perform the duplicate detection against mcast sequence number, rather
   than the ucast sequence number.

Change-Id: I4c3542e82a1917b4ed27513e9244702bb212df88
CRs-FIXED: 788954
2015-12-28 14:20:44 -08:00
DARAM SUDHA
61270b0e59 qcacld-3.0: initialize SendFlags in HTT before downloading to FW
qcacld-2.0 to qcacld-3.0 propagation

In Low-latency interface, to avoid 1d2 happening during roaming
test, host need to send HTC header to fw, by setting SendFlags
to zero to avoid deadlock situation.1d2 happened during roaming
test.

Change-Id: Ib3d16deadf038708fb75bcba692bd6adf3959c4e
CRs-Fixed: 807505
2015-12-28 14:20:44 -08:00
Konamki, Sreelakshmi
ec14e6a53b qcacld-3.0: STA is disconnected with specific AP IPTIME N904NS-second
qcacld-2.0 to qcacld-3.0 propagation

STA gets disconnected with AP IPTIME N904NS when AP is configured
for WPA1 + TKIP on CH 161.
Return value of memcmp function must be checked with NOT operation.

Change-Id: Ic866a70917c1e713855c28a8f156ffe7c381fa07
CRs-Fixed: 642070
2015-12-28 14:20:44 -08:00
Hema Aparna Medicharla
5e1f302b26 qcacld-3.0: Donot defer Rx frames processing if ADD TS request sent
qcacld-2.0 to qcacld-3.0 propagation

Current implementation defers all the received frames
when ADD TS request is sent out over the air. This,
in addition, to check for pMac->lim.gLimAddtsSent
incurs delay, till ADD TS response timeout, in processing
of the ADD TS response received if SET_LIM_PROCESS_DEFD_MESGS
is set to FALSE. As there is no rationale defer processing
of Rx frames while waiting for ADDTS response, changes are
made to not defer processing of RX frames for the same.

Change-Id: I1d1a41a0e3555ae19548a0cabf3b9569af775f72
CRs-Fixed: 839546
2015-12-28 14:20:44 -08:00
Konamki, Sreelakshmi
f5910aba20 qcacld-3.0: STA is disconnected with specific AP IPTIME N904NS-second
qcacld-2.0 to qcacld-3.0 propagation

STA gets disconnected with AP IPTIME N904NS when AP is configured
for WPA1 + TKIP on CH 161.

Change-Id: Ifa30ed624c1f9f3c549def45cdb9e5f8ebfae233
CRs-Fixed: 627650
2015-12-28 14:20:44 -08:00
Sreelakshmi Konamki
e1ce562b9b Revert "qcacld-3.0: After DELTS, revert to UAPSD related intervals in ini"
qcacld-2.0 to qcacld-3.0 propagation

This reverts Change-Id I858cd3cbd536ec189ea808c5d637abffe388f7aa.

With change id I858cd3cbd536ec189ea808c5d637abffe388f7aa,
host is not sending WMI_STA_UAPSD_AUTO_TRIG_CMDID command to firmware
during disable UAPSD per AC.

Change-Id: Ifdbcd6926ca86b1baeeadcf7a4720e460d41a6e5
CRs-Fixed: 911229
2015-12-28 14:20:44 -08:00
Chandrasekaran, Manishekar
f78b05e239 qcacld-3.0: Avoid taking lock for vfree API during driver load/unload
This is qcacld-2.0 to qcacld-3.0 propagation

Avoid invoking vfree inside spinlock during logging service
activation and deactivation. Since vfree is prone to sleep, this
disables the IRQs for duration longer than the acceptable limit.
vfree can be done without spin lock here, as there is no
synchronization issue in this scenario.

CRs-Fixed: 914363
Change-Id: I4d69431a98a4e4301dfc1e2b3b4c40c408a7ef99
2015-12-28 14:20:44 -08:00
Peng Xu
278d012c68 qcacld-3.0: Dynamic OTA test mode enable
For OEM to do OTA tests, power save, background scan, and low RSSI
scanning need to be disabled and it should be done dynamically.
Implement a vendor command to enable and disable OTA test mode.

CRs-fixed: 941776
Change-Id: Ic9da11cf5f4bb19a01d9b55c50c0aea196abbfb6
2015-12-28 14:20:44 -08:00