Re: [PATCH 4.19 121/243] ASoC: rsnd: tidyup registering method for rsnd_kctrl_new()

From: Greg Kroah-Hartman
Date: Thu Dec 12 2019 - 04:38:28 EST


On Thu, Dec 12, 2019 at 07:59:37AM +0900, Nobuhiro Iwamatsu wrote:
> Hi,
>
> On Wed, Dec 11, 2019 at 04:04:43PM +0100, Greg Kroah-Hartman wrote:
> > From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> >
> > [ Upstream commit 9c698e8481a15237a5b1db5f8391dd66d59e42a4 ]
> >
> > Current rsnd dvc.c is using flags to avoid duplicating register for
> > MIXer case. OTOH, commit e894efef9ac7 ("ASoC: core: add support to card
> > rebind") allows to rebind sound card without rebinding all drivers.
> >
> > Because of above patch and dvc.c flags, it can't re-register kctrl if
> > only sound card was rebinded, because dvc is keeping old flags.
> > (Of course it will be no problem if rsnd driver also be rebinded,
> > but it is not purpose of above patch).
> >
> > This patch checks current card registered kctrl when registering.
> > In MIXer case, it can avoid duplicate register if card already has same
> > kctrl. In rebind case, it can re-register kctrl because card registered
> > kctl had been removed when unbinding.
> >
> > This patch is updated version of commit b918f1bc7f1ce ("ASoC: rsnd: DVC
> > kctrl sets once")
> >
> > Reported-by: Nguyen Viet Dung <dung.nguyen.aj@xxxxxxxxxxx>
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> > Tested-by: Nguyen Viet Dung <dung.nguyen.aj@xxxxxxxxxxx>
> > Cc: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@xxxxxxxxxxx>
> > Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
>
> This commit also requires the following commit:
>
> commit 7aea8a9d71d54f449f49e20324df06341cc18395
> Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> Date: Fri Feb 1 16:49:30 2019 +0900
>
> ASoC: rsnd: fixup MIX kctrl registration
>
> Renesas sound device has many IPs and many situations.
> If platform/board uses MIXer, situation will be more complex.
> To avoid duplicate DVC kctrl registration when MIXer was used,
> it had original flags.
> But it was issue when sound card was re-binded, because
> no one can't cleanup this flags then.
>
> To solve this issue, commit 9c698e8481a15237a ("ASoC: rsnd: tidyup
> registering method for rsnd_kctrl_new()") checks registered
> card->controls, because if card was re-binded, these were cleanuped
> automatically. This patch could solve re-binding issue.
> But, it start to avoid MIX kctrl.
>
> To solve these issues, we need below.
> To avoid card re-binding issue: check registered card->controls
> To avoid duplicate DVC registration: check registered rsnd_kctrl_cfg
> To allow multiple MIX registration: check registered rsnd_kctrl_cfg
> This patch do it.
>
> Fixes: 9c698e8481a15237a ("ASoC: rsnd: tidyup registering method for rsnd_kctrl_new()")
> Reported-by: Jiada Wang <jiada_wang@xxxxxxxxxx>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> Tested-By: Jiada Wang <jiada_wang@xxxxxxxxxx>
> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
>
>
> Please apply this to 4.19.y and 4.14.y.

Now queued up, thanks!

greg k-h