--- /dev/null
+From 7bed50c5edf5cba8dd515a31191cbfb6065ddc85 Mon Sep 17 00:00:00 2001
+From: Rafael J. Wysocki <rjw@sisk.pl>
+Date: Tue, 26 Apr 2011 11:33:18 +0200
+Subject: ACPI / PM: Avoid infinite recurrence while registering power resources
+
+From: Rafael J. Wysocki <rjw@sisk.pl>
+
+commit 7bed50c5edf5cba8dd515a31191cbfb6065ddc85 upstream.
+
+There is at least one BIOS with a DSDT containing a power resource
+object with a _PR0 entry pointing back to that power resource. In
+consequence, while registering that power resource
+acpi_bus_get_power_flags() sees that it depends on itself and tries
+to register it again, which leads to an infinitely deep recurrence.
+This problem was introduced by commit bf325f9538d8c89312be305b9779e
+(ACPI / PM: Register power resource devices as soon as they are
+needed).
+
+To fix this problem use the observation that power resources cannot
+be power manageable and prevent acpi_bus_get_power_flags() from
+being called for power resource objects.
+
+References: https://bugzilla.kernel.org/show_bug.cgi?id=31872
+Reported-and-tested-by: Pascal Dormeau <pdormeau@free.fr>
+Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
+Acked-by: Len Brown <lenb@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/acpi/scan.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/acpi/scan.c
++++ b/drivers/acpi/scan.c
+@@ -944,6 +944,10 @@ static int acpi_bus_get_flags(struct acp
+ if (ACPI_SUCCESS(status))
+ device->flags.lockable = 1;
+
++ /* Power resources cannot be power manageable. */
++ if (device->device_type == ACPI_BUS_TYPE_POWER)
++ return 0;
++
+ /* Presence of _PS0|_PR0 indicates 'power manageable' */
+ status = acpi_get_handle(device->handle, "_PS0", &temp);
+ if (ACPI_FAILURE(status))
--- /dev/null
+From b934c20de1398d4a82d2ecfeb588a214a910f13f Mon Sep 17 00:00:00 2001
+From: Patrick Boettcher <pboettcher@kernellabs.com>
+Date: Sun, 3 Apr 2011 12:40:24 -0300
+Subject: [media] FLEXCOP-PCI: fix __xlate_proc_name-warning for flexcop-pci
+
+From: Patrick Boettcher <pboettcher@kernellabs.com>
+
+commit b934c20de1398d4a82d2ecfeb588a214a910f13f upstream.
+
+This patch fixes the warning about bad names for sys-fs and other kernel-things. The flexcop-pci driver was using '/'-characters in it, which is not good.
+This has been fixed in several attempts by several people, but obviously never made it into the kernel.
+
+Signed-off-by: Patrick Boettcher <pboettcher@kernellabs.com>
+Cc: Steffen Barszus <steffenbpunkt@googlemail.com>
+Cc: Boris Cuber <me@boris64.net>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/media/dvb/b2c2/flexcop-pci.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/media/dvb/b2c2/flexcop-pci.c
++++ b/drivers/media/dvb/b2c2/flexcop-pci.c
+@@ -38,7 +38,7 @@ MODULE_PARM_DESC(debug,
+ DEBSTATUS);
+
+ #define DRIVER_VERSION "0.1"
+-#define DRIVER_NAME "Technisat/B2C2 FlexCop II/IIb/III Digital TV PCI Driver"
++#define DRIVER_NAME "flexcop-pci"
+ #define DRIVER_AUTHOR "Patrick Boettcher <patrick.boettcher@desy.de>"
+
+ struct flexcop_pci {
--- /dev/null
+From 9ff4cfb3fcfd48b49fdd9be7381b3be340853aa4 Mon Sep 17 00:00:00 2001
+From: Carsten Otte <cotte@de.ibm.com>
+Date: Wed, 20 Apr 2011 10:15:36 +0200
+Subject: [S390] kvm-390: Let kernel exit SIE instruction on work
+
+From: Carsten Otte <cotte@de.ibm.com>
+
+commit 9ff4cfb3fcfd48b49fdd9be7381b3be340853aa4 upstream.
+
+From: Christian Borntraeger <borntraeger@de.ibm.com>
+
+This patch fixes the sie exit on interrupts. The low level
+interrupt handler returns to the PSW address in pt_regs and not
+to the PSW address in the lowcore.
+Without this fix a cpu bound guest might never leave guest state
+since the host interrupt handler would blindly return to the
+SIE instruction, even on need_resched and friends.
+
+Signed-off-by: Carsten Otte <cotte@de.ibm.com>
+Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/s390/kvm/sie64a.S | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/s390/kvm/sie64a.S
++++ b/arch/s390/kvm/sie64a.S
+@@ -48,10 +48,10 @@ sie_irq_handler:
+ tm __TI_flags+7(%r2),_TIF_EXIT_SIE
+ jz 0f
+ larl %r2,sie_exit # work pending, leave sie
+- stg %r2,__LC_RETURN_PSW+8
++ stg %r2,SPI_PSW+8(0,%r15)
+ br %r14
+ 0: larl %r2,sie_reenter # re-enter with guest id
+- stg %r2,__LC_RETURN_PSW+8
++ stg %r2,SPI_PSW+8(0,%r15)
+ 1: br %r14
+
+ /*
--- /dev/null
+From e35c76cd47c244eaa7a74adaabde4d0a1cadb907 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 20 Apr 2011 10:15:34 +0200
+Subject: [S390] pfault: fix token handling
+
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+
+commit e35c76cd47c244eaa7a74adaabde4d0a1cadb907 upstream.
+
+f6649a7e "[S390] cleanup lowcore access from external interrupts" changed
+handling of external interrupts. Instead of letting the external interrupt
+handlers accessing the per cpu lowcore the entry code of the kernel reads
+already all fields that are necessary and passes them to the handlers.
+The pfault interrupt handler was incorrectly converted. It tries to
+dereference a value which used to be a pointer to a lowcore field. After
+the conversion however it is not anymore the pointer to the field but its
+content. So instead of a dereference only a cast is needed to get the
+task pointer that caused the pfault.
+
+Fixes a NULL pointer dereference and a subsequent kernel crash:
+
+Unable to handle kernel pointer dereference at virtual kernel address (null)
+Oops: 0004 [#1] SMP
+Modules linked in: nfsd exportfs nfs lockd fscache nfs_acl auth_rpcgss sunrpc
+ loop qeth_l3 qeth vmur ccwgroup ext3 jbd mbcache dm_mod
+ dasd_eckd_mod dasd_diag_mod dasd_mod
+CPU: 0 Not tainted 2.6.38-2-s390x #1
+Process cron (pid: 1106, task: 000000001f962f78, ksp: 000000001fa0f9d0)
+Krnl PSW : 0404200180000000 000000000002c03e (pfault_interrupt+0xa2/0x138)
+ R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
+Krnl GPRS: 0000000000000000 0000000000000001 0000000000000000 0000000000000001
+ 000000001f962f78 0000000000518968 0000000090000002 000000001ff03280
+ 0000000000000000 000000000064f000 000000001f962f78 0000000000002603
+ 0000000006002603 0000000000000000 000000001ff7fe68 000000001ff7fe48
+Krnl Code: 000000000002c036: 5820d010 l %r2,16(%r13)
+ 000000000002c03a: 1832 lr %r3,%r2
+ 000000000002c03c: 1a31 ar %r3,%r1
+ >000000000002c03e: ba23d010 cs %r2,%r3,16(%r13)
+ 000000000002c042: a744fffc brc 4,2c03a
+ 000000000002c046: a7290002 lghi %r2,2
+ 000000000002c04a: e320d0000024 stg %r2,0(%r13)
+ 000000000002c050: 07f0 bcr 15,%r0
+Call Trace:
+ ([<000000001f962f78>] 0x1f962f78)
+ [<000000000001acda>] do_extint+0xf6/0x138
+ [<000000000039b6ca>] ext_no_vtime+0x30/0x34
+ [<000000007d706e04>] 0x7d706e04
+Last Breaking-Event-Address:
+ [<0000000000000000>] 0x0
+
+For stable maintainers:
+the first kernel which contains this bug is 2.6.37.
+
+Reported-by: Stephen Powell <zlinuxman@wowway.com>
+Cc: Jonathan Nieder <jrnieder@gmail.com>
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/s390/mm/fault.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/s390/mm/fault.c
++++ b/arch/s390/mm/fault.c
+@@ -558,9 +558,9 @@ static void pfault_interrupt(unsigned in
+ * Get the token (= address of the task structure of the affected task).
+ */
+ #ifdef CONFIG_64BIT
+- tsk = *(struct task_struct **) param64;
++ tsk = (struct task_struct *) param64;
+ #else
+- tsk = *(struct task_struct **) param32;
++ tsk = (struct task_struct *) param32;
+ #endif
+
+ if (subcode & 0x0080) {
acpi-battery-fribble-sysfs-files-from-a-resume-notifier.patch
ath9k_hw-partially-revert-fix-dma-descriptor-rx-error-bit-parsing.patch
ubifs-fix-false-space-checking-failure.patch
+kvm-390-let-kernel-exit-sie-instruction-on-work.patch
+pfault-fix-token-handling.patch
+acpi-pm-avoid-infinite-recurrence-while-registering-power-resources.patch
+slub-fix-panic-with-discontigmem.patch
+set-memory-ranges-in-n_normal_memory-when-onlined.patch
+flexcop-pci-fix-__xlate_proc_name-warning-for-flexcop-pci.patch
--- /dev/null
+From d9b41e0b54fd7e164daf1e9c539c1070398aa02e Mon Sep 17 00:00:00 2001
+From: David Rientjes <rientjes@google.com>
+Date: Wed, 20 Apr 2011 19:27:13 -0700
+Subject: [PARISC] set memory ranges in N_NORMAL_MEMORY when onlined
+
+From: David Rientjes <rientjes@google.com>
+
+commit d9b41e0b54fd7e164daf1e9c539c1070398aa02e upstream.
+
+When a DISCONTIGMEM memory range is brought online as a NUMA node, it
+also needs to have its bet set in N_NORMAL_MEMORY. This is necessary for
+generic kernel code that utilizes N_NORMAL_MEMORY as a subset of N_ONLINE
+for memory savings.
+
+These types of hacks can hopefully be removed once DISCONTIGMEM is either
+removed or abstracted away from CONFIG_NUMA.
+
+Fixes a panic in the slub code which only initializes structures for
+N_NORMAL_MEMORY to save memory:
+
+ Backtrace:
+ [<000000004021c938>] add_partial+0x28/0x98
+ [<000000004021faa0>] __slab_free+0x1d0/0x1d8
+ [<000000004021fd04>] kmem_cache_free+0xc4/0x128
+ [<000000004033bf9c>] ida_get_new_above+0x21c/0x2c0
+ [<00000000402a8980>] sysfs_new_dirent+0xd0/0x238
+ [<00000000402a974c>] create_dir+0x5c/0x168
+ [<00000000402a9ab0>] sysfs_create_dir+0x98/0x128
+ [<000000004033d6c4>] kobject_add_internal+0x114/0x258
+ [<000000004033d9ac>] kobject_add_varg+0x7c/0xa0
+ [<000000004033df20>] kobject_add+0x50/0x90
+ [<000000004033dfb4>] kobject_create_and_add+0x54/0xc8
+ [<00000000407862a0>] cgroup_init+0x138/0x1f0
+ [<000000004077ce50>] start_kernel+0x5a0/0x840
+ [<000000004011fa3c>] start_parisc+0xa4/0xb8
+ [<00000000404bb034>] packet_ioctl+0x16c/0x208
+ [<000000004049ac30>] ip_mroute_setsockopt+0x260/0xf20
+
+Signed-off-by: David Rientjes <rientjes@google.com>
+Signed-off-by: James Bottomley <James.Bottomley@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/parisc/mm/init.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/arch/parisc/mm/init.c
++++ b/arch/parisc/mm/init.c
+@@ -266,8 +266,10 @@ static void __init setup_bootmem(void)
+ }
+ memset(pfnnid_map, 0xff, sizeof(pfnnid_map));
+
+- for (i = 0; i < npmem_ranges; i++)
++ for (i = 0; i < npmem_ranges; i++) {
++ node_set_state(i, N_NORMAL_MEMORY);
+ node_set_online(i);
++ }
+ #endif
+
+ /*
--- /dev/null
+From 4a5fa3590f09999f6db41bc386bce40848fa9f63 Mon Sep 17 00:00:00 2001
+From: James Bottomley <James.Bottomley@HansenPartnership.com>
+Date: Tue, 19 Apr 2011 16:29:36 -0500
+Subject: [PARISC] slub: fix panic with DISCONTIGMEM
+
+From: James Bottomley <James.Bottomley@HansenPartnership.com>
+
+commit 4a5fa3590f09999f6db41bc386bce40848fa9f63 upstream.
+
+Slub makes assumptions about page_to_nid() which are violated by
+DISCONTIGMEM and !NUMA. This violation results in a panic because
+page_to_nid() can be non-zero for pages in the discontiguous ranges and
+this leads to a null return by get_node(). The assertion by the
+maintainer is that DISCONTIGMEM should only be allowed when NUMA is also
+defined. However, at least six architectures: alpha, ia64, m32r, m68k,
+mips, parisc violate this. The panic is a regression against slab, so
+just mark slub broken in the problem configuration to prevent users
+reporting these panics.
+
+Acked-by: David Rientjes <rientjes@google.com>
+Acked-by: Pekka Enberg <penberg@kernel.org>
+Signed-off-by: James Bottomley <James.Bottomley@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ init/Kconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -1209,6 +1209,7 @@ config SLAB
+ per cpu and per node queues.
+
+ config SLUB
++ depends on BROKEN || NUMA || !DISCONTIGMEM
+ bool "SLUB (Unqueued Allocator)"
+ help
+ SLUB is a slab allocator that minimizes cache line usage