qcacld-3.0: Issue disconnect for STA if new interface is Mon intf
Currently, when Rx monitor mode interface is coming up, STA is not disconnected causing RXDMA ring to be used as both error ring and destination ring. This is causing backpressure in RXDMA ring. To fix this, issue disconnect for STA when Rx monitor mode is being added. Change-Id: I95e73edd80472a8aae9092ebdbce5e514b1cd531 CRs-Fixed: 3799325
This commit is contained in:

کامیت شده توسط
Ravindra Konda

والد
d05999febd
کامیت
25b2dea7fd
@@ -76,17 +76,16 @@ void wlan_dp_set_fisa_dynamic_aggr_size_support(bool dynamic_aggr_size_support);
|
||||
|
||||
#ifdef WLAN_FEATURE_LOCAL_PKT_CAPTURE
|
||||
/**
|
||||
* wlan_dp_is_local_pkt_capture_enabled() - Get local packet capture config
|
||||
* wlan_dp_is_local_pkt_capture_active() - Get local packet capture config
|
||||
* @psoc: pointer to psoc object
|
||||
*
|
||||
* Return: true if local packet capture is enabled from ini
|
||||
* false otherwise
|
||||
* Return: true if local packet capture is active, false otherwise
|
||||
*/
|
||||
bool
|
||||
wlan_dp_is_local_pkt_capture_enabled(struct wlan_objmgr_psoc *psoc);
|
||||
wlan_dp_is_local_pkt_capture_active(struct wlan_objmgr_psoc *psoc);
|
||||
#else
|
||||
static inline bool
|
||||
wlan_dp_is_local_pkt_capture_enabled(struct wlan_objmgr_psoc *psoc)
|
||||
wlan_dp_is_local_pkt_capture_active(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@@ -21,6 +21,7 @@
|
||||
#include "wlan_dp_main.h"
|
||||
#include "wlan_dp_api.h"
|
||||
#include <wlan_dp_fisa_rx.h>
|
||||
#include <cdp_txrx_ctrl.h>
|
||||
|
||||
void wlan_dp_update_peer_map_unmap_version(uint8_t *version)
|
||||
{
|
||||
@@ -53,11 +54,23 @@ void wlan_dp_set_fisa_dynamic_aggr_size_support(bool dynamic_aggr_size_support)
|
||||
}
|
||||
|
||||
#ifdef WLAN_FEATURE_LOCAL_PKT_CAPTURE
|
||||
bool wlan_dp_is_local_pkt_capture_enabled(struct wlan_objmgr_psoc *psoc)
|
||||
bool wlan_dp_is_local_pkt_capture_active(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||
union cdp_config_param_t param;
|
||||
QDF_STATUS status;
|
||||
|
||||
return cdp_cfg_get(soc, cfg_dp_local_pkt_capture);
|
||||
status = cdp_txrx_get_psoc_param(soc, CDP_MONITOR_FLAG, ¶m);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
dp_err("Unable to fetch monitor flags.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (cdp_cfg_get(soc, cfg_dp_local_pkt_capture) &&
|
||||
!(QDF_MONITOR_FLAG_OTHER_BSS & param.cdp_monitor_flag))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
مرجع در شماره جدید
Block a user