The kernel-doc script identified a large number of kernel-doc issues
in the dp/inc folder, so fix them.
Change-Id: I6213164d2209cc4de9684ae66281ee2999f82672
CRs-Fixed: 3375078
Currently cdp ops are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.
Hence as a part of cdp convergence, pass only
the pdev_id or vdev_id or peer mac address,
which will be used to get the respective handles,
and hence avoiding the unwanted access of the
handles if it has been deleted.
Also remove the ops which are used to store
and retrieve such handles, that no more needed.
- register_peer
- clear_peer
- change_peer_state
- peer_get_ref_by_addr
- peer_release_ref
- peer_state_update
- get_vdev_by_sta_id
- register_ocb_peer
- get_peer_state
- get_vdev_for_peer
- update_ibss_add_peer_num_of_vdev
- remove_peers_for_vdev
- remove_peers_for_vdev_no_lock
- copy_mac_addr_raw
- add_last_real_peer
- is_vdev_restore_last_peer
- update_last_real_peer
- peer_detach_force_delete
Change-Id: I4a41211464a30e018e8b73b8e9b91c7a509327b4
CRs-Fixed: 2541711
Local peer_id is being cleaned up across DP, HDD and PS/WMA.
So, any references to local peer_id/sta_id will be replaced
by peer mac address and all interactions between the layers
will be based on peer mac address.
Cleanup local peer id usage from DP APIs.
Change-Id: I930e1c6a09092a373c093239632d6f310fee18e2
CRs-Fixed: 2529041
Local peer_id is being cleaned up across DP, HDD and PS/WMA.
So, any references to local peer_id/sta_id will be replaced
by peer mac address and all interactions between the layers
will be based on peer mac address.
Cleanup unusued DP APIs which are based on local peer_id.
Change-Id: Idd95bc640ca7e36a427be7202935034d4ed58979
CRs-Fixed: 2529026
Changes are done to extend vdev based pause/unpause to
peer based pauses/unpause. Added changes to mark peer
as tdls peer and supports TDLS offchan operations which
will be used to pause/unpause the peer queues based on
pause type coming with pause event from FW.
Change-Id: I3976501c318ae5a295e71ed2265db04496974c7a
CRs-Fixed: 2508209
Cleanup dp_get_vdev_by_sta_id to be peer mac address based
from local peer id based.
Also, modify the API cdp_peer_get_vdev_by_sta_id with additional
argument for peer mac address.
Rename cdp_peer_get_vdev_by_sta_id to cdp_peer_get_vdev_by_peer_addr.
Change-Id: I889538b5ea7ebac8973dcaaa5ebdad1ac495e791
CRs-Fixed: 2504569
Cleanup dp_clear_peer to be peer mac address based
from local peer id based.
Also, modify the API cdp_clear_peer with addition argument
for peer mac address.
Change-Id: I1bd3fab1b9510b5f1d4476e11b617fcb6417f2c4
CRs-Fixed: 2503774
Datapath supposed to be HLOS-agnostic, but there is some use of
Linux fixed-width types u8, u16, and u32. These should be replaced with
C99 fixed-width types uint8_t, uint16_t, and uint32_t so that they will
correctly be HLOS-agnostic and work on non-Linux targets.
CRs-Fixed: 2326406
Change-Id: I8f9099a0170e4f94a54cdd6cc6c2e321a29af717
1) This reverts commit
I7025fdd7540f47bb4d3f95ef6d9f2ef92af5f1f1
2) Reverted changes have been taken care through:
Idd7617782e71ee187eef7fcb3523c05b49f82094
CRs-Fixed: 2300055
Change-Id: Icc47ded9a585e356b7eae1ad53ffea6668510308
Add cdp ops for timestamp setter/getter function for peer based on
mac address.
Change-Id: I7025fdd7540f47bb4d3f95ef6d9f2ef92af5f1f1
CRs-Fixed: 2275985
There are two instances where peer ref counting leak has been observed
1) When DUT-STA is connected to AP1 and if it tries to roam to AP2 or
to same AP1 then as part of roam sync indication, it needs to delete
the old peer and create the new peer. Deletion of old peer is
happening through force delete operation which is No-OP for some of
the platforms. In such cases, do normal peer delete operation, so
that peer ref count can be deleted properly.
2) When looking up peer by its associated vdev, driver goes one by one
all peers and check their associated vdev and compare with given
vdev. If it doesn't find the match then it returns without releasing
the reference count.
CRs-Fixed: 2263607
Change-Id: Ibcad72943258e531e29498961d3d7e692fd05b36
Address the following issues in the dp folder:
CHECK: 'availble' may be misspelled - perhaps 'available'?
CHECK: 'catagory' may be misspelled - perhaps 'category'?
CHECK: 'endianess' may be misspelled - perhaps 'endianness'?
CHECK: 'exceded' may be misspelled - perhaps 'exceeded'?
CHECK: 'explicitely' may be misspelled - perhaps 'explicitly'?
CHECK: 'Inteface' may be misspelled - perhaps 'Interface'?
CHECK: 'lengh' may be misspelled - perhaps 'length'?
CHECK: 'messsages' may be misspelled - perhaps 'messages'?
CHECK: 'miscelleneous' may be misspelled - perhaps 'miscellaneous'?
CHECK: 'Ouput' may be misspelled - perhaps 'Output'?
CHECK: 'poiter' may be misspelled - perhaps 'pointer'?
CHECK: 'Poiter' may be misspelled - perhaps 'Pointer'?
CHECK: 'psuedo' may be misspelled - perhaps 'pseudo'?
CHECK: 'registerd' may be misspelled - perhaps 'registered'?
CHECK: 'requred' may be misspelled - perhaps 'required'?
CHECK: 'retreive' may be misspelled - perhaps 'retrieve'?
CHECK: 'succesfully' may be misspelled - perhaps 'successfully'?
CHECK: 'vaild' may be misspelled - perhaps 'valid'?
CHECK: 'virtaul' may be misspelled - perhaps 'virtual'?
Change-Id: I66b9cdc6115dd133b385e60c9d02cefd1bd0bac3
CRs-Fixed: 2241574
* Wrap ol_txrx_vdev_peer_remove_cb, so that upper layer can invoke it.
* Remove roam_synch_in_progress from ol_txrx_vdev_peer_remove_cb.
roam_synch_in_progress is a parameter of ol_txrx_vdev_peer_remove_cb,
But invoker cannot pass value to it. And it is concept of wma, it's
improper in cdp.
Change-Id: I6fa6c1b2df4919ad34ec931c4217bec0eefb2eac
CRs-Fixed: 2176165
The existing peer API cdp_peer_find_by_add does not maintain any peer
references. So a peer which is returned by the API may get deleted in a
different context. This may lead to access to a already deleted memory.
Fix the issue by introducing new APIs "peer_get_ref" and
"peer_release_ref" which make sure the peer is valid until it is
"released" (peer_release_ref is called).
Change-Id: Id04d13bc6a1b8a55c1ae9246077f64ffb86de3d8
CRs-Fixed: 2146742
The cdp_peer_ops register_ocb_peer() method currently takes a cds_ctx
parameter. Converged datapath APIs should not require the MCL-specific
CDS context, and in fact it is not required by the MCL implementation,
so remove it from all OCB peer registration APIs.
Change-Id: I8ebb49713b26ef5bbf25cc7e4b09b1b29e579844
CRs-Fixed: 2103450
Replace void pointer handles for pdev and vdev with
abstract structure handles in cdp.
New file cdp_txrx_handle.h has the abstract
structure declarations.
Change-Id: I333e6ea5e699e7cebbfc6281faf7f07c0aee4e2a
CRs-Fixed: 1109835
Update dp_peer structure to store qdf timers to detect DOS attack. Following
driver ops are registerd to access the dp peer information
- last_assoc_received
- last_disassoc_received
- last_deaauth_received
- clear_peer
Change-Id: I21a3f4e5ab626e62f58f307d02640b7d96c9b1ef
CRs-Fixed: 1116647
Added a new layer CDP_IF inside dp which is an intermediate
between the data path functions and the upper layers. All function
calls from outside the DP layer to the DP layer goes via the CDP_IF
layer
Change-Id: I76e671c85d2d02aa0a65a90b356840d3aeede52d
CRs-Fixed: 1075597
Non datapath modules use these APIs when they work with datapath
module data structures.
Change-Id: Ic257c6fc621820199b1691b8e62f7f7109237b01
CRs-Fixed: 993414
Add below changes:
1) Add peer handling functions.
2) Bring in the APIs under else(#else) part of compile time flags
QCA_SUPPORT_TXRX_LOCAL_PEER_ID, QCA_COMPUTE_TX_DELAY and
QCA_SUPPORT_TX_THROTTLE.
Change-Id: I08b101702a7d0d870e9fab9b8a3cc7cc19d3464f
CRs-Fixed: 993414
Initial check-in of the data path converged APIs that
are currently only implemented by MCL.
Change-Id: I8132aeef4631a8e2fb5e132126a0fc5292c96d12
CRs-Fixed: 993414