summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/hdd/inc/wlan_hdd_main.h3
-rw-r--r--core/hdd/src/wlan_hdd_main.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h
index 4ac3abbac81f..b8d1524e1c96 100644
--- a/core/hdd/inc/wlan_hdd_main.h
+++ b/core/hdd/inc/wlan_hdd_main.h
@@ -67,6 +67,7 @@
#include "cdp_txrx_flow_ctrl_legacy.h"
#include <cdp_txrx_peer_ops.h>
#include "wlan_hdd_nan_datapath.h"
+#include "wlan_tgt_def_config.h"
/*---------------------------------------------------------------------------
Preprocessor definitions and constants
@@ -803,7 +804,7 @@ typedef struct hdd_scaninfo_s {
} hdd_scaninfo_t;
-#define WLAN_HDD_MAX_MC_ADDR_LIST 10
+#define WLAN_HDD_MAX_MC_ADDR_LIST CFG_TGT_MAX_MULTICAST_FILTER_ENTRIES
#ifdef WLAN_FEATURE_PACKET_FILTERING
typedef struct multicast_addr_list {
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 8946bbbc377e..6375349c36ab 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -2265,7 +2265,9 @@ static void __hdd_set_multicast_list(struct net_device *dev)
hdd_notice("mc_count : %u", mc_count);
if (mc_count > WLAN_HDD_MAX_MC_ADDR_LIST) {
- hdd_notice("No free filter available; allow all multicast frames");
+ hdd_notice("Exceeded max MC filter addresses (%d). Allowing all MC frames by disabling MC address filtering",
+ WLAN_HDD_MAX_MC_ADDR_LIST);
+ wlan_hdd_set_mc_addr_list(adapter, false);
adapter->mc_addr_list.mc_cnt = 0;
return;
}