From: Greg Kroah-Hartman Date: Tue, 7 Aug 2012 21:34:42 +0000 (-0700) Subject: 3.5-stable patches X-Git-Tag: v3.5.1~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aabc756eca9687c8d574f766fe74e92322c2923a;p=thirdparty%2Fkernel%2Fstable-queue.git 3.5-stable patches 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 --- 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 index 00000000000..9316283af58 --- /dev/null +++ b/queue-3.5/alsa-hda-fix-invalid-d3-of-headphone-dac-on-vt202x-codecs.patch @@ -0,0 +1,55 @@ +From 6162552b0de6ba80937c3dd53e084967851cd199 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Wed, 25 Jul 2012 13:54:55 +0200 +Subject: ALSA: hda - Fix invalid D3 of headphone DAC on VT202x codecs + +From: Takashi Iwai + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..e49aa990601 --- /dev/null +++ b/queue-3.5/alsa-hda-fix-mute-led-gpio-initialization-for-idt-codecs.patch @@ -0,0 +1,41 @@ +From 1f43f6c1bc8d740e75b4177eb29110858bb5fea2 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Tue, 31 Jul 2012 10:40:05 +0200 +Subject: ALSA: hda - Fix mute-LED GPIO initialization for IDT codecs + +From: Takashi Iwai + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..7cfe2d8dfc5 --- /dev/null +++ b/queue-3.5/alsa-hda-fix-mute-led-gpio-setup-for-hp-mini-210.patch @@ -0,0 +1,75 @@ +From a3e199732b8e2b272e82cc1ccc49c35239ed6c5a Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Thu, 26 Jul 2012 08:17:20 +0200 +Subject: ALSA: hda - Fix mute-LED GPIO setup for HP Mini 210 + +From: Takashi Iwai + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..bb0d8768e87 --- /dev/null +++ b/queue-3.5/alsa-hda-fix-polarity-of-mute-led-on-hp-mini-210.patch @@ -0,0 +1,50 @@ +From ff8a1e274cbc11da6b57849f925b895a212b56c9 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Tue, 31 Jul 2012 10:16:59 +0200 +Subject: ALSA: hda - Fix polarity of mute LED on HP Mini 210 + +From: Takashi Iwai + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..78b37551d7f --- /dev/null +++ b/queue-3.5/alsa-hda-support-dock-on-lenovo-thinkpad-t530-with-alc269vc.patch @@ -0,0 +1,31 @@ +From 707fba3fa76a4c8855552f5d4c1a12430c09bce8 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Thu, 2 Aug 2012 09:04:39 +0200 +Subject: ALSA: hda - Support dock on Lenovo Thinkpad T530 with ALC269VC + +From: Takashi Iwai + +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 +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..298c79e3eda --- /dev/null +++ b/queue-3.5/alsa-mpu401-fix-missing-initialization-of-irq-field.patch @@ -0,0 +1,32 @@ +From bc733d495267a23ef8660220d696c6e549ce30b3 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Mon, 23 Jul 2012 11:35:55 +0200 +Subject: ALSA: mpu401: Fix missing initialization of irq field + +From: Takashi Iwai + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..df0206306d4 --- /dev/null +++ b/queue-3.5/alsa-snd-usb-fix-clock-source-validity-index.patch @@ -0,0 +1,38 @@ +From aff252a848ce21b431ba822de3dab9c4c94571cb Mon Sep 17 00:00:00 2001 +From: Daniel Mack +Date: Wed, 1 Aug 2012 10:16:53 +0200 +Subject: ALSA: snd-usb: fix clock source validity index + +From: Daniel Mack + +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 +Reported-by: Andreas Koch +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..5188414138d --- /dev/null +++ b/queue-3.5/asoc-wm8962-allow-vmid-time-to-fully-ramp.patch @@ -0,0 +1,30 @@ +From 9d40e5582c9c4cfb6977ba2a0ca9c2ed82c56f21 Mon Sep 17 00:00:00 2001 +From: Mark Brown +Date: Mon, 30 Jul 2012 18:24:19 +0100 +Subject: ASoC: wm8962: Allow VMID time to fully ramp + +From: Mark Brown + +commit 9d40e5582c9c4cfb6977ba2a0ca9c2ed82c56f21 upstream. + +Required for reliable power up from cold. + +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..e663b817cf1 --- /dev/null +++ b/queue-3.5/asoc-wm8994-ensure-there-are-enough-bclks-for-four-channels.patch @@ -0,0 +1,30 @@ +From b8edf3e5522735c8ce78b81845f7a1a2d4a08626 Mon Sep 17 00:00:00 2001 +From: Mark Brown +Date: Fri, 22 Jun 2012 17:21:17 +0100 +Subject: ASoC: wm8994: Ensure there are enough BCLKs for four channels + +From: Mark Brown + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..c1d8c12302b --- /dev/null +++ b/queue-3.5/m68k-make-sys_atomic_cmpxchg_32-work-on-classic-m68k.patch @@ -0,0 +1,39 @@ +From 9e2760d18b3cf179534bbc27692c84879c61b97c Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Sat, 28 Jul 2012 00:20:34 +0200 +Subject: m68k: Make sys_atomic_cmpxchg_32 work on classic m68k + +From: Andreas Schwab + +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 +Tested-by: Thorsten Glaser +Signed-off-by: Geert Uytterhoeven +Signed-off-by: Greg Kroah-Hartman + +--- + 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); diff --git a/queue-3.5/series b/queue-3.5/series index be656c5293b..92876d51455 100644 --- a/queue-3.5/series +++ b/queue-3.5/series @@ -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 index 00000000000..a93536238a0 --- /dev/null +++ b/queue-3.5/usb-echi-dbgp-increase-the-controller-wait-time-to-come-out-of-halt.patch @@ -0,0 +1,35 @@ +From f96a4216e85050c0a9d41a41ecb0ae9d8e39b509 Mon Sep 17 00:00:00 2001 +From: Colin Ian King +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 + +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 +Signed-off-by: Jason Wessel +Signed-off-by: Greg Kroah-Hartman + +--- + 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))