Fixed crash when accel is not functional or present.
Samsung [Issue 6119492] in Buganizer.
diff --git a/mlsdk/mllite/dmpDefault.c b/mlsdk/mllite/dmpDefault.c
index fe29376..6620d14 100644
--- a/mlsdk/mllite/dmpDefault.c
+++ b/mlsdk/mllite/dmpDefault.c
@@ -357,6 +357,7 @@
         return result;
     }
 
+    if (inv_accel_present())
     {
         struct ext_slave_config config;
         long odr;
diff --git a/mlsdk/mllite/ml.c b/mlsdk/mllite/ml.c
index 0489f5b..3328edd 100644
--- a/mlsdk/mllite/ml.c
+++ b/mlsdk/mllite/ml.c
@@ -201,8 +201,12 @@
 
     for (ii = 0; ii < 9; ii++) {
         gyroCal[ii] = mldl_cfg->pdata->orientation[ii];
-        accelCal[ii] = mldl_cfg->pdata->accel.orientation[ii];
-        magCal[ii] = mldl_cfg->pdata->compass.orientation[ii];
+        if (NULL != mldl_cfg->accel){
+            accelCal[ii] = mldl_cfg->pdata->accel.orientation[ii];
+        }
+        if (NULL != mldl_cfg->compass){
+            magCal[ii] = mldl_cfg->pdata->compass.orientation[ii];
+        }
     }
 
     switch (mldl_cfg->full_scale) {
@@ -225,8 +229,9 @@
         break;
     }
 
-    RANGE_FIXEDPOINT_TO_FLOAT(mldl_cfg->accel->range, accelScale);
-    inv_obj.accel_sens = (long)(accelScale * 65536L);
+    if (NULL != mldl_cfg->accel){
+        RANGE_FIXEDPOINT_TO_FLOAT(mldl_cfg->accel->range, accelScale);
+        inv_obj.accel_sens = (long)(accelScale * 65536L);
     /* sensitivity adjustment, typically = 2 (for +/- 2 gee) */
 #if defined CONFIG_MPU_SENSORS_MPU6050A2 || \
     defined CONFIG_MPU_SENSORS_MPU6050B1
@@ -234,9 +239,11 @@
 #else
     inv_obj.accel_sens /= 2;
 #endif
-
-    RANGE_FIXEDPOINT_TO_FLOAT(mldl_cfg->compass->range, magScale);
-    inv_obj.compass_sens = (long)(magScale * 32768);
+    }
+    if (NULL != mldl_cfg->compass){
+        RANGE_FIXEDPOINT_TO_FLOAT(mldl_cfg->compass->range, magScale);
+        inv_obj.compass_sens = (long)(magScale * 32768);
+    }
 
     if (inv_get_state() == INV_STATE_DMP_OPENED) {
         result = inv_set_gyro_calibration(gyroScale, gyroCal);
@@ -244,15 +251,19 @@
             MPL_LOGE("Unable to set Gyro Calibration\n");
             return result;
         }
-        result = inv_set_accel_calibration(accelScale, accelCal);
-        if (INV_SUCCESS != result) {
-            MPL_LOGE("Unable to set Accel Calibration\n");
-            return result;
+        if (NULL != mldl_cfg->accel){
+            result = inv_set_accel_calibration(accelScale, accelCal);
+            if (INV_SUCCESS != result) {
+                MPL_LOGE("Unable to set Accel Calibration\n");
+                return result;
+            }
         }
-        result = inv_set_compass_calibration(magScale, magCal);
-        if (INV_SUCCESS != result) {
-            MPL_LOGE("Unable to set Mag Calibration\n");
-            return result;
+        if (NULL != mldl_cfg->compass){
+            result = inv_set_compass_calibration(magScale, magCal);
+            if (INV_SUCCESS != result) {
+                MPL_LOGE("Unable to set Mag Calibration\n");
+                return result;
+            }
         }
     }
     return INV_SUCCESS;
diff --git a/mlsdk/mllite/mldmp.c b/mlsdk/mllite/mldmp.c
index 200d0d1..7381dd4 100644
--- a/mlsdk/mllite/mldmp.c
+++ b/mlsdk/mllite/mldmp.c
@@ -152,7 +152,9 @@
         LOG_RESULT_LOCATION(result);
         return result;
     }
-    result = inv_apply_endian_accel();
+    if (NULL != mldl_cfg->accel){
+        result = inv_apply_endian_accel();
+    }
 
     return result;
 }