--- /dev/null
+From 86f4f0f9ba6e35fbbc409dfc3d8615c1a9822482 Mon Sep 17 00:00:00 2001
+Message-Id: <200611030607.kA3675OQ010720@shell0.pdx.osdl.net>
+From: Eric Sandeen <sandeen@redhat.com>
+Date: Thu, 2 Nov 2006 22:07:05 -0800
+Subject: fix UFS superblock alignment issues
+
+ufs2 fails to mount on x86_64, claiming bad magic. This is because
+ufs_super_block_third's fs_un1 member is padded out by 4 bytes for 8-byte
+alignment, pushing down the rest of the struct.
+
+Forcing this to be packed solves it. I took a quick look over other
+on-disk structures and didn't immediately find other problems. I was able
+to mount & ls a populated ufs2 filesystem w/ this change.
+
+Signed-off-by: Eric Sandeen <sandeen@redhat.com>
+Cc: Evgeniy Dushistov <dushistov@mail.ru>
+Cc: <stable@kernel.org>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+ include/linux/ufs_fs.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.18.2.orig/include/linux/ufs_fs.h
++++ linux-2.6.18.2/include/linux/ufs_fs.h
+@@ -900,7 +900,7 @@ struct ufs_super_block_third {
+ __fs64 fs_csaddr; /* blk addr of cyl grp summary area */
+ __fs64 fs_pendingblocks;/* blocks in process of being freed */
+ __fs32 fs_pendinginodes;/*inodes in process of being freed */
+- } fs_u2;
++ } __attribute__ ((packed)) fs_u2;
+ } fs_un1;
+ union {
+ struct {
--- /dev/null
+From 7f6b8876c7e66b0d15af134e2a5b87e55514eb6d Mon Sep 17 00:00:00 2001
+Message-Id: <200611030607.kA367ECC010756@shell0.pdx.osdl.net>
+From: Daniel Yeisley <dan.yeisley@unisys.com>
+Date: Thu, 2 Nov 2006 22:07:14 -0800
+Subject: init_reap_node() initialization fix
+
+It looks like there is a bug in init_reap_node() in slab.c that can cause
+multiple oops's on certain ES7000 configurations. The variable reap_node
+is defined per cpu, but only initialized on a single CPU. This causes an
+oops in next_reap_node() when __get_cpu_var(reap_node) returns the wrong
+value. Fix is below.
+
+Signed-off-by: Dan Yeisley <dan.yeisley@unisys.com>
+Cc: Andi Kleen <ak@suse.de>
+Acked-by: Christoph Lameter <clameter@engr.sgi.com>
+Cc: Pekka Enberg <penberg@cs.helsinki.fi>
+Cc: Manfred Spraul <manfred@colorfullife.com>
+Cc: <stable@kernel.org>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+ mm/slab.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.18.2.orig/mm/slab.c
++++ linux-2.6.18.2/mm/slab.c
+@@ -867,7 +867,7 @@ static void init_reap_node(int cpu)
+ if (node == MAX_NUMNODES)
+ node = first_node(node_online_map);
+
+- __get_cpu_var(reap_node) = node;
++ per_cpu(reap_node, cpu) = node;
+ }
+
+ static void next_reap_node(void)
--- /dev/null
+From d13adb604693374c5fce47cd1a2017bcf3178eae Mon Sep 17 00:00:00 2001
+Message-Id: <200611030607.kA367DvZ010752@shell0.pdx.osdl.net>
+From: Yvan Seth <bugzilla.kernel.org@malignity.net>
+Date: Thu, 2 Nov 2006 22:07:13 -0800
+Subject: ipmi_si_intf.c sets bad class_mask with PCI_DEVICE_CLASS
+
+Taken from http://bugzilla.kernel.org/show_bug.cgi?id=7439
+
+It looks like device registration in drivers/char/ipmi/ipmi_si_intf.c was
+cleaned up and a small error was made when setting the class_mask. The fix
+is simple as the correct mask value is defined in the code but is not used.
+
+Acked-by: Corey Minyard <minyard@acm.org>
+Cc: <stable@kernel.org>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+ drivers/char/ipmi/ipmi_si_intf.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.18.2.orig/drivers/char/ipmi/ipmi_si_intf.c
++++ linux-2.6.18.2/drivers/char/ipmi/ipmi_si_intf.c
+@@ -1845,7 +1845,7 @@ static int ipmi_pci_resume(struct pci_de
+
+ static struct pci_device_id ipmi_pci_devices[] = {
+ { PCI_DEVICE(PCI_HP_VENDOR_ID, PCI_MMC_DEVICE_ID) },
+- { PCI_DEVICE_CLASS(PCI_ERMC_CLASSCODE, PCI_ERMC_CLASSCODE) }
++ { PCI_DEVICE_CLASS(PCI_ERMC_CLASSCODE, PCI_ERMC_CLASSCODE_MASK) }
+ };
+ MODULE_DEVICE_TABLE(pci, ipmi_pci_devices);
+
splice-fix-problem-introduced-with-inode-diet.patch
sparc-fix-missed-bump-of-nr_syscalls.patch
bcm43xx-drain-tx-status-before-starting-irqs.patch
+fix-ufs-superblock-alignment-issues.patch
+ipmi_si_intf.c-sets-bad-class_mask-with-pci_device_class.patch
+init_reap_node-initialization-fix.patch
+usb-failure-in-usblp-s-error-path.patch
+usbtouchscreen-use-endpoint-address-from-endpoint-descriptor.patch
--- /dev/null
+From stable-bounces@linux.kernel.org Sat Nov 4 05:08:57 2006
+Date: Fri, 3 Nov 2006 22:59:29 GMT
+Message-Id: <200611032259.kA3MxTt1007170@hera.kernel.org>
+From: Oliver Neukum <oliver@neukum.name>
+To: stable@kernel.org, maks@sternwelten.at
+Subject: USB: failure in usblp's error path
+
+USB: failure in usblp's error path
+
+if urb submission fails due to a transient error here eg. ENOMEM
+, the driver is dead. This fixes it.
+
+ Regards
+ Oliver
+
+Signed-off-by: Oliver Neukum <oliver@neukum.name>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+ drivers/usb/class/usblp.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- linux-2.6.18.2.orig/drivers/usb/class/usblp.c
++++ linux-2.6.18.2/drivers/usb/class/usblp.c
+@@ -701,6 +701,7 @@ static ssize_t usblp_write(struct file *
+ usblp->wcomplete = 0;
+ err = usb_submit_urb(usblp->writeurb, GFP_KERNEL);
+ if (err) {
++ usblp->wcomplete = 1;
+ if (err != -ENOMEM)
+ count = -EIO;
+ else
--- /dev/null
+From stable-bounces@linux.kernel.org Sat Nov 4 05:32:32 2006
+Date: Fri, 3 Nov 2006 22:59:28 GMT
+Message-Id: <200611032259.kA3MxS6f007150@hera.kernel.org>
+From: Daniel Ritz <daniel.ritz-ml@swissonline.ch>
+To: stable@kernel.org, maks@sternwelten.at
+Subject: usbtouchscreen: use endpoint address from endpoint descriptor
+
+use the endpoint address from the endpoint descriptor instead of the hardcoding
+it to 0x81. at least some ITM based screen use a different address and don't work
+without this.
+
+Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
+Cc: Ralf Lehmann <ralf@lehmann.cc>
+Cc: J.P. Delport <jpdelport@csir.co.za>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+ drivers/usb/input/usbtouchscreen.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.18.2.orig/drivers/usb/input/usbtouchscreen.c
++++ linux-2.6.18.2/drivers/usb/input/usbtouchscreen.c
+@@ -522,7 +522,7 @@ static int usbtouch_probe(struct usb_int
+ type->max_press, 0, 0);
+
+ usb_fill_int_urb(usbtouch->irq, usbtouch->udev,
+- usb_rcvintpipe(usbtouch->udev, 0x81),
++ usb_rcvintpipe(usbtouch->udev, endpoint->bEndpointAddress),
+ usbtouch->data, type->rept_size,
+ usbtouch_irq, usbtouch, endpoint->bInterval);
+