[Bugfix][T108-GSW][bug-view-1456] if no data init, gsw_get_data_call_pkt_stats will segment fault

    Only Configure: No
    Affected branch: unknown
    Affected module: data
    Is it affected on both ZXIC and ASR: only ASR
    Self-test: yes
    Doc Update: no

Change-Id: I5a6df9c495704746fbae597fffc3adae1a1bf988
diff --git a/mbtk/libgsw_lib/gsw_data_interface.c b/mbtk/libgsw_lib/gsw_data_interface.c
index abb8676..1c21210 100755
--- a/mbtk/libgsw_lib/gsw_data_interface.c
+++ b/mbtk/libgsw_lib/gsw_data_interface.c
@@ -742,7 +742,7 @@
 int gsw_data_call_deinit(void)

 {

     int ret;

-    if(data_init_flag == 0 && data_info_handle == NULL)

+    if(data_init_flag == 0 || data_info_handle == NULL)

     {

         return GSW_HAL_NORMAL_FAIL;

     }

@@ -767,7 +767,7 @@
  */

 int gsw_data_call_set_apn(Link_Info_s *LinkInf)

 {

-    if(data_init_flag == 0 && data_info_handle == NULL)

+    if(data_init_flag == 0 || data_info_handle == NULL)

     {

         return GSW_HAL_NORMAL_FAIL;

     }

@@ -788,21 +788,21 @@
     if(strcmp(LinkInf->normalProtocol,"IP") == 0)

     {

         ip_type = MBTK_IP_TYPE_IP;

-        LOGE("pdp_type(protocol) is IP\n");

+        LOGE("pdp_type(protocol) is IP");

     }

     else if(strcmp(LinkInf->normalProtocol,"IPV6") == 0)

     {

         ip_type = MBTK_IP_TYPE_IPV6;

-        LOGE("pdp_type(protocol) is IPV6\n");

+        LOGE("pdp_type(protocol) is IPV6");

     }

     else if(strcmp(LinkInf->normalProtocol,"IPV4V6") == 0)

     {

         ip_type = MBTK_IP_TYPE_IPV4V6;

-        LOGE("pdp_type(protocol) is IPV4V6\n");

+        LOGE("pdp_type(protocol) is IPV4V6");

     }

     else

     {

-        LOGE("pdp_type(protocol) error\n");

+        LOGE("pdp_type(protocol) error");

         return GSW_HAL_NORMAL_FAIL;

     }

 

@@ -871,7 +871,7 @@
     int ret = -1;

     int cid = -1;

     uint8_t cid_temp = 0;

-    if(data_init_flag == 0 && data_info_handle == NULL)

+    if(data_init_flag == 0 || data_info_handle == NULL)

     {

         return GSW_HAL_NORMAL_FAIL;

     }

@@ -931,7 +931,7 @@
     int ret = -1;

     int cid = -1;

     uint8_t cid_temp = 0;

-    if(data_init_flag == 0 && data_info_handle == NULL)

+    if(data_init_flag == 0 || data_info_handle == NULL)

     {

         return GSW_HAL_NORMAL_FAIL;

     }

@@ -974,6 +974,11 @@
  */

 int gsw_get_data_call_pkt_stats(int linkid, gsw_data_pkt_stats *data_pkt)

 {

+    

+    if(data_init_flag == 0 || data_info_handle == NULL)

+    {

+        return GSW_HAL_NORMAL_FAIL;

+    }

     char temp_linkid[12] = {0};

     char interface_name[32] = {0};

     sprintf(temp_linkid,"%d",linkid+1);