Browse Source

Merge "ASoc: Fix for dtmf tone play issue"

qctecmdr 5 years ago
parent
commit
b41cd7716e
1 changed files with 7 additions and 1 deletions
  1. 7 1
      asoc/msm-pcm-dtmf-v2.c

+ 7 - 1
asoc/msm-pcm-dtmf-v2.c

@@ -20,6 +20,8 @@
 
 #define DRV_NAME "msm-pcm-dtmf-v2"
 
+#define DTMF_MAX_DURATION 65535
+
 enum {
 	DTMF_IN_RX,
 	DTMF_IN_TX,
@@ -94,8 +96,12 @@ static int msm_dtmf_rx_generate_put(struct snd_kcontrol *kcontrol,
 	int64_t duration = ucontrol->value.integer.value[2];
 	uint16_t gain = ucontrol->value.integer.value[3];
 
-	pr_debug("%s: low_freq=%d high_freq=%d duration=%d gain=%d\n",
+	pr_debug("%s: low_freq=%d high_freq=%d duration=%lld gain=%d\n",
 		 __func__, low_freq, high_freq, (int)duration, gain);
+
+	if (duration == DTMF_MAX_DURATION)
+		duration = -1;
+
 	afe_dtmf_generate_rx(duration, high_freq, low_freq, gain);
 	return 0;
 }