drivers/sensor: lis2dw12: Set tap triggers only if detection is on

Set single/double tap triggers only if tap detection is enabled.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
diff --git a/drivers/sensor/lis2dw12/lis2dw12_trigger.c b/drivers/sensor/lis2dw12/lis2dw12_trigger.c
index 1bd74a2..9b2824e 100644
--- a/drivers/sensor/lis2dw12/lis2dw12_trigger.c
+++ b/drivers/sensor/lis2dw12/lis2dw12_trigger.c
@@ -102,13 +102,24 @@
 		break;
 #ifdef CONFIG_LIS2DW12_TAP
 	case SENSOR_TRIG_TAP:
-		lis2dw12->tap_handler = handler;
-		return lis2dw12_enable_int(dev, SENSOR_TRIG_TAP, state);
-		break;
 	case SENSOR_TRIG_DOUBLE_TAP:
+		/* check if tap detection is enabled  */
+		if ((cfg->tap_threshold[0] == 0) &&
+		    (cfg->tap_threshold[1] == 0) &&
+		    (cfg->tap_threshold[2] == 0)) {
+			LOG_ERR("Unsupported sensor trigger");
+			return -ENOTSUP;
+		}
+
+		/* Set single TAP trigger  */
+		if (trig->type == SENSOR_TRIG_TAP) {
+			lis2dw12->tap_handler = handler;
+			return lis2dw12_enable_int(dev, SENSOR_TRIG_TAP, state);
+		}
+
+		/* Set double TAP trigger  */
 		lis2dw12->double_tap_handler = handler;
 		return lis2dw12_enable_int(dev, SENSOR_TRIG_DOUBLE_TAP, state);
-		break;
 #endif /* CONFIG_LIS2DW12_TAP */
 	default:
 		LOG_ERR("Unsupported sensor trigger");