From: Greg Kroah-Hartman Date: Fri, 20 Jan 2012 17:01:56 +0000 (-0500) Subject: 3.2-stable patches X-Git-Tag: v3.2.2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4b61f4e609cb7857afa15f43416eba79edbce97f;p=thirdparty%2Fkernel%2Fstable-queue.git 3.2-stable patches added patches: alsa-hda-fix-internal-microphone-on-dell-studio-16-xps-1645.patch alsa-hda-use-lpib-position-fix-for-macbook-pro-7-1.patch alsa-virtuoso-xonar-ds-fix-polarity-of-front-output.patch intel_idle-fix-api-misuse.patch intel-idle-make-idle-driver-more-robust.patch tomoyo-accept-000-as-a-valid-character.patch --- diff --git a/queue-3.2/alsa-hda-fix-internal-microphone-on-dell-studio-16-xps-1645.patch b/queue-3.2/alsa-hda-fix-internal-microphone-on-dell-studio-16-xps-1645.patch new file mode 100644 index 00000000000..1866dde12af --- /dev/null +++ b/queue-3.2/alsa-hda-fix-internal-microphone-on-dell-studio-16-xps-1645.patch @@ -0,0 +1,33 @@ +From ffe535edb9a9c5b4d5fe03dfa3d89a1495580f1b Mon Sep 17 00:00:00 2001 +From: David Henningsson +Date: Mon, 16 Jan 2012 10:52:20 +0100 +Subject: ALSA: HDA: Fix internal microphone on Dell Studio 16 XPS 1645 + +From: David Henningsson + +commit ffe535edb9a9c5b4d5fe03dfa3d89a1495580f1b upstream. + +More than one user reports that changing the model from "both" to +"dmic" makes their Internal Mic work. + +Tested-by: Martin Ling +BugLink: https://bugs.launchpad.net/bugs/795823 +Signed-off-by: David Henningsson +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/patch_sigmatel.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/sound/pci/hda/patch_sigmatel.c ++++ b/sound/pci/hda/patch_sigmatel.c +@@ -1631,7 +1631,7 @@ static const struct snd_pci_quirk stac92 + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02bd, + "Dell Studio 1557", STAC_DELL_M6_DMIC), + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02fe, +- "Dell Studio XPS 1645", STAC_DELL_M6_BOTH), ++ "Dell Studio XPS 1645", STAC_DELL_M6_DMIC), + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0413, + "Dell Studio 1558", STAC_DELL_M6_DMIC), + {} /* terminator */ diff --git a/queue-3.2/alsa-hda-use-lpib-position-fix-for-macbook-pro-7-1.patch b/queue-3.2/alsa-hda-use-lpib-position-fix-for-macbook-pro-7-1.patch new file mode 100644 index 00000000000..ae7946292bf --- /dev/null +++ b/queue-3.2/alsa-hda-use-lpib-position-fix-for-macbook-pro-7-1.patch @@ -0,0 +1,33 @@ +From b01de4fb40137fbda7530550ff0cd37171dafb0c Mon Sep 17 00:00:00 2001 +From: David Henningsson +Date: Thu, 12 Jan 2012 16:31:14 +0100 +Subject: ALSA: HDA: Use LPIB position fix for Macbook Pro 7,1 + +From: David Henningsson + +commit b01de4fb40137fbda7530550ff0cd37171dafb0c upstream. + +Several users have reported "choppy" audio under the 3.2 kernel, +and that changing position_fix to 1 has resolved their problem. +The chip is an nVidia Corporation MCP89 High Definition Audio, +[10de:0d94] (rev a2). + +BugLink: https://bugs.launchpad.net/bugs/909419 +Signed-off-by: David Henningsson +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/hda_intel.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -2509,6 +2509,7 @@ static struct snd_pci_quirk position_fix + SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS M2V", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1043, 0x83ce, "ASUS 1101HA", POS_FIX_LPIB), + SND_PCI_QUIRK(0x104d, 0x9069, "Sony VPCS11V9E", POS_FIX_LPIB), ++ SND_PCI_QUIRK(0x10de, 0xcb89, "Macbook Pro 7,1", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1297, 0x3166, "Shuttle", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1458, 0xa022, "ga-ma770-ud3", POS_FIX_LPIB), + SND_PCI_QUIRK(0x1462, 0x1002, "MSI Wind U115", POS_FIX_LPIB), diff --git a/queue-3.2/alsa-virtuoso-xonar-ds-fix-polarity-of-front-output.patch b/queue-3.2/alsa-virtuoso-xonar-ds-fix-polarity-of-front-output.patch new file mode 100644 index 00000000000..07436a64a9e --- /dev/null +++ b/queue-3.2/alsa-virtuoso-xonar-ds-fix-polarity-of-front-output.patch @@ -0,0 +1,34 @@ +From f0e48b6bd4e407459715240cd241ddb6b89bdf81 Mon Sep 17 00:00:00 2001 +From: Clemens Ladisch +Date: Sat, 14 Jan 2012 16:42:24 +0100 +Subject: ALSA: virtuoso: Xonar DS: fix polarity of front output + +From: Clemens Ladisch + +commit f0e48b6bd4e407459715240cd241ddb6b89bdf81 upstream. + +The two DACs for the front output and the surround/center/LFE/back +outputs are wired up out of phase, so when channels are duplicated, +their sound can cancel out each other and result in a weaker bass +response. To fix this, reverse the polarity of the neutron flow to +the front output. + +Reported-any-tested-by: Daniel Hill +Signed-off-by: Clemens Ladisch +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/oxygen/xonar_wm87x6.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/oxygen/xonar_wm87x6.c ++++ b/sound/pci/oxygen/xonar_wm87x6.c +@@ -177,6 +177,7 @@ static void wm8776_registers_init(struct + struct xonar_wm87x6 *data = chip->model_data; + + wm8776_write(chip, WM8776_RESET, 0); ++ wm8776_write(chip, WM8776_PHASESWAP, WM8776_PH_MASK); + wm8776_write(chip, WM8776_DACCTRL1, WM8776_DZCEN | + WM8776_PL_LEFT_LEFT | WM8776_PL_RIGHT_RIGHT); + wm8776_write(chip, WM8776_DACMUTE, chip->dac_mute ? WM8776_DMUTE : 0); diff --git a/queue-3.2/intel-idle-make-idle-driver-more-robust.patch b/queue-3.2/intel-idle-make-idle-driver-more-robust.patch new file mode 100644 index 00000000000..47514d81102 --- /dev/null +++ b/queue-3.2/intel-idle-make-idle-driver-more-robust.patch @@ -0,0 +1,51 @@ +From 5c2a9f06a9cd7194f884cdc88144866235dec07d Mon Sep 17 00:00:00 2001 +From: Thomas Renninger +Date: Sun, 4 Dec 2011 22:17:29 +0100 +Subject: intel idle: Make idle driver more robust + +From: Thomas Renninger + +commit 5c2a9f06a9cd7194f884cdc88144866235dec07d upstream. + +kvm -cpu host passes the original cpuid info to the guest. + +Latest kvm version seem to return true for mwait_leaf cpuid +function on recent Intel CPUs. But it does not return mwait +C-states (mwait_substates), instead zero is returned. + +While real CPUs seem to always return non-zero values, the intel +idle driver should not get active in kvm (mwait_substates == 0) +case and bail out. +Otherwise a Null pointer exception will happen later when the +cpuidle subsystem tries to get active: +[0.984807] BUG: unable to handle kernel NULL pointer dereference at (null) +[0.984807] IP: [<(null)>] (null) +... +[0.984807][] ? cpuidle_idle_call+0xb4/0x340 +[0.984807][] ? __atomic_notifier_call_chain+0x4c/0x70 +[0.984807][] ? cpu_idle+0x78/0xd0 + +Reference: +https://bugzilla.novell.com/show_bug.cgi?id=726296 + +Signed-off-by: Thomas Renninger +CC: Bruno Friedmann +Signed-off-by: Len Brown +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/idle/intel_idle.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/idle/intel_idle.c ++++ b/drivers/idle/intel_idle.c +@@ -348,7 +348,8 @@ static int intel_idle_probe(void) + cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &mwait_substates); + + if (!(ecx & CPUID5_ECX_EXTENSIONS_SUPPORTED) || +- !(ecx & CPUID5_ECX_INTERRUPT_BREAK)) ++ !(ecx & CPUID5_ECX_INTERRUPT_BREAK) || ++ !mwait_substates) + return -ENODEV; + + pr_debug(PREFIX "MWAIT substates: 0x%x\n", mwait_substates); diff --git a/queue-3.2/intel_idle-fix-api-misuse.patch b/queue-3.2/intel_idle-fix-api-misuse.patch new file mode 100644 index 00000000000..f069a3e0250 --- /dev/null +++ b/queue-3.2/intel_idle-fix-api-misuse.patch @@ -0,0 +1,54 @@ +From 39a74fdedd1c1461d6fb6d330b5266886513c98f Mon Sep 17 00:00:00 2001 +From: Shaohua Li +Date: Tue, 10 Jan 2012 15:48:19 -0800 +Subject: intel_idle: fix API misuse + +From: Shaohua Li + +commit 39a74fdedd1c1461d6fb6d330b5266886513c98f upstream. + +smp_call_function() only lets all other CPUs execute a specific function, +while we expect all CPUs do in intel_idle. Without the fix, we could have +one cpu which has auto_demotion enabled or has no broadcast timer setup. +Usually we don't see impact because auto demotion just harms power and the +intel_idle init is called in CPU 0, where boradcast timer delivers +interrupt, but this still could be a problem. + +Signed-off-by: Shaohua Li +Signed-off-by: Andrew Morton +Signed-off-by: Len Brown +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/idle/intel_idle.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/idle/intel_idle.c ++++ b/drivers/idle/intel_idle.c +@@ -395,7 +395,7 @@ static int intel_idle_probe(void) + if (boot_cpu_has(X86_FEATURE_ARAT)) /* Always Reliable APIC Timer */ + lapic_timer_reliable_states = LAPIC_TIMER_ALWAYS_RELIABLE; + else { +- smp_call_function(__setup_broadcast_timer, (void *)true, 1); ++ on_each_cpu(__setup_broadcast_timer, (void *)true, 1); + register_cpu_notifier(&setup_broadcast_notifier); + } + +@@ -472,7 +472,7 @@ static int intel_idle_cpuidle_driver_ini + } + + if (auto_demotion_disable_flags) +- smp_call_function(auto_demotion_disable, NULL, 1); ++ on_each_cpu(auto_demotion_disable, NULL, 1); + + return 0; + } +@@ -569,7 +569,7 @@ static void __exit intel_idle_exit(void) + cpuidle_unregister_driver(&intel_idle_driver); + + if (lapic_timer_reliable_states != LAPIC_TIMER_ALWAYS_RELIABLE) { +- smp_call_function(__setup_broadcast_timer, (void *)false, 1); ++ on_each_cpu(__setup_broadcast_timer, (void *)false, 1); + unregister_cpu_notifier(&setup_broadcast_notifier); + } + diff --git a/queue-3.2/series b/queue-3.2/series index 910e90e238b..c96534a6ff9 100644 --- a/queue-3.2/series +++ b/queue-3.2/series @@ -91,3 +91,9 @@ block-add-and-use-scsi_blk_cmd_ioctl.patch block-fail-scsi-passthrough-ioctls-on-partition-devices.patch dm-do-not-forward-ioctls-from-logical-volumes-to-the.patch proc-clean-up-and-fix-proc-pid-mem-handling.patch +alsa-hda-use-lpib-position-fix-for-macbook-pro-7-1.patch +alsa-virtuoso-xonar-ds-fix-polarity-of-front-output.patch +alsa-hda-fix-internal-microphone-on-dell-studio-16-xps-1645.patch +tomoyo-accept-000-as-a-valid-character.patch +intel-idle-make-idle-driver-more-robust.patch +intel_idle-fix-api-misuse.patch diff --git a/queue-3.2/tomoyo-accept-000-as-a-valid-character.patch b/queue-3.2/tomoyo-accept-000-as-a-valid-character.patch new file mode 100644 index 00000000000..d578c3685f9 --- /dev/null +++ b/queue-3.2/tomoyo-accept-000-as-a-valid-character.patch @@ -0,0 +1,41 @@ +From 25add8cf99c9ec8b8dc0acd8b9241e963fc0d29c Mon Sep 17 00:00:00 2001 +From: Tetsuo Handa +Date: Sun, 15 Jan 2012 11:05:59 +0900 +Subject: TOMOYO: Accept \000 as a valid character. + +From: Tetsuo Handa + +commit 25add8cf99c9ec8b8dc0acd8b9241e963fc0d29c upstream. + +TOMOYO 2.5 in Linux 3.2 and later handles Unix domain socket's address. +Thus, tomoyo_correct_word2() needs to accept \000 as a valid character, or +TOMOYO 2.5 cannot handle Unix domain's abstract socket address. + +Reported-by: Steven Allen +Signed-off-by: Tetsuo Handa +Signed-off-by: James Morris +Signed-off-by: Greg Kroah-Hartman + +--- + security/tomoyo/util.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/security/tomoyo/util.c ++++ b/security/tomoyo/util.c +@@ -492,13 +492,13 @@ static bool tomoyo_correct_word2(const c + if (d < '0' || d > '7' || e < '0' || e > '7') + break; + c = tomoyo_make_byte(c, d, e); +- if (tomoyo_invalid(c)) +- continue; /* pattern is not \000 */ ++ if (c <= ' ' || c >= 127) ++ continue; + } + goto out; + } else if (in_repetition && c == '/') { + goto out; +- } else if (tomoyo_invalid(c)) { ++ } else if (c <= ' ' || c >= 127) { + goto out; + } + }