summaryrefslogtreecommitdiff
path: root/ipacm/src/IPACM_Wan.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ipacm/src/IPACM_Wan.cpp')
-rw-r--r--ipacm/src/IPACM_Wan.cpp25
1 files changed, 16 insertions, 9 deletions
diff --git a/ipacm/src/IPACM_Wan.cpp b/ipacm/src/IPACM_Wan.cpp
index be2c0a2..784fb0e 100644
--- a/ipacm/src/IPACM_Wan.cpp
+++ b/ipacm/src/IPACM_Wan.cpp
@@ -767,9 +767,9 @@ void IPACM_Wan::event_callback(ipa_cm_event_id event, void *param)
}
}
#ifdef FEATURE_IPA_ANDROID
-#ifdef FEATURE_IPACM_HAL
- post_wan_up_tether_evt(data->iptype, 0);
-#else
+#ifndef FEATURE_IPACM_HAL
+ /* Fixed CR 2438491 for HAL-android platform trgets.
+ Need to revisit for non-hal-android-platform targets if issue could be reproduced there as well */
/* using ipa_if_index, not netdev_index */
post_wan_up_tether_evt(data->iptype, iface_ipa_index_query(data->if_index_tether));
#endif
@@ -802,15 +802,14 @@ void IPACM_Wan::event_callback(ipa_cm_event_id event, void *param)
handle_route_add_evt(data->iptype);
}
}
+ }
#ifdef FEATURE_IPA_ANDROID
-#ifdef FEATURE_IPACM_HAL
- post_wan_up_tether_evt(data->iptype, 0);
-#else
- /* using ipa_if_index, not netdev_index */
- post_wan_up_tether_evt(data->iptype, iface_ipa_index_query(data->if_index_tether));
+#ifndef FEATURE_IPACM_HAL
+ /* using ipa_if_index, not netdev_index */
+ post_wan_up_tether_evt(data->iptype, iface_ipa_index_query(data->if_index_tether));
#endif
#endif
- }
+
}
else /* double check if current default iface is not itself */
{
@@ -1638,6 +1637,10 @@ int IPACM_Wan::handle_route_add_evt(ipa_ip_type iptype)
evt_data.event = IPA_HANDLE_WAN_UP;
evt_data.evt_data = (void *)wanup_data;
IPACM_EvtDispatcher::PostEvt(&evt_data);
+
+#ifdef FEATURE_IPACM_HAL
+ post_wan_up_tether_evt(IPA_IP_v4, 0);
+#endif
}
else
{
@@ -1677,6 +1680,10 @@ int IPACM_Wan::handle_route_add_evt(ipa_ip_type iptype)
evt_data.event = IPA_HANDLE_WAN_UP_V6;
evt_data.evt_data = (void *)wanup_data;
IPACM_EvtDispatcher::PostEvt(&evt_data);
+
+#ifdef FEATURE_IPACM_HAL
+ post_wan_up_tether_evt(IPA_IP_v6, 0);
+#endif
}
if(IPACM_Iface::ipacmcfg->GetIPAVer() >= IPA_HW_None && IPACM_Iface::ipacmcfg->GetIPAVer() < IPA_HW_v4_0)
{