--- /dev/null
+From 38c07641905c0db58e800ea974cd9158717c6610 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Thu, 3 Mar 2011 14:54:19 +0100
+Subject: ALSA: hda - Don't set to D3 in Cirrus errata init verbs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 38c07641905c0db58e800ea974cd9158717c6610 upstream.
+
+The errata init verbs for CS42xx codecs contain the verbs to set
+the power-state of SPDIF nodes to D3, which seem to break the SPDIF
+output on some MacBooks. Since this is executed during the power-up
+initialization, we shouldn't turn them down there.
+
+Reported-by: Arun Raghavan <arun.raghavan@collabora.co.uk>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/pci/hda/patch_cirrus.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/sound/pci/hda/patch_cirrus.c
++++ b/sound/pci/hda/patch_cirrus.c
+@@ -1039,9 +1039,11 @@ static struct hda_verb cs_errata_init_ve
+ {0x11, AC_VERB_SET_PROC_COEF, 0x0008},
+ {0x11, AC_VERB_SET_PROC_STATE, 0x00},
+
++#if 0 /* Don't to set to D3 as we are in power-up sequence */
+ {0x07, AC_VERB_SET_POWER_STATE, 0x03}, /* S/PDIF Rx: D3 */
+ {0x08, AC_VERB_SET_POWER_STATE, 0x03}, /* S/PDIF Tx: D3 */
+ /*{0x01, AC_VERB_SET_POWER_STATE, 0x03},*/ /* AFG: D3 This is already handled */
++#endif
+
+ {} /* terminator */
+ };
--- /dev/null
+From f0ce27996217d06207c8bfda1b1bbec2fbab48c6 Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Mon, 28 Feb 2011 15:58:07 +0100
+Subject: ALSA: HDA: Realtek: Fixup jack detection to input subsystem
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+commit f0ce27996217d06207c8bfda1b1bbec2fbab48c6 upstream.
+
+This patch fixes an error in the jack detection reporting,
+causing the jack detection sometimes not to be reported
+correctly to the input subsystem. It should apply to several
+Realtek codecs.
+
+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_realtek.c | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -1127,11 +1127,8 @@ static void alc_automute_speaker(struct
+ nid = spec->autocfg.hp_pins[i];
+ if (!nid)
+ break;
+- if (snd_hda_jack_detect(codec, nid)) {
+- spec->jack_present = 1;
+- break;
+- }
+- alc_report_jack(codec, spec->autocfg.hp_pins[i]);
++ alc_report_jack(codec, nid);
++ spec->jack_present |= snd_hda_jack_detect(codec, nid);
+ }
+
+ mute = spec->jack_present ? HDA_AMP_MUTE : 0;
--- /dev/null
+From 3ee845acba58549578d03a46ed307c0a56c7f777 Mon Sep 17 00:00:00 2001
+From: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Date: Tue, 1 Mar 2011 20:05:23 +0000
+Subject: ASoC: Fix WM9081 platform data initialisation
+
+From: Mark Brown <broonie@opensource.wolfsonmicro.com>
+
+commit 3ee845acba58549578d03a46ed307c0a56c7f777 upstream.
+
+It went AWOL in the multi-component conversion.
+
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/soc/codecs/wm9081.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/sound/soc/codecs/wm9081.c
++++ b/sound/soc/codecs/wm9081.c
+@@ -15,6 +15,7 @@
+ #include <linux/moduleparam.h>
+ #include <linux/init.h>
+ #include <linux/delay.h>
++#include <linux/device.h>
+ #include <linux/pm.h>
+ #include <linux/i2c.h>
+ #include <linux/platform_device.h>
+@@ -1338,6 +1339,10 @@ static __devinit int wm9081_i2c_probe(st
+ wm9081->control_type = SND_SOC_I2C;
+ wm9081->control_data = i2c;
+
++ if (dev_get_platdata(&i2c->dev))
++ memcpy(&wm9081->retune, dev_get_platdata(&i2c->dev),
++ sizeof(wm9081->retune));
++
+ ret = snd_soc_register_codec(&i2c->dev,
+ &soc_codec_dev_wm9081, &wm9081_dai, 1);
+ if (ret < 0)
--- /dev/null
+From b75f38d659e6fc747eda64cb72f3920e29dd44a4 Mon Sep 17 00:00:00 2001
+From: Li Zefan <lizf@cn.fujitsu.com>
+Date: Fri, 4 Mar 2011 17:36:21 -0800
+Subject: cpuset: add a missing unlock in cpuset_write_resmask()
+
+From: Li Zefan <lizf@cn.fujitsu.com>
+
+commit b75f38d659e6fc747eda64cb72f3920e29dd44a4 upstream.
+
+Don't forget to release cgroup_mutex if alloc_trial_cpuset() fails.
+
+[akpm@linux-foundation.org: avoid multiple return points]
+Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
+Cc: Paul Menage <menage@google.com>
+Acked-by: David Rientjes <rientjes@google.com>
+Cc: Miao Xie <miaox@cn.fujitsu.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ kernel/cpuset.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/kernel/cpuset.c
++++ b/kernel/cpuset.c
+@@ -1575,8 +1575,10 @@ static int cpuset_write_resmask(struct c
+ return -ENODEV;
+
+ trialcs = alloc_trial_cpuset(cs);
+- if (!trialcs)
+- return -ENOMEM;
++ if (!trialcs) {
++ retval = -ENOMEM;
++ goto out;
++ }
+
+ switch (cft->private) {
+ case FILE_CPULIST:
+@@ -1591,6 +1593,7 @@ static int cpuset_write_resmask(struct c
+ }
+
+ free_trial_cpuset(trialcs);
++out:
+ cgroup_unlock();
+ return retval;
+ }
--- /dev/null
+From 97e419a082461f8a3a0818834eb88ad41219a1da Mon Sep 17 00:00:00 2001
+From: Axel Lin <axel.lin@gmail.com>
+Date: Fri, 4 Mar 2011 17:36:22 -0800
+Subject: drivers/misc/bmp085.c: add MODULE_DEVICE_TABLE
+
+From: Axel Lin <axel.lin@gmail.com>
+
+commit 97e419a082461f8a3a0818834eb88ad41219a1da upstream.
+
+The device table is required to load modules based on modaliases.
+
+Signed-off-by: Axel Lin <axel.lin@gmail.com>
+Cc: Shubhrajyoti D <shubhrajyoti@ti.com>
+Cc: Christoph Mair <christoph.mair@gmail.com>
+Cc: Jonathan Cameron <jic23@cam.ac.uk>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/misc/bmp085.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/misc/bmp085.c
++++ b/drivers/misc/bmp085.c
+@@ -449,6 +449,7 @@ static const struct i2c_device_id bmp085
+ { "bmp085", 0 },
+ { }
+ };
++MODULE_DEVICE_TABLE(i2c, bmp085_id);
+
+ static struct i2c_driver bmp085_driver = {
+ .driver = {
--- /dev/null
+From b652277b09d3d030cb074cc6a98ba80b34244c03 Mon Sep 17 00:00:00 2001
+From: Dan Carpenter <error27@gmail.com>
+Date: Thu, 3 Mar 2011 17:56:06 +0100
+Subject: [S390] keyboard: integer underflow bug
+
+From: Dan Carpenter <error27@gmail.com>
+
+commit b652277b09d3d030cb074cc6a98ba80b34244c03 upstream.
+
+The "ct" variable should be an unsigned int. Both struct kbdiacrs
+->kb_cnt and struct kbd_data ->accent_table_size are unsigned ints.
+
+Making it signed causes a problem in KBDIACRUC because the user could
+set the signed bit and cause a buffer overflow.
+
+Signed-off-by: Dan Carpenter <error27@gmail.com>
+Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/s390/char/keyboard.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/s390/char/keyboard.c
++++ b/drivers/s390/char/keyboard.c
+@@ -460,7 +460,8 @@ kbd_ioctl(struct kbd_data *kbd, struct f
+ unsigned int cmd, unsigned long arg)
+ {
+ void __user *argp;
+- int ct, perm;
++ unsigned int ct;
++ int perm;
+
+ argp = (void __user *)arg;
+
--- /dev/null
+From d7a62cd0332115d4c7c4689abea0d889a30d8349 Mon Sep 17 00:00:00 2001
+From: Amit Shah <amit.shah@redhat.com>
+Date: Fri, 4 Mar 2011 14:04:33 +1030
+Subject: virtio: console: Don't access vqs if device was unplugged
+
+From: Amit Shah <amit.shah@redhat.com>
+
+commit d7a62cd0332115d4c7c4689abea0d889a30d8349 upstream.
+
+If a virtio-console device gets unplugged while a port is open, a
+subsequent close() call on the port accesses vqs to free up buffers.
+This can lead to a crash.
+
+The buffers are already freed up as a result of the call to
+unplug_ports() from virtcons_remove(). The fix is to simply not access
+vq information if port->portdev is NULL.
+
+Reported-by: juzhang <juzhang@redhat.com>
+Signed-off-by: Amit Shah <amit.shah@redhat.com>
+Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/char/virtio_console.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/char/virtio_console.c
++++ b/drivers/char/virtio_console.c
+@@ -387,6 +387,10 @@ static void discard_port_data(struct por
+ unsigned int len;
+ int ret;
+
++ if (!port->portdev) {
++ /* Device has been unplugged. vqs are already gone. */
++ return;
++ }
+ vq = port->in_vq;
+ if (port->inbuf)
+ buf = port->inbuf;
+@@ -469,6 +473,10 @@ static void reclaim_consumed_buffers(str
+ void *buf;
+ unsigned int len;
+
++ if (!port->portdev) {
++ /* Device has been unplugged. vqs are already gone. */
++ return;
++ }
+ while ((buf = virtqueue_get_buf(port->out_vq, &len))) {
+ kfree(buf);
+ port->outvq_full = false;