diff options
Diffstat (limited to 'ipacm/src/IPACM_Wan.cpp')
-rw-r--r-- | ipacm/src/IPACM_Wan.cpp | 25 |
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) { |