Commit Graph

1218 Commits

Author SHA1 Message Date
Visudha Sathurappan
0e90f3f71b qca-wifi: Add spectral DA files to DA directory
* These files are deleted from common dev.
 * DA:- Direct attach.

Change-Id: Ieaf6b4261697e7722313bc9fe0e47f6e596b3f62
Signed-off-by: Visudha Sathurappan <vsathura@codeaurora.org>
2018-10-08 14:06:54 +05:30
Manikandan Mohan
529e44c119 qcacmn: Fix out-of-bounds read in extract_ndp_sch_update_tlv
Update WMI_NDL_SCHEDULE_UPDATE_EVENTID handling for possible out
of bounds read when fixed_params->num_channels is greater than
TLV length of NDL channel list or NSS list and fixed_params->
num_ndp_instances is greater than TLV length of NDP Instance list.

Change-Id: Idbd74e30868597c9787095372516b7d7dd12481b
CRs-fixed: 2327673
2018-10-06 16:57:51 -07:00
Manikandan Mohan
92534c1a48 qcacmn: Fix out-of-bounds read in extract_ndp_confirm_tlv
Update handling of WMI_NDP_CONFIRM_EVENTID for possible out of
bounds read when fixed_params->num_ndp_channels is greater than
TLV length of NDP channel list or NSS list

Change-Id: I3bf429a47c46edbb464cf8447f227f7baa74fbe3
CRs-fixed: 2325849
2018-10-06 16:57:48 -07:00
Gyanranjan Hazarika
97b1c5a12c qcacmn: changes for BSS Color Enahancement FR40903
Added WMI extract API for beacon_tx_status_event

Change-Id: I8516184d5734672d56553fb232bd8e84d89ded58
CRs-fixed: 2242109
2018-10-05 22:10:09 -07:00
Gyanranjan Hazarika
ff074e95c0 qcacmn: changes for BSS Color Enahancement FR40903
Added WMI extract API for beacon_tx_status_event

Change-Id: I8516184d5734672d56553fb232bd8e84d89ded58
CRs-fixed: 2242109
2018-10-05 22:10:09 -07:00
Sathish Kumar
637da89a76 qcacmn: Featurize WMI APIs and TLVs that are specific to WIN
In the existing converged component, WMI TLV APIs are implemented in
a generic manner without proper featurization. All the APIs exposed
outside of WMI are implemented in wmi_unified_api.c and all the APIs
forming the CMD or extracting the EVT is implemented in wmi_unified_tlv.c.

Since WIN and MCL have a unified WMI layer in the converged component and
there are features within WIN and MCL that are not common, there exists a
good number of WMI APIs which are specific to WIN but compiled by MCL and
vice-versa. Due to this inadvertent problem, there is a chunk of code and
memory used up by WIN and MCL for features that are not used in their
products.

Featurize WMI APIs and TLVs that are specific to WIN
- Air Time Fareness (ATF)
- Direct Buffer Rx (DBR)
- Smart Antenna (SMART_ANT)
- Generic WIN specific WMI (AP)

Change-Id: I7b27c8993da04c9e9651a9682de370daaa40d187
CRs-Fixed: 2320273
2018-10-05 02:14:04 -07:00
Sathish Kumar
efb25bf9db qcacmn: Featurize WMI APIs and TLVs that are specific to WIN
In the existing converged component, WMI TLV APIs are implemented in
a generic manner without proper featurization. All the APIs exposed
outside of WMI are implemented in wmi_unified_api.c and all the APIs
forming the CMD or extracting the EVT is implemented in wmi_unified_tlv.c.

Since WIN and MCL have a unified WMI layer in the converged component and
there are features within WIN and MCL that are not common, there exists a
good number of WMI APIs which are specific to WIN but compiled by MCL and
vice-versa. Due to this inadvertent problem, there is a chunk of code and
memory used up by WIN and MCL for features that are not used in their
products.

Featurize WMI APIs and TLVs that are specific to WIN
- Air Time Fareness (ATF)
- Direct Buffer Rx (DBR)
- Smart Antenna (SMART_ANT)
- Generic WIN specific WMI (AP)

Change-Id: I7b27c8993da04c9e9651a9682de370daaa40d187
CRs-Fixed: 2320273
2018-10-05 02:14:04 -07:00
Basamma Yakkanahalli
cb7616fb07 qcacmn: WMI API to send beacon offload control for non tlv
The existing Beacon offload control WMI command is used
to control beacon tx to intimate FW for a VAP the beacon
is suspend or resume.
Added API for non tlv to send WMI_BCN_OFFLOAD_CTRL_CMDID
command to FW.

Change-Id: Ia02f4c7f317460ab766ca765bab14e0cd7acd879
CRs-Fixed: 2269491
2018-10-04 15:52:51 -07:00
Yeshwanth Sriram Guntuka
884ea6cfe7 qcacmn: Release vdev ref in os_if_ndp_end_ind_handler
NAN vdev ref count incremented as part of end_ind handler
is not released which will result in the nan vdev not
getting physically deleted.

Fix is to release nan vdev ref in os_if_ndp_end_ind_handler.

Change-Id: I31a32fa241fb9e86d3a64d490722bc42905970c4
CRs-Fixed: 2325580
2018-10-04 14:05:43 -07:00
Bala Venkatesh
ed4ad2de19 qcacmn: Update TDLS opclass correctly to FW
Due to change in Opclass calculation in the new
regulatory component invalid opclass is returned for the
TDLS component. Update arguments to calculate opclass correctly
to regulatory component.

Change-Id: I062bbb55d283f9525da241d32177e26d07aa8590
CRs-Fixed: 2325834
2018-10-03 16:05:42 -07:00
Nandha Kishore Easwaran
22266387ae qcacmn: Add WMI param to reset beacon stats
Add new WMI param to reset beacon counter in FW.

Change-Id: I03c58b492a606ee3f9e22b783a0dc2177edbb6db
CRs-fixed: 2250012
2018-10-03 08:33:27 -07:00
Shashikala Prabhu
b91325ca5f qcacmn: Add wmi wrapper function to get target pdev id from host
Add wmi wrapper function to convert host pdev id to target  pdev id.

Change-Id: I3824a7556bf0b740d069602e9ee5a572c427c49c
CRs-Fixed: 2316715
2018-10-02 13:48:38 -07:00
Shashikala Prabhu
9032a3c3ff qcacmn: Add wmi wrapper function to get target pdev id from host
Add wmi wrapper function to convert host pdev id to target  pdev id.

Change-Id: I3824a7556bf0b740d069602e9ee5a572c427c49c
CRs-Fixed: 2316715
2018-10-02 13:48:38 -07:00
Kiran Kumar Lokere
7d3120478e qcacmn: Fix the possible OOB access in channel avoid event
Fix the possible out of bound access while processing the
channel avoid frequency event from FW.

Change-Id: Ib49df0ebd785944b7cbbfa5927613887dd35d9ff
CRs-Fixed: 2308629
2018-10-02 12:08:07 -07:00
Harprit Chhabada
4efe1fa42d qcacmn: Add bound check for num_per_chain_rssi_stats
Add bound check rssi_event->num_per_chain_rssi_stats in
extract_all_stats_counts_tlv().

ev->num_chain_rssi_stats in
target_if_cp_stats_extract_vdev_chain_rssi_stats()
is derived from rssi_event->num_per_chain_rssi_stats
and is used as limit in for loop.

As length was never checked multiple qdf_mem_copy calls in
wmi_extract_per_chain_rssi_stats() used in
target_if_cp_stats_extract_vdev_chain_rssi_stats()
will result in an OOB issue.

Change-Id: I204744e1435e687e33f2165744a92cdb8b975a51
CRs-Fixed: 2322298
2018-10-02 04:08:21 -07:00
Subrat Mishra
68823ef971 qcacmn: Add ESP service support & user configs
Enable ESP service support. Update ESP user configured pdev params
to firmware.

CRs-Fixed: 2316710
Change-Id: Ia465518500b0362e79983222c4084be7d45b2309
2018-09-28 10:41:37 -07:00
Subrat Mishra
791d0fce4f qcacmn: Add ESP service support & user configs
Enable ESP service support. Update ESP user configured pdev params
to firmware.

CRs-Fixed: 2316710
Change-Id: Ia465518500b0362e79983222c4084be7d45b2309
2018-09-28 10:41:37 -07:00
Abhishek Singh
c6f1e920d4 qcacmn: Fix compilation error in vdev state machine
Fix the compilation error in vdev state machine and make state
transition logs from debug to info.

Change-Id: I7d7975931232f041206bdb64c639456bf9327b3f
CRs-Fixed: 2321726
2018-09-27 18:54:20 -07:00
Rajeev Kumar
173bef47c6 qcacmn: Separate WMI MGMT RX event logging
Separate WMI MGMT RX event logging from main WMI event
logging because WMI MGMT RX event is too frequent and its
over-running useful WMI control path events.

Change-Id: Iacd1576c3e133b70224e45f589f566c73637a626
CRs-Fixed: 2318021
2018-09-27 16:36:52 -07:00
Rajeev Kumar
9024c71ff2 qcacmn: Separate WMI diag rx event logging
FW generates too many diag events and these diag events
also come on CE-2 together with other critical control
path WMI events and easily over-run useful control path
WMI RX even log buffer. Separate WMI diag rx event loggig
in a separate log buffer such that useful control path WMI
log event buffer is not over-run.

Change-Id: I89b5d88036bc9d7e57e8e16858bc556be4e2ed41
CRs-Fixed: 2318083
2018-09-27 15:00:49 -07:00
Rajeev Kumar
b64e128cb7 qcacmn: Separate WMI diag rx event logging
FW generates too many diag events and these diag events
also come on CE-2 together with other critical control
path WMI events and easily over-run useful control path
WMI RX even log buffer. Separate WMI diag rx event loggig
in a separate log buffer such that useful control path WMI
log event buffer is not over-run.

Change-Id: I89b5d88036bc9d7e57e8e16858bc556be4e2ed41
CRs-Fixed: 2318083
2018-09-27 15:00:49 -07:00
Bala Venkatesh
597f60551d qcacmn: Update TDLS channel switch params correctly to FW
Use WMI layer tdls_offchan_mode enum value while sending tdls
offchannel mode request to FW.

Change-Id: I3faee2d22ab2bcbf99918d46eeeb5b5bbe925048
CRs-Fixed: 2320796
2018-09-27 15:00:42 -07:00
Rakshith Suresh Patkar
35fe7b0e07 qcacmn: Enable wbuff support for WMI
Register WMI with wbuff for pre-allocation of
skbs. Register at wmi_unified_attach() and
de-register at wmi wmi_unified_detach().

Change-Id: I9d6df1a8480324dd2a258de12672669a8fbe8940
CRs-Fixed: 2313935
2018-09-24 05:07:30 -07:00
Rakshith Suresh Patkar
9eb15ee08e qcacmn: Enable wbuff support for WMI
Register WMI with wbuff for pre-allocation of
skbs. Register at wmi_unified_attach() and
de-register at wmi wmi_unified_detach().

Change-Id: I9d6df1a8480324dd2a258de12672669a8fbe8940
CRs-Fixed: 2313935
2018-09-24 05:07:30 -07:00
Sathish Kumar
f1ab58a9ad qcacmn: Replace qdf_print calls with appropriate WMI_LOGx APIs
WMI APIs currently use qdf_print() calls to print the messages onto
the console irrespective of whether it is an error, info or debug
message.

Replace qdf_print() calls with appropriate WMI_LOGX() APIs to ensure
they align with the debug framework.

Change-Id: I9a14a3defc61462bf4c7a8f0278e258603b781c7
CRs-Fixed: 2319398
2018-09-21 05:28:48 -07:00
Abhishek Singh
d07214ea1a qcacmn: Remove legacy APIs to modify vdev state machine
This change Removes legacy APIs to modify vdev state machine and
add use new API to get vdev state.

Change-Id: I48aa3744dafc6d13a43a14e48de821c7dadf3a37
CRs-Fixed: 2314731
2018-09-21 00:27:22 -07:00
Karthik Kantamneni
fa613b4c33 qcacmn: Filter diag events in WMI extended debug mode
Filter diag events while recording WMI extended debug log messages.

Change-Id: I4071c66eee5880fbe336ea8c21081b3054dfb835
CRs-Fixed: 2316702
2018-09-20 14:54:53 -07:00
Linux Build Service Account
b2483ec0f1 Merge "qcacmn: Spatial Reuse changes" into wlan-cmn.driver.lnx.2.0 2018-09-20 04:22:38 -07:00
Linux Build Service Account
f9959718f6 Merge "qcacmn: Spatial Reuse changes" into wlan-cmn.driver.lnx.2.0 2018-09-20 04:22:38 -07:00
Amar Singhal
ca7aba365b qcacmn: Check for NULL ptr in wmi API
Wmi_hdl can be NULL in call to wmi_unified_ipa_offload_control_cmd. Do
a check for the same.

Change-Id: I2629e03a812cbafdfd1494798ad7d8b986ceec75
CRs-Fixed: 2316859
2018-09-20 00:56:22 -07:00
Sourav Mohapatra
fba9459cc0 qcacmn: Send roam preauth retry_count and no_ack_timeout ini to FW
Create and send user configurable ini for max number of roam preauth
retries and roam preauth no-ack timeout to the firmware.

Change-Id: I0343cb29952286d9b42a69136fc6353cd86e4752
CRs-Fixed: 2286079
2018-09-19 13:13:03 -07:00
Sourav Mohapatra
43f5adc011 qcacmn: Send roam preauth retry_count and no_ack_timeout ini to FW
Create and send user configurable ini for max number of roam preauth
retries and roam preauth no-ack timeout to the firmware.

Change-Id: I0343cb29952286d9b42a69136fc6353cd86e4752
CRs-Fixed: 2286079
2018-09-19 13:13:03 -07:00
Qiwei Cai
3690d3b451 qcacmn: export wmi_mtrace for use in all TLV files
wmi_mtrace is defined as static in wmi_unified_tlv.c and
used in TLV functions, but some TLVs need to be featurized
and moved to separated TLV files. Need to export wmi_mtrace
for external use.

Change-Id: I9459ec01c9cd4a89f3544d6a9831acba56e6a278
CRs-Fixed: 2314779
2018-09-18 11:10:23 -07:00
Qiwei Cai
2aacaff8b2 qcacmn: export wmi_mtrace for use in all TLV files
wmi_mtrace is defined as static in wmi_unified_tlv.c and
used in TLV functions, but some TLVs need to be featurized
and moved to separated TLV files. Need to export wmi_mtrace
for external use.

Change-Id: I9459ec01c9cd4a89f3544d6a9831acba56e6a278
CRs-Fixed: 2314779
2018-09-18 11:10:23 -07:00
Kiran Venkatappa
d54db40fb3 qcacmn: Update next_twt_size in TWT resume dialog command
next_twt_size is introduced in TWT resume dialog command by FW to
provide next TWT subfield size. Update this field in the TWT resume
command.

Change-Id: Id4e7aacfa2c4890e3b03de17402e7ea29f82826a
CRs-Fixed: 2316475
2018-09-18 06:17:21 -07:00
gaurank kathpalia
496e66ed0f qcacmn: Enable ML logging for wmi_control_rx
Enable ML logging in wmi_control_rx and capture all
responses from firmware.
This would result in knowledge of whether the wmi_response
or any wmi_event was received by the host.

Change-Id: I0206a5b9bd357d06a8621747473dedecaa1779f2
CRs-Fixed: 2306047
2018-09-18 06:17:15 -07:00
Rachit Kankane
d42762f9fb qcacmn: Featurize Roam offload specific WMI cmds
Featurize WMI_ROAM_SYNCH_COMPLETE and WMI_ROAM_SET_RIC_REQUEST_CMDID
under WLAN_FEATURE_ROAM_OFFLOAD feature flag.

Change-Id: Ib5baaea04582049c47a78491c88a9860f688d5bb
CRs-Fixed: 2304139
2018-09-18 01:03:12 -07:00
Rachit Kankane
e797c77b25 qcacmn: Featurize Roam offload specific WMI cmds
Featurize WMI_ROAM_SYNCH_COMPLETE and WMI_ROAM_SET_RIC_REQUEST_CMDID
under WLAN_FEATURE_ROAM_OFFLOAD feature flag.

Change-Id: Ib5baaea04582049c47a78491c88a9860f688d5bb
CRs-Fixed: 2304139
2018-09-18 01:03:12 -07:00
Jianmin Zhu
f1b8d51bc8 qcacmn: Fix possible buffer overflow when extract cp stats
No data length check when extract control panel stats of pdev,
vdev and peer etc, may result in buffer overflow.

Fixed param of cp stats indicates numbers of pdev, vdev and peer
etc in cp stats. Need do length check to make sure actual tlv
data length is same as expected.

Change-Id: I8750d4e10048930222059897a24804e9f2c91ab5
CRs-Fixed: 2305421
2018-09-17 21:29:33 -07:00
Kiran Venkatappa
d73f4eb38a qcacmn: Add logic to wait for wds del resp before peer create
WDS entry should be removed before adding peer with same mac address.
iIn DBDC mode, this can be ensured only by waiting for response for WDS
delete from FW before creating peer. Add logic to defer AUTH until WDS
is removed from FW.

Change-Id: Ie76d08c4817f953504913ae6cc49fc5388169e4a
CRs-Fixed: 2270592
2018-09-17 09:39:01 -07:00
Pratik Gandhi
13b34f8718 qcacmn: Spatial Reuse changes
Add WMI interface for OBSS Spatial Reuse changes.

Change-Id: I5da23632a8746de749fc623439c9d9cbc02fcea5
CRs-Fixed: 2313292
2018-09-17 04:44:02 -07:00
Pratik Gandhi
3fd97d67b4 qcacmn: Spatial Reuse changes
Add WMI interface for OBSS Spatial Reuse changes.

Change-Id: I5da23632a8746de749fc623439c9d9cbc02fcea5
CRs-Fixed: 2313292
2018-09-17 04:44:02 -07:00
Chaithanya Garrepalli
d878c0dcc3 qcacmn: changes to enable peer map V2 messaging
Host changes to enable HTT version 2 messaging for
PEER map and unmap in FW and changes to handle these
messages in host

Change-Id: Ifbe478212bbbc9c9ea1c1e4791c7a78407c376cc
2018-09-15 11:11:04 -07:00
Chaithanya Garrepalli
bdfea2b237 qcacmn: changes to enable peer map V2 messaging
Host changes to enable HTT version 2 messaging for
PEER map and unmap in FW and changes to handle these
messages in host

Change-Id: Ifbe478212bbbc9c9ea1c1e4791c7a78407c376cc
2018-09-15 11:11:04 -07:00
Manikandan Mohan
e8091860a1 qcacmn: Fix OOB access in WMI_SAR_GET_LIMITS_EVENTID
Update handling of WMI_SAR_GET_LIMITS_EVENTID for a possible OOB that
can occur if param_buf->fixed_param.num_limit_rows is greater than
actual TLV length of param_buf->sar_get_limits array.

Change-Id: Iccacbb3689e6a7bdd73b2b1f0517d011ccf6d076
CRs-fixed: 2307276
2018-09-14 15:39:14 -07:00
Venkat Karthik Kantamneni
6c0038653b qcacmn: WMI command/event Extended dump using qdf_debugfs APIs
Currently only 16 bytes of wmi command/event messages are logged
excluding wmi header information.

By enabling WMI_EXT_DBG whole command/event messages can be dumped
using qdf debugfs apis. This will help if it is needed to
collect whole command/event messages information.

Change-Id: I72dff1279b1145b8d2ee415db97656f457c0136f
CRs-Fixed: 2309286
2018-09-12 10:23:27 -07:00
Venkat Karthik Kantamneni
bc8d329295 qcacmn: WMI command/event Extended dump using qdf_debugfs APIs
Currently only 16 bytes of wmi command/event messages are logged
excluding wmi header information.

By enabling WMI_EXT_DBG whole command/event messages can be dumped
using qdf debugfs apis. This will help if it is needed to
collect whole command/event messages information.

Change-Id: I72dff1279b1145b8d2ee415db97656f457c0136f
CRs-Fixed: 2309286
2018-09-12 10:23:27 -07:00
Gyanranjan Hazarika
80b2cf8c63 qcacmn: Changes for Draft 3.0
Make the HECAP and HEOP changes for 11ax Draft3.0.
Draft2.0 support can still be enabled by unsetting
SUPPORT_11AX_D3 in config.unified.wlan.profile.

Change-Id: I0c0fd885a43b672baca61011b75a51526481b1ee
CRs-fixed: 2294235
2018-09-11 16:42:22 -07:00
Gyanranjan Hazarika
e881c7c092 qcacmn: Changes for Draft 3.0
Make the HECAP and HEOP changes for 11ax Draft3.0.
Draft2.0 support can still be enabled by unsetting
SUPPORT_11AX_D3 in config.unified.wlan.profile.

Change-Id: I0c0fd885a43b672baca61011b75a51526481b1ee
CRs-fixed: 2294235
2018-09-11 16:42:22 -07:00
narayan
6667b216d7 qcacmn: Added wmi vdev param for setting sifs rate in target
This change is required as a part of setting sifs_rate in the
target through wmi command from host for legacy chipsets.

Change-Id: Ia3ed8a6d33fcb31b290129e1302dfc0000ad4626
CRs-Fixed: 2031293
2018-09-11 12:03:11 -07:00