Commit Graph

26 Commits

Author SHA1 Message Date
Om Prakash Tripathi
3e166ff7e4 qcacmn: Add support for wide band scan
Add support for 40 MHz or wider channel bandwidth scan

Change-Id: I72f3cf42e6dc957ef56842d0c333c62169cb6d68
CRs-Fixed: 2139415
2017-11-10 17:41:00 -08:00
Jeff Johnson
a4262320ce qcacmn: Use enum QDF_OPMODE
Change "qcacmn: Rename enum tQDF_ADAPTER_MODE" (qca-wifi-host-cmn
Change-Id I20f1b6d1a0ab4b8fe6a85cefdff96a49e2f4652c) renamed enum
tQDF_ADAPTER_MODE to QDF_OPMODE. Update all references to use the
new name.

Change-Id: Ic6f663dac11a100f168b2626c7c0fbcaccbfca4f
CRs-Fixed: 2141061
2017-11-09 23:42:58 -08:00
Wu Gao
2bb999c91a qcacmn: Fix memory leak in P2P component
Due to race condition, there is memory leak in P2P component. Free
buffer in error scenarios.

Change-Id: I5baf77ec0d0d2f3aea9da5fcca9105dc2c60c3d0
CRs-Fixed: 2136089
2017-11-06 19:21:28 -08: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
Sandeep Puligilla
d2c91d97a2 qcacmn: Initialize the mgmt tx params
Triggering crash at firmware due to
uninitialized value sent to firmware
as part of wmi_mgmt_params.

Initialize the management tx params
at p2p_mgmt_tx before populate.

Change-Id: Iea77266ee11f5742ea6a0074e4a6612452a764b1
CRs-Fixed: 2128419
2017-10-20 18:17:39 -07:00
Wu Gao
73b1f73a8c qcacmn: Add suspend and resume handler in P2P
Add suspend and resume handler in P2P component. Cleanup mgmt tx
queue and roc queue in P2P suspend handler.

Change-Id: I36bbe98e51eb817b60f08404636f0617b6aa537f
CRs-Fixed: 2058858
2017-10-20 13:53:58 -07:00
Wu Gao
fcfdd4e018 qcacmn: Add debug functions to P2P component
In order to facilitate debugging P2P issues, add debug information to
P2P component.

Change-Id: I0192b1ee25bb74dc512b01ad451b03d1a45a5446
CRs-Fixed: 2105782
2017-10-17 06:44:17 -07:00
Jeff Johnson
878533e29b qcacmn: umac: Replace instances of unadorned %p
Replace instances of unadorned %p in umac.

Change-Id: I7ae33c51405b31df24670dee3c98b6b4f1da9ab4
CRs-Fixed: 2111274
2017-10-03 16:02:30 -07:00
Naveen Rawat
8b1ec565cc qcacmn: Add APIs to get IE by EID and Ext ID
Add wlan utility APIs to get IE pointer from within IE buffer by
EID or Ext ID.

Change-Id: I26492078cec73b5877f3fc346a91223a045f31aa
CRs-Fixed: 2103529
2017-09-18 20:27:41 -07:00
Prashanth Bhatta
65b0eaa24b qcacmn: Change semantics of Runtime Lock APIs
Runtime PM lock init API right now returns pointer to a context
but this would cause confusion to the caller if feature is not
defined and dummy function return NULL as caller can't find real
failure versus dummy function returning because feature not being
enabled.

Fix declaring a data structure in QDF layer that caller can use
but it hides the internal details of HIF implementation for
Runtime PM locks.

CRs-fixed: 1116509
Change-Id: I4dcba604e803faa0e14fac6403610391895e382e
2017-08-15 13:27:07 -07:00
Vivek
b02a649f89 qcacmn: Remove vdev/peer locks for trivial APIs
Remove vdev/peer locks from trivial API's. This follows the changes from
which the lock requirement from few simple APIs are removed.

Change-Id: I9972d51dfd1a42bdedbfd0fd4e67af03d030a1f5
CRs-Fixed: 2060880
2017-06-26 23:32:22 -07:00
Wu Gao
56e84390e2 qcacmn: support presence request
Support presence request frame in P2P component.

Change-Id: I21c1e63742396f328da1b2c7b2446abc4c35ef52
CRs-Fixed: 2039628
2017-06-02 14:47:26 -07:00
Wu Gao
aef5a02620 qcacmn: Add API to cleanup roc request by vdev
It required to cleaup remain on channel request before changing adpter
type, add this API in P2P component. Handling scan dequeue event and
start failed event same as scan complete event.

Change-Id: Ie5926c954f4deff75fec53ae2c8f9762b576374e
CRs-Fixed: 2030079
2017-05-01 15:01:05 -07:00
Rachit Kankane
4475ff297c qcacmn: P2P protocol changes to Disable/Enable NOA
P2P-GO whenever goes offchannel, issues NOA. With this behavior, we
have issue whenever legacy STA connects to P2P-GO since legacy STA
does not understand NOA. To handle this case, changes are done in p2p
protocol component and the revised behavior will be:
 1. By default no change in NOA.
 2. Whenever first legacy STA connects to GO, p2p protocol component
    disables NOA (i.e. P2P-GO will issue Self-CTS whenever it goes
    off-channel).
 3. Whenever last legacy STA disconnects from GO, p2p protocol
    component enables NOA (i.e. P2P-GO will issue NOA whenever it goes
    off-channel).

Change-Id: I113950ac3fa99ca68fcafcfe4c6095cf4b2def43
CRs-Fixed: 2035609
2017-04-28 04:42:00 -07:00
Wu Gao
a21c3d1797 qcacmn: register vendor specific action frame after P2P started
It only register vendor specific action frame when requested remain on
channel. When DUT as GO and invite third P2P peer, there isn't remain
on channel request and doesn't register this action frame from mgmt
txrx component, then P2P component can't receive provision discover
request frame and invitation failed.

Change-Id: Ia04e1af97aedf91fd75047b12994011b054177fc
CRs-Fixed: 2037600
2017-04-27 02:54:17 -07:00
Wu Gao
d5fc9c0b8e qcacmn: Add runtime pm lock for P2P
Add runtime pm lock for remain on channel request in P2P component.

Change-Id: Ic29c5edf9e9325d1f9b65d766385327b91b0d14a
CRs-Fixed: 2036085
2017-04-24 20:06:00 -07:00
Rajeev Kumar
afc63bc8af qcacmn: Initialize scheduler_msg on stack before posting message
Initialize scheduler_msg on stack before posting using scheduler API
such that un-used fields in message structure are initialized to 0.

Change-Id: Ib3183b2c65eb9affd6610f4572c751c39a25fff7
CRs-Fixed: 2034772
2017-04-17 23:18:18 -07:00
Wu Gao
a47828dd20 qcacmn: Handle scan dequeue event and start failed event
Handle scan dequeue event and start failed event in P2P component,
same as scan complete event. Fix incorrect method to call qdf wait
single event. Fix code style issue.

Change-Id: Id8fbf5180a942183eff9b02f36f945fe17ceab6e
CRs-Fixed: 2032600
2017-04-13 17:08:30 -07:00
Abhishek Singh
8c2ce41254 qcacmn: Fix peer ref count issue in p2p_mgmt_tx
In p2p_mgmt_tx ref count of peer is increased and then frame is
passed to wlan_mgmt_txrx_mgmt_frame_tx which again increase the peer
ref count. But the ref count is decreased only once when frame tx
complete is received. Thus peer is not deleted while vdev destroy
and as peer contain the ref count of vdev, vdev is also not
deleted.

To fix this Release peer ref count in p2p_mgmt_tx after
wlan_mgmt_txrx_mgmt_frame_tx.

Change-Id: I8e42b22559f3baf43fefd6183a079f9629efae3c
CRs-Fixed: 2028550
2017-04-04 22:59:38 -07:00
Wu Gao
0261c63a51 qcacmn: Support rx p2p public action frame
Support rx p2p public action frame and extend the roc timer for
special frames. Also add scan requtest paramters when trigger scan
request.

Change-Id: I295bdcf9c5ff78320cbe600a483d245d38d05c06
CRs-Fixed: 2024412
2017-03-27 08:31:30 -07:00
Wu Gao
557bf6fcb3 qcacmn: Add necessary header files
Some MCL build environment report that it lack of headers. Add these
header files.

Change-Id: Ibb4a931840f00119b2abe496d755d1554a715fcd
CRs-Fixed: 2022862
2017-03-23 07:04:00 -07:00
Wu Gao
dfc571c521 qcacmn: mgmt frame txrx
Modify P2P IE and tx mgmt frame. Handles tx confirm and rx frame
events.

Change-Id: I0c0ada2e12ee5ebdd3e8d7b7a6f2bd2af4357548
CRs-Fixed: 2015297
2017-03-22 18:42:14 -07:00
Wu Gao
26781f65dc qcacmn: remain on channel
Handles roc request, cancel roc reuqest and scan event in P2P
component.

Change-Id: I47085ddc3551e76ef042e9d72dc4b29de6c2b118
CRs-Fixed: 2006262
2017-03-22 18:42:12 -07:00
Wu Gao
930869e013 qcacmn: Private commands and wmi events for P2P
Deliver private commands for P2P component. Registers and unregisters
wmi events by target interface. Handles wmi events from target
interface.

Change-Id: Ic25f1c22ae1650f2b059b3fb428daa1b2e66b93c
CRs-Fixed: 2015115
2017-03-22 18:42:11 -07:00
Wu Gao
50df0b0f1f qcacmn: Align frameworks of P2P component to convergence policy
Remove include folder of P2P core. Move P2P structures about noa
and listen offload to public since wmi just can be used in target
interface layer. Add more logs.

Change-Id: If9a78d02c8c970daf09ea09be05a80dd4ed4c553
CRs-Fixed: 2006243
2017-03-08 23:20:13 -08:00
Wu Gao
f482dea2a7 qcacmn: Initialization of P2P component
Defines main APIs and data structures. Initial basic frame work of
P2P component.

Change-Id: I08d2e2cec734ddc535d88996f7d5ece5ef3d270a
CRs-Fixed: 1099441
2017-02-17 17:34:25 -08:00