ASoC: rsnd: src: Avoid a potential deadlock
authorJiada Wang <jiada_wang@mentor.com>
Thu, 7 Mar 2019 06:15:53 +0000 (15:15 +0900)
committerMark Brown <broonie@kernel.org>
Mon, 11 Mar 2019 16:58:52 +0000 (16:58 +0000)
commitba164a49f8f7390b036713bf8a70a150a938c670
tree776b2bd382ddda2533107261367c6ab22f2d0fb1
parenta39fe6e2061615496c12825d6d249fedf1974f8a
ASoC: rsnd: src: Avoid a potential deadlock

lockdep warns us that priv->lock and k->k_lock can cause a
deadlock when after acquire of k->k_lock, process is interrupted
by src, while in another routine of src .init, k->k_lock is
acquired with priv->lock held.

This patch avoids a potential deadlock by not calling soc_device_match()
in SRC .init callback, instead it adds new soc fields in priv->flags to
differentiate SoCs.

Fixes: linux-next commit 7674bec4fc09 ("ASoC: rsnd: update BSDSR/BSDISR handling")
Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/core.c
sound/soc/sh/rcar/rsnd.h
sound/soc/sh/rcar/src.c