diff options
author | Bruno Martins <bgcngm@gmail.com> | 2018-09-07 17:34:01 +0100 |
---|---|---|
committer | Davide Garberi <dade.garberi@gmail.com> | 2018-09-13 15:22:10 +0200 |
commit | 9b3b1b12a25947f1d09e445e96cb66e5190275ac (patch) | |
tree | 03b1e1fa70f82097e81f4a271645dee3391767d7 /data-ipa-cfg-mgr/ipacm/src/IPACM_Config.cpp | |
parent | 0bde58e2bc8440f4d98f0d383dad26f450ad8fd8 (diff) |
msm8996-common: Update IPACM for P release
* Tag: LA.UM.7.5.r1-02200-8x96.0
Change-Id: Id7f0760c0dd1e5476db88d6089d0084eae127a49
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
Diffstat (limited to 'data-ipa-cfg-mgr/ipacm/src/IPACM_Config.cpp')
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/src/IPACM_Config.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/data-ipa-cfg-mgr/ipacm/src/IPACM_Config.cpp b/data-ipa-cfg-mgr/ipacm/src/IPACM_Config.cpp index c46bc71..90d3647 100644 --- a/data-ipa-cfg-mgr/ipacm/src/IPACM_Config.cpp +++ b/data-ipa-cfg-mgr/ipacm/src/IPACM_Config.cpp @@ -1,5 +1,5 @@ /* -Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. +Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -106,6 +106,7 @@ const char *ipacm_event_name[] = { __stringify(IPA_ETH_BRIDGE_CLIENT_ADD), /* ipacm_event_eth_bridge*/ __stringify(IPA_ETH_BRIDGE_CLIENT_DEL), /* ipacm_event_eth_bridge*/ __stringify(IPA_ETH_BRIDGE_WLAN_SCC_MCC_SWITCH), /* ipacm_event_eth_bridge*/ + __stringify(IPA_WLAN_FWR_SSR_BEFORE_SHUTDOWN_NOTICE), /* ipacm_event_iface*/ __stringify(IPA_LAN_DELETE_SELF), /* ipacm_event_data_fid */ #ifdef FEATURE_L2TP __stringify(IPA_ADD_VLAN_IFACE), /* ipa_ioc_vlan_iface_info */ @@ -183,6 +184,7 @@ int IPACM_Config::Init(void) { IPACMERR("Failed opening %s.\n", DEVICE_NAME); } + ver = GetIPAVer(true); #ifdef FEATURE_IPACM_HAL strlcpy(IPACM_config_file, "/vendor/etc/IPACM_cfg.xml", sizeof(IPACM_config_file)); #else @@ -574,8 +576,8 @@ int IPACM_Config::CheckNatIfaces(const char *dev_name, ipa_ip_type ip_type) if (ip_type == IPA_IP_v6 && pNatIfaces[i].v6_up == true) { IPACMDBG_H(" v6_up=%d\n", pNatIfaces[i].v6_up); - return 0; - } + return 0; + } return -1; } } @@ -878,3 +880,21 @@ const char* IPACM_Config::getEventName(ipa_cm_event_id event_id) return ipacm_event_name[event_id]; } + +enum ipa_hw_type IPACM_Config::GetIPAVer(bool get) +{ + int ret; + + if(!get) + return ver; + + ret = ioctl(m_fd, IPA_IOC_GET_HW_VERSION, &ver); + if(ret != 0) + { + IPACMERR("Failed to get IPA version with error %d.\n", ret); + ver = IPA_HW_None; + return IPA_HW_None; + } + IPACMDBG_H("IPA version is %d.\n", ver); + return ver; +} |