From: Greg Kroah-Hartman Date: Wed, 28 Sep 2011 16:32:06 +0000 (-0700) Subject: 3.0 patches X-Git-Tag: v3.0.5~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0bb5c509ebf09b6cd15813f9722e0f942f8bff8f;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0 patches --- diff --git a/queue-3.0/alsa-hda-no-power-nids-on-92hd93.patch b/queue-3.0/alsa-hda-no-power-nids-on-92hd93.patch new file mode 100644 index 00000000000..358f858f5fa --- /dev/null +++ b/queue-3.0/alsa-hda-no-power-nids-on-92hd93.patch @@ -0,0 +1,31 @@ +From 6656b15d675c9c6a049db48d50994b3cd4e76bd6 Mon Sep 17 00:00:00 2001 +From: David Henningsson +Date: Sat, 24 Sep 2011 08:30:44 +0200 +Subject: ALSA: HDA: No power nids on 92HD93 + +From: David Henningsson + +commit 6656b15d675c9c6a049db48d50994b3cd4e76bd6 upstream. + +This patch is necessary to make internal speakers work on this chip. + +BugLink: http://bugs.launchpad.net/bugs/854468 +Tested-by: Alex Wolfson +Signed-off-by: David Henningsson +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/patch_sigmatel.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/patch_sigmatel.c ++++ b/sound/pci/hda/patch_sigmatel.c +@@ -5470,6 +5470,7 @@ again: + switch (codec->vendor_id) { + case 0x111d76d1: + case 0x111d76d9: ++ case 0x111d76df: + case 0x111d76e5: + case 0x111d7666: + case 0x111d7667: diff --git a/queue-3.0/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch b/queue-3.0/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch new file mode 100644 index 00000000000..f2638eb33f4 --- /dev/null +++ b/queue-3.0/alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch @@ -0,0 +1,35 @@ +From 5fe6e0151dbd969f5fbcd94d05c968b76d76952b Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Mon, 26 Sep 2011 10:41:21 +0200 +Subject: ALSA: hda/realtek - Avoid bogus HP-pin assignment + +From: Takashi Iwai + +commit 5fe6e0151dbd969f5fbcd94d05c968b76d76952b upstream. + +When the headphone pin is assigned as primary output to line_out_pins[], +the automatic HP-pin assignment by ASSID must be suppressed. Otherwise +a wrong pin might be assigned to the headphone and breaks the auto-mute. + +Reference: https://bugzilla.novell.com/show_bug.cgi?id=716104 + +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/patch_realtek.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -1859,7 +1859,9 @@ do_sku: + * 15 : 1 --> enable the function "Mute internal speaker + * when the external headphone out jack is plugged" + */ +- if (!spec->autocfg.hp_pins[0]) { ++ if (!spec->autocfg.hp_pins[0] && ++ !(spec->autocfg.line_out_pins[0] && ++ spec->autocfg.line_out_type == AUTO_PIN_HP_OUT)) { + hda_nid_t nid; + tmp = (ass >> 11) & 0x3; /* HP to chassis */ + if (tmp == 0) diff --git a/queue-3.0/alsa-usb-audio-check-for-possible-chip-null-pointer-before-clearing-probing-flag.patch b/queue-3.0/alsa-usb-audio-check-for-possible-chip-null-pointer-before-clearing-probing-flag.patch new file mode 100644 index 00000000000..8dc47345af4 --- /dev/null +++ b/queue-3.0/alsa-usb-audio-check-for-possible-chip-null-pointer-before-clearing-probing-flag.patch @@ -0,0 +1,37 @@ +From 61a6a108d15213f5ee06332e1e7766d3860e4453 Mon Sep 17 00:00:00 2001 +From: Thomas Pfaff +Date: Mon, 26 Sep 2011 15:43:59 +0200 +Subject: ALSA: usb-audio: Check for possible chip NULL pointer before clearing probing flag + +From: Thomas Pfaff + +commit 61a6a108d15213f5ee06332e1e7766d3860e4453 upstream. + +Before clearing the probing flag in the error exit path, check that the +chip pointer is not NULL. + +Signed-off-by: Thomas Pfaff +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/usb/card.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +--- a/sound/usb/card.c ++++ b/sound/usb/card.c +@@ -529,9 +529,11 @@ static void *snd_usb_audio_probe(struct + return chip; + + __error: +- if (chip && !chip->num_interfaces) +- snd_card_free(chip->card); +- chip->probing = 0; ++ if (chip) { ++ if (!chip->num_interfaces) ++ snd_card_free(chip->card); ++ chip->probing = 0; ++ } + mutex_unlock(®ister_mutex); + __err_val: + return NULL; diff --git a/queue-3.0/asoc-omap-mcbsp-do-not-attempt-to-change-dai-sysclk-if-stream-is-active.patch b/queue-3.0/asoc-omap-mcbsp-do-not-attempt-to-change-dai-sysclk-if-stream-is-active.patch new file mode 100644 index 00000000000..9e85ed10185 --- /dev/null +++ b/queue-3.0/asoc-omap-mcbsp-do-not-attempt-to-change-dai-sysclk-if-stream-is-active.patch @@ -0,0 +1,50 @@ +From 34c869855a28af3c6031d29e2267b5a3cce0d67d Mon Sep 17 00:00:00 2001 +From: Jarkko Nikula +Date: Fri, 23 Sep 2011 11:19:13 +0300 +Subject: ASoC: omap-mcbsp: Do not attempt to change DAI sysclk if stream is active + +From: Jarkko Nikula + +commit 34c869855a28af3c6031d29e2267b5a3cce0d67d upstream. + +Attempt to change McBSP CLKS source while another stream is active is not +safe after commit d135865 ("OMAP: McBSP: implement functional clock +switching via clock framework") in 2.6.37. + +CLKS parent clock switching using clock framework have to idle the McBSP +before switching and then activate it again. This short break can cause a +DMA transaction error to already running stream which halts and recovers +only by closing and restarting the stream. + +This goes more fatal after commit e2fa61d ("OMAP3: l3: Introduce +l3-interconnect error handling driver") in 2.6.39 where l3 driver detects a +severe timeout error and does BUG_ON(). + +Fix this by not changing any configuration in omap_mcbsp_dai_set_dai_sysclk +if the McBSP is already active. This test should have been here just from +the beginning anyway. + +Signed-off-by: Jarkko Nikula +Acked-by: Peter Ujfalusi +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + sound/soc/omap/omap-mcbsp.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/sound/soc/omap/omap-mcbsp.c ++++ b/sound/soc/omap/omap-mcbsp.c +@@ -516,6 +516,12 @@ static int omap_mcbsp_dai_set_dai_sysclk + struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs; + int err = 0; + ++ if (mcbsp_data->active) ++ if (freq == mcbsp_data->in_freq) ++ return 0; ++ else ++ return -EBUSY; ++ + /* The McBSP signal muxing functions are only available on McBSP1 */ + if (clk_id == OMAP_MCBSP_CLKR_SRC_CLKR || + clk_id == OMAP_MCBSP_CLKR_SRC_CLKX || diff --git a/queue-3.0/asoc-ssm2602-re-enable-oscillator-after-suspend.patch b/queue-3.0/asoc-ssm2602-re-enable-oscillator-after-suspend.patch new file mode 100644 index 00000000000..f3597b80c1f --- /dev/null +++ b/queue-3.0/asoc-ssm2602-re-enable-oscillator-after-suspend.patch @@ -0,0 +1,35 @@ +From 9058020cd9ae3423d6fe7de591698dc96b6701aa Mon Sep 17 00:00:00 2001 +From: Lars-Peter Clausen +Date: Tue, 27 Sep 2011 11:08:46 +0200 +Subject: ASoC: ssm2602: Re-enable oscillator after suspend + +From: Lars-Peter Clausen + +commit 9058020cd9ae3423d6fe7de591698dc96b6701aa upstream. + +Currently the the internal oscillator is powered down when entering BIAS_OFF +state, but not re-enabled when going back to BIAS_STANDBY. As a result the +CODEC will stop working after suspend if the internal oscillator is used to +generate the sysclock signal. This patch fixes it by clearing the appropriate +bit in the power down register when the CODEC is re-enabled. + +Signed-off-by: Lars-Peter Clausen +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + sound/soc/codecs/ssm2602.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/sound/soc/codecs/ssm2602.c ++++ b/sound/soc/codecs/ssm2602.c +@@ -431,7 +431,8 @@ static int ssm2602_set_dai_fmt(struct sn + static int ssm2602_set_bias_level(struct snd_soc_codec *codec, + enum snd_soc_bias_level level) + { +- u16 reg = snd_soc_read(codec, SSM2602_PWR) & 0xff7f; ++ u16 reg = snd_soc_read(codec, SSM2602_PWR); ++ reg &= ~(PWR_POWER_OFF | PWR_OSC_PDN); + + switch (level) { + case SND_SOC_BIAS_ON: diff --git a/queue-3.0/series b/queue-3.0/series index f34af1f02aa..21713ef525b 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -222,3 +222,8 @@ arm-dma-mapping-free-allocated-page-if-unable-to-map.patch arm-7091-1-errata-d-cache-line-maintenance-operation-by.patch arm-7099-1-futex-preserve-oldval-in-smp-__futex_atomic_op.patch firmware-loader-allow-builtin-firmware-load-even-if.patch +asoc-omap-mcbsp-do-not-attempt-to-change-dai-sysclk-if-stream-is-active.patch +asoc-ssm2602-re-enable-oscillator-after-suspend.patch +alsa-hda-realtek-avoid-bogus-hp-pin-assignment.patch +alsa-hda-no-power-nids-on-92hd93.patch +alsa-usb-audio-check-for-possible-chip-null-pointer-before-clearing-probing-flag.patch