[alsa-devel] Applied "ASoC: rsnd: count .probe/.remove for rsnd_mod_call()" to the asoc tree
Nguyen Viet Dung
nv-dung at jinso.co.jp
Thu May 12 05:05:35 CEST 2016
Hi Mr Mark Brown, Mr Morimoto
I have used this patch for testting Rcar-sound unbind/rebind on the
RcarH3 board.
result is good(Rcar-sound can unbind/rebind without error warning )
Testted-by: Nguyen Viet dung <nv-dung at jinso.co.jp>
Best regards,
On 2016年04月29日 02:47, Mark Brown wrote:
> The patch
>
> ASoC: rsnd: count .probe/.remove for rsnd_mod_call()
>
> has been applied to the asoc tree at
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
>
> All being well this means that it will be integrated into the linux-next
> tree (usually sometime in the next 24 hours) and sent to Linus during
> the next merge window (or sooner if it is a bug fix), however if
> problems are discovered then the patch may be dropped or reverted.
>
> You may get further e-mails resulting from automated or manual testing
> and review of the tree, please engage with people reporting problems and
> send followup patches addressing any issues that are reported if needed.
>
> If any updates are required or you are submitting further changes they
> should be sent as incremental updates against current git, existing
> patches will not be replaced.
>
> Please add any relevant lists and maintainers to the CCs when replying
> to this mail.
>
> Thanks,
> Mark
>
> >From 1a5658c213116d56a1a38e83588f6636a57d6374 Mon Sep 17 00:00:00 2001
> From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> Date: Thu, 28 Apr 2016 01:49:48 +0000
> Subject: [PATCH] ASoC: rsnd: count .probe/.remove for rsnd_mod_call()
>
> Current rsnd_mod_call is counting its calling count to avoid unbalanced
> function pair calling for error cases (ex init <-> quit).
> SSI parent is now controlled as "mod" on current rsnd driver. Because of
> this reason, SSI .remove function will be called twice if it was used as
> SSI parent when user tried unbind. But probe/remove pair were not
> counted. This patch counts probe/remove functions to avoid it.
> Special thans Hiep
>
> Reported-by: Hiep Cao Minh <cm-hiep at jinso.co.jp>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> Signed-off-by: Mark Brown <broonie at kernel.org>
> ---
> sound/soc/sh/rcar/rsnd.h | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
> index fc89a67258ca..a8f61d79333b 100644
> --- a/sound/soc/sh/rcar/rsnd.h
> +++ b/sound/soc/sh/rcar/rsnd.h
> @@ -276,8 +276,9 @@ struct rsnd_mod {
> /*
> * status
> *
> - * 0xH0000CB0
> + * 0xH0000CBA
> *
> + * A 0: probe 1: remove
> * B 0: init 1: quit
> * C 0: start 1: stop
> *
> @@ -287,19 +288,19 @@ struct rsnd_mod {
> * H 0: fallback
> * H 0: hw_params
> */
> +#define __rsnd_mod_shift_probe 0
> +#define __rsnd_mod_shift_remove 0
> #define __rsnd_mod_shift_init 4
> #define __rsnd_mod_shift_quit 4
> #define __rsnd_mod_shift_start 8
> #define __rsnd_mod_shift_stop 8
> -#define __rsnd_mod_shift_probe 28 /* always called */
> -#define __rsnd_mod_shift_remove 28 /* always called */
> #define __rsnd_mod_shift_irq 28 /* always called */
> #define __rsnd_mod_shift_pcm_new 28 /* always called */
> #define __rsnd_mod_shift_fallback 28 /* always called */
> #define __rsnd_mod_shift_hw_params 28 /* always called */
>
> -#define __rsnd_mod_add_probe 0
> -#define __rsnd_mod_add_remove 0
> +#define __rsnd_mod_add_probe 1
> +#define __rsnd_mod_add_remove -1
> #define __rsnd_mod_add_init 1
> #define __rsnd_mod_add_quit -1
> #define __rsnd_mod_add_start 1
> @@ -310,7 +311,7 @@ struct rsnd_mod {
> #define __rsnd_mod_add_hw_params 0
>
> #define __rsnd_mod_call_probe 0
> -#define __rsnd_mod_call_remove 0
> +#define __rsnd_mod_call_remove 1
> #define __rsnd_mod_call_init 0
> #define __rsnd_mod_call_quit 1
> #define __rsnd_mod_call_start 0
More information about the Alsa-devel
mailing list