diff --git a/configure.ac b/configure.ac
index c3c0e34..f9f36e3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -122,6 +122,7 @@
 AM_CONDITIONAL([QAP], [test x$AUDIO_FEATURE_ENABLED_QAP = xtrue])
 AM_CONDITIONAL([AUDIO_HW_FFV], [test x$AUDIO_FEATURE_ENABLED_FFV = xtrue])
 AM_CONDITIONAL([CUSTOM_STEREO], [test x$AUDIO_FEATURE_ENABLED_CUSTOM_STEREO = xtrue])
+AM_CONDITIONAL([RUN_KEEP_ALIVE_IN_ARM_FFV], [test x$AUDIO_FEATURE_ENABLED_KEEP_ALIVE_ARM_FFV = xtrue])
 
 AC_CONFIG_FILES([ \
         Makefile \
diff --git a/hal/Makefile.am b/hal/Makefile.am
index 4f01efc..95224d0 100644
--- a/hal/Makefile.am
+++ b/hal/Makefile.am
@@ -189,6 +189,10 @@
 c_sources += audio_extn/hw_loopback.c
 endif
 
+if RUN_KEEP_ALIVE_IN_ARM_FFV
+AM_CFLAGS += -DRUN_KEEP_ALIVE_IN_ARM_FFV
+endif
+
 if AUDIO_HW_FFV
 AM_CFLAGS += -DFFV_ENABLED \
              -I $(PKG_CONFIG_SYSROOT_DIR)/usr/include/ffv/
diff --git a/hal/audio_extn/ffv.c b/hal/audio_extn/ffv.c
index 50b776b..511179a 100644
--- a/hal/audio_extn/ffv.c
+++ b/hal/audio_extn/ffv.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018, 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
@@ -47,6 +47,7 @@
 #include <sys/resource.h>
 
 #include "audio_hw.h"
+#include "audio_extn.h"
 #include "platform.h"
 #include "platform_api.h"
 
@@ -497,7 +498,9 @@
     }
 
     ffvmod.in = in;
-
+#ifdef RUN_KEEP_ALIVE_IN_ARM_FFV
+    audio_extn_keep_alive_start(KEEP_ALIVE_OUT_PRIMARY);
+#endif
 #ifdef FFV_PCM_DUMP
     if (!ffvmod.fp_input) {
         ALOGD("%s: Opening input dump file \n", __func__);
@@ -547,7 +550,9 @@
 
     if (ffvmod.buffers_allocated)
         deallocate_buffers();
-
+#ifdef RUN_KEEP_ALIVE_IN_ARM_FFV
+    audio_extn_keep_alive_stop(KEEP_ALIVE_OUT_PRIMARY);
+#endif
     ffvmod.handle = NULL;
     ffvmod.in = NULL;
     ALOGV("%s: exit", __func__);
diff --git a/hal/audio_extn/soundtrigger.c b/hal/audio_extn/soundtrigger.c
index c2dee84..7ad8e9f 100644
--- a/hal/audio_extn/soundtrigger.c
+++ b/hal/audio_extn/soundtrigger.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2014, 2016-2017 The Linux Foundation. All rights reserved.
+/* Copyright (c) 2013-2014, 2016-2018 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
@@ -135,6 +135,13 @@
         list_add_tail(&st_dev->st_ses_list, &st_ses_info->list);
         break;
 
+    case ST_EVENT_START_KEEP_ALIVE:
+        pthread_mutex_unlock(&st_dev->lock);
+        pthread_mutex_lock(&st_dev->adev->lock);
+        audio_extn_keep_alive_start(KEEP_ALIVE_OUT_PRIMARY);
+        pthread_mutex_unlock(&st_dev->adev->lock);
+        goto done;
+
     case ST_EVENT_SESSION_DEREGISTER:
         if (!config) {
             ALOGE("%s: NULL config", __func__);
@@ -152,11 +159,20 @@
         list_remove(&st_ses_info->list);
         free(st_ses_info);
         break;
+
+    case ST_EVENT_STOP_KEEP_ALIVE:
+        pthread_mutex_unlock(&st_dev->lock);
+        pthread_mutex_lock(&st_dev->adev->lock);
+        audio_extn_keep_alive_stop(KEEP_ALIVE_OUT_PRIMARY);
+        pthread_mutex_unlock(&st_dev->adev->lock);
+        goto done;
+
     default:
         ALOGW("%s: Unknown event %d", __func__, event);
         break;
     }
     pthread_mutex_unlock(&st_dev->lock);
+done:
     return status;
 }
 
