Merge "IPACM: Warn messages seen on Apps processor and follows the Data stall"
diff --git a/ipacm/src/IPACM_Iface.cpp b/ipacm/src/IPACM_Iface.cpp
index 3f7aa5a..52bf19d 100644
--- a/ipacm/src/IPACM_Iface.cpp
+++ b/ipacm/src/IPACM_Iface.cpp
@@ -871,7 +871,7 @@
memset(&ifr, 0, sizeof(struct ifreq));
(void)strncpy(ifr.ifr_name, if_name, sizeof(ifr.ifr_name));
- IPACMDBG_H("interface name (%s)\n", ifr.ifr_name);
+ IPACMDBG_H("interface name (%s)\n", if_name);
if (ioctl(fd,SIOCGIFINDEX , &ifr) < 0)
{
diff --git a/ipacm/src/IPACM_IfaceManager.cpp b/ipacm/src/IPACM_IfaceManager.cpp
index 0baeb00..0ee1dfa 100644
--- a/ipacm/src/IPACM_IfaceManager.cpp
+++ b/ipacm/src/IPACM_IfaceManager.cpp
@@ -227,13 +227,15 @@
IPACMDBG_H("Creating Wan interface\n");
IPACM_Wan *w = new IPACM_Wan(ipa_interface_index, is_sta_mode);
IPACM_EvtDispatcher::registr(IPA_ADDR_ADD_EVENT, w);
-#ifdef FEATURE_IPA_ANDROID
+//#ifdef FEATURE_IPA_ANDROID
+#if 0
IPACM_EvtDispatcher::registr(IPA_WAN_UPSTREAM_ROUTE_ADD_EVENT, w);
IPACM_EvtDispatcher::registr(IPA_WAN_UPSTREAM_ROUTE_DEL_EVENT, w);
-#else/* defined(FEATURE_IPA_ANDROID) */
+#endif
+//#else/* defined(FEATURE_IPA_ANDROID) */
IPACM_EvtDispatcher::registr(IPA_ROUTE_ADD_EVENT, w);
IPACM_EvtDispatcher::registr(IPA_ROUTE_DEL_EVENT, w);
-#endif /* not defined(FEATURE_IPA_ANDROID)*/
+//#endif /* not defined(FEATURE_IPA_ANDROID)*/
IPACM_EvtDispatcher::registr(IPA_FIREWALL_CHANGE_EVENT, w);
IPACM_EvtDispatcher::registr(IPA_NEIGH_CLIENT_IP_ADDR_ADD_EVENT, w);
IPACM_EvtDispatcher::registr(IPA_SW_ROUTING_ENABLE, w);
diff --git a/ipacm/src/IPACM_Main.cpp b/ipacm/src/IPACM_Main.cpp
index cee849f..7ddefde 100644
--- a/ipacm/src/IPACM_Main.cpp
+++ b/ipacm/src/IPACM_Main.cpp
@@ -303,11 +303,15 @@
case SW_ROUTING_ENABLE:
IPACMDBG_H("Received SW_ROUTING_ENABLE\n");
evt_data.event = IPA_SW_ROUTING_ENABLE;
+ IPACMDBG_H("Not supported anymore\n");
+ return NULL;
break;
case SW_ROUTING_DISABLE:
IPACMDBG_H("Received SW_ROUTING_DISABLE\n");
evt_data.event = IPA_SW_ROUTING_DISABLE;
+ IPACMDBG_H("Not supported anymore\n");
+ return NULL;
break;
case WLAN_AP_CONNECT:
diff --git a/ipacm/src/IPACM_Netlink.cpp b/ipacm/src/IPACM_Netlink.cpp
index 34c1139..b5d7060 100644
--- a/ipacm/src/IPACM_Netlink.cpp
+++ b/ipacm/src/IPACM_Netlink.cpp
@@ -1502,6 +1502,12 @@
goto error;
}
+ if(msghdr== NULL)
+ {
+ IPACMERR(" failed to get msghdr\n");
+ goto error;
+ }
+
iov = msghdr->msg_iov;
memset(nlmsg, 0, sizeof(ipa_nl_msg_t));
@@ -1513,12 +1519,12 @@
/* Release NetLink message buffer */
if(msghdr)
{
- ipa_nl_release_msg(msghdr);
+ ipa_nl_release_msg(msghdr);
}
if(nlmsg)
{
- free(nlmsg);
- }
+ free(nlmsg);
+ }
}
return IPACM_SUCCESS;
diff --git a/ipacm/src/IPACM_Wan.cpp b/ipacm/src/IPACM_Wan.cpp
index 65dcca8..3d47598 100644
--- a/ipacm/src/IPACM_Wan.cpp
+++ b/ipacm/src/IPACM_Wan.cpp
@@ -472,7 +472,8 @@
}
break;
-#ifdef FEATURE_IPA_ANDROID
+//#ifdef FEATURE_IPA_ANDROID
+#if 0
case IPA_WAN_UPSTREAM_ROUTE_ADD_EVENT:
{
ipacm_event_data_iptype *data = (ipacm_event_data_iptype *)param;
@@ -568,7 +569,8 @@
}
}
break;
-#else/* defined(FEATURE_IPA_ANDROID) */
+#endif
+//#else/* defined(FEATURE_IPA_ANDROID) */
case IPA_ROUTE_ADD_EVENT:
{
ipacm_event_data_addr *data = (ipacm_event_data_addr *)param;
@@ -675,7 +677,7 @@
}
}
break;
-#endif /* not defined(FEATURE_IPA_ANDROID)*/
+//#endif /* not defined(FEATURE_IPA_ANDROID)*/
case IPA_NEIGH_CLIENT_IP_ADDR_ADD_EVENT:
{
ipacm_event_data_all *data = (ipacm_event_data_all *)param;
@@ -823,6 +825,11 @@
IPACMDBG_H("Setting up QMAP ID %d.\n", ext_prop->ext[0].mux_id);
}
}
+ else
+ {
+ IPACMERR("iface_query is empty.\n");
+ return IPACM_FAILURE;
+ }
}
for (cnt=0; cnt<tx_prop->num_tx_props; cnt++)
@@ -3433,7 +3440,7 @@
goto fail;
}
- if(num_ipv6_dest_flt_rule > 0)
+ if(num_ipv6_dest_flt_rule > 0 && num_ipv6_dest_flt_rule <= MAX_DEFAULT_v6_ROUTE_RULES)
{
if(m_filtering.DeleteFilteringHdls(ipv6_dest_flt_rule_hdl, IPA_IP_v6, num_ipv6_dest_flt_rule) == false)
{