fix bug88333

Change-Id: I7bc9b2ba4f4f7ba04b589536f219fb03a1b7356f
diff --git a/mbtk/mbtk_gnssd/gnss_hd8122.c b/mbtk/mbtk_gnssd/gnss_hd8122.c
index 3163819..7416b19 100755
--- a/mbtk/mbtk_gnssd/gnss_hd8122.c
+++ b/mbtk/mbtk_gnssd/gnss_hd8122.c
@@ -433,6 +433,25 @@
     return GNSS_ERR_OK;
 }
 
+static gnss_err_enum gnss_8122_cfg_save(int fd)
+{
+    uint8 buff[GNSS_PACK_BUFF_SIZE];
+    LOGD("CFG SAVE");
+    uint8 data[8];
+    memset(data, 0x00, 8);
+    data[4] = 0x0f;
+    int len = pack_create(HD8122_ID_TYPE_CFG, HD8122_ID_CFG_CFG, 8, data, buff, sizeof(buff));
+    if(len <= 0)
+    {
+        LOGE("pack_create() fail.");
+        return GNSS_ERR_ARG;
+    }
+    log_hex("PACK", buff, len);
+    gnss_write(fd, buff, len);
+    msg_insert(HD8122_ID_TYPE_CFG, HD8122_ID_CFG_CFG);
+    return GNSS_ERR_OK;
+}
+
 static gnss_err_enum gnss_8122_msgcfg(int fd, uint8 type, uint8 id, uint8 period)
 {
     uint8 buff[GNSS_PACK_BUFF_SIZE];
@@ -786,6 +805,8 @@
             {
                 goto set_fail;
             }
+
+            gnss_set_result = gnss_8122_cfg_save(fd);
             should_wait_rsp = TRUE;
         }
         else if(memcmp(cmd, "$MSGCFG", 7) == 0)     // $MSGCFG,<mode>,<rate>