2018-12-27 17:53:01 +08:00
|
|
|
From 35885f6aff39b965592cc2ee4ae5d7d166c34db4 Mon Sep 17 00:00:00 2001
|
2018-10-16 02:05:43 +08:00
|
|
|
From: "Pawse, GuruprasadX" <guruprasadx.pawse@intel.com>
|
|
|
|
Date: Wed, 24 Feb 2016 17:03:16 +0530
|
2018-12-27 17:53:01 +08:00
|
|
|
Subject: [PATCH 069/296] ASoC: Fix TLV control size in TLV handler
|
2018-10-16 02:05:43 +08:00
|
|
|
|
|
|
|
Size passed to TLV callback is sum of payload size and TLV header.
|
|
|
|
TLV header consumes 8 bytes. The callback handler has to pass the
|
|
|
|
entire data (including TLV header) to drivers.
|
|
|
|
|
|
|
|
Change-Id: Ic7dcd0d3ab015e340ff907b2dc507b63677cc2ff
|
|
|
|
Tracked-On:
|
|
|
|
Signed-off-by: Pawse, GuruprasadX <guruprasadx.pawse@intel.com>
|
|
|
|
Signed-off-by: Ramesh Babu <Ramesh.Babu@intel.com>
|
|
|
|
Reviewed-on:
|
|
|
|
Reviewed-by: Babu, Ramesh <ramesh.babu@intel.com>
|
|
|
|
Tested-by: Babu, Ramesh <ramesh.babu@intel.com>
|
|
|
|
---
|
|
|
|
sound/soc/soc-ops.c | 7 ++++++-
|
|
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
diff --git a/sound/soc/soc-ops.c b/sound/soc/soc-ops.c
|
|
|
|
index 592efb370c44..f5b48d53bc19 100644
|
|
|
|
--- a/sound/soc/soc-ops.c
|
|
|
|
+++ b/sound/soc/soc-ops.c
|
|
|
|
@@ -764,11 +764,16 @@ int snd_soc_bytes_info_ext(struct snd_kcontrol *kcontrol,
|
|
|
|
}
|
|
|
|
EXPORT_SYMBOL_GPL(snd_soc_bytes_info_ext);
|
|
|
|
|
|
|
|
+/* TLV header size*/
|
|
|
|
+#define TLV_HEADER_SIZE (2 * sizeof(unsigned int))
|
|
|
|
+
|
|
|
|
int snd_soc_bytes_tlv_callback(struct snd_kcontrol *kcontrol, int op_flag,
|
|
|
|
unsigned int size, unsigned int __user *tlv)
|
|
|
|
{
|
|
|
|
struct soc_bytes_ext *params = (void *)kcontrol->private_value;
|
|
|
|
- unsigned int count = size < params->max ? size : params->max;
|
|
|
|
+ /* Data includes includes TLV Header */
|
|
|
|
+ unsigned int count = size < (params->max + TLV_HEADER_SIZE) ?
|
|
|
|
+ size : (params->max + TLV_HEADER_SIZE);
|
|
|
|
int ret = -ENXIO;
|
|
|
|
|
|
|
|
switch (op_flag) {
|
|
|
|
--
|
2018-12-27 17:53:01 +08:00
|
|
|
2.19.1
|
2018-10-16 02:05:43 +08:00
|
|
|
|