* request for 4.14-stable: 3bbda5a38601 ("ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization")
@ 2018-08-14 16:17 Sudip Mukherjee
2018-08-16 16:32 ` Greg Kroah-Hartman
0 siblings, 1 reply; 2+ messages in thread
From: Sudip Mukherjee @ 2018-08-14 16:17 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: stable, Thierry Escande, Pierre-Louis Bossart, Vinod Koul,
Mark Brown
[-- Attachment #1: Type: text/plain, Size: 127 bytes --]
Hi Greg,
This was not marked for stable but should be in stable. Please apply to
your queue of 4.14-stable.
--
Regards
Sudip
[-- Attachment #2: 0003-ASoC-Intel-cht_bsw_max98090_ti-Fix-jack-initializati.patch --]
[-- Type: text/x-diff, Size: 3308 bytes --]
>From 494faca7c16d2aca3a2c68c0f588ce220bb939bd Mon Sep 17 00:00:00 2001
From: Thierry Escande <thierry.escande@collabora.com>
Date: Fri, 8 Sep 2017 00:13:08 -0500
Subject: [PATCH] ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization
commit 3bbda5a38601f7675a214be2044e41d7749e6c7b upstream
If the ts3a227e audio accessory detection hardware is present and its
driver probed, the jack needs to be created before enabling jack
detection in the ts3a227e driver. With this patch, the jack is
instantiated in the max98090 headset init function if the ts3a227e is
present. This fixes a null pointer dereference as the jack detection
enabling function in the ts3a driver was called before the jack is
created.
[minor correction to keep error handling on jack creation the same
as before by Pierre Bossart]
Signed-off-by: Thierry Escande <thierry.escande@collabora.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Acked-By: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
---
sound/soc/intel/boards/cht_bsw_max98090_ti.c | 45 +++++++++++++++++++---------
1 file changed, 31 insertions(+), 14 deletions(-)
diff --git a/sound/soc/intel/boards/cht_bsw_max98090_ti.c b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
index 20755ecc7f9e..a02dec251afe 100644
--- a/sound/soc/intel/boards/cht_bsw_max98090_ti.c
+++ b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
@@ -116,23 +116,19 @@ static int cht_codec_init(struct snd_soc_pcm_runtime *runtime)
struct cht_mc_private *ctx = snd_soc_card_get_drvdata(runtime->card);
struct snd_soc_jack *jack = &ctx->jack;
- /**
- * TI supports 4 butons headset detection
- * KEY_MEDIA
- * KEY_VOICECOMMAND
- * KEY_VOLUMEUP
- * KEY_VOLUMEDOWN
- */
- if (ctx->ts3a227e_present)
- jack_type = SND_JACK_HEADPHONE | SND_JACK_MICROPHONE |
- SND_JACK_BTN_0 | SND_JACK_BTN_1 |
- SND_JACK_BTN_2 | SND_JACK_BTN_3;
- else
- jack_type = SND_JACK_HEADPHONE | SND_JACK_MICROPHONE;
+ if (ctx->ts3a227e_present) {
+ /*
+ * The jack has already been created in the
+ * cht_max98090_headset_init() function.
+ */
+ snd_soc_jack_notifier_register(jack, &cht_jack_nb);
+ return 0;
+ }
+
+ jack_type = SND_JACK_HEADPHONE | SND_JACK_MICROPHONE;
ret = snd_soc_card_jack_new(runtime->card, "Headset Jack",
jack_type, jack, NULL, 0);
-
if (ret) {
dev_err(runtime->dev, "Headset Jack creation failed %d\n", ret);
return ret;
@@ -188,6 +184,27 @@ static int cht_max98090_headset_init(struct snd_soc_component *component)
{
struct snd_soc_card *card = component->card;
struct cht_mc_private *ctx = snd_soc_card_get_drvdata(card);
+ struct snd_soc_jack *jack = &ctx->jack;
+ int jack_type;
+ int ret;
+
+ /*
+ * TI supports 4 butons headset detection
+ * KEY_MEDIA
+ * KEY_VOICECOMMAND
+ * KEY_VOLUMEUP
+ * KEY_VOLUMEDOWN
+ */
+ jack_type = SND_JACK_HEADPHONE | SND_JACK_MICROPHONE |
+ SND_JACK_BTN_0 | SND_JACK_BTN_1 |
+ SND_JACK_BTN_2 | SND_JACK_BTN_3;
+
+ ret = snd_soc_card_jack_new(card, "Headset Jack", jack_type,
+ jack, NULL, 0);
+ if (ret) {
+ dev_err(card->dev, "Headset Jack creation failed %d\n", ret);
+ return ret;
+ }
return ts3a227e_enable_jack_detect(component, &ctx->jack);
}
--
2.11.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: request for 4.14-stable: 3bbda5a38601 ("ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization")
2018-08-14 16:17 request for 4.14-stable: 3bbda5a38601 ("ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization") Sudip Mukherjee
@ 2018-08-16 16:32 ` Greg Kroah-Hartman
0 siblings, 0 replies; 2+ messages in thread
From: Greg Kroah-Hartman @ 2018-08-16 16:32 UTC (permalink / raw)
To: Sudip Mukherjee
Cc: stable, Thierry Escande, Pierre-Louis Bossart, Vinod Koul,
Mark Brown
On Tue, Aug 14, 2018 at 05:17:16PM +0100, Sudip Mukherjee wrote:
> Hi Greg,
>
> This was not marked for stable but should be in stable. Please apply to
> your queue of 4.14-stable.
Applied and also to 4.4 and 4.9.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-08-16 19:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-14 16:17 request for 4.14-stable: 3bbda5a38601 ("ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization") Sudip Mukherjee
2018-08-16 16:32 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox