]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Tue, 1 Nov 2011 22:31:00 +0000 (15:31 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 1 Nov 2011 22:31:00 +0000 (15:31 -0700)
16 files changed:
queue-3.0/caif-fix-bug-with-network-namespaces.patch [new file with mode: 0644]
queue-3.0/hid-acrux-fix-enabling-force-feedback-support.patch [new file with mode: 0644]
queue-3.0/kmod-prevent-kmod_loop_msg-overflow-in-__request_module.patch [new file with mode: 0644]
queue-3.0/kobj_uevent-ignore-if-some-listeners-cannot-handle-message.patch [new file with mode: 0644]
queue-3.0/nfs-don-t-redirty-inode-when-ncommit-0-in.patch [new file with mode: 0644]
queue-3.0/platform-fix-error-path-in-samsung-laptop-init.patch [new file with mode: 0644]
queue-3.0/platform-samsung_laptop-add-dmi-information-for-samsung.patch [new file with mode: 0644]
queue-3.0/platform-samsung_laptop-add-support-for-x520-machines.patch [new file with mode: 0644]
queue-3.0/platform-samsung_laptop-fix-samsung-brightness-min-max.patch [new file with mode: 0644]
queue-3.0/platform-samsung_laptop-samsung-backlight-for-r528-r728.patch [new file with mode: 0644]
queue-3.0/qe-fhci-fixed-the-control-bug.patch [new file with mode: 0644]
queue-3.0/revert-nfs-ensure-that-writeback_single_inode-calls-write_inode-when-syncing.patch [new file with mode: 0644]
queue-3.0/series
queue-3.0/update-email-address-for-stable-patch-submission.patch [new file with mode: 0644]
queue-3.0/xen-pcifront-update-warning-comment-to-use-e820_host.patch [new file with mode: 0644]
queue-3.0/xen-swiotlb-fix-wrong-panic.patch [new file with mode: 0644]

diff --git a/queue-3.0/caif-fix-bug-with-network-namespaces.patch b/queue-3.0/caif-fix-bug-with-network-namespaces.patch
new file mode 100644 (file)
index 0000000..4233074
--- /dev/null
@@ -0,0 +1,63 @@
+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);
diff --git a/queue-3.0/hid-acrux-fix-enabling-force-feedback-support.patch b/queue-3.0/hid-acrux-fix-enabling-force-feedback-support.patch
new file mode 100644 (file)
index 0000000..a171c41
--- /dev/null
@@ -0,0 +1,32 @@
+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---
diff --git a/queue-3.0/kmod-prevent-kmod_loop_msg-overflow-in-__request_module.patch b/queue-3.0/kmod-prevent-kmod_loop_msg-overflow-in-__request_module.patch
new file mode 100644 (file)
index 0000000..00788c2
--- /dev/null
@@ -0,0 +1,40 @@
+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;
+       }
diff --git a/queue-3.0/kobj_uevent-ignore-if-some-listeners-cannot-handle-message.patch b/queue-3.0/kobj_uevent-ignore-if-some-listeners-cannot-handle-message.patch
new file mode 100644 (file)
index 0000000..4381365
--- /dev/null
@@ -0,0 +1,37 @@
+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;
diff --git a/queue-3.0/nfs-don-t-redirty-inode-when-ncommit-0-in.patch b/queue-3.0/nfs-don-t-redirty-inode-when-ncommit-0-in.patch
new file mode 100644 (file)
index 0000000..70a55ed
--- /dev/null
@@ -0,0 +1,57 @@
+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.
diff --git a/queue-3.0/platform-fix-error-path-in-samsung-laptop-init.patch b/queue-3.0/platform-fix-error-path-in-samsung-laptop-init.patch
new file mode 100644 (file)
index 0000000..402eb0f
--- /dev/null
@@ -0,0 +1,39 @@
+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:
diff --git a/queue-3.0/platform-samsung_laptop-add-dmi-information-for-samsung.patch b/queue-3.0/platform-samsung_laptop-add-dmi-information-for-samsung.patch
new file mode 100644 (file)
index 0000000..aa12c3d
--- /dev/null
@@ -0,0 +1,45 @@
+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."),
diff --git a/queue-3.0/platform-samsung_laptop-add-support-for-x520-machines.patch b/queue-3.0/platform-samsung_laptop-add-support-for-x520-machines.patch
new file mode 100644 (file)
index 0000000..1459491
--- /dev/null
@@ -0,0 +1,37 @@
+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);
diff --git a/queue-3.0/platform-samsung_laptop-fix-samsung-brightness-min-max.patch b/queue-3.0/platform-samsung_laptop-fix-samsung-brightness-min-max.patch
new file mode 100644 (file)
index 0000000..678d104
--- /dev/null
@@ -0,0 +1,59 @@
+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);
diff --git a/queue-3.0/platform-samsung_laptop-samsung-backlight-for-r528-r728.patch b/queue-3.0/platform-samsung_laptop-samsung-backlight-for-r528-r728.patch
new file mode 100644 (file)
index 0000000..bcc692b
--- /dev/null
@@ -0,0 +1,38 @@
+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);
diff --git a/queue-3.0/qe-fhci-fixed-the-control-bug.patch b/queue-3.0/qe-fhci-fixed-the-control-bug.patch
new file mode 100644 (file)
index 0000000..3d61dd2
--- /dev/null
@@ -0,0 +1,64 @@
+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:
diff --git a/queue-3.0/revert-nfs-ensure-that-writeback_single_inode-calls-write_inode-when-syncing.patch b/queue-3.0/revert-nfs-ensure-that-writeback_single_inode-calls-write_inode-when-syncing.patch
new file mode 100644 (file)
index 0000000..c9a4400
--- /dev/null
@@ -0,0 +1,47 @@
+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));
index a2316ebf452f726314b01091d2bc58d0f3c28c12..1ee76d79f1d5f39bed85ac969dd6777418684690 100644 (file)
@@ -60,3 +60,18 @@ ath9k_hw-fix-magnitude-phase-coeff-correction.patch
 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
diff --git a/queue-3.0/update-email-address-for-stable-patch-submission.patch b/queue-3.0/update-email-address-for-stable-patch-submission.patch
new file mode 100644 (file)
index 0000000..6a23fbb
--- /dev/null
@@ -0,0 +1,51 @@
+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:
diff --git a/queue-3.0/xen-pcifront-update-warning-comment-to-use-e820_host.patch b/queue-3.0/xen-pcifront-update-warning-comment-to-use-e820_host.patch
new file mode 100644 (file)
index 0000000..83889dc
--- /dev/null
@@ -0,0 +1,47 @@
+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);
+                       }
+               }
diff --git a/queue-3.0/xen-swiotlb-fix-wrong-panic.patch b/queue-3.0/xen-swiotlb-fix-wrong-panic.patch
new file mode 100644 (file)
index 0000000..27ce7e5
--- /dev/null
@@ -0,0 +1,45 @@
+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);