OSDN Git Service

ASoC: Fix possible overflow in routing driver
authorSoumya Managoli <smanag@codeaurora.org>
Thu, 26 Sep 2019 12:58:33 +0000 (18:28 +0530)
committerSoumya Managoli <smanag@codeaurora.org>
Thu, 17 Oct 2019 10:56:36 +0000 (16:26 +0530)
commit27c90ea8af60f48cf043686cbd7c20f403e2d7b0
treeebceef02c36e2976db1b0bd702edd45a049a38e9
parentc65b9585249986588b205fbed6eda20924423e72
ASoC: Fix possible overflow in routing driver

The reg in soc_mixer_control is 32-bit. When using
SOC_SINGLE_EXT, the value of FE DAI ID which is passed
as shift(to be operated on the reg) may be more than 31,
which may cause overflow.
Use SOC_DOUBLE_EXT instead of SOC_SINGLE_EXT so that the
reg field can be set to SOC_NO_PM to avoid any DAPM operation,
while passing BE and FE IDs in shift and rshift fields. And
these values can be retrieve in get/put functions and use them.
This is to avoid any possible overflow in DAPM operation.

Change-Id: I17fa4e059889ae725e6f015a779f518e6d0a813f
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c