--- /dev/null
+From ffe535edb9a9c5b4d5fe03dfa3d89a1495580f1b Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Mon, 16 Jan 2012 10:52:20 +0100
+Subject: ALSA: HDA: Fix internal microphone on Dell Studio 16 XPS 1645
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+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 <martin-launchpad@earth.li>
+BugLink: https://bugs.launchpad.net/bugs/795823
+Signed-off-by: David Henningsson <david.henningsson@canonical.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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 */
--- /dev/null
+From b01de4fb40137fbda7530550ff0cd37171dafb0c Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Thu, 12 Jan 2012 16:31:14 +0100
+Subject: ALSA: HDA: Use LPIB position fix for Macbook Pro 7,1
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+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 <david.henningsson@canonical.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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),
--- /dev/null
+From f0e48b6bd4e407459715240cd241ddb6b89bdf81 Mon Sep 17 00:00:00 2001
+From: Clemens Ladisch <clemens@ladisch.de>
+Date: Sat, 14 Jan 2012 16:42:24 +0100
+Subject: ALSA: virtuoso: Xonar DS: fix polarity of front output
+
+From: Clemens Ladisch <clemens@ladisch.de>
+
+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 <daniel@enemyplanet.geek.nz>
+Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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);
--- /dev/null
+From 5c2a9f06a9cd7194f884cdc88144866235dec07d Mon Sep 17 00:00:00 2001
+From: Thomas Renninger <trenn@suse.de>
+Date: Sun, 4 Dec 2011 22:17:29 +0100
+Subject: intel idle: Make idle driver more robust
+
+From: Thomas Renninger <trenn@suse.de>
+
+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][<ffffffff8143cf34>] ? cpuidle_idle_call+0xb4/0x340
+[0.984807][<ffffffff8159e7bc>] ? __atomic_notifier_call_chain+0x4c/0x70
+[0.984807][<ffffffff81001198>] ? cpu_idle+0x78/0xd0
+
+Reference:
+https://bugzilla.novell.com/show_bug.cgi?id=726296
+
+Signed-off-by: Thomas Renninger <trenn@suse.de>
+CC: Bruno Friedmann <bruno@ioda-net.ch>
+Signed-off-by: Len Brown <len.brown@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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);
--- /dev/null
+From 39a74fdedd1c1461d6fb6d330b5266886513c98f Mon Sep 17 00:00:00 2001
+From: Shaohua Li <shaohua.li@intel.com>
+Date: Tue, 10 Jan 2012 15:48:19 -0800
+Subject: intel_idle: fix API misuse
+
+From: Shaohua Li <shaohua.li@intel.com>
+
+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 <shaohua.li@intel.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Len Brown <len.brown@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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);
+ }
+
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
--- /dev/null
+From 25add8cf99c9ec8b8dc0acd8b9241e963fc0d29c Mon Sep 17 00:00:00 2001
+From: Tetsuo Handa <from-tomoyo-users-en@I-love.SAKURA.ne.jp>
+Date: Sun, 15 Jan 2012 11:05:59 +0900
+Subject: TOMOYO: Accept \000 as a valid character.
+
+From: Tetsuo Handa <from-tomoyo-users-en@I-love.SAKURA.ne.jp>
+
+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 <steven@stebalien.com>
+Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
+Signed-off-by: James Morris <jmorris@namei.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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;
+ }
+ }