Commit Graph

11 次程式碼提交

作者 SHA1 備註 提交日期
Jeff Johnson
a8d070410d qcacmn: Rename pAddPeriodicTxPtrnParams
Per the Linux coding style both mixed-case names and so-called
Hungarian notation are frowned upon, therefore replace the identifier
pAddPeriodicTxPtrnParams everywhere it occurs.

Change-Id: Id80fc4cd22a8e4af125f01b937e03eea0b898283
CRs-Fixed: 2371906
2018-12-27 20:02:31 -08:00
Wu Gao
237a16ffdc qcacmn: Remove structure wmi_tdls_params
Using both structure wmi_tdls_params and tdls_info if TDLS component
sets FW states, which will cause memory corruption potentially. Use
enum wmi_tdls_state as type of tdls state.

Change-Id: Ia1e78a5c6d8aee9ab5166c0704dd7827f42c2457
CRs-Fixed: 2372452
2018-12-27 01:05:21 -08:00
Nachiket Kukade
1d925bafba qcacmn: Add modules to handle and extract NAN events
As part of supporting NAN DBS, new WMI TLVs are defined so
that Host can maintain the status of NAN Discovery in sync
with the Firmware. Move the older handlers into the NAN
related files. Also add modules to extract information from
the new TLV's and fill up the event parameters to pass
them to the NAN component. add support for explicitly
disabling NAN due to concurrencies.

Add modules to handle and extract the info from NAN events.

Change-Id: Ic03baaaef45106353c211a813e11e33a90cd41ca
CRs-Fixed: 2338059
2018-12-18 14:29:29 -08:00
Jeff Johnson
57e31e7bd4 qcacmn: Refine struct wmi_unified_pmk_cache (phase 2)
The original definition of struct wmi_unified_pmk_cache had several
anomalies:
1) It contains an unnecessary tlv_header field. Only the fw-api
   structs should contain TLV headers.
2) It contains a mis-named session_id field. Common structures should
   use converged terminology, in this case vdev_id

Change If4be27111c604c16ea437aa654210cdff28220a7 ("qcacmn: Refine
struct wmi_unified_pmk_cache (phase 1)") completely addressed the
first issue, and as the first phase of fixing the second issue it
replaced the session_id field with an anonymous union which contains
both the existing session_id field and a new vdev_id field. Being part
of a union these field will overlay each other.

For phase 2 replace the reference to session_id with a reference to
vdev_id in send_set_del_pmkid_cache_cmd_tlv().

Change-Id: Ie8cc453751b95c332e3df32794506a4bd3c324ad
CRs-Fixed: 2363431
2018-12-14 07:15:23 -08:00
Alok Kumar
4ac000e88e qcacmn: Add WMI support for WMI_PEER_UNMAP_CONF_CMDID
Add WMI support to send WMI_PEER_UNMAP_CONF_CMDID to FW
for peer unmap confirmation.

Change-Id: I1a260f840ed28f90568d9cba912cc5e5128c8c7d
CRs-Fixed: 2358066
2018-12-09 22:42:00 -08:00
Abhishek Singh
54c73eb026 qcacmn: Return failure if sending WMI_PDEV_SET_MAC_CONFIG_CMDID fail
Function send_pdev_set_dual_mac_config_cmd_tlv return success even
if it fails to send WMI_PDEV_SET_MAC_CONFIG_CMDID. Thus the
e_sme_command_set_dual_mac_config cmd stuck in active queue leading
to active command timeout.

Return failure if WMI_PDEV_SET_MAC_CONFIG_CMDID fails.

Change-Id: I9593c7369a4e152c8c233e60216ecd7fc301b944
CRs-Fixed: 2362270
2018-12-06 19:23:26 -08:00
jiad
d31364e8fc qcacmn: Properly featurize NAN
When CONFIG_MOBILE_ROUTER is enabled there are build failures
due to improper featurization of NAN, so fix the featurization.

Change-Id: I6bc11fb82394c2d32b328cb5d50ff974051755e1
CRs-Fixed: 2353170
2018-11-30 08:28:30 -08:00
Pragaspathi Thilagaraj
edbf67eeed qcacmn: Fix null pointer dereference in extract_sar_limit_event_tlv
When WMI_SAR_GET_LIMITS_EVENTID is received from firmware, the
function extract_sar_limit_event_tlv is called to update the SAR
limits for all the chains of each band. There is a for loop
defined to loop over each item in param_buf->sar_get_limits.
Since the param_buf->sar_get_limits could be either optionally
defined or not a part of the message at all there is a potential
NULL pointer dereference if sar_get_limits is not sent as part
of the WMI_SAR_GET_LIMITS_EVENTID event.

param_buf->sar_get_limits needs to be checked for NULL prior to
derefencing it.

Change-Id: I93c07fa8048df97c6f6960b0db6df3bbc30e23b4
CRs-Fixed: 2336928
2018-11-14 09:03:51 -08:00
Qiwei Cai
bb3e7aed0a qcacmn: Fix OOB access in WMI_SAR_GET_LIMITS_EVENTID
This change is to fix the regression issue caused by CR 2316935 which
dropped the change of CR 2307276 in the refactoring.

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: Id633296d39bcaf4d1588963368630e69ff790ea4
CRs-fixed: 2339015
2018-10-26 18:21:10 -07:00
Rajesh Chauhan
4712f47e43 qcacmn: Print input bw in tdls_get_wmi_offchannel_bw for error case
In tdls_get_wmi_offchannel_bw in default case uninitialized output
bw is printed instead input bw. This will result in printing
uninitialized variable.

Change-Id: I7819dad3426fbe1b4c4626bc69744e3ee59ba18f
CRs-Fixed: 2329333
2018-10-17 14:28:30 -07:00
Qiwei Cai
3d26b2ee7d qcacmn: Featurize WMI APIs and TLVs that are specific to MCL
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 MCL -
- DSRC
- NAN
- P2P
- PMO
- roaming
- concurrency
- STA
- Generic MCL specific WMI (STA)

Change-Id: I03a68b0db30a3aa585b269ab0a1745b37bc7e0b7
CRs-Fixed: 2316935
2018-10-16 13:40:25 -07:00