Commit Graph

12809 Commits

Author SHA1 Message Date
Ajit Pal Singh
6190ca2861 qcacld-3.0: Do not unmap mgmt_tx nbuf for HL
Do not unmap mgmt_tx nbuf for HL as the mgmt_tx nbuf is not mapped
in case of HL.

Change-Id: I1e7bf3af09dea357075d897974d3a59e0b439ae4
CRs-Fixed: 2349234
2018-11-23 13:10:35 -08:00
nshrivas
67b3174f42 Release 5.2.0.108F
Release 5.2.0.108F

Change-Id: I2efca3664983b20f5f76dad41d04895c5c92d653
CRs-Fixed: 774533
2018-11-23 05:12:32 -08:00
Abhishek Singh
0d0568a647 qcacld-3.0: Purge all active and pending cmds during SSR
During Vdev start/restart LimProcessDefdMsgs is set to false. If
start/restart timeouts, it will initiate SSR but will not send
response to LIM and thus gLimProcessDefdMsgs will not set to true.
Thus no other commands will be processed in LIM. If any command is
queued in serialization during this time it will timeout.

This will eventually lead to timeout of the vdev destroy command as
it won't get processed until the command in active queue timeout and
it leads to peer and vdev refcount leaks.

To fix it purge all active and pending cmds during SSR, so that vdev
destroy cmd can be processed immediately and can release vdev/peer
ref count.

Change-Id: Id5c15ccb4c27dabfdd4a9e0d7ee9b765130e03bf
CRs-Fixed: 2354899
2018-11-23 05:12:31 -08:00
nshrivas
69b9aba70d Release 5.2.0.108E
Release 5.2.0.108E

Change-Id: I98f1b994d54dced7759412c3df5a85975a6b5a4c
CRs-Fixed: 774533
2018-11-23 03:38:28 -08:00
jitiphil
b03ae08244 qcacld-3.0: Relocate HDD DP ini items
Relocate below HDD DP ini items as per convergedinfrastructure.

1. enable_dp_trace
2. gDptraceConfig
3. gEnableNUDTracking

Change-Id: I1938c3f5ab8164e792cb9b1c76e6afa79444bd6f
CRs-Fixed: 2347598
2018-11-23 03:38:27 -08:00
Vignesh Viswanathan
ecd4de72ad qcacld-3.0: Cleanup HT Related CFG/INI Items
Cleanup multiple HT related CFG/INI Items which are already moved to the
MLME component.
Also move gShortSlotTimeEnabled INI from HDD to MLME component

Change-Id: Ie8c19f508401d4d72990f35ea5dcc18d45f0f16b
CRs-Fixed: 2354687
2018-11-23 03:38:24 -08:00
jitiphil
8e15ea6d1e qcacld-3.0: Relocate legacy DP INI items
Relocate below legacy  DP ini items as per
converged infrastructure.

1. maxMSDUsPerRxInd
2. gEnableTxSchedWrrVO
3. gEnableTxSchedWrrVI
4. gEnableTxSchedWrrBE
5. gEnableTxSchedWrrBK

Change-Id: Iebded11869c55c1797f0521af05585284f46f544
CRs-Fixed: 2351663
2018-11-23 03:38:20 -08:00
nshrivas
9de928ccfc Release 5.2.0.108D
Release 5.2.0.108D

Change-Id: I808aecbd3c64bbbb55f671fa4a22ffdf08b6ebc3
CRs-Fixed: 774533
2018-11-23 02:00:07 -08:00
Yu Ouyang
58648a57f3 qcacld-3.0: fix wlan driver reload issue without CNSS module
Currently, driver without CNSS module can't be unloaded when firmware
crashed. Without CNSS module, driver should set recovery in progress
flag to false when fw dump finished or failed. Driver should add ramdump
memory address and length too.

Change-Id: I672c50bd90ada7ff47ddff64ff3b313a75faff13
CRs-Fixed: 2343124
2018-11-23 02:00:06 -08:00
Jeff Johnson
9c5b3cf83c qcacld-3.0: Replace tpPESession in lim_process_fils
To align with the Linux coding style replace tpPESession with struct
pe_session * in lim_process_fils.

Change-Id: I319b7663f878fe4344e40a2ead793cc0eae6e804
CRs-Fixed: 2354283
2018-11-23 02:00:02 -08:00
Jeff Johnson
4a07a9b195 qcacld-3.0: Replace typedef tComebackTimerInfo
Per the Linux coding style "mixed-case names are frowned upon" and
"so-called Hungarian notation [...] is brain damaged." One identifier
used extensively throughout the driver that violates both of these
tenants is "pMac." In order to be compliant with the Linux coding
style there is a campaign to rename all instances of this identifier.
One instance is the following field in typedef tComebackTimerInfo:
-       tpAniSirGlobal pMac;

In order to meet the needs of the campaign all that is really needed
is to rename this field and modify all accesses to this field. However
note that the Linux coding style also objects to typedefs except in a
few cases, and the use case for tComebackTimerInfo does not apply.
Therefore to address the larger problem replace the tComebackTimerInfo
typedef with an appropriately named struct with appropriately named
fields.

Change-Id: I397af122fdf8a2b15fc829411698150ae8b7ef94
CRs-Fixed: 2354998
2018-11-22 20:05:53 -08:00
nshrivas
8e3314ada6 Release 5.2.0.108C
Release 5.2.0.108C

Change-Id: Ia6835f7b5a5f9e43217b26f35b2b2e59aabd5043
CRs-Fixed: 774533
2018-11-22 19:53:23 -08:00
Jeff Johnson
6fee48b212 qcacld-3.0: Replace typedef tCsrTimerInfo
Per the Linux coding style "mixed-case names are frowned upon" and
"so-called Hungarian notation [...] is brain damaged." One identifier
used extensively throughout the driver that violates both of these
tenants is "pMac." In order to be compliant with the Linux coding
style there is a campaign to rename all instances of this identifier.

One instance is the following field in typedef tCsrTimerInfo:
-       tpAniSirGlobal pMac;

In order to meet the needs of the campaign all that is really needed
is to rename this field and modify all accesses to this field. However
note that the Linux coding style also objects to typedefs except in a
few cases, and the use case for tCsrTimerInfo does not apply.
Therefore to address the larger problem replace the tCsrTimerInfo
typedef with an appropriately named struct with appropriately named
fields.

Change-Id: I0bddcbe1057611d4c6e586358f64a29fb4049776
CRs-Fixed: 2354421
2018-11-22 19:53:22 -08:00
nshrivas
f89fa6e0c1 Release 5.2.0.108B
Release 5.2.0.108B

Change-Id: Icfcd95a2c897d238afe89fcd54194387bb3f4c50
CRs-Fixed: 774533
2018-11-22 18:18:05 -08:00
Vignesh Viswanathan
ed7041d20e qcacld-3.0: Remove Unused gEnableSSR INI
Removed Unused gEnableSSR INI and related code

Change-Id: Ie768c44b4c2fbfdaff798ab3043c7391b2fb8b40
CRs-Fixed: 2354839
2018-11-22 18:18:05 -08:00
Bala Venkatesh
3d786ebe08 qcacld-3.0: Refactor SAP ini items
Refactor ini items gSapForce11NFor11AC and gGoForce11NFor11AC
into new mlme component.

Change-Id: I85e2f7f9ae14a23c322572290b095aae0f29b0ec
CRs-Fixed: 2354940
2018-11-22 18:18:01 -08:00
Jeff Johnson
4fc88ce543 qcacld-3.0: Remove csr_get_disassoc_rsp_status_code()
Function csr_get_disassoc_rsp_status_code() is unused, so remove it.

Change-Id: Ifda76e7916eca8bc6ee6da41d972bf621ef4be38
CRs-Fixed: 2353537
2018-11-22 18:17:57 -08:00
Jeff Johnson
47c9837f6d qcacld-3.0: Replace tpPESession in ani_global.h
To align with the Linux coding style replace tpPESession with struct
pe_session * in ani_global.h.

Change-Id: I201febaf023f3c5c04761a16a3d6b149d3172957
CRs-Fixed: 2353397
2018-11-22 18:17:54 -08:00
nshrivas
7c2014a684 Release 5.2.0.108A
Release 5.2.0.108A

Change-Id: I38cee11ea82db6a32138cb4b9f0fa579a1b039c9
CRs-Fixed: 774533
2018-11-22 16:38:32 -08:00
jitiphil
ebf3a9204f qcacld-3.0: New HTT H2T msg support
Current HTT_H2T messages from host driver does not have
consistency in message length set by host driver. Some
message types include HTC header length also within the
message length, while other types have message length
itself only.

Fix the same by sending same message format based on
firmware capability.

Change-Id: I885a21530a2d8f852387ae54cf7ee0751aad2516
CRs-Fixed: 2145560
2018-11-22 16:38:32 -08:00
nshrivas
b5333945b8 Release 5.2.0.108
Release 5.2.0.108

Change-Id: I47dc68fa86c4106f97823eb7a6d1be7c0bbfe9e4
CRs-Fixed: 774533
2018-11-22 13:27:46 -08:00
Vignesh Viswanathan
793328d6c7 qcacld-3.0: Set last beacon report indication for last report in last frame
Currently all the reports in the last beacon report frame has the
last beacon report indication field set to 1.

Set the last beacon report indication field to 1 only for the last
report in the last frame.

Change-Id: I7c824fc2ba0d26eae906c53b7ebd7c6111fc2379
CRs-Fixed: 2343956
2018-11-22 13:27:45 -08:00
Vignesh Viswanathan
23bec9819c qcacld-3.0: Set last beacon report indication support based on request
Set the last beacon report indication support in the beacon response
based on the last beacon report indication sub element in the beacon
report request received from the AP.

Change-Id: Ibe190e23379b56af9272368b96cf912e1512f650
CRs-Fixed: 2342697
2018-11-22 13:27:41 -08:00
Vignesh Viswanathan
09bd8f46dd qcacld-3.0: Fix Reported Frame Body Frag ID and last beacon report
Add changes to implement the correct Reported Frame Body Frag ID and
last beacon report indication sub-elements for beacon report action
frame

Change-Id: I3776a239c2e0b04d35c2adb58598016b927154c6
CRs-Fixed: 2342678
2018-11-22 13:27:36 -08:00
nshrivas
d26c67aa00 Release 5.2.0.107Z
Release 5.2.0.107Z

Change-Id: Ic1f51de84ee2929dad507000e176b7895c16376f
CRs-Fixed: 774533
2018-11-22 11:56:09 -08:00
Nachiket Kukade
4f68658ef8 qcacld-3.0: Hold APF set instruction context till completion
Once Driver receives APF sub-command QCA_WLAN_SET_PACKET_FILTER,
it posts the message to SME and returns the context. In case
where vdev restarts before sending the APF command to WMI,
driver will drop it since Firmware cannot accept the command
while vdev is down. Upper layer will have no knowledge of this
failure since there is no acknowledgment mechanism for a
successful APF command sent to the Firmware. Once the vdev is up
again, upper layer will send next APF instructions and driver
will allow then to the Firmware. This is problematic since
Firmware cannot operate with the partial APF instructions since
the initial part was dropped.

Hold the vendor command context till the command is successfully
sent to the Firmware. Propagate the errors to the upper layer.

Change-Id: If3cd6fbc85f83c0d78e735e96c00011cd2fd9347
CRs-Fixed: 2350640
2018-11-22 11:56:08 -08:00
nshrivas
a5a24bf6f4 Release 5.2.0.107Y
Release 5.2.0.107Y

Change-Id: I1d9d81f49b9f2d2ad10cc6d37ee4beb7722e9466
CRs-Fixed: 774533
2018-11-22 07:53:09 -08:00
Abhinav Kumar
ab57671afd qcacld-3.0: ADD MLME INI items of WMM Config
Add the following WMM config ini configs to MLME cfg:

1. CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME
2. CFG_QOS_WMM_BURST_SIZE_DEFN_NAME
3. CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME
4. CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME

Introduce the basic infra APIs related to these configs
from mlme.

Change-Id: I149971768a7193099926e2778f093dcd073f0461
CRs-Fixed: 2327692
2018-11-22 07:53:08 -08:00
nshrivas
14e7e24803 Release 5.2.0.107X
Release 5.2.0.107X

Change-Id: I471e6074890fe1468d08b257c71df3d22b2db593
CRs-Fixed: 774533
2018-11-22 04:18:19 -08:00
Rakshith Suresh Patkar
ba55fd097f qcacld-3.0: Flush scheduler message queues before htc_stop
There is a window where wmi commands are reaching HTC while HTC is
getting stopped in other context irrespective of wma_wmi_stop() which
will lead to memory leaks.

To avoid this issue, flush all scheduler message queues before
proceeding to htc_stop.

Change-Id: I4d0742d7b9df6a9b0401fd4e840ff6a667d353da
CRs-Fixed: 2352291
2018-11-22 04:18:18 -08:00
Bala Venkatesh
2fae18aa35 qcacld-3.0: Clean up legacy HE CAP Cfg items
Cleanup of HE caps cfg items from legacy path.

Change-Id: I769601f4d0f1681cee7168069e63f3f7ceab0475
CRs-Fixed: 2353934
2018-11-22 04:18:15 -08:00
Jianmin Zhu
8647c72757 qcacld-3.0: Fix asymmetry of ipa pdev create and destroy handler
Fix asymmetry of ipa create and destroy handler

Change-Id: I89f5ca112ef3cc6b46fef8273800c668936f9c2f
CRs-Fixed: 2353796
2018-11-22 04:18:12 -08:00
Kiran Kumar Lokere
ce2d459527 qcacld-3.0: Enable crypto component support for security IEs
Enable crypto component support for security IE checks and IE
generation.

Change-Id: I59a412ad5ff26ddedb9d827cb7ce0cbf59aa18a1
CRs-Fixed: 2337208
2018-11-22 04:18:09 -08:00
Kiran Kumar Lokere
4ce4048f99 qcacld-3.0: Use new crypto component apis for security checks
Use new converged crypto component servcie apis to check the
security match.

Change-Id: I6d54f22483cf0e37d6ab4b6a02f99ba9aa025fe3
CRs-Fixed: 2337074
2018-11-22 04:18:05 -08:00
Vignesh Viswanathan
d92cacb059 qcacld-3.0: Lookup using address of req message on timer expiry
Currently when a VDEV response timer or Hold request timer expires,
the pointer to the request message is received as data from the
timer callback. The data is dereferenced to get the type and vdev_id
and the corresponding vdev request is found from the vdev resp queue
based on type and vdev_id.

In a scenario where the MC timer has expired and posted a message on
the SYS message queue for the scheduler thread to process and the
response from the FW for the VDEV request is received after the timer
is expired and posted, the response path handled in softirq context
frees the request memory. When the SYS message queue is processed by
the scheduler thread, the vdev resp timer API is called with a stale
pointer to data which has already been freed.

When the data is dereferenced to get the vdev_id and type, use-after-free
happens leading to assert. Since we have the address of the request
from the timer, instead of finding the request in vdev resp queue based
on vdev_id and type, the address based lookup needs to be done.

Lookup the vdev_resp_queue or the hold_req_queue for the request
using the address before dereferencing the request for vdev_id and
type.

Change-Id: I8f19cb81b28bd5500d6cb3aa3da73ebe7faa48b1
CRs-Fixed: 2344681
2018-11-22 04:18:00 -08:00
Kiran Kumar Lokere
ee205778c7 qcacld-3.0: Add support to send action frame in HE TB PPDU
Add support to configure the FW to send the action frame in
HE trigger based PPDU.

Change-Id: Ie6df5b1cb40c7f1b18a9e86f90b4b8f44ba7bf6b
CRs-Fixed: 2311413
2018-11-22 04:17:57 -08:00
nshrivas
1af7e3f2b1 Release 5.2.0.107W
Release 5.2.0.107W

Change-Id: I8d616eb6c09f4628f2ad9ef2d7519a5b2a88f3cd
CRs-Fixed: 774533
2018-11-22 02:29:46 -08:00
jitiphil
296c23e421 qcacld-3.0: Relocate HDD DP ini items
Relocate below HDD DP ini items as per converged
infrastructure.

1. multicast_replay_filter;
2. rx_wakelock_timeout;
3. num_dp_rx_threads;

Change-Id: I52b51e98cadc45cd23693b602cab49c268e0946e
CRs-Fixed: 2351330
2018-11-22 02:29:45 -08:00
Abhinav Kumar
e695b931f7 qcacld-3.0: Retain connection if only short/long preamble caps changes
Currently, driver issues disconnection if only short/long
preamble caps changes occur. This results in frequent disconnections.
Firmware anyway doesn't take care of short/long preamble peer
capability so this shouldn't cause any side effect as most of the
peers today support short preamble.

Fix is to prevent disconnection if only short/long preamble caps
change occurs.

Change-Id: Iea80e06d10cdedfed77830f7757881046c929e48
CRs-Fixed: 2353787
2018-11-22 02:29:41 -08:00
Pragaspathi Thilagaraj
129d6979e8 qcacld-3.0: Update wep_key length in mlme_get_wep_key
In mlme_get_wep_key, the key_length is got from the caller is
hardcoded to value 13. This should be updated based on the
length of the key and passed to the caller. But it is not
updated and value 13 is used to copy the key, resulting in
decrypt failure.
Also add debug logs to print wep key id and length.

Pass the key length by call by reference to update the key
length

Change-Id: Ie1e56a80db27894bf9f0426728f9fb74a014679e
CRs-Fixed: 2351182
2018-11-22 02:29:38 -08:00
nshrivas
752159ad38 Release 5.2.0.107V
Release 5.2.0.107V

Change-Id: I3beb97f139005cd10ef4fad7d43fa71640169620
CRs-Fixed: 774533
2018-11-22 00:43:31 -08:00
Jeff Johnson
c2841e6fa5 qcacld-3.0: Remove obsolete eWNI_TDLS enumerations
The following legacy TDLS enumerations are no longer used, having been
replaced by enum tdls_event_reason, so remove them:
- eWniTdlsTeardownReason
- ewni_tdls_connection_tracker_notification

Change-Id: I1fa0263dda1149c2247457f3e801da3b0f6c30ff
CRs-Fixed: 2353582
2018-11-22 00:43:31 -08:00
jiad
af210c01e9 Revert "qcacld-3.0: Fix WDI 1.0 MCC TX SMMU fault"
This reverts commit 2459533, which fixes WDI 1.0 MCC SMMU fault
but it's only a partial fix. And we also need 2490501 to be a
complete fix. But 2490501 has regressions and leads to NULL
dereference, and it's reverted in 2517642 until a new complete
fix is ready.

Based on above, revert 2459533 and WDI 1.0 MCC SMMU datapath
will be a known issue.

Change-Id: I6444bfd8552906d889531b7e77ca6aa6b6fa7d6d
CRs-Fixed: 2352927
2018-11-22 00:43:27 -08:00
nshrivas
250659504c Release 5.2.0.107U
Release 5.2.0.107U

Change-Id: Ifa6f95edc5d656b3c9e889888243c689921db4aa
CRs-Fixed: 774533
2018-11-21 22:59:08 -08:00
stonez
df2bdfdd24 qcacld-3.0: Sync the count of filter entries in multicast to adapter
The count of multicast filter entries recorded in adapter
is not updated when uplayer delete multicast filter from
IP table. It causes FW can't receive the WMI command which
was used to delete multicast filter.

Change-Id: If1af16048e4a4f69673c4294d846b36e77bbcb5d
CRs-Fixed: 2349236
2018-11-21 22:59:07 -08:00
nshrivas
ec7a31d889 Release 5.2.0.107T
Release 5.2.0.107T

Change-Id: If83eb1a705f05f90fc00a6710dabdd78ec83726a
CRs-Fixed: 774533
2018-11-21 21:20:52 -08:00
Jeff Johnson
40894141cb qcacld-3.0: Refine sme_send_flush_logs_cmd_to_fw prototype()
There are currently multiple issues with sme_send_flush_logs_cmd_to_fw()
- Although this is an SME API the prototype is exposed in a CDS header
  file
- The API is defined to take a mac context parameter which is unused
- Although the function returns QDF_STATUS, the only caller treats the
  return value as an int errno

To address these issues
- Relocate the prototype to SME
- Remove the unused parameter
- Properly treat the return value as QDF_STATUS

Change-Id: Ia511565ee0b77148ee7cb1bf221e99a5b26ed446
CRs-Fixed: 2353530
2018-11-21 21:20:51 -08:00
nshrivas
4d2fc20b4f Release 5.2.0.107S
Release 5.2.0.107S

Change-Id: Ibac72cf506440f3d0ceef0c47449710bb36818b0
CRs-Fixed: 774533
2018-11-21 19:44:29 -08:00
Jeff Johnson
627372505b qcacld-3.0: Fix sme_get_bss_transition_status() signature
The signature for sme_get_bss_transition_status() indicates it returns
an int errno, and that is what the only caller is currently expecting,
but in reality it returns QDF_STATUS. Since SME APIs are generally
expected to return QDF_STATUS, update the signature as well as the
caller to use QDF_STATUS.

Change-Id: I256fac3980ee55c6e797388df1ea7022fd9fe863
CRs-Fixed: 2353529
2018-11-21 19:44:29 -08:00
Jeff Johnson
d47e6a49dc qcacld-3.0: Remove unused sme_filter_scan_results()
SME function sme_filter_scan_results() is unused, so remove it. Note
that the underlying CSR function, csr_scan_filter_results(), is still
used, invoked from other places within SME.

Change-Id: I19ad6bc45d196500ea77c89c50830224d1063aa4
CRs-Fixed: 2353528
2018-11-21 19:44:24 -08:00