From de31ff656d14ffc6d6c0ee31eb7816733baf2225 Mon Sep 17 00:00:00 2001 From: Vevek Venkatesan Date: Tue, 11 Jun 2019 12:50:49 +0530 Subject: [PATCH] qcacmn: add feature flags to featurize DP operations Add feature flags DP_FLOW_CTL for DP flowctl ops, DP_PEER_SUPPORT_OPS to support peer handling in DP, DP_POWER_SAVE for power saving ops in DP, DP_CON_MON DP_MOB_DEFS DP_INVALID_PEER_ASSERT DP_PRINT_NO_CONSOLE and DP_INTR_POLL_BOTH. Change-Id: I01dafadf6578c0b5f36ab3ef56624912fb66b100 CRs-Fixed: 2467170 --- dp/inc/cdp_txrx_cmn.h | 2 +- dp/inc/cdp_txrx_cmn_struct.h | 2 +- dp/inc/cdp_txrx_ops.h | 274 ++++++++++++++++++----------------- dp/wifi3.0/dp_internal.h | 4 +- dp/wifi3.0/dp_main.c | 43 ++++-- dp/wifi3.0/dp_peer.c | 2 +- dp/wifi3.0/dp_rx_err.c | 2 +- 7 files changed, 174 insertions(+), 155 deletions(-) diff --git a/dp/inc/cdp_txrx_cmn.h b/dp/inc/cdp_txrx_cmn.h index 6918b9ae8c..791f8466e8 100644 --- a/dp/inc/cdp_txrx_cmn.h +++ b/dp/inc/cdp_txrx_cmn.h @@ -170,7 +170,7 @@ cdp_vdev_attach(ol_txrx_soc_handle soc, struct cdp_pdev *pdev, vdev_mac_addr, vdev_id, op_mode); } -#ifdef CONFIG_MCL +#ifdef DP_FLOW_CTL /** * cdp_flow_pool_map() - Create flow pool for vdev * @soc - data path soc handle diff --git a/dp/inc/cdp_txrx_cmn_struct.h b/dp/inc/cdp_txrx_cmn_struct.h index 866146db83..bab6950c3f 100644 --- a/dp/inc/cdp_txrx_cmn_struct.h +++ b/dp/inc/cdp_txrx_cmn_struct.h @@ -34,7 +34,7 @@ #include "qdf_types.h" #include "qdf_nbuf.h" #include "qdf_atomic.h" -#ifdef CONFIG_MCL +#ifdef DP_MOB_DEFS #include #endif #include diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index c8ba190fb5..a04702fab1 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -920,10 +920,10 @@ struct ol_if_ops { struct cdp_lro_hash_config *rx_offld_hash); void (*update_dp_stats)(void *soc, void *stats, uint16_t id, uint8_t type); -#ifdef CONFIG_MCL - uint8_t (*rx_invalid_peer)(uint8_t vdev_id, void *wh); -#else +#ifdef FEATURE_NAC_RSSI uint8_t (*rx_invalid_peer)(void *ctrl_pdev, void *msg); +#else + uint8_t (*rx_invalid_peer)(uint8_t vdev_id, void *wh); #endif int (*peer_map_event)(void *ol_soc_handle, uint16_t peer_id, uint16_t hw_peer_id, uint8_t vdev_id, uint8_t *peer_mac_addr, @@ -973,8 +973,7 @@ struct ol_if_ops { /* TODO: Add any other control path calls required to OL_IF/WMA layer */ }; -#ifdef CONFIG_MCL -/* From here MCL specific OPs */ +#ifdef DP_PEER_EXTENDED_API /** * struct cdp_misc_ops - mcl ops not classified * @set_ibss_vdev_heart_beat_timer: @@ -1039,22 +1038,95 @@ struct cdp_misc_ops { }; /** - * struct cdp_tx_delay_ops - mcl tx delay ops - * @tx_delay: - * @tx_delay_hist: - * @tx_packet_count: - * @tx_set_compute_interval: + * struct cdp_ocb_ops - mcl ocb ops + * @set_ocb_chan_info: + * @get_ocb_chan_info: */ -struct cdp_tx_delay_ops { - void (*tx_delay)(struct cdp_pdev *pdev, uint32_t *queue_delay_microsec, - uint32_t *tx_delay_microsec, int category); - void (*tx_delay_hist)(struct cdp_pdev *pdev, - uint16_t *bin_values, int category); - void (*tx_packet_count)(struct cdp_pdev *pdev, - uint16_t *out_packet_count, - uint16_t *out_packet_loss_count, int category); - void (*tx_set_compute_interval)(struct cdp_pdev *pdev, - uint32_t interval); +struct cdp_ocb_ops { + void (*set_ocb_chan_info)(struct cdp_vdev *vdev, + struct ol_txrx_ocb_set_chan ocb_set_chan); + struct ol_txrx_ocb_chan_info * + (*get_ocb_chan_info)(struct cdp_vdev *vdev); +}; + +/** + * struct cdp_peer_ops - mcl peer related ops + * @register_peer: + * @clear_peer: + * @cfg_attach: + * @find_peer_by_addr: + * @find_peer_by_addr_and_vdev: + * @local_peer_id: + * @peer_find_by_local_id: + * @peer_state_update: + * @get_vdevid: + * @get_vdev_by_sta_id: + * @register_ocb_peer: + * @peer_get_peer_mac_addr: + * @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: + */ +struct cdp_peer_ops { + QDF_STATUS (*register_peer)(struct cdp_pdev *pdev, + struct ol_txrx_desc_type *sta_desc); + QDF_STATUS (*clear_peer)(struct cdp_pdev *pdev, uint8_t sta_id); + QDF_STATUS (*change_peer_state)(uint8_t sta_id, + enum ol_txrx_peer_state sta_state, + bool roam_synch_in_progress); + void * (*peer_get_ref_by_addr)(struct cdp_pdev *pdev, + uint8_t *peer_addr, uint8_t *peer_id, + enum peer_debug_id_type debug_id); + void (*peer_release_ref)(void *peer, enum peer_debug_id_type debug_id); + void * (*find_peer_by_addr)(struct cdp_pdev *pdev, + uint8_t *peer_addr, uint8_t *peer_id); + void * (*find_peer_by_addr_and_vdev)(struct cdp_pdev *pdev, + struct cdp_vdev *vdev, + uint8_t *peer_addr, uint8_t *peer_id); + uint16_t (*local_peer_id)(void *peer); + void * (*peer_find_by_local_id)(struct cdp_pdev *pdev, + uint8_t local_peer_id); + QDF_STATUS (*peer_state_update)(struct cdp_pdev *pdev, + uint8_t *peer_addr, + enum ol_txrx_peer_state state); + QDF_STATUS (*get_vdevid)(void *peer, uint8_t *vdev_id); + struct cdp_vdev * (*get_vdev_by_sta_id)(struct cdp_pdev *pdev, + uint8_t sta_id); + QDF_STATUS (*register_ocb_peer)(uint8_t *mac_addr, uint8_t *peer_id); + uint8_t * (*peer_get_peer_mac_addr)(void *peer); + int (*get_peer_state)(void *peer); + struct cdp_vdev * (*get_vdev_for_peer)(void *peer); + int16_t (*update_ibss_add_peer_num_of_vdev)(struct cdp_vdev *vdev, + int16_t peer_num_delta); + void (*remove_peers_for_vdev)(struct cdp_vdev *vdev, + ol_txrx_vdev_peer_remove_cb callback, + void *callback_context, bool remove_last_peer); + void (*remove_peers_for_vdev_no_lock)(struct cdp_vdev *vdev, + ol_txrx_vdev_peer_remove_cb callback, + void *callback_context); + void (*copy_mac_addr_raw)(struct cdp_vdev *vdev, uint8_t *bss_addr); + void (*add_last_real_peer)(struct cdp_pdev *pdev, + struct cdp_vdev *vdev, uint8_t *peer_id); + bool (*is_vdev_restore_last_peer)(void *peer); + void (*update_last_real_peer)(struct cdp_pdev *pdev, void *vdev, + uint8_t *peer_id, bool restore_last_peer); + void (*peer_detach_force_delete)(void *peer); +}; + +/** + * struct cdp_ocb_ops - mcl ocb ops + * @clear_stats: + * @stats: + */ +struct cdp_mob_stats_ops { + void (*clear_stats)(uint16_t bitmap); + int (*stats)(uint8_t vdev_id, char *buffer, unsigned buf_len); }; /** @@ -1065,7 +1137,10 @@ struct cdp_pmf_ops { void (*get_pn_info)(void *peer, uint8_t **last_pn_valid, uint64_t **last_pn, uint32_t **rmf_pn_replays); }; +#endif + +#ifdef DP_FLOW_CTL /** * struct cdp_cfg_ops - mcl configuration ops * @set_cfg_rx_fwd_disabled: set rx_fwd_disabled flag @@ -1168,6 +1243,18 @@ struct cdp_lflowctl_ops { void (*vdev_unpause)(struct cdp_vdev *vdev, uint32_t reason); }; +/** + * struct cdp_ocb_ops - mcl ocb ops + * @throttle_init_period: + * @throttle_set_level: + */ +struct cdp_throttle_ops { + void (*throttle_init_period)(struct cdp_pdev *pdev, int period, + uint8_t *dutycycle_level); + void (*throttle_set_level)(struct cdp_pdev *pdev, int level); +}; +#endif + #ifdef IPA_OFFLOAD /** * struct cdp_ipa_ops - mcl ipa data path ops @@ -1229,6 +1316,26 @@ struct cdp_ipa_ops { }; #endif +#ifdef DP_POWER_SAVE +/** + * struct cdp_tx_delay_ops - mcl tx delay ops + * @tx_delay: + * @tx_delay_hist: + * @tx_packet_count: + * @tx_set_compute_interval: + */ +struct cdp_tx_delay_ops { + void (*tx_delay)(struct cdp_pdev *pdev, uint32_t *queue_delay_microsec, + uint32_t *tx_delay_microsec, int category); + void (*tx_delay_hist)(struct cdp_pdev *pdev, + uint16_t *bin_values, int category); + void (*tx_packet_count)(struct cdp_pdev *pdev, + uint16_t *out_packet_count, + uint16_t *out_packet_loss_count, int category); + void (*tx_set_compute_interval)(struct cdp_pdev *pdev, + uint32_t interval); +}; + /** * struct cdp_bus_ops - mcl bus suspend/resume ops * @bus_suspend: @@ -1238,110 +1345,7 @@ struct cdp_bus_ops { QDF_STATUS (*bus_suspend)(struct cdp_pdev *opaque_pdev); QDF_STATUS (*bus_resume)(struct cdp_pdev *opaque_pdev); }; - -/** - * struct cdp_ocb_ops - mcl ocb ops - * @set_ocb_chan_info: - * @get_ocb_chan_info: - */ -struct cdp_ocb_ops { - void (*set_ocb_chan_info)(struct cdp_vdev *vdev, - struct ol_txrx_ocb_set_chan ocb_set_chan); - struct ol_txrx_ocb_chan_info * - (*get_ocb_chan_info)(struct cdp_vdev *vdev); -}; - -/** - * struct cdp_peer_ops - mcl peer related ops - * @register_peer: - * @clear_peer: - * @cfg_attach: - * @find_peer_by_addr: - * @find_peer_by_addr_and_vdev: - * @local_peer_id: - * @peer_find_by_local_id: - * @peer_state_update: - * @get_vdevid: - * @get_vdev_by_sta_id: - * @register_ocb_peer: - * @peer_get_peer_mac_addr: - * @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: - */ -struct cdp_peer_ops { - QDF_STATUS (*register_peer)(struct cdp_pdev *pdev, - struct ol_txrx_desc_type *sta_desc); - QDF_STATUS (*clear_peer)(struct cdp_pdev *pdev, uint8_t sta_id); - QDF_STATUS (*change_peer_state)(uint8_t sta_id, - enum ol_txrx_peer_state sta_state, - bool roam_synch_in_progress); - void * (*peer_get_ref_by_addr)(struct cdp_pdev *pdev, - uint8_t *peer_addr, uint8_t *peer_id, - enum peer_debug_id_type debug_id); - void (*peer_release_ref)(void *peer, enum peer_debug_id_type debug_id); - void * (*find_peer_by_addr)(struct cdp_pdev *pdev, - uint8_t *peer_addr, uint8_t *peer_id); - void * (*find_peer_by_addr_and_vdev)(struct cdp_pdev *pdev, - struct cdp_vdev *vdev, - uint8_t *peer_addr, uint8_t *peer_id); - uint16_t (*local_peer_id)(void *peer); - void * (*peer_find_by_local_id)(struct cdp_pdev *pdev, - uint8_t local_peer_id); - QDF_STATUS (*peer_state_update)(struct cdp_pdev *pdev, - uint8_t *peer_addr, - enum ol_txrx_peer_state state); - QDF_STATUS (*get_vdevid)(void *peer, uint8_t *vdev_id); - struct cdp_vdev * (*get_vdev_by_sta_id)(struct cdp_pdev *pdev, - uint8_t sta_id); - QDF_STATUS (*register_ocb_peer)(uint8_t *mac_addr, uint8_t *peer_id); - uint8_t * (*peer_get_peer_mac_addr)(void *peer); - int (*get_peer_state)(void *peer); - struct cdp_vdev * (*get_vdev_for_peer)(void *peer); - int16_t (*update_ibss_add_peer_num_of_vdev)(struct cdp_vdev *vdev, - int16_t peer_num_delta); - void (*remove_peers_for_vdev)(struct cdp_vdev *vdev, - ol_txrx_vdev_peer_remove_cb callback, - void *callback_context, bool remove_last_peer); - void (*remove_peers_for_vdev_no_lock)(struct cdp_vdev *vdev, - ol_txrx_vdev_peer_remove_cb callback, - void *callback_context); - void (*copy_mac_addr_raw)(struct cdp_vdev *vdev, uint8_t *bss_addr); - void (*add_last_real_peer)(struct cdp_pdev *pdev, - struct cdp_vdev *vdev, uint8_t *peer_id); - bool (*is_vdev_restore_last_peer)(void *peer); - void (*update_last_real_peer)(struct cdp_pdev *pdev, void *vdev, - uint8_t *peer_id, bool restore_last_peer); - void (*peer_detach_force_delete)(void *peer); -}; - -/** - * struct cdp_ocb_ops - mcl ocb ops - * @throttle_init_period: - * @throttle_set_level: - */ -struct cdp_throttle_ops { - void (*throttle_init_period)(struct cdp_pdev *pdev, int period, - uint8_t *dutycycle_level); - void (*throttle_set_level)(struct cdp_pdev *pdev, int level); -}; - -/** - * struct cdp_ocb_ops - mcl ocb ops - * @clear_stats: - * @stats: - */ -struct cdp_mob_stats_ops { - void (*clear_stats)(uint16_t bitmap); - int (*stats)(uint8_t vdev_id, char *buffer, unsigned buf_len); -}; -#endif /* CONFIG_MCL */ +#endif #ifdef RECEIVE_OFFLOAD /** @@ -1364,24 +1368,28 @@ struct cdp_ops { struct cdp_wds_ops *wds_ops; struct cdp_raw_ops *raw_ops; struct cdp_pflow_ops *pflow_ops; -#ifdef CONFIG_MCL +#ifdef DP_PEER_EXTENDED_API struct cdp_misc_ops *misc_ops; + struct cdp_peer_ops *peer_ops; + struct cdp_ocb_ops *ocb_ops; + struct cdp_mob_stats_ops *mob_stats_ops; + struct cdp_pmf_ops *pmf_ops; +#endif +#ifdef DP_FLOW_CTL struct cdp_cfg_ops *cfg_ops; struct cdp_flowctl_ops *flowctl_ops; struct cdp_lflowctl_ops *l_flowctl_ops; + struct cdp_throttle_ops *throttle_ops; +#endif +#ifdef DP_POWER_SAVE + struct cdp_bus_ops *bus_ops; + struct cdp_tx_delay_ops *delay_ops; +#endif #ifdef IPA_OFFLOAD struct cdp_ipa_ops *ipa_ops; #endif #ifdef RECEIVE_OFFLOAD struct cdp_rx_offld_ops *rx_offld_ops; -#endif - struct cdp_bus_ops *bus_ops; - struct cdp_ocb_ops *ocb_ops; - struct cdp_peer_ops *peer_ops; - struct cdp_throttle_ops *throttle_ops; - struct cdp_mob_stats_ops *mob_stats_ops; - struct cdp_tx_delay_ops *delay_ops; - struct cdp_pmf_ops *pmf_ops; #endif }; #endif diff --git a/dp/wifi3.0/dp_internal.h b/dp/wifi3.0/dp_internal.h index e3baa6f715..cfbd311d55 100644 --- a/dp/wifi3.0/dp_internal.h +++ b/dp/wifi3.0/dp_internal.h @@ -132,7 +132,7 @@ while (0) QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_##LVL, \ fmt, ## args) -#ifdef CONFIG_MCL +#ifdef DP_PRINT_NO_CONSOLE /* Stat prints should not go to console or kernel logs.*/ #define DP_PRINT_STATS(fmt, args ...)\ QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_HIGH, \ @@ -751,7 +751,7 @@ extern void *dp_find_peer_by_addr(struct cdp_pdev *dev, extern struct dp_peer *dp_peer_find_hash_find(struct dp_soc *soc, uint8_t *peer_mac_addr, int mac_addr_is_aligned, uint8_t vdev_id); -#ifndef CONFIG_WIN +#ifdef DP_PEER_EXTENDED_API QDF_STATUS dp_register_peer(struct cdp_pdev *pdev_handle, struct ol_txrx_desc_type *sta_desc); QDF_STATUS dp_clear_peer(struct cdp_pdev *pdev_handle, uint8_t local_id); diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 5d9416ead9..9d94f429ee 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -66,7 +66,7 @@ cdp_dump_flow_pool_info(struct cdp_soc_t *soc) #ifdef ATH_SUPPORT_IQUE #include "dp_txrx_me.h" #endif -#ifdef CONFIG_MCL +#if defined(DP_CON_MON) extern int con_mode_monitor; #ifndef REMOVE_PKT_LOG #include @@ -306,7 +306,7 @@ const int dp_stats_mapping_table[][STATS_TYPE_MAX] = { }; /* MCL specific functions */ -#ifdef CONFIG_MCL +#if defined(DP_CON_MON) /** * dp_soc_get_mon_mask_for_interrupt_mode() - get mon mode mask for intr mode * @soc: pointer to dp_soc handle @@ -1707,7 +1707,7 @@ static QDF_STATUS dp_soc_attach_poll(void *txrx_soc) } static QDF_STATUS dp_soc_interrupt_attach(void *txrx_soc); -#if defined(CONFIG_MCL) +#if defined(DP_INTR_POLL_BOTH) /* * dp_soc_interrupt_attach_wrapper() - Register handlers for DP interrupts * @txrx_soc: DP SOC handle @@ -9162,7 +9162,7 @@ static uint32_t dp_tx_get_success_ack_stats(struct cdp_pdev *pdev, return tx_success; } -#ifndef CONFIG_WIN +#ifdef DP_PEER_EXTENDED_API static struct cdp_misc_ops dp_ops_misc = { #ifdef FEATURE_WLAN_TDLS .tx_non_std = dp_tx_non_std, @@ -9177,7 +9177,9 @@ static struct cdp_misc_ops dp_ops_misc = { .get_num_rx_contexts = dp_get_num_rx_contexts, .get_tx_ack_stats = dp_tx_get_success_ack_stats, }; +#endif +#ifdef DP_FLOW_CTL static struct cdp_flowctl_ops dp_ops_flowctl = { /* WIFI 3.0 DP implement as required. */ #ifdef QCA_LL_TX_FLOW_CONTROL_V2 @@ -9192,6 +9194,7 @@ static struct cdp_flowctl_ops dp_ops_flowctl = { static struct cdp_lflowctl_ops dp_ops_l_flowctl = { /* WIFI 3.0 DP NOT IMPLEMENTED YET */ }; +#endif #ifdef IPA_OFFLOAD static struct cdp_ipa_ops dp_ops_ipa = { @@ -9214,6 +9217,7 @@ static struct cdp_ipa_ops dp_ops_ipa = { }; #endif +#ifdef DP_POWER_SAVE static QDF_STATUS dp_bus_suspend(struct cdp_pdev *opaque_pdev) { struct dp_pdev *pdev = (struct dp_pdev *)opaque_pdev; @@ -9252,21 +9256,24 @@ static struct cdp_bus_ops dp_ops_bus = { .bus_suspend = dp_bus_suspend, .bus_resume = dp_bus_resume }; +#endif -static struct cdp_ocb_ops dp_ops_ocb = { - /* WIFI 3.0 DP NOT IMPLEMENTED YET */ -}; - - +#ifdef DP_FLOW_CTL static struct cdp_throttle_ops dp_ops_throttle = { /* WIFI 3.0 DP NOT IMPLEMENTED YET */ }; -static struct cdp_mob_stats_ops dp_ops_mob_stats = { +static struct cdp_cfg_ops dp_ops_cfg = { + /* WIFI 3.0 DP NOT IMPLEMENTED YET */ +}; +#endif + +#ifdef DP_PEER_EXTENDED_API +static struct cdp_ocb_ops dp_ops_ocb = { /* WIFI 3.0 DP NOT IMPLEMENTED YET */ }; -static struct cdp_cfg_ops dp_ops_cfg = { +static struct cdp_mob_stats_ops dp_ops_mob_stats = { /* WIFI 3.0 DP NOT IMPLEMENTED YET */ }; @@ -9340,19 +9347,23 @@ static struct cdp_ops dp_txrx_ops = { #ifdef PEER_FLOW_CONTROL .pflow_ops = &dp_ops_pflow, #endif /* PEER_FLOW_CONTROL */ -#ifndef CONFIG_WIN +#ifdef DP_PEER_EXTENDED_API .misc_ops = &dp_ops_misc, + .ocb_ops = &dp_ops_ocb, + .peer_ops = &dp_ops_peer, + .mob_stats_ops = &dp_ops_mob_stats, +#endif +#ifdef DP_FLOW_CTL .cfg_ops = &dp_ops_cfg, .flowctl_ops = &dp_ops_flowctl, .l_flowctl_ops = &dp_ops_l_flowctl, + .throttle_ops = &dp_ops_throttle, +#endif #ifdef IPA_OFFLOAD .ipa_ops = &dp_ops_ipa, #endif +#ifdef DP_POWER_SAVE .bus_ops = &dp_ops_bus, - .ocb_ops = &dp_ops_ocb, - .peer_ops = &dp_ops_peer, - .throttle_ops = &dp_ops_throttle, - .mob_stats_ops = &dp_ops_mob_stats, #endif }; diff --git a/dp/wifi3.0/dp_peer.c b/dp/wifi3.0/dp_peer.c index 66250c2a62..aa7c8057d0 100644 --- a/dp/wifi3.0/dp_peer.c +++ b/dp/wifi3.0/dp_peer.c @@ -2818,7 +2818,7 @@ dp_rx_sec_ind_handler(void *soc_handle, uint16_t peer_id, dp_peer_unref_del_find_by_id(peer); } -#ifdef CONFIG_MCL +#ifdef DP_PEER_EXTENDED_API /** * dp_register_peer() - Register peer into physical device * @pdev - data path device instance diff --git a/dp/wifi3.0/dp_rx_err.c b/dp/wifi3.0/dp_rx_err.c index 142382824d..6c6a9d94e5 100644 --- a/dp/wifi3.0/dp_rx_err.c +++ b/dp/wifi3.0/dp_rx_err.c @@ -401,7 +401,7 @@ dp_rx_2k_jump_handle(struct dp_soc *soc, void *ring_desc, mac_id, quota); } -#ifdef CONFIG_MCL +#ifdef DP_INVALID_PEER_ASSERT #define DP_PDEV_INVALID_PEER_MSDU_CHECK(head, tail) \ do { \ qdf_assert_always(!(head)); \