--- /dev/null
+From 08613e4626c06ca408fc55071f6aedee36986a87 Mon Sep 17 00:00:00 2001
+From: David Woodhouse <dwmw2@infradead.org>
+Date: Mon, 24 Oct 2011 21:25:21 +0000
+Subject: caif: Fix BUG() with network namespaces
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: David Woodhouse <dwmw2@infradead.org>
+
+commit 08613e4626c06ca408fc55071f6aedee36986a87 upstream.
+
+The caif code will register its own pernet_operations, and then register
+a netdevice_notifier. Each time the netdevice_notifier is triggered,
+it'll do some stuff... including a lookup of its own pernet stuff with
+net_generic().
+
+If the net_generic() call ever returns NULL, the caif code will BUG().
+That doesn't seem *so* unreasonable, I suppose — it does seem like it
+should never happen.
+
+However, it *does* happen. When we clone a network namespace,
+setup_net() runs through all the pernet_operations one at a time. It
+gets to loopback before it gets to caif. And loopback_net_init()
+registers a netdevice... while caif hasn't been initialised. So the caif
+netdevice notifier triggers, and immediately goes BUG().
+
+We could imagine a complex and overengineered solution to this generic
+class of problems, but this patch takes the simple approach. It just
+makes caif_device_notify() *not* go looking for its pernet data
+structures if the device it's being notified about isn't a caif device
+in the first place.
+
+Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
+Acked-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/caif/caif_dev.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/net/caif/caif_dev.c
++++ b/net/caif/caif_dev.c
+@@ -209,8 +209,7 @@ static int caif_device_notify(struct not
+ enum cfcnfg_phy_preference pref;
+ enum cfcnfg_phy_type phy_type;
+ struct cfcnfg *cfg;
+- struct caif_device_entry_list *caifdevs =
+- caif_device_list(dev_net(dev));
++ struct caif_device_entry_list *caifdevs;
+
+ if (dev->type != ARPHRD_CAIF)
+ return 0;
+@@ -219,6 +218,8 @@ static int caif_device_notify(struct not
+ if (cfg == NULL)
+ return 0;
+
++ caifdevs = caif_device_list(dev_net(dev));
++
+ switch (what) {
+ case NETDEV_REGISTER:
+ caifd = caif_device_alloc(dev);
--- /dev/null
+From 364b936fc38dec7653c690d710e10657af235a36 Mon Sep 17 00:00:00 2001
+From: Sergei Kolzun <x0r@dv-life.ru>
+Date: Thu, 4 Aug 2011 00:25:56 -0700
+Subject: HID: ACRUX - fix enabling force feedback support
+
+From: Sergei Kolzun <x0r@dv-life.ru>
+
+commit 364b936fc38dec7653c690d710e10657af235a36 upstream.
+
+The config option needs to be a 'bool' and not a tristate, otheriwse
+force feedback support never makes it into the module.
+
+Signed-off-by: Sergei Kolzun <x0r@dv-life.ru>
+Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/hid/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/hid/Kconfig
++++ b/drivers/hid/Kconfig
+@@ -69,7 +69,7 @@ config HID_ACRUX
+ Say Y here if you want to enable support for ACRUX game controllers.
+
+ config HID_ACRUX_FF
+- tristate "ACRUX force feedback support"
++ bool "ACRUX force feedback support"
+ depends on HID_ACRUX
+ select INPUT_FF_MEMLESS
+ ---help---
--- /dev/null
+From 37252db6aa576c34fd794a5a54fb32d7a8b3a07a Mon Sep 17 00:00:00 2001
+From: Jiri Kosina <jkosina@suse.cz>
+Date: Wed, 26 Oct 2011 13:10:39 +1030
+Subject: kmod: prevent kmod_loop_msg overflow in __request_module()
+
+From: Jiri Kosina <jkosina@suse.cz>
+
+commit 37252db6aa576c34fd794a5a54fb32d7a8b3a07a upstream.
+
+Due to post-increment in condition of kmod_loop_msg in __request_module(),
+the system log can be spammed by much more than 5 instances of the 'runaway
+loop' message if the number of events triggering it makes the kmod_loop_msg
+to overflow.
+
+Fix that by making sure we never increment it past the threshold.
+
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ kernel/kmod.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/kernel/kmod.c
++++ b/kernel/kmod.c
+@@ -114,10 +114,12 @@ int __request_module(bool wait, const ch
+ atomic_inc(&kmod_concurrent);
+ if (atomic_read(&kmod_concurrent) > max_modprobes) {
+ /* We may be blaming an innocent here, but unlikely */
+- if (kmod_loop_msg++ < 5)
++ if (kmod_loop_msg < 5) {
+ printk(KERN_ERR
+ "request_module: runaway loop modprobe %s\n",
+ module_name);
++ kmod_loop_msg++;
++ }
+ atomic_dec(&kmod_concurrent);
+ return -ENOMEM;
+ }
--- /dev/null
+From ebf4127cd677e9781b450e44dfaaa1cc595efcaa Mon Sep 17 00:00:00 2001
+From: Milan Broz <mbroz@redhat.com>
+Date: Mon, 22 Aug 2011 15:51:34 +0200
+Subject: kobj_uevent: Ignore if some listeners cannot handle message
+
+From: Milan Broz <mbroz@redhat.com>
+
+commit ebf4127cd677e9781b450e44dfaaa1cc595efcaa upstream.
+
+kobject_uevent() uses a multicast socket and should ignore
+if one of listeners cannot handle messages or nobody is
+listening at all.
+
+Easily reproducible when a process in system is cloned
+with CLONE_NEWNET flag.
+
+(See also http://article.gmane.org/gmane.linux.kernel.device-mapper.dm-crypt/5256)
+
+Signed-off-by: Milan Broz <mbroz@redhat.com>
+Acked-by: Kay Sievers <kay.sievers@vrfy.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ lib/kobject_uevent.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/lib/kobject_uevent.c
++++ b/lib/kobject_uevent.c
+@@ -282,7 +282,7 @@ int kobject_uevent_env(struct kobject *k
+ kobj_bcast_filter,
+ kobj);
+ /* ENOBUFS should be handled in userspace */
+- if (retval == -ENOBUFS)
++ if (retval == -ENOBUFS || retval == -ESRCH)
+ retval = 0;
+ } else
+ retval = -ENOMEM;
--- /dev/null
+From 3236c3e1adc0c7ec83eaff1de2d06746b7c5bb28 Mon Sep 17 00:00:00 2001
+From: Jeff Layton <jlayton@redhat.com>
+Date: Tue, 11 Oct 2011 09:49:21 -0400
+Subject: nfs: don't redirty inode when ncommit == 0 in
+ nfs_commit_unstable_pages
+
+From: Jeff Layton <jlayton@redhat.com>
+
+commit 3236c3e1adc0c7ec83eaff1de2d06746b7c5bb28 upstream.
+
+commit 420e3646 allowed the kernel to reduce the number of unnecessary
+commit calls by skipping the commit when there are a large number of
+outstanding pages.
+
+However, the current test in nfs_commit_unstable_pages does not handle
+the edge condition properly. When ncommit == 0, then that means that the
+kernel doesn't need to do anything more for the inode. The current test
+though in the WB_SYNC_NONE case will return true, and the inode will end
+up being marked dirty. Once that happens the inode will never be clean
+until there's a WB_SYNC_ALL flush.
+
+Fix this by immediately returning from nfs_commit_unstable_pages when
+ncommit == 0.
+
+Mike noticed this problem initially in RHEL5 (2.6.18-based kernel) which
+has a backported version of 420e3646. The inode cache there was growing
+very large. The inode cache was unable to be shrunk since the inodes
+were all marked dirty. Calling sync() would essentially "fix" the
+problem -- the WB_SYNC_ALL flush would result in the inodes all being
+marked clean.
+
+What I'm not clear on is how big a problem this is in mainline kernels
+as the writeback code there is very different. Either way, it seems
+incorrect to re-mark the inode dirty in this case.
+
+Reported-by: Mike McLean <mikem@redhat.com>
+Signed-off-by: Jeff Layton <jlayton@redhat.com>
+Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ fs/nfs/write.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/fs/nfs/write.c
++++ b/fs/nfs/write.c
+@@ -1526,6 +1526,10 @@ static int nfs_commit_unstable_pages(str
+ int flags = FLUSH_SYNC;
+ int ret = 0;
+
++ /* no commits means nothing needs to be done */
++ if (!nfsi->ncommit)
++ return ret;
++
+ if (wbc->sync_mode == WB_SYNC_NONE) {
+ /* Don't commit yet if this is a non-blocking flush and there
+ * are a lot of outstanding writes for this mapping.
--- /dev/null
+From a7ea19926ffba86f373f6050a106cd162dbb9a78 Mon Sep 17 00:00:00 2001
+From: David Herrmann <dh.herrmann@googlemail.com>
+Date: Tue, 20 Sep 2011 09:16:12 -0700
+Subject: Platform: Fix error path in samsung-laptop init
+
+From: David Herrmann <dh.herrmann@googlemail.com>
+
+commit a7ea19926ffba86f373f6050a106cd162dbb9a78 upstream.
+
+samsung_init() should not return success if not all devices are initialized.
+Otherwise, samsung_exit() will dereference sdev NULL pointers and others.
+
+Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Matthew Garrett <mjg@redhat.com>
+
+---
+ drivers/platform/x86/samsung-laptop.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/drivers/platform/x86/samsung-laptop.c
++++ b/drivers/platform/x86/samsung-laptop.c
+@@ -789,7 +789,7 @@ static int __init samsung_init(void)
+ sabi_iface = ioremap_nocache(ifaceP, 16);
+ if (!sabi_iface) {
+ pr_err("Can't remap %x\n", ifaceP);
+- goto exit;
++ goto error_no_signature;
+ }
+ if (debug) {
+ printk(KERN_DEBUG "ifaceP = 0x%08x\n", ifaceP);
+@@ -841,7 +841,6 @@ static int __init samsung_init(void)
+ if (retval)
+ goto error_file_create;
+
+-exit:
+ return 0;
+
+ error_file_create:
--- /dev/null
+From f87d02996f05ec1789ceecce9ec839f629b7aa80 Mon Sep 17 00:00:00 2001
+From: Stefan Beller <stefanbeller@googlemail.com>
+Date: Tue, 20 Sep 2011 09:16:08 -0700
+Subject: platform: samsung_laptop: add dmi information for Samsung
+ R700 laptops
+
+From: Stefan Beller <stefanbeller@googlemail.com>
+
+commit f87d02996f05ec1789ceecce9ec839f629b7aa80 upstream.
+
+My DMI model is this:
+>dmesg |grep DMI
+[ 0.000000] DMI present.
+[ 0.000000] DMI: SAMSUNG ELECTRONICS CO., LTD. SR700/SR700, BIOS
+04SR 02/20/2008
+
+adding dmi information of Samsung R700 laptops
+This adds the dmi information of Samsungs R700 laptops.
+
+Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Matthew Garrett <mjg@redhat.com>
+
+---
+ drivers/platform/x86/samsung-laptop.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/drivers/platform/x86/samsung-laptop.c
++++ b/drivers/platform/x86/samsung-laptop.c
+@@ -631,6 +631,15 @@ static struct dmi_system_id __initdata s
+ .callback = dmi_check_cb,
+ },
+ {
++ .ident = "R700",
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
++ DMI_MATCH(DMI_PRODUCT_NAME, "SR700"),
++ DMI_MATCH(DMI_BOARD_NAME, "SR700"),
++ },
++ .callback = dmi_check_cb,
++ },
++ {
+ .ident = "R530/R730",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
--- /dev/null
+From 7500eeb08a179e61a4219288c21407d63d1e9c64 Mon Sep 17 00:00:00 2001
+From: Tommaso Massimi <tmassimi@gmail.com>
+Date: Tue, 20 Sep 2011 09:16:09 -0700
+Subject: Platform: samsung_laptop: add support for X520 machines.
+
+From: Tommaso Massimi <tmassimi@gmail.com>
+
+commit 7500eeb08a179e61a4219288c21407d63d1e9c64 upstream.
+
+my samsung laptop would be very happy if you add
+these lines to the file drivers/platform/x86/samsung-laptop.c
+
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Matthew Garrett <mjg@redhat.com>
+
+---
+ drivers/platform/x86/samsung-laptop.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/drivers/platform/x86/samsung-laptop.c
++++ b/drivers/platform/x86/samsung-laptop.c
+@@ -685,6 +685,15 @@ static struct dmi_system_id __initdata s
+ },
+ .callback = dmi_check_cb,
+ },
++ {
++ .ident = "X520",
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
++ DMI_MATCH(DMI_PRODUCT_NAME, "X520"),
++ DMI_MATCH(DMI_BOARD_NAME, "X520"),
++ },
++ .callback = dmi_check_cb,
++ },
+ { },
+ };
+ MODULE_DEVICE_TABLE(dmi, samsung_dmi_table);
--- /dev/null
+From bee460be8c691c544e84ed678280ace6153104c6 Mon Sep 17 00:00:00 2001
+From: Jason Stubbs <jasonbstubbs@gmail.com>
+Date: Tue, 20 Sep 2011 09:16:11 -0700
+Subject: platform: samsung_laptop: fix samsung brightness min/max
+ calculations
+
+From: Jason Stubbs <jasonbstubbs@gmail.com>
+
+commit bee460be8c691c544e84ed678280ace6153104c6 upstream.
+
+The min_brightness value of the sabi_config is incorrectly used in brightness
+calculations. For the config where min_brightness = 1 and max_brightness = 8,
+the user visible range should be 0 to 7 with hardware being set in the range
+of 1 to 8. What is actually happening is that the user visible range is 0 to
+8 with hardware being set in the range of -1 to 7.
+
+This patch fixes the above issue as well as a miscalculation that would occur
+in the case of min_brightness > 1.
+
+Signed-off-by: Jason Stubbs <jasonbstubbs@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Matthew Garrett <mjg@redhat.com>
+
+---
+ drivers/platform/x86/samsung-laptop.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+--- a/drivers/platform/x86/samsung-laptop.c
++++ b/drivers/platform/x86/samsung-laptop.c
+@@ -370,15 +370,17 @@ static u8 read_brightness(void)
+ &sretval);
+ if (!retval) {
+ user_brightness = sretval.retval[0];
+- if (user_brightness != 0)
++ if (user_brightness > sabi_config->min_brightness)
+ user_brightness -= sabi_config->min_brightness;
++ else
++ user_brightness = 0;
+ }
+ return user_brightness;
+ }
+
+ static void set_brightness(u8 user_brightness)
+ {
+- u8 user_level = user_brightness - sabi_config->min_brightness;
++ u8 user_level = user_brightness + sabi_config->min_brightness;
+
+ sabi_set_command(sabi_config->commands.set_brightness, user_level);
+ }
+@@ -819,7 +821,8 @@ static int __init samsung_init(void)
+ /* create a backlight device to talk to this one */
+ memset(&props, 0, sizeof(struct backlight_properties));
+ props.type = BACKLIGHT_PLATFORM;
+- props.max_brightness = sabi_config->max_brightness;
++ props.max_brightness = sabi_config->max_brightness -
++ sabi_config->min_brightness;
+ backlight_device = backlight_device_register("samsung", &sdev->dev,
+ NULL, &backlight_ops,
+ &props);
--- /dev/null
+From 093ed561648d43263c009ea88abab21a31cd4f1d Mon Sep 17 00:00:00 2001
+From: Smelov Andrey <xor29a@bk.ru>
+Date: Tue, 20 Sep 2011 09:16:10 -0700
+Subject: Platform: samsung_laptop: samsung backlight for R528/R728
+
+From: Smelov Andrey <xor29a@bk.ru>
+
+commit 093ed561648d43263c009ea88abab21a31cd4f1d upstream.
+
+patch works for me, but I need to add "acpi_backlight=vendor" to kernel
+params
+
+Signed-off-by: Smelov Andrey <xor29a@bk.ru>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Matthew Garrett <mjg@redhat.com>
+
+---
+ drivers/platform/x86/samsung-laptop.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/drivers/platform/x86/samsung-laptop.c
++++ b/drivers/platform/x86/samsung-laptop.c
+@@ -694,6 +694,15 @@ static struct dmi_system_id __initdata s
+ },
+ .callback = dmi_check_cb,
+ },
++ {
++ .ident = "R528/R728",
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
++ DMI_MATCH(DMI_PRODUCT_NAME, "R528/R728"),
++ DMI_MATCH(DMI_BOARD_NAME, "R528/R728"),
++ },
++ .callback = dmi_check_cb,
++ },
+ { },
+ };
+ MODULE_DEVICE_TABLE(dmi, samsung_dmi_table);
--- /dev/null
+From 273d23574f9dacd9c63c80e7d63639a669aad441 Mon Sep 17 00:00:00 2001
+From: Jerry Huang <r66093@freescale.com>
+Date: Tue, 18 Oct 2011 13:09:48 +0800
+Subject: QE/FHCI: fixed the CONTROL bug
+
+From: Jerry Huang <r66093@freescale.com>
+
+commit 273d23574f9dacd9c63c80e7d63639a669aad441 upstream.
+
+For USB CONTROL transaction, when the data length is zero,
+the IN package is needed to finish this transaction in status stage.
+
+Signed-off-by: Jerry Huang <r66093@freescale.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/fhci-sched.c | 19 +++++++++++++++----
+ 1 file changed, 15 insertions(+), 4 deletions(-)
+
+--- a/drivers/usb/host/fhci-sched.c
++++ b/drivers/usb/host/fhci-sched.c
+@@ -1,7 +1,7 @@
+ /*
+ * Freescale QUICC Engine USB Host Controller Driver
+ *
+- * Copyright (c) Freescale Semicondutor, Inc. 2006.
++ * Copyright (c) Freescale Semicondutor, Inc. 2006, 2011.
+ * Shlomi Gridish <gridish@freescale.com>
+ * Jerry Huang <Chang-Ming.Huang@freescale.com>
+ * Copyright (c) Logic Product Development, Inc. 2007
+@@ -810,9 +810,11 @@ void fhci_queue_urb(struct fhci_hcd *fhc
+ ed->dev_addr = usb_pipedevice(urb->pipe);
+ ed->max_pkt_size = usb_maxpacket(urb->dev, urb->pipe,
+ usb_pipeout(urb->pipe));
++ /* setup stage */
+ td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, FHCI_TA_SETUP,
+ USB_TD_TOGGLE_DATA0, urb->setup_packet, 8, 0, 0, true);
+
++ /* data stage */
+ if (data_len > 0) {
+ td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++,
+ usb_pipeout(urb->pipe) ? FHCI_TA_OUT :
+@@ -820,9 +822,18 @@ void fhci_queue_urb(struct fhci_hcd *fhc
+ USB_TD_TOGGLE_DATA1, data, data_len, 0, 0,
+ true);
+ }
+- td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++,
+- usb_pipeout(urb->pipe) ? FHCI_TA_IN : FHCI_TA_OUT,
+- USB_TD_TOGGLE_DATA1, data, 0, 0, 0, true);
++
++ /* status stage */
++ if (data_len > 0)
++ td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++,
++ (usb_pipeout(urb->pipe) ? FHCI_TA_IN :
++ FHCI_TA_OUT),
++ USB_TD_TOGGLE_DATA1, data, 0, 0, 0, true);
++ else
++ td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++,
++ FHCI_TA_IN,
++ USB_TD_TOGGLE_DATA1, data, 0, 0, 0, true);
++
+ urb_state = US_CTRL_SETUP;
+ break;
+ case FHCI_TF_ISO:
--- /dev/null
+From 59b7c05fffba030e5d9e72324691e2f99aa69b79 Mon Sep 17 00:00:00 2001
+From: Trond Myklebust <Trond.Myklebust@netapp.com>
+Date: Mon, 17 Oct 2011 18:22:55 -0700
+Subject: Revert "NFS: Ensure that writeback_single_inode() calls write_inode() when syncing"
+
+From: Trond Myklebust <Trond.Myklebust@netapp.com>
+
+commit 59b7c05fffba030e5d9e72324691e2f99aa69b79 upstream.
+
+This reverts commit b80c3cb628f0ebc241b02e38dd028969fb8026a2.
+
+The reverted commit was rendered obsolete by a VFS fix: commit
+5547e8aac6f71505d621a612de2fca0dd988b439 (writeback: Update dirty flags in
+two steps). We now no longer need to worry about writeback_single_inode()
+missing our marking the inode for COMMIT in 'do_writepages()' call.
+
+Reverting this patch, fixes a performance regression in which the inode
+would continuously get queued to the dirty list, causing the writeback
+code to unnecessarily try to send a COMMIT.
+
+Signed-off-by: Trond Myklebust <Trond.Myklebust>
+Tested-by: Simon Kirby <sim@hostway.ca>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ fs/nfs/write.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/fs/nfs/write.c
++++ b/fs/nfs/write.c
+@@ -428,7 +428,6 @@ static void
+ nfs_mark_request_dirty(struct nfs_page *req)
+ {
+ __set_page_dirty_nobuffers(req->wb_page);
+- __mark_inode_dirty(req->wb_page->mapping->host, I_DIRTY_DATASYNC);
+ }
+
+ #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4)
+@@ -762,6 +761,8 @@ int nfs_updatepage(struct file *file, st
+ status = nfs_writepage_setup(ctx, page, offset, count);
+ if (status < 0)
+ nfs_set_pageerror(page);
++ else
++ __set_page_dirty_nobuffers(page);
+
+ dprintk("NFS: nfs_updatepage returns %d (isize %lld)\n",
+ status, (long long)i_size_read(inode));
ath9k_htc-add-avm-fritz-wlan-11n-v2-support.patch
ath9k_hw-fix-number-of-gpio-pins-for-ar9287-9300.patch
ath9k-disable-unnecessary-phy-error-reporting.patch
+hid-acrux-fix-enabling-force-feedback-support.patch
+qe-fhci-fixed-the-control-bug.patch
+update-email-address-for-stable-patch-submission.patch
+xen-pcifront-update-warning-comment-to-use-e820_host.patch
+xen-swiotlb-fix-wrong-panic.patch
+kobj_uevent-ignore-if-some-listeners-cannot-handle-message.patch
+caif-fix-bug-with-network-namespaces.patch
+platform-samsung_laptop-add-dmi-information-for-samsung.patch
+platform-samsung_laptop-add-support-for-x520-machines.patch
+platform-samsung_laptop-samsung-backlight-for-r528-r728.patch
+platform-samsung_laptop-fix-samsung-brightness-min-max.patch
+platform-fix-error-path-in-samsung-laptop-init.patch
+kmod-prevent-kmod_loop_msg-overflow-in-__request_module.patch
+revert-nfs-ensure-that-writeback_single_inode-calls-write_inode-when-syncing.patch
+nfs-don-t-redirty-inode-when-ncommit-0-in.patch
--- /dev/null
+From 5fa224295f0e0358c8bc0e5390702338df889def Mon Sep 17 00:00:00 2001
+From: Josh Boyer <jwboyer@redhat.com>
+Date: Mon, 17 Oct 2011 21:16:39 -0400
+Subject: Update email address for stable patch submission
+
+From: Josh Boyer <jwboyer@redhat.com>
+
+commit 5fa224295f0e0358c8bc0e5390702338df889def upstream.
+
+The stable@kernel.org email address has been replaced with the
+stable@vger.kernel.org mailing list. Change the stable kernel rules to
+reference the new list instead of the semi-defunct email alias.
+
+Signed-off-by: Josh Boyer <jwboyer@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ Documentation/stable_kernel_rules.txt | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+--- a/Documentation/stable_kernel_rules.txt
++++ b/Documentation/stable_kernel_rules.txt
+@@ -24,10 +24,10 @@ Rules on what kind of patches are accept
+ Procedure for submitting patches to the -stable tree:
+
+ - Send the patch, after verifying that it follows the above rules, to
+- stable@kernel.org. You must note the upstream commit ID in the changelog
+- of your submission.
++ stable@vger.kernel.org. You must note the upstream commit ID in the
++ changelog of your submission.
+ - To have the patch automatically included in the stable tree, add the tag
+- Cc: stable@kernel.org
++ Cc: stable@vger.kernel.org
+ in the sign-off area. Once the patch is merged it will be applied to
+ the stable tree without anything else needing to be done by the author
+ or subsystem maintainer.
+@@ -35,10 +35,10 @@ Procedure for submitting patches to the
+ cherry-picked than this can be specified in the following format in
+ the sign-off area:
+
+- Cc: <stable@kernel.org> # .32.x: a1f84a3: sched: Check for idle
+- Cc: <stable@kernel.org> # .32.x: 1b9508f: sched: Rate-limit newidle
+- Cc: <stable@kernel.org> # .32.x: fd21073: sched: Fix affinity logic
+- Cc: <stable@kernel.org> # .32.x
++ Cc: <stable@vger.kernel.org> # .32.x: a1f84a3: sched: Check for idle
++ Cc: <stable@vger.kernel.org> # .32.x: 1b9508f: sched: Rate-limit newidle
++ Cc: <stable@vger.kernel.org> # .32.x: fd21073: sched: Fix affinity logic
++ Cc: <stable@vger.kernel.org> # .32.x
+ Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+ The tag sequence has the meaning of:
--- /dev/null
+From 917e3e65c35459d52f0d0b890aa5df0cad07a051 Mon Sep 17 00:00:00 2001
+From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+Date: Fri, 22 Jul 2011 12:18:43 -0400
+Subject: xen-pcifront: Update warning comment to use 'e820_host'
+ option.
+
+From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+
+commit 917e3e65c35459d52f0d0b890aa5df0cad07a051 upstream.
+
+With Xen changeset 23428 "libxl: Add 'e820_host' option to config file"
+the E820 as seen from the host can now be passed into the guest.
+This means that a PV guest can now:
+ - Use the correct PCI I/O gap. Before these patches, Linux guest would
+ boot up and would tell:
+ [ 0.000000] Allocating PCI resources starting at 40000000 (gap: 40000000:c0000000)
+ while in actuality the PCI I/O gap should have been:
+ [ 0.000000] Allocating PCI resources starting at b0000000 (gap: b0000000:4c000000)
+
+ - The PV domain with PCI devices was limited to 3GB. It now can be booted
+ with 4GB, 8GB, or whatever number you want. The PCI devices will now _not_ conflict
+ with System RAM. Meaning the drivers can load.
+
+CC: Jesse Barnes <jbarnes@virtuousgeek.org>
+CC: linux-pci@vger.kernel.org
+[v2: Made the string less broken up. Suggested by Joe Perches]
+Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/pci/xen-pcifront.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+--- a/drivers/pci/xen-pcifront.c
++++ b/drivers/pci/xen-pcifront.c
+@@ -400,9 +400,8 @@ static int pcifront_claim_resource(struc
+ dev_info(&pdev->xdev->dev, "claiming resource %s/%d\n",
+ pci_name(dev), i);
+ if (pci_claim_resource(dev, i)) {
+- dev_err(&pdev->xdev->dev, "Could not claim "
+- "resource %s/%d! Device offline. Try "
+- "giving less than 4GB to domain.\n",
++ dev_err(&pdev->xdev->dev, "Could not claim resource %s/%d! "
++ "Device offline. Try using e820_host=1 in the guest config.\n",
+ pci_name(dev), i);
+ }
+ }
--- /dev/null
+From ab2a47bd242d6cdcf6b2b64797f271c6f0a6d338 Mon Sep 17 00:00:00 2001
+From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+Date: Fri, 22 Jul 2011 12:51:48 -0400
+Subject: xen-swiotlb: Fix wrong panic.
+
+From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+
+commit ab2a47bd242d6cdcf6b2b64797f271c6f0a6d338 upstream.
+
+Propagate the baremetal git commit "swiotlb: fix wrong panic"
+(fba99fa38b023224680308a482e12a0eca87e4e1) in the Xen-SWIOTLB version.
+wherein swiotlb's map_page wrongly calls panic() when it can't find
+a buffer fit for device's dma mask. It should return an error instead.
+
+Devices with an odd dma mask (i.e. under 4G) like b44 network card hit
+this bug (the system crashes):
+
+http://marc.info/?l=linux-kernel&m=129648943830106&w=2
+
+If xen-swiotlb returns an error, b44 driver can use the own bouncing
+mechanism.
+
+Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/xen/swiotlb-xen.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/drivers/xen/swiotlb-xen.c
++++ b/drivers/xen/swiotlb-xen.c
+@@ -278,9 +278,10 @@ dma_addr_t xen_swiotlb_map_page(struct d
+ /*
+ * Ensure that the address returned is DMA'ble
+ */
+- if (!dma_capable(dev, dev_addr, size))
+- panic("map_single: bounce buffer is not DMA'ble");
+-
++ if (!dma_capable(dev, dev_addr, size)) {
++ swiotlb_tbl_unmap_single(dev, map, size, dir);
++ dev_addr = 0;
++ }
+ return dev_addr;
+ }
+ EXPORT_SYMBOL_GPL(xen_swiotlb_map_page);