]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.5-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 7 Aug 2012 21:34:42 +0000 (14:34 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 7 Aug 2012 21:34:42 +0000 (14:34 -0700)
added patches:
alsa-hda-fix-invalid-d3-of-headphone-dac-on-vt202x-codecs.patch
alsa-hda-fix-mute-led-gpio-initialization-for-idt-codecs.patch
alsa-hda-fix-mute-led-gpio-setup-for-hp-mini-210.patch
alsa-hda-fix-polarity-of-mute-led-on-hp-mini-210.patch
alsa-hda-support-dock-on-lenovo-thinkpad-t530-with-alc269vc.patch
alsa-mpu401-fix-missing-initialization-of-irq-field.patch
alsa-snd-usb-fix-clock-source-validity-index.patch
asoc-wm8962-allow-vmid-time-to-fully-ramp.patch
asoc-wm8994-ensure-there-are-enough-bclks-for-four-channels.patch
m68k-make-sys_atomic_cmpxchg_32-work-on-classic-m68k.patch
usb-echi-dbgp-increase-the-controller-wait-time-to-come-out-of-halt.patch

12 files changed:
queue-3.5/alsa-hda-fix-invalid-d3-of-headphone-dac-on-vt202x-codecs.patch [new file with mode: 0644]
queue-3.5/alsa-hda-fix-mute-led-gpio-initialization-for-idt-codecs.patch [new file with mode: 0644]
queue-3.5/alsa-hda-fix-mute-led-gpio-setup-for-hp-mini-210.patch [new file with mode: 0644]
queue-3.5/alsa-hda-fix-polarity-of-mute-led-on-hp-mini-210.patch [new file with mode: 0644]
queue-3.5/alsa-hda-support-dock-on-lenovo-thinkpad-t530-with-alc269vc.patch [new file with mode: 0644]
queue-3.5/alsa-mpu401-fix-missing-initialization-of-irq-field.patch [new file with mode: 0644]
queue-3.5/alsa-snd-usb-fix-clock-source-validity-index.patch [new file with mode: 0644]
queue-3.5/asoc-wm8962-allow-vmid-time-to-fully-ramp.patch [new file with mode: 0644]
queue-3.5/asoc-wm8994-ensure-there-are-enough-bclks-for-four-channels.patch [new file with mode: 0644]
queue-3.5/m68k-make-sys_atomic_cmpxchg_32-work-on-classic-m68k.patch [new file with mode: 0644]
queue-3.5/series
queue-3.5/usb-echi-dbgp-increase-the-controller-wait-time-to-come-out-of-halt.patch [new file with mode: 0644]

diff --git a/queue-3.5/alsa-hda-fix-invalid-d3-of-headphone-dac-on-vt202x-codecs.patch b/queue-3.5/alsa-hda-fix-invalid-d3-of-headphone-dac-on-vt202x-codecs.patch
new file mode 100644 (file)
index 0000000..9316283
--- /dev/null
@@ -0,0 +1,55 @@
+From 6162552b0de6ba80937c3dd53e084967851cd199 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Wed, 25 Jul 2012 13:54:55 +0200
+Subject: ALSA: hda - Fix invalid D3 of headphone DAC on VT202x codecs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 6162552b0de6ba80937c3dd53e084967851cd199 upstream.
+
+We've got a bug report about the silent output from the headphone on a
+mobo with VT2021, and spotted out that this was because of the wrong
+D3 state on the DAC for the headphone output.  The bug is triggered by
+the incomplete check for this DAC in set_widgets_power_state_vt1718S().
+It checks only the connectivity of the primary output (0x27) but
+doesn't consider the path from the headphone pin (0x28).
+
+Now this patch fixes the problem by checking both pins for DAC 0x0b.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_via.c |    7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/sound/pci/hda/patch_via.c
++++ b/sound/pci/hda/patch_via.c
+@@ -3226,7 +3226,7 @@ static void set_widgets_power_state_vt17
+ {
+       struct via_spec *spec = codec->spec;
+       int imux_is_smixer;
+-      unsigned int parm;
++      unsigned int parm, parm2;
+       /* MUX6 (1eh) = stereo mixer */
+       imux_is_smixer =
+       snd_hda_codec_read(codec, 0x1e, 0, AC_VERB_GET_CONNECT_SEL, 0x00) == 5;
+@@ -3249,7 +3249,7 @@ static void set_widgets_power_state_vt17
+       parm = AC_PWRST_D3;
+       set_pin_power_state(codec, 0x27, &parm);
+       update_power_state(codec, 0x1a, parm);
+-      update_power_state(codec, 0xb, parm);
++      parm2 = parm; /* for pin 0x0b */
+       /* PW2 (26h), AOW2 (ah) */
+       parm = AC_PWRST_D3;
+@@ -3264,6 +3264,9 @@ static void set_widgets_power_state_vt17
+       if (!spec->hp_independent_mode) /* check for redirected HP */
+               set_pin_power_state(codec, 0x28, &parm);
+       update_power_state(codec, 0x8, parm);
++      if (!spec->hp_independent_mode && parm2 != AC_PWRST_D3)
++              parm = parm2;
++      update_power_state(codec, 0xb, parm);
+       /* MW9 (21h), Mw2 (1ah), AOW0 (8h) */
+       update_power_state(codec, 0x21, imux_is_smixer ? AC_PWRST_D0 : parm);
diff --git a/queue-3.5/alsa-hda-fix-mute-led-gpio-initialization-for-idt-codecs.patch b/queue-3.5/alsa-hda-fix-mute-led-gpio-initialization-for-idt-codecs.patch
new file mode 100644 (file)
index 0000000..e49aa99
--- /dev/null
@@ -0,0 +1,41 @@
+From 1f43f6c1bc8d740e75b4177eb29110858bb5fea2 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 31 Jul 2012 10:40:05 +0200
+Subject: ALSA: hda - Fix mute-LED GPIO initialization for IDT codecs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 1f43f6c1bc8d740e75b4177eb29110858bb5fea2 upstream.
+
+The IDT codecs initializes the GPIO setup for mute LEDs via
+snd_hda_sync_vmaster_hook().  This works in most cases except for the
+very first call, which is called before PCM and control creations.
+Thus before Master switch is set manually via alsactl, the mute LED
+may show the wrong state, depending on the polarity.
+
+Now it's fixed by calling the LED-status update function manually when
+no vmaster is set yet.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_sigmatel.c |    7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -4420,7 +4420,12 @@ static int stac92xx_init(struct hda_code
+       snd_hda_jack_report_sync(codec);
+       /* sync mute LED */
+-      snd_hda_sync_vmaster_hook(&spec->vmaster_mute);
++      if (spec->gpio_led) {
++              if (spec->vmaster_mute.hook)
++                      snd_hda_sync_vmaster_hook(&spec->vmaster_mute);
++              else /* the very first init call doesn't have vmaster yet */
++                      stac92xx_update_led_status(codec, false);
++      }
+       /* sync the power-map */
+       if (spec->num_pwrs)
diff --git a/queue-3.5/alsa-hda-fix-mute-led-gpio-setup-for-hp-mini-210.patch b/queue-3.5/alsa-hda-fix-mute-led-gpio-setup-for-hp-mini-210.patch
new file mode 100644 (file)
index 0000000..7cfe2d8
--- /dev/null
@@ -0,0 +1,75 @@
+From a3e199732b8e2b272e82cc1ccc49c35239ed6c5a Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Thu, 26 Jul 2012 08:17:20 +0200
+Subject: ALSA: hda - Fix mute-LED GPIO setup for HP Mini 210
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit a3e199732b8e2b272e82cc1ccc49c35239ed6c5a upstream.
+
+BIOS on HP Mini 210 doesn't provide the proper "HP_Mute_LED" DMI
+string, thus the driver doesn't initialize the GPIO, too.  In the
+earlier kernel, the driver falls back to GPIO1, but since 3.3 we've
+stopped this due to other wrongly advertised machines.
+
+For fixing this particular case, add a new model type to specify the
+default polarity explicitly so that the fallback to GPIO1 is handled.
+
+Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=772923
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_sigmatel.c |   10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -101,6 +101,7 @@ enum {
+       STAC_92HD83XXX_HP_cNB11_INTQUAD,
+       STAC_HP_DV7_4000,
+       STAC_HP_ZEPHYR,
++      STAC_92HD83XXX_HP_LED,
+       STAC_92HD83XXX_MODELS
+ };
+@@ -1675,6 +1676,7 @@ static const char * const stac92hd83xxx_
+       [STAC_92HD83XXX_HP_cNB11_INTQUAD] = "hp_cNB11_intquad",
+       [STAC_HP_DV7_4000] = "hp-dv7-4000",
+       [STAC_HP_ZEPHYR] = "hp-zephyr",
++      [STAC_92HD83XXX_HP_LED] = "hp-led",
+ };
+ static const struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = {
+@@ -1729,6 +1731,8 @@ static const struct snd_pci_quirk stac92
+                         "HP", STAC_92HD83XXX_HP_cNB11_INTQUAD),
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x3561,
+                         "HP", STAC_HP_ZEPHYR),
++      SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x3660,
++                        "HP Mini", STAC_92HD83XXX_HP_LED),
+       {} /* terminator */
+ };
+@@ -5507,6 +5511,7 @@ static void stac92hd8x_fill_auto_spec(st
+ static int patch_stac92hd83xxx(struct hda_codec *codec)
+ {
+       struct sigmatel_spec *spec;
++      int default_polarity = -1; /* no default cfg */
+       int err;
+       spec  = kzalloc(sizeof(*spec), GFP_KERNEL);
+@@ -5555,9 +5560,12 @@ again:
+       case STAC_HP_ZEPHYR:
+               spec->init = stac92hd83xxx_hp_zephyr_init;
+               break;
++      case STAC_92HD83XXX_HP_LED:
++              default_polarity = 1;
++              break;
+       }
+-      if (find_mute_led_cfg(codec, -1/*no default cfg*/))
++      if (find_mute_led_cfg(codec, default_polarity))
+               snd_printd("mute LED gpio %d polarity %d\n",
+                               spec->gpio_led,
+                               spec->gpio_led_polarity);
diff --git a/queue-3.5/alsa-hda-fix-polarity-of-mute-led-on-hp-mini-210.patch b/queue-3.5/alsa-hda-fix-polarity-of-mute-led-on-hp-mini-210.patch
new file mode 100644 (file)
index 0000000..bb0d876
--- /dev/null
@@ -0,0 +1,50 @@
+From ff8a1e274cbc11da6b57849f925b895a212b56c9 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 31 Jul 2012 10:16:59 +0200
+Subject: ALSA: hda - Fix polarity of mute LED on HP Mini 210
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit ff8a1e274cbc11da6b57849f925b895a212b56c9 upstream.
+
+The commit a3e199732b made the LED working again on HP Mini 210 but
+with a wrong polarity.  This patch fixes the polarity for this
+machine, and also introduce a new model string "hp-inv-led".
+
+Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=772923
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_sigmatel.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -102,6 +102,7 @@ enum {
+       STAC_HP_DV7_4000,
+       STAC_HP_ZEPHYR,
+       STAC_92HD83XXX_HP_LED,
++      STAC_92HD83XXX_HP_INV_LED,
+       STAC_92HD83XXX_MODELS
+ };
+@@ -1677,6 +1678,7 @@ static const char * const stac92hd83xxx_
+       [STAC_HP_DV7_4000] = "hp-dv7-4000",
+       [STAC_HP_ZEPHYR] = "hp-zephyr",
+       [STAC_92HD83XXX_HP_LED] = "hp-led",
++      [STAC_92HD83XXX_HP_INV_LED] = "hp-inv-led",
+ };
+ static const struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = {
+@@ -5561,6 +5563,9 @@ again:
+               spec->init = stac92hd83xxx_hp_zephyr_init;
+               break;
+       case STAC_92HD83XXX_HP_LED:
++              default_polarity = 0;
++              break;
++      case STAC_92HD83XXX_HP_INV_LED:
+               default_polarity = 1;
+               break;
+       }
diff --git a/queue-3.5/alsa-hda-support-dock-on-lenovo-thinkpad-t530-with-alc269vc.patch b/queue-3.5/alsa-hda-support-dock-on-lenovo-thinkpad-t530-with-alc269vc.patch
new file mode 100644 (file)
index 0000000..78b3755
--- /dev/null
@@ -0,0 +1,31 @@
+From 707fba3fa76a4c8855552f5d4c1a12430c09bce8 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Thu, 2 Aug 2012 09:04:39 +0200
+Subject: ALSA: hda - Support dock on Lenovo Thinkpad T530 with ALC269VC
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 707fba3fa76a4c8855552f5d4c1a12430c09bce8 upstream.
+
+Lenovo Thinkpad T530 with ALC269VC codec has a dock port but BIOS
+doesn't set up the pins properly.  Enable the pins as well as on
+Thinkpad X230 Tablet.
+
+Reported-and-tested-by: Mario <anyc@hadiko.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -6000,6 +6000,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE),
+       SND_PCI_QUIRK(0x17aa, 0x21ca, "Thinkpad L412", ALC269_FIXUP_SKU_IGNORE),
+       SND_PCI_QUIRK(0x17aa, 0x21e9, "Thinkpad Edge 15", ALC269_FIXUP_SKU_IGNORE),
++      SND_PCI_QUIRK(0x17aa, 0x21f6, "Thinkpad T530", ALC269_FIXUP_LENOVO_DOCK),
+       SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK),
+       SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_QUANTA_MUTE),
+       SND_PCI_QUIRK(0x17aa, 0x3bf8, "Lenovo Ideapd", ALC269_FIXUP_PCM_44K),
diff --git a/queue-3.5/alsa-mpu401-fix-missing-initialization-of-irq-field.patch b/queue-3.5/alsa-mpu401-fix-missing-initialization-of-irq-field.patch
new file mode 100644 (file)
index 0000000..298c79e
--- /dev/null
@@ -0,0 +1,32 @@
+From bc733d495267a23ef8660220d696c6e549ce30b3 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 23 Jul 2012 11:35:55 +0200
+Subject: ALSA: mpu401: Fix missing initialization of irq field
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit bc733d495267a23ef8660220d696c6e549ce30b3 upstream.
+
+The irq field of struct snd_mpu401 is supposed to be initialized to -1.
+Since it's set to zero as of now, a probing error before the irq
+installation results in a kernel warning "Trying to free already-free
+IRQ 0".
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=44821
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/drivers/mpu401/mpu401_uart.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/drivers/mpu401/mpu401_uart.c
++++ b/sound/drivers/mpu401/mpu401_uart.c
+@@ -554,6 +554,7 @@ int snd_mpu401_uart_new(struct snd_card
+       spin_lock_init(&mpu->output_lock);
+       spin_lock_init(&mpu->timer_lock);
+       mpu->hardware = hardware;
++      mpu->irq = -1;
+       if (! (info_flags & MPU401_INFO_INTEGRATED)) {
+               int res_size = hardware == MPU401_HW_PC98II ? 4 : 2;
+               mpu->res = request_region(port, res_size, "MPU401 UART");
diff --git a/queue-3.5/alsa-snd-usb-fix-clock-source-validity-index.patch b/queue-3.5/alsa-snd-usb-fix-clock-source-validity-index.patch
new file mode 100644 (file)
index 0000000..df02063
--- /dev/null
@@ -0,0 +1,38 @@
+From aff252a848ce21b431ba822de3dab9c4c94571cb Mon Sep 17 00:00:00 2001
+From: Daniel Mack <zonque@gmail.com>
+Date: Wed, 1 Aug 2012 10:16:53 +0200
+Subject: ALSA: snd-usb: fix clock source validity index
+
+From: Daniel Mack <zonque@gmail.com>
+
+commit aff252a848ce21b431ba822de3dab9c4c94571cb upstream.
+
+uac_clock_source_is_valid() uses the control selector value to access
+the bmControls bitmap of the clock source unit. This is wrong, as
+control selector values start from 1, while the bitmap uses all
+available bits.
+
+In other words, "Clock Validity Control" is stored in D3..2, not D5..4
+of the clock selector unit's bmControls.
+
+Signed-off-by: Daniel Mack <zonque@gmail.com>
+Reported-by: Andreas Koch <andreas@akdesigninc.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/clock.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/sound/usb/clock.c
++++ b/sound/usb/clock.c
+@@ -111,7 +111,8 @@ static bool uac_clock_source_is_valid(st
+               return 0;
+       /* If a clock source can't tell us whether it's valid, we assume it is */
+-      if (!uac2_control_is_readable(cs_desc->bmControls, UAC2_CS_CONTROL_CLOCK_VALID))
++      if (!uac2_control_is_readable(cs_desc->bmControls,
++                                    UAC2_CS_CONTROL_CLOCK_VALID - 1))
+               return 1;
+       err = snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), UAC2_CS_CUR,
diff --git a/queue-3.5/asoc-wm8962-allow-vmid-time-to-fully-ramp.patch b/queue-3.5/asoc-wm8962-allow-vmid-time-to-fully-ramp.patch
new file mode 100644 (file)
index 0000000..5188414
--- /dev/null
@@ -0,0 +1,30 @@
+From 9d40e5582c9c4cfb6977ba2a0ca9c2ed82c56f21 Mon Sep 17 00:00:00 2001
+From: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Date: Mon, 30 Jul 2012 18:24:19 +0100
+Subject: ASoC: wm8962: Allow VMID time to fully ramp
+
+From: Mark Brown <broonie@opensource.wolfsonmicro.com>
+
+commit 9d40e5582c9c4cfb6977ba2a0ca9c2ed82c56f21 upstream.
+
+Required for reliable power up from cold.
+
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/wm8962.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/sound/soc/codecs/wm8962.c
++++ b/sound/soc/codecs/wm8962.c
+@@ -2501,6 +2501,9 @@ static int wm8962_set_bias_level(struct
+               /* VMID 2*250k */
+               snd_soc_update_bits(codec, WM8962_PWR_MGMT_1,
+                                   WM8962_VMID_SEL_MASK, 0x100);
++
++              if (codec->dapm.bias_level == SND_SOC_BIAS_OFF)
++                      msleep(100);
+               break;
+       case SND_SOC_BIAS_OFF:
diff --git a/queue-3.5/asoc-wm8994-ensure-there-are-enough-bclks-for-four-channels.patch b/queue-3.5/asoc-wm8994-ensure-there-are-enough-bclks-for-four-channels.patch
new file mode 100644 (file)
index 0000000..e663b81
--- /dev/null
@@ -0,0 +1,30 @@
+From b8edf3e5522735c8ce78b81845f7a1a2d4a08626 Mon Sep 17 00:00:00 2001
+From: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Date: Fri, 22 Jun 2012 17:21:17 +0100
+Subject: ASoC: wm8994: Ensure there are enough BCLKs for four channels
+
+From: Mark Brown <broonie@opensource.wolfsonmicro.com>
+
+commit b8edf3e5522735c8ce78b81845f7a1a2d4a08626 upstream.
+
+Otherwise if someone tries to use all four channels on AIF1 with the
+device in master mode we won't be able to clock out all the data.
+
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/wm8994.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/soc/codecs/wm8994.c
++++ b/sound/soc/codecs/wm8994.c
+@@ -2649,7 +2649,7 @@ static int wm8994_hw_params(struct snd_p
+               return -EINVAL;
+       }
+-      bclk_rate = params_rate(params) * 2;
++      bclk_rate = params_rate(params) * 4;
+       switch (params_format(params)) {
+       case SNDRV_PCM_FORMAT_S16_LE:
+               bclk_rate *= 16;
diff --git a/queue-3.5/m68k-make-sys_atomic_cmpxchg_32-work-on-classic-m68k.patch b/queue-3.5/m68k-make-sys_atomic_cmpxchg_32-work-on-classic-m68k.patch
new file mode 100644 (file)
index 0000000..c1d8c12
--- /dev/null
@@ -0,0 +1,39 @@
+From 9e2760d18b3cf179534bbc27692c84879c61b97c Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@linux-m68k.org>
+Date: Sat, 28 Jul 2012 00:20:34 +0200
+Subject: m68k: Make sys_atomic_cmpxchg_32 work on classic m68k
+
+From: Andreas Schwab <schwab@linux-m68k.org>
+
+commit 9e2760d18b3cf179534bbc27692c84879c61b97c upstream.
+
+User space access must always go through uaccess accessors, since on
+classic m68k user space and kernel space are completely separate.
+
+Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
+Tested-by: Thorsten Glaser <tg@debian.org>
+Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/m68k/kernel/sys_m68k.c |    8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+--- a/arch/m68k/kernel/sys_m68k.c
++++ b/arch/m68k/kernel/sys_m68k.c
+@@ -479,9 +479,13 @@ sys_atomic_cmpxchg_32(unsigned long newv
+                       goto bad_access;
+               }
+-              mem_value = *mem;
++              /*
++               * No need to check for EFAULT; we know that the page is
++               * present and writable.
++               */
++              __get_user(mem_value, mem);
+               if (mem_value == oldval)
+-                      *mem = newval;
++                      __put_user(newval, mem);
+               pte_unmap_unlock(pte, ptl);
+               up_read(&mm->mmap_sem);
index be656c5293bc566b0595b44d9050ebe34914ad19..92876d514556ad89cdc42ad2ceaf4018046e2a6e 100644 (file)
@@ -106,3 +106,14 @@ usb-kaweth.c-use-gfp_atomic-under-spin_lock.patch
 net-fix-rtnetlink-iff_promisc-and-iff_allmulti-handling.patch
 tcp-perform-dma-to-userspace-only-if-there-is-a-task-waiting-for-it.patch
 net-tun-fix-ioctl-based-info-leaks.patch
+usb-echi-dbgp-increase-the-controller-wait-time-to-come-out-of-halt.patch
+alsa-snd-usb-fix-clock-source-validity-index.patch
+alsa-mpu401-fix-missing-initialization-of-irq-field.patch
+alsa-hda-fix-invalid-d3-of-headphone-dac-on-vt202x-codecs.patch
+alsa-hda-fix-mute-led-gpio-setup-for-hp-mini-210.patch
+alsa-hda-fix-polarity-of-mute-led-on-hp-mini-210.patch
+alsa-hda-fix-mute-led-gpio-initialization-for-idt-codecs.patch
+alsa-hda-support-dock-on-lenovo-thinkpad-t530-with-alc269vc.patch
+asoc-wm8962-allow-vmid-time-to-fully-ramp.patch
+asoc-wm8994-ensure-there-are-enough-bclks-for-four-channels.patch
+m68k-make-sys_atomic_cmpxchg_32-work-on-classic-m68k.patch
diff --git a/queue-3.5/usb-echi-dbgp-increase-the-controller-wait-time-to-come-out-of-halt.patch b/queue-3.5/usb-echi-dbgp-increase-the-controller-wait-time-to-come-out-of-halt.patch
new file mode 100644 (file)
index 0000000..a935362
--- /dev/null
@@ -0,0 +1,35 @@
+From f96a4216e85050c0a9d41a41ecb0ae9d8e39b509 Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.king@canonical.com>
+Date: Mon, 30 Jul 2012 16:06:42 +0100
+Subject: USB: echi-dbgp: increase the controller wait time to come out of halt.
+
+From: Colin Ian King <colin.king@canonical.com>
+
+commit f96a4216e85050c0a9d41a41ecb0ae9d8e39b509 upstream.
+
+The default 10 microsecond delay for the controller to come out of
+halt in dbgp_ehci_startup is too short, so increase it to 1 millisecond.
+
+This is based on emperical testing on various USB debug ports on
+modern machines such as a Lenovo X220i and an Ivybridge development
+platform that needed to wait ~450-950 microseconds.
+
+Signed-off-by: Colin Ian King <colin.king@canonical.com>
+Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/early/ehci-dbgp.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/early/ehci-dbgp.c
++++ b/drivers/usb/early/ehci-dbgp.c
+@@ -450,7 +450,7 @@ static int dbgp_ehci_startup(void)
+       writel(FLAG_CF, &ehci_regs->configured_flag);
+       /* Wait until the controller is no longer halted */
+-      loop = 10;
++      loop = 1000;
+       do {
+               status = readl(&ehci_regs->status);
+               if (!(status & STS_HALT))