qcacmn: cdp: Convergence of cdp_misc_ops

Currently the cdp apis 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/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.

Converged misc_ops
- tx_non_std
- get_opmode
- get_tx_ack_stats
- set_ibss_vdev_heart_beat_timer
- hl_tdls_flag_reset
- set_wisa_mode
- txrx_post_data_stall_event
- update_mac_id
- pkt_log_init
- pkt_log_con_service
- get_num_rx_contexts
- set_wmm_param
- flush_rx_frames
- bad_peer_txctl_set_setting
- bad_peer_txctl_update_threshold
- txrx_data_stall_cb_register
- txrx_data_stall_cb_deregister
- vdev_set_driver_del_ack_enable
- get_intra_bss_fwd_pkts_count
- mark_first_wakeup_packet
- register_pktdump_cb
- unregister_pktdump_cb
- pdev_reset_driver_del_ack
- runtime_suspend
- runtime_resume

CRs-Fixed: 2539811
Change-Id: I3080df033d6411d7078a322224b914bda2fddc0e
This commit is contained in:
Rakesh Pillai
2019-09-11 08:00:36 +05:30
committed by nshrivas
parent aae613c904
commit d295d1e81d
10 changed files with 341 additions and 241 deletions

View File

@@ -62,11 +62,34 @@ static inline void wlan_logging_set_log_to_console(bool log_to_console) {}
#if defined(WLAN_LOGGING_SOCK_SVC_ENABLE) && \
defined(FEATURE_PKTLOG) && !defined(REMOVE_PKT_LOG)
void wlan_deregister_txrx_packetdump(void);
void wlan_register_txrx_packetdump(void);
/**
* wlan_deregister_txrx_packetdump() - tx/rx packet dump
* deregistration
* @pdev_id: id of the datapath pdev handle
*
* This function is used to deregister tx/rx packet dump callbacks
* with ol, pe and htt layers
*
* Return: None
*
*/
void wlan_deregister_txrx_packetdump(uint8_t pdev_id);
/**
* wlan_register_txrx_packetdump() - tx/rx packet dump
* registration
* @pdev_id: id of the datapath pdev handle
*
* This function is used to register tx/rx packet dump callbacks
* with ol, pe and htt layers
*
* Return: None
*
*/
void wlan_register_txrx_packetdump(uint8_t pdev_id);
#else
static inline void wlan_deregister_txrx_packetdump(void) {}
static inline void wlan_register_txrx_packetdump(void) {}
static inline void wlan_deregister_txrx_packetdump(uint8_t pdev_id) {}
static inline void wlan_register_txrx_packetdump(uint8_t pdev_id) {}
#endif
#if defined(WLAN_LOGGING_SOCK_SVC_ENABLE) && defined(FEATURE_WLAN_DIAG_SUPPORT)