IPACM: fix the cpe bootup crash issue
Fix the cpe bootup modem crash issue: move the
deletion of ICMPv6 UL flt rule to the right place.
Change-Id: I6a76bbab05ded2c6fd1a9585499189a93c905b4a
diff --git a/ipacm/src/IPACM_Lan.cpp b/ipacm/src/IPACM_Lan.cpp
index a5b5eae..bf69bed 100644
--- a/ipacm/src/IPACM_Lan.cpp
+++ b/ipacm/src/IPACM_Lan.cpp
@@ -2372,12 +2372,6 @@
goto fail;
}
#endif
- if(m_filtering.DeleteFilteringHdls(ipv6_icmp_flt_rule_hdl, IPA_IP_v6, NUM_IPV6_ICMP_FLT_RULE) == false)
- {
- IPACMERR("Error Deleting ICMPv6 Filtering Rule, aborting...\n");
- res = IPACM_FAILURE;
- goto fail;
- }
#ifndef FEATURE_ETH_BRIDGE_LE
#ifdef CT_OPT
if (m_filtering.DeleteFilteringHdls(tcp_ctl_flt_rule_hdl_v4, IPA_IP_v4, NUM_TCP_CTL_FLT_RULE) == false)
@@ -2427,6 +2421,13 @@
if (ip_type != IPA_IP_v4 && rx_prop != NULL)
{
+ if(m_filtering.DeleteFilteringHdls(ipv6_icmp_flt_rule_hdl, IPA_IP_v6, NUM_IPV6_ICMP_FLT_RULE) == false)
+ {
+ IPACMERR("Error Deleting ICMPv6 Filtering Rule, aborting...\n");
+ res = IPACM_FAILURE;
+ goto fail;
+ }
+
if (m_filtering.DeleteFilteringHdls(dft_v6fl_rule_hdl,
IPA_IP_v6,
(IPV6_DEFAULT_FILTERTING_RULES + IPV6_DEFAULT_LAN_FILTERTING_RULES)) == false)
diff --git a/ipacm/src/IPACM_Wlan.cpp b/ipacm/src/IPACM_Wlan.cpp
index 862836c..4731641 100644
--- a/ipacm/src/IPACM_Wlan.cpp
+++ b/ipacm/src/IPACM_Wlan.cpp
@@ -2206,17 +2206,6 @@
}
IPACMDBG_H("Deleted guest ap v4 filter rules successfully.\n");
#endif
-
- /* delete icmp filter rules */
- if(wlan_ap_index == 0)
- {
- if(m_filtering.DeleteFilteringHdls(ipv6_icmp_flt_rule_hdl, IPA_IP_v6, NUM_IPV6_ICMP_FLT_RULE) == false)
- {
- IPACMERR("Error Deleting ICMPv6 Filtering Rule, aborting...\n");
- res = IPACM_FAILURE;
- goto fail;
- }
- }
#ifndef FEATURE_ETH_BRIDGE_LE
#ifdef CT_OPT
IPACMDBG_H("Delete tcp control flt rules.\n");
@@ -2275,6 +2264,16 @@
/* Delete v6 filtering rules */
if (ip_type != IPA_IP_v4 && rx_prop != NULL)
{
+ /* delete icmp filter rules */
+ if(wlan_ap_index == 0)
+ {
+ if(m_filtering.DeleteFilteringHdls(ipv6_icmp_flt_rule_hdl, IPA_IP_v6, NUM_IPV6_ICMP_FLT_RULE) == false)
+ {
+ IPACMERR("Error Deleting ICMPv6 Filtering Rule, aborting...\n");
+ res = IPACM_FAILURE;
+ goto fail;
+ }
+ }
IPACMDBG_H("Delete default %d v6 filter rules\n", IPV6_DEFAULT_FILTERTING_RULES);
/* delete default filter rules */
#ifdef FEATURE_ETH_BRIDGE_LE