r2455 - in trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian: . patches patches/series

Andres Salomon dilinger-guest@costa.debian.org
Mon, 07 Feb 2005 21:27:23 +0100


Author: dilinger-guest
Date: 2005-02-07 21:27:20 +0100 (Mon, 07 Feb 2005)
New Revision: 2455

Added:
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/051-md_sync_page_io_max_vecs.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/052-vfat_valid_longname_proper_return.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/053-ipmi_unhandled_message_counting.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/054-ext3_journal_abort_before_panic.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/055-uml_new_thread_race.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/056-x86_64_acpi_do_suspend_lowlevel_arg.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/057-scsi_ioctl_unknown_opcode.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/058-ia64_binfmt_elf_bug_out.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/059-ia64_unwind_stack_check.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/060-alsa_cs4231_lib_ifdef_typo.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/061-alsa_es18xx_ifdef_typo.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/062-alsa_sscape_user_copy_check.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/063-alsa_opl4_build_fix.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/064-alsa_usbaudio_disconnect.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/065-alsa_vx_kcalloc.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/066-ibmvscsi_probe_delay_loop_fix.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/067-scsi_gdth_pci_map_sg.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/068-scsi_sd_read_capacity_LBD_bail.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/069-alsa_sscape_upload_firmware_len.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/070-alsa_rme9652_hdsp_get_autosync.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/071-alsa_creation_order_fixes.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/072-sctp_do_bind_random_port.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/073-usb_gadget_serial_free_ports.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/074-usb_makefile_fixes.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/075-acpiphp_ibm_module_parm_perm.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/076-i2c_ali1563_devinit_fixes.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/077-ext3_journal_abort_handle_silence.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/078-jbd_journal_revoke_graceful_double_delete.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/079-i386_timer_resume_slowdown.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/080-kernel_sched_might_sleep_ignore_if_oopsed.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/081-ia64_early_sn_setup_nested_loop.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/082-ide_it8172_init_return_failure.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/083-x86_64_switch_mm_context_race.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/084-smp_nmi_watchdog_race.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/085-ia64_irq_reg_typo.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/086-i386_cpufreq_powernow_k8_acpi_error.dpatch
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/087-ext3_graceful_corruption_fixes.dpatch
Modified:
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/changelog
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/series/2.6.10-5
Log:
synch up w/ 2.6.10-as3


Modified: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/changelog
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/changelog	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/changelog	2005-02-07 20:27:20 UTC (rev 2455)
@@ -26,6 +26,164 @@
     Patch to enhance the FBIOGET_FSCREENINFO ioctl, used by lcd_hack tool by
     BenH. (Sven Luther)
 
+  * 051-md_sync_page_io_max_vecs.dpatch
+    Fix oops in md driver; when calling sync_page_io, correctly initialize
+    a bio, ensuring bi_max_vecs is set. (Andres Salomon)
+
+  * 052-vfat_valid_longname_proper_return.dpatch
+    Return proper error values from vfat_valid_longname(), and pass them back
+    to calling functions (vfat_mkdir, vfat_create). (Andres Salomon)
+
+  * 053-ipmi_unhandled_message_counting.dpatch
+    This fixes some IPMI issues:
+      - fix counting of handled and unhandled messages
+      - decode_dmi should've been handling 16 byte boundaries instead of
+        16 bit boundaries (Andres Salomon)
+
+  * 054-ext3_journal_abort_before_panic.dpatch
+    When an error occurs in ext3, if we're going to panic, do it *after*
+    aborting the journal. (Andres Salomon)
+
+  * [UML] 055-uml_new_thread_race.dpatch
+    When creating a new thread, fix potential signal race that could
+    cause stack corruption. (Andres Salomon)
+
+  * [X86-64] 056-x86_64_acpi_do_suspend_lowlevel_arg.dpatch
+    ACPI's do_suspend_lowlevel for x86_64 was never updated to no
+    longer take an argument.  This patch removes the test checking the
+    (non-existent) arg. (Andres Salomon)
+
+  * 057-scsi_ioctl_unknown_opcode.dpatch
+    scsi_ioctl's verify_command() had a check added to print debugging info
+    about unknown scsi opcodes; however, the check was incorrect.  This
+    fixes it. (Andres Salomon)
+
+  * [IA64] 058-ia64_binfmt_elf_bug_out.dpatch
+    Returning early from ia64_elf32_init in the case of failures
+    could be problematic.  Instead of doing that, call BUG(). (Andres Salomon)
+
+  * [IA64] 059-ia64_unwind_stack_check.dpatch
+    Add a an additional sanity check to ia64's unw_unwind_to_user().
+    (Andres Salomon)
+
+  * [ALSA] 060-alsa_cs4231_lib_ifdef_typo.dpatch
+    cs4231_lib.c has an #ifdef typo; s/SNDRV_DEBUGq_MCE/SNDRV_DEBUG_MCE/.
+    (Andres Salomon)
+  
+  * [ALSA] 061-alsa_es18xx_ifdef_typo.dpatch
+    es18xx.c also has an ifdef typo; s/CONFIG_PNP_/CONFIG_PNP/.
+    (Andres Salomon)
+
+  * [ALSA] 062-alsa_sscape_user_copy_check.dpatch
+    The sscape driver does a __copy_to_user without actually checking to
+    see whether it succeeds.  This patch makes it check the result.
+    (Andres Salomon)
+
+  * [ALSA] 063-alsa_opl4_build_fix.dpatch
+    Build snd-opl3-lib when SND_OPL4_LIB is enabled. (Andres Salomon)
+
+  * [ALSA] 064-alsa_usbaudio_disconnect.dpatch
+    Return -EBADFD when a usbaudio device is disconnected. (Andres Salomon)
+
+  * [ALSA] 065-alsa_vx_kcalloc.dpatch
+    The vx driver allocates enough size for a pointer, when it should
+    be allocating enough size for a struct vx_core_t. (Andres Salomon)
+
+  * 066-ibmvscsi_probe_delay_loop_fix.dpatch
+    The ibmvscsi driver's probe function could potentially exit the delay loop
+    before the adapter has finished initializing (hostdata->request_limit == 0),
+    and thus end up not scanning for drives. (Andres Salomon)
+
+  * 067-scsi_gdth_pci_map_sg.dpatch
+    In gdth driver, drop DMA/page mapping from gdth_copy_internal_data(); it's
+    unnecessary, and buggy. (Andres Salomon)
+
+  * 068-scsi_sd_read_capacity_LBD_bail.dpatch
+    For scsi disks, if the disk capacity is too large for what's configured
+    in the kernel, don't even attempt to use the disk. (Andres Salomon)
+
+  * [ALSA] 069-alsa_sscape_upload_firmware_len.dpatch
+    This patch does two things; the first is a cleanup of calls to
+    verify_area (replaced w/ access_oks) in the sscape driver that I was
+    too lazy to strip out; the second is a fixup of the length handling
+    of firmware in upload_dma_data.  If __copy_from_user fails to copy data,
+    the number of failed bytes wasn't kept track of. (Andres Salomon)
+
+  * [ALSA] 070-alsa_rme9652_hdsp_get_autosync.dpatch
+    rme9652's snd_hdsp_get_autosync_ref() should be getting the value
+    of hdsp_autosync_ref, not hdsp_pref_sync_ref. (Andres Salomon)
+
+  * [ALSA] 071-alsa_creation_order_fixes.dpatch
+    This fixes the creation order for a bunch of sound drivers.  Some
+    drivers were creating /proc entries and registering callback functions that
+    required driver structs that had not yet been initialized.
+    (Andres Salomon)
+
+  * 072-sctp_do_bind_random_port.dpatch
+    Fix bug within sctp_do_bind(); for ephemeral ports, set bp->port earlier,       so that addr actually gets the correct port (inside sctp_add_bind_addr).
+    (Andres Salomon)
+
+  * [USB] 073-usb_gadget_serial_free_ports.dpatch
+    Inside gs_free_ports: don't deref memory that's already been freed.
+    (Andres Salomon)
+
+  * [USB] 074-usb_makefile_fixes.dpatch
+    Update makefile for sl811(-hcd) and dc2xx drivers. (Andres Salomon)
+  
+  * 075-acpiphp_ibm_module_parm_perm.dpatch
+    Fix permissions passed to module_param() in IBM pci hotplug driver.
+    (Andres Salomon)
+
+  * 076-i2c_ali1563_devinit_fixes.dpatch
+    Fix up probe and exit functions in i2c-ali1563 driver to use proper
+    __devinit and __devexit attribs. (Andres Salomon)
+
+  * [EXT3] 077-ext3_journal_abort_handle_silence.dpatch
+    For aborted transaction, only spew errors the first time to avoid
+    a flood of errors. (Andres Salomon)
+
+  * [JBD] 078-jbd_journal_revoke_graceful_double_delete.dpatch
+    journal_revoke may try to delete a metadata block twice; this patch
+    allows a graceful recovery, instead of a BUG(). (Andres Salomon)
+
+  * [I386] 079-i386_timer_resume_slowdown.dpatch
+    After resume, make time run at normal speed.  Thanks to
+    Daniel Drake <dsd@gentoo.org> for pointing this one out. (Andres Salomon)
+
+  * 080-kernel_sched_might_sleep_ignore_if_oopsed.dpatch
+    Make __might_sleep() a no-op if the kernel has oopsed. (Andres Salomon)
+ 
+  * [IA64] 081-ia64_early_sn_setup_nested_loop.dpatch
+    early_sn_setup has a nested loop that uses the same loop variable
+    as the outer loop.  This patch fixes that. (Andres Salomon)
+
+  * [IDE] 082-ide_it8172_init_return_failure.dpatch
+    it8172_init_one returns 1 instead of -ENODEV in probe function.  The
+    pci subsystem considers that to be a success, when it should be a failure.
+    (Andres Salomon)
+
+  * [X86-64] 083-x86_64_switch_mm_context_race.dpatch
+    Fix race in x86-64 SMP TLB handling, when context switching.
+    (Andres Salomon)
+
+  * [I386/X86-64] 084-smp_nmi_watchdog_race.dpatch
+    Ensure that if a cpu takes too long to come up, the NMI
+    watchdog check doesn't think it's having problems. (Andres Salomon)
+   
+  * [IA64] 085-ia64_irq_reg_typo.dpatch
+    Fix typo of register name; s/_IA64_REG_AR_SP/_IA64_REG_SP/.
+    (Andres Salomon)
+
+  * [I386] 086-i386_cpufreq_powernow_k8_acpi_error.dpatch
+    If powernowk8_cpu_init() has a problem after it has initted acpi
+    stuff, make sure to call the appropriate acpi exit routines before
+    returning. (Andres Salomon)
+
+  * [EXT3] 087-ext3_graceful_corruption_fixes.dpatch
+    This patch makes ext3 handle instances of corruption more gracefully.
+    It also changes __ext3_journal_forget (which 078-jbd_journal_revoke*.dpatch
+    needs). (Andres Salomon)
+
  -- Sven Luther <luther@debian.org>  Mon,  7 Feb 2005 14:09:05 +0100
 
 kernel-source-2.6.10 (2.6.10-4) unstable; urgency=low

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/051-md_sync_page_io_max_vecs.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/051-md_sync_page_io_max_vecs.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/051-md_sync_page_io_max_vecs.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,74 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] Fix md using bio on stack with bio clones
+## DP: Patch author: axboe@suse.de
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/21 10:27:36-08:00 axboe@suse.de 
+#   [PATCH] Fix md using bio on stack with bio clones
+#   
+#   If md resides on top of a driver using bio_clone() (such as dm), it will
+#   oops the kernel due to md submitting a botched bio that has a veclist but
+#   doesn't have bio->bi_max_vecs set.
+#   
+#   Signed-off-by: Jens Axboe <axboe@suse.de>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# drivers/md/md.c
+#   2005/01/19 04:23:30-08:00 axboe@suse.de +13 -16
+#   Fix md using bio on stack with bio clones
+# 
+diff -Nru a/drivers/md/md.c b/drivers/md/md.c
+--- a/drivers/md/md.c	2005-01-22 00:16:02 -08:00
++++ b/drivers/md/md.c	2005-01-22 00:16:02 -08:00
+@@ -332,29 +332,26 @@
+ static int sync_page_io(struct block_device *bdev, sector_t sector, int size,
+ 		   struct page *page, int rw)
+ {
+-	struct bio bio;
+-	struct bio_vec vec;
++	struct bio *bio = bio_alloc(GFP_KERNEL, 1);
+ 	struct completion event;
++	int ret;
++
++	bio_get(bio);
+ 
+ 	rw |= (1 << BIO_RW_SYNC);
+ 
+-	bio_init(&bio);
+-	bio.bi_io_vec = &vec;
+-	vec.bv_page = page;
+-	vec.bv_len = size;
+-	vec.bv_offset = 0;
+-	bio.bi_vcnt = 1;
+-	bio.bi_idx = 0;
+-	bio.bi_size = size;
+-	bio.bi_bdev = bdev;
+-	bio.bi_sector = sector;
++	bio->bi_bdev = bdev;
++	bio->bi_sector = sector;
++	bio_add_page(bio, page, size, 0);
+ 	init_completion(&event);
+-	bio.bi_private = &event;
+-	bio.bi_end_io = bi_complete;
+-	submit_bio(rw, &bio);
++	bio->bi_private = &event;
++	bio->bi_end_io = bi_complete;
++	submit_bio(rw, bio);
+ 	wait_for_completion(&event);
+ 
+-	return test_bit(BIO_UPTODATE, &bio.bi_flags);
++	ret = test_bit(BIO_UPTODATE, &bio->bi_flags);
++	bio_put(bio);
++	return ret;
+ }
+ 
+ static int read_disk_sb(mdk_rdev_t * rdev)

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/052-vfat_valid_longname_proper_return.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/052-vfat_valid_longname_proper_return.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/052-vfat_valid_longname_proper_return.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,80 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] fat: Return better error codes from vfat_valid_longname()
+## DP: Patch author: hirofumi@mail.parknet.co.jp
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/21 08:12:30-08:00 hirofumi@mail.parknet.co.jp 
+#   [PATCH] fat: Return better error codes from vfat_valid_longname()
+#   
+#   From Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
+#   
+#   Fix error code.
+#   
+#   Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# fs/vfat/namei.c
+#   2005/01/20 21:29:21-08:00 hirofumi@mail.parknet.co.jp +9 -8
+#   fat: Return better error codes from vfat_valid_longname()
+# 
+diff -Nru a/fs/vfat/namei.c b/fs/vfat/namei.c
+--- a/fs/vfat/namei.c	2005-01-22 01:00:37 -08:00
++++ b/fs/vfat/namei.c	2005-01-22 01:00:37 -08:00
+@@ -189,10 +189,10 @@
+ 
+ static int vfat_valid_longname(const unsigned char *name, unsigned int len)
+ {
+-	if (len && name[len-1] == ' ')
+-		return 0;
++	if (name[len - 1] == ' ')
++		return -EINVAL;
+ 	if (len >= 256)
+-		return 0;
++		return -ENAMETOOLONG;
+ 
+ 	/* MS-DOS "device special files" */
+ 	if (len == 3 || (len > 3 && name[3] == '.')) {	/* basename == 3 */
+@@ -200,18 +200,18 @@
+ 		    !strnicmp(name, "con", 3) ||
+ 		    !strnicmp(name, "nul", 3) ||
+ 		    !strnicmp(name, "prn", 3))
+-			return 0;
++			return -EINVAL;
+ 	}
+ 	if (len == 4 || (len > 4 && name[4] == '.')) {	/* basename == 4 */
+ 		/* "com1", "com2", ... */
+ 		if ('1' <= name[3] && name[3] <= '9') {
+ 			if (!strnicmp(name, "com", 3) ||
+ 			    !strnicmp(name, "lpt", 3))
+-				return 0;
++				return -EINVAL;
+ 		}
+ 	}
+ 
+-	return 1;
++	return 0;
+ }
+ 
+ static int vfat_find_form(struct inode *dir, unsigned char *name)
+@@ -614,8 +614,9 @@
+ 	loff_t offset;
+ 
+ 	*slots = 0;
+-	if (!vfat_valid_longname(name, len))
+-		return -EINVAL;
++	res = vfat_valid_longname(name, len);
++	if (res)
++		return res;
+ 
+ 	if(!(page = __get_free_page(GFP_KERNEL)))
+ 		return -ENOMEM;

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/053-ipmi_unhandled_message_counting.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/053-ipmi_unhandled_message_counting.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/053-ipmi_unhandled_message_counting.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,89 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] Minor IPMI driver updates
+## DP: Patch author: minyard@acm.org
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/21 08:08:29-08:00 minyard@acm.org 
+#   [PATCH] Minor IPMI driver updates
+#   
+#   This patch fixes counting of unhandled messages.  Messages that were
+#   handled internally by the driver (to the NULL user) were miscounted as
+#   unhanlded responses.  This counts them properly.
+#   
+#   This patch also fixes the DMI 16-byte setting, which was set as a 16-bit
+#   setting.
+#   
+#   It also uses the right value to initilize the address memory when using a
+#   memory-based interface.
+#   
+#   Signed-off-by: Corey Minyard <minyard@acm.org>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# drivers/char/ipmi/ipmi_msghandler.c
+#   2005/01/20 21:00:51-08:00 minyard@acm.org +10 -5
+#   Minor IPMI driver updates
+# 
+# drivers/char/ipmi/ipmi_si_intf.c
+#   2005/01/20 21:00:51-08:00 minyard@acm.org +4 -3
+#   Minor IPMI driver updates
+# 
+diff -Nru a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
+--- a/drivers/char/ipmi/ipmi_msghandler.c	2005-01-22 01:17:55 -08:00
++++ b/drivers/char/ipmi/ipmi_msghandler.c	2005-01-22 01:17:55 -08:00
+@@ -2301,12 +2301,17 @@
+ 
+ 	if (!found) {
+ 		/* Special handling for NULL users. */
+-		if (!recv_msg->user && intf->null_user_handler)
++		if (!recv_msg->user && intf->null_user_handler){
+ 			intf->null_user_handler(intf, msg);
+-		/* The user for the message went away, so give up. */
+-		spin_lock_irqsave(&intf->counter_lock, flags);
+-		intf->unhandled_local_responses++;
+-		spin_unlock_irqrestore(&intf->counter_lock, flags);
++			spin_lock_irqsave(&intf->counter_lock, flags);
++			intf->handled_local_responses++;
++			spin_unlock_irqrestore(&intf->counter_lock, flags);
++		}else{
++			/* The user for the message went away, so give up. */
++			spin_lock_irqsave(&intf->counter_lock, flags);
++			intf->unhandled_local_responses++;
++			spin_unlock_irqrestore(&intf->counter_lock, flags);
++		}
+ 		ipmi_free_recv_msg(recv_msg);
+ 	} else {
+ 		struct ipmi_system_interface_addr *smi_addr;
+diff -Nru a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
+--- a/drivers/char/ipmi/ipmi_si_intf.c	2005-01-22 01:17:55 -08:00
++++ b/drivers/char/ipmi/ipmi_si_intf.c	2005-01-22 01:17:55 -08:00
+@@ -1299,7 +1299,7 @@
+ 	memset(info, 0, sizeof(*info));
+ 
+ 	info->io_setup = mem_setup;
+-	info->io.info = (void *) addrs[intf_num];
++	info->io.info = &addrs[intf_num];
+ 	info->io.addr = NULL;
+ 	info->io.regspacing = regspacings[intf_num];
+ 	if (!info->io.regspacing)
+@@ -1587,8 +1587,9 @@
+ 	case 0x01: /* 32-bit boundaries */
+ 		ipmi_data->offset = 4;
+ 		break;
+-	case 0x02: /* 16-bit boundaries */
+-		ipmi_data->offset = 2;
++	case 0x02: /* 16-byte boundaries */
++		ipmi_data->offset = 16;
++		break;
+ 	default:
+ 		printk("ipmi_si: Unknown SMBIOS IPMI Base Addr"
+ 		       " Modifier: 0x%x\n", reg_spacing);

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/054-ext3_journal_abort_before_panic.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/054-ext3_journal_abort_before_panic.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/054-ext3_journal_abort_before_panic.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,55 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] ext3: commit superblock before panicking
+## DP: Patch author: eric@lammerts.org
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/21 08:07:09-08:00 eric@lammerts.org 
+#   [PATCH] ext3: commit superblock before panicking
+#   
+#   I have a problem with errors=panic on ext3.  When a panic occurs, the error
+#   event is not recorded anywhere.  So after the reboot, e2fsck doesn't kick
+#   in, the file system gets mounted again and the box panics again...
+#   
+#   Patch below moves the ERRORS_PANIC test down a bit so the journal is
+#   aborted before panic() is called.
+#   
+#   Signed-off-by: Eric Lammerts <eric@lammerts.org>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# fs/ext3/super.c
+#   2005/01/20 21:00:50-08:00 eric@lammerts.org +3 -3
+#   ext3: commit superblock before panicking
+# 
+diff -Nru a/fs/ext3/super.c b/fs/ext3/super.c
+--- a/fs/ext3/super.c	2005-01-22 01:32:54 -08:00
++++ b/fs/ext3/super.c	2005-01-22 01:32:54 -08:00
+@@ -155,9 +155,6 @@
+ 	if (sb->s_flags & MS_RDONLY)
+ 		return;
+ 
+-	if (test_opt (sb, ERRORS_PANIC))
+-		panic ("EXT3-fs (device %s): panic forced after error\n",
+-		       sb->s_id);
+ 	if (test_opt (sb, ERRORS_RO)) {
+ 		printk (KERN_CRIT "Remounting filesystem read-only\n");
+ 		sb->s_flags |= MS_RDONLY;
+@@ -168,6 +165,9 @@
+ 		if (journal)
+ 			journal_abort(journal, -EIO);
+ 	}
++	if (test_opt(sb, ERRORS_PANIC))
++		panic("EXT3-fs (device %s): panic forced after error\n",
++			sb->s_id);
+ 	ext3_commit_super(sb, es, 1);
+ }
+ 

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/055-uml_new_thread_race.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/055-uml_new_thread_race.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/055-uml_new_thread_race.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,44 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] uml: fix a stack corruption crash
+## DP: Patch author: jdike@addtoit.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/21 08:03:15-08:00 jdike@addtoit.com 
+#   [PATCH] uml: fix a stack corruption crash
+#   
+#   Fix a race where signals could be handled to the parent of a new process on
+#   the kernel stack of the child, corrupting that stack, and crashing UML when
+#   the next first runs.
+#   
+#   Signed-off-by: Jeff Dike <jdike@addtoit.com>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# arch/um/kernel/skas/process.c
+#   2005/01/20 20:59:16-08:00 jdike@addtoit.com +2 -1
+#   uml: fix a stack corruption crash
+# 
+diff -Nru a/arch/um/kernel/skas/process.c b/arch/um/kernel/skas/process.c
+--- a/arch/um/kernel/skas/process.c	2005-01-22 01:49:12 -08:00
++++ b/arch/um/kernel/skas/process.c	2005-01-22 01:49:12 -08:00
+@@ -224,9 +224,10 @@
+ 	block_signals();
+ 	if(sigsetjmp(fork_buf, 1) == 0)
+ 		new_thread_proc(stack, handler);
+-	set_signals(flags);
+ 
+ 	remove_sigstack();
++
++	set_signals(flags);
+ }
+ 
+ void thread_wait(void *sw, void *fb)

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/056-x86_64_acpi_do_suspend_lowlevel_arg.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/056-x86_64_acpi_do_suspend_lowlevel_arg.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/056-x86_64_acpi_do_suspend_lowlevel_arg.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,41 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] x86-64: Fix do_suspend_lowlevel
+## DP: Patch author: venkatesh.pallipadi@intel.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/21 07:59:42-08:00 venkatesh.pallipadi@intel.com 
+#   [PATCH] x86-64: Fix do_suspend_lowlevel
+#   
+#   do_suspend_lowlevel doesn't have an argument anymore, but the assembly code
+#   would still test it and fail randomly. Remove the bogus test.
+#   
+#   Signed-off-by: Andi Kleen <ak@suse.de>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# arch/x86_64/kernel/acpi/wakeup.S
+#   2005/01/20 20:59:14-08:00 venkatesh.pallipadi@intel.com +0 -3
+#   x86-64: Fix do_suspend_lowlevel
+# 
+diff -Nru a/arch/x86_64/kernel/acpi/wakeup.S b/arch/x86_64/kernel/acpi/wakeup.S
+--- a/arch/x86_64/kernel/acpi/wakeup.S	2005-01-22 02:09:01 -08:00
++++ b/arch/x86_64/kernel/acpi/wakeup.S	2005-01-22 02:09:01 -08:00
+@@ -429,9 +429,6 @@
+ do_suspend_lowlevel:
+ .LFB5:
+ 	subq	$8, %rsp
+-.LCFI2:
+-	testl	%edi, %edi
+-	jne	.L99
+ 	xorl	%eax, %eax
+ 	call	save_processor_state
+ 

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/057-scsi_ioctl_unknown_opcode.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/057-scsi_ioctl_unknown_opcode.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/057-scsi_ioctl_unknown_opcode.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,47 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: scsi_ioctl: only warn about unknown opcodes if they are truly unknown.
+## DP: Patch author: torvalds@ppc970.osdl.org
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/20 07:42:05-08:00 torvalds@ppc970.osdl.org 
+#   scsi_ioctl: only warn about unknown opcodes if they are truly unknown.
+#   
+#   We could screw up and warn for opcodes that weren't write-safe and the
+#   user tried to use without having write permissions.
+#   
+#   Not so bad in itself, but that also destroyed the cmd type information.
+#   
+#   Noticed by Michal Schmidt
+# 
+# drivers/block/scsi_ioctl.c
+#   2005/01/20 07:41:57-08:00 torvalds@ppc970.osdl.org +1 -1
+#   scsi_ioctl: only warn about unknown opcodes if they are truly unknown.
+#   
+#   We could screw up and warn for opcodes that weren't write-safe and the
+#   user tried to use without having write permissions.
+#   
+#   Not so bad in itself, but that also destroyed the cmd type information.
+#   
+#   Noticed by Michal Schmidt
+# 
+diff -Nru a/drivers/block/scsi_ioctl.c b/drivers/block/scsi_ioctl.c
+--- a/drivers/block/scsi_ioctl.c	2005-01-22 21:20:05 -08:00
++++ b/drivers/block/scsi_ioctl.c	2005-01-22 21:20:05 -08:00
+@@ -199,7 +199,7 @@
+ 			return 0;
+ 	}
+ 
+-	if (!(type & CMD_WARNED)) {
++	if (!type) {
+ 		cmd_type[cmd[0]] = CMD_WARNED;
+ 		printk(KERN_WARNING "scsi: unknown opcode 0x%02x\n", cmd[0]);
+ 	}

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/058-ia64_binfmt_elf_bug_out.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/058-ia64_binfmt_elf_bug_out.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/058-ia64_binfmt_elf_bug_out.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,60 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [IA64] binfmt_elf32.c: BUG if insert_vm_struct fails
+## DP: Patch author: tony.luck@intel.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/22 12:18:41-08:00 tony.luck@intel.com 
+#   [IA64] binfmt_elf32.c: BUG if insert_vm_struct fails
+#   
+#   It seems that in ia64_elf32_init, instead of calling return, if we insert
+#   an overlapping vma, we should instead BUG(). We should never get into this
+#   code path, because the vma's are set above PAGE_OFFSET, and thus a
+#   Xmalicious user can not trigger this code path. This change is being
+#   suggested mainly for clarity. Thanks to Stephen Tweedie for pointing out
+#   that returning early in ia64_elf32_init could have unpredictable results.
+#   
+#   Signed-off-by: Tony Luck <tony.luck@intel.com>
+# 
+# arch/ia64/ia32/binfmt_elf32.c
+#   2005/01/22 12:16:29-08:00 tony.luck@intel.com +3 -3
+#   BUG if insert_vm_struct fails
+# 
+diff -Nru a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c
+--- a/arch/ia64/ia32/binfmt_elf32.c	2005-01-22 23:35:01 -08:00
++++ b/arch/ia64/ia32/binfmt_elf32.c	2005-01-22 23:35:01 -08:00
+@@ -103,7 +103,7 @@
+ 			if (insert_vm_struct(current->mm, vma)) {
+ 				kmem_cache_free(vm_area_cachep, vma);
+ 				up_write(&current->mm->mmap_sem);
+-				return;
++				BUG();
+ 			}
+ 		}
+ 		up_write(&current->mm->mmap_sem);
+@@ -130,7 +130,7 @@
+ 			if (insert_vm_struct(current->mm, vma)) {
+ 				kmem_cache_free(vm_area_cachep, vma);
+ 				up_write(&current->mm->mmap_sem);
+-				return;
++				BUG();
+ 			}
+ 		}
+ 		up_write(&current->mm->mmap_sem);
+@@ -153,7 +153,7 @@
+ 			if (insert_vm_struct(current->mm, vma)) {
+ 				kmem_cache_free(vm_area_cachep, vma);
+ 				up_write(&current->mm->mmap_sem);
+-				return;
++				BUG();
+ 			}
+ 		}
+ 		up_write(&current->mm->mmap_sem);

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/059-ia64_unwind_stack_check.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/059-ia64_unwind_stack_check.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/059-ia64_unwind_stack_check.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,46 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [IA64] Sanity check unw_unwind_to_user
+## DP: Patch author: kaos@sgi.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/22 12:59:23-08:00 kaos@sgi.com 
+#   [IA64] Sanity check unw_unwind_to_user
+#   
+#   Signed-off-by: Keith Owens <kaos@sgi.com>
+#   Signed-off-by: Tony Luck <tony.luck@intel.com>
+# 
+# arch/ia64/kernel/unwind.c
+#   2005/01/22 12:57:36-08:00 kaos@sgi.com +4 -1
+#   Sanity check unw_unwind_to_user
+# 
+diff -Nru a/arch/ia64/kernel/unwind.c b/arch/ia64/kernel/unwind.c
+--- a/arch/ia64/kernel/unwind.c	2005-01-22 23:36:12 -08:00
++++ b/arch/ia64/kernel/unwind.c	2005-01-22 23:36:12 -08:00
+@@ -1945,7 +1945,7 @@
+ int
+ unw_unwind_to_user (struct unw_frame_info *info)
+ {
+-	unsigned long ip;
++	unsigned long ip, sp;
+ 
+ 	while (unw_unwind(info) >= 0) {
+ 		if (unw_get_rp(info, &ip) < 0) {
+@@ -1954,6 +1954,9 @@
+ 				   __FUNCTION__, ip);
+ 			return -1;
+ 		}
++		unw_get_sp(info, &sp);
++		if (sp >= (unsigned long)info->task + IA64_STK_OFFSET)
++			break;
+ 		if (ip < FIXADDR_USER_END)
+ 			return 0;
+ 	}

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/060-alsa_cs4231_lib_ifdef_typo.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/060-alsa_cs4231_lib_ifdef_typo.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/060-alsa_cs4231_lib_ifdef_typo.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,52 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [ALSA] ifdef typos: sound_isa_cs423x_cs4231_lib.c
+## DP: Patch author: perex@suse.cz
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/03 09:08:30+01:00 perex@suse.cz 
+#   [ALSA] ifdef typos: sound_isa_cs423x_cs4231_lib.c
+#   
+#   CS4231 driver
+#   Funny typo.
+#   
+#   Acked-by: Randy Dunlap <rddunlap@osdl.org>
+#   
+#   Signed-off-by: Domen Puncer <domen@coderock.org>
+#   Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/isa/cs423x/cs4231_lib.c
+#   2004/11/30 07:33:24+01:00 perex@suse.cz +1 -1
+#   [ALSA] ifdef typos: sound_isa_cs423x_cs4231_lib.c
+#   
+#   D:2004/11/30 14:33:24
+#   C:CS4231 driver
+#   F:isa/cs423x/cs4231_lib.c:1.45->1.46 
+#   L:Funny typo.
+#   L:
+#   L:Acked-by: Randy Dunlap <rddunlap@osdl.org>
+#   Signed-off-by: Domen Puncer <domen@coderock.org>
+#   Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+diff -Nru a/sound/isa/cs423x/cs4231_lib.c b/sound/isa/cs423x/cs4231_lib.c
+--- a/sound/isa/cs423x/cs4231_lib.c	2005-01-22 23:37:19 -08:00
++++ b/sound/isa/cs423x/cs4231_lib.c	2005-01-22 23:37:19 -08:00
+@@ -685,7 +685,7 @@
+ 
+ 	snd_cs4231_mce_down(chip);
+ 
+-#ifdef SNDRV_DEBUGq_MCE
++#ifdef SNDRV_DEBUG_MCE
+ 	snd_printk("init: (1)\n");
+ #endif
+ 	snd_cs4231_mce_up(chip);

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/061-alsa_es18xx_ifdef_typo.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/061-alsa_es18xx_ifdef_typo.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/061-alsa_es18xx_ifdef_typo.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,57 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [ALSA] ifdef typos: sound_isa_es18xx.c
+## DP: Patch author: perex@suse.cz
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/03 09:10:09+01:00 perex@suse.cz 
+#   [ALSA] ifdef typos: sound_isa_es18xx.c
+#   
+#   ES18xx driver
+#   Changed CONFIG_PNP_ to CONFIG_PNP, also fixed a comment related to
+#   another CONFIG_PNP.
+#   
+#   Signed-off-by: Domen Puncer <domen@coderock.org>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/isa/es18xx.c
+#   2004/11/30 07:34:07+01:00 perex@suse.cz +2 -2
+#   [ALSA] ifdef typos: sound_isa_es18xx.c
+#   
+#   D:2004/11/30 14:34:07
+#   C:ES18xx driver
+#   F:isa/es18xx.c:1.51->1.52 
+#   L:Changed CONFIG_PNP_ to CONFIG_PNP, also fixed a comment related to
+#   L:another CONFIG_PNP.
+#   Signed-off-by: Domen Puncer <domen@coderock.org>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+diff -Nru a/sound/isa/es18xx.c b/sound/isa/es18xx.c
+--- a/sound/isa/es18xx.c	2005-01-22 23:12:29 -08:00
++++ b/sound/isa/es18xx.c	2005-01-22 23:12:29 -08:00
+@@ -1849,7 +1849,7 @@
+ static int isapnp[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1};
+ #endif
+ static long port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;	/* 0x220,0x240,0x260,0x280 */
+-#ifndef CONFIG_PNP_
++#ifndef CONFIG_PNP
+ static long mpu_port[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = -1};
+ #else
+ static long mpu_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;
+@@ -1988,7 +1988,7 @@
+ 	kfree(cfg);
+ 	return 0;
+ }
+-#endif /* CONFIG_PNP_ */
++#endif /* CONFIG_PNP */
+ 
+ static int __devinit snd_audiodrive_probe(int dev, struct pnp_card_link *pcard,
+ 					  const struct pnp_card_device_id *pid)

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/062-alsa_sscape_user_copy_check.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/062-alsa_sscape_user_copy_check.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/062-alsa_sscape_user_copy_check.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,49 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [ALSA] check __copy_to_user in sscape_upload_bootblock()
+## DP: Patch author: perex@suse.cz
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/03 09:11:10+01:00 perex@suse.cz 
+#   [ALSA] check __copy_to_user in sscape_upload_bootblock()
+#   
+#   Sound Scape driver
+#   __copy_to_user() is called without checking its return value in
+#   sound/isa/sscape.c::sscape_upload_bootblock .
+#   
+#   Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/isa/sscape.c
+#   2004/11/30 07:37:33+01:00 perex@suse.cz +2 -1
+#   [ALSA] check __copy_to_user in sscape_upload_bootblock()
+#   
+#   D:2004/11/30 14:37:33
+#   C:Sound Scape driver
+#   F:isa/sscape.c:1.17->1.18 
+#   L:__copy_to_user() is called without checking its return value in
+#   L:sound/isa/sscape.c::sscape_upload_bootblock .
+#   Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+diff -Nru a/sound/isa/sscape.c b/sound/isa/sscape.c
+--- a/sound/isa/sscape.c	2005-01-22 23:12:45 -08:00
++++ b/sound/isa/sscape.c	2005-01-22 23:12:45 -08:00
+@@ -572,7 +572,8 @@
+ 			snd_printk(KERN_ERR "sscape: timeout reading firmware version\n");
+ 			ret = -EAGAIN;
+ 		} else {
+-			__copy_to_user(&bb->version, &data, sizeof(bb->version));
++			if (__copy_to_user(&bb->version, &data, sizeof(bb->version)))
++				ret = -EFAULT;
+ 		}
+ 	}
+ 

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/063-alsa_opl4_build_fix.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/063-alsa_opl4_build_fix.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/063-alsa_opl4_build_fix.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [ALSA] opl4 depends on opl3
+## DP: Patch author: perex@suse.cz
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/03 11:00:47+01:00 perex@suse.cz 
+#   [ALSA] opl4 depends on opl3
+#   
+#   OPL3
+#   Compiling OPL4 doesn't include the snd-opl3-lib. This change in the
+#   Makefile enables now the compiling of snd-opl3-lib.o for OPL4 soundcards.
+#   
+#   Signed-off-by: Martin Langer <martin-langer@gmx.de>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/drivers/opl3/Makefile
+#   2004/12/06 12:46:27+01:00 perex@suse.cz +1 -0
+#   [ALSA] opl4 depends on opl3
+#   
+#   D:2004/12/06 19:46:27
+#   C:OPL3
+#   F:drivers/opl3/Makefile:1.22->1.23 
+#   L:Compiling OPL4 doesn't include the snd-opl3-lib. This change in the
+#   L:Makefile enables now the compiling of snd-opl3-lib.o for OPL4 soundcards.
+#   Signed-off-by: Martin Langer <martin-langer@gmx.de>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+diff -Nru a/sound/drivers/opl3/Makefile b/sound/drivers/opl3/Makefile
+--- a/sound/drivers/opl3/Makefile	2005-01-22 22:49:12 -08:00
++++ b/sound/drivers/opl3/Makefile	2005-01-22 22:49:12 -08:00
+@@ -18,4 +18,5 @@
+ sequencer = $(if $(subst y,,$(CONFIG_SND_SEQUENCER)),$(if $(1),m),$(if $(CONFIG_SND_SEQUENCER),$(1)))
+ 
+ obj-$(CONFIG_SND_OPL3_LIB) += snd-opl3-lib.o
++obj-$(CONFIG_SND_OPL4_LIB) += snd-opl3-lib.o
+ obj-$(call sequencer,$(CONFIG_SND_OPL3_LIB)) += snd-opl3-synth.o

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/064-alsa_usbaudio_disconnect.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/064-alsa_usbaudio_disconnect.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/064-alsa_usbaudio_disconnect.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,54 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [ALSA] Return -EBADFD when the device is disconnected
+## DP: Patch author: perex@suse.cz
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/03 11:18:07+01:00 perex@suse.cz 
+#   [ALSA] Return -EBADFD when the device is disconnected
+#   
+#   USB generic driver
+#   The trigger callback returns -EBADFD when the device is disconnected.
+#   
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/usb/usbaudio.c
+#   2004/12/16 09:12:51+01:00 perex@suse.cz +4 -1
+#   [ALSA] Return -EBADFD when the device is disconnected
+#   
+#   D:2004/12/16 16:12:51
+#   C:USB generic driver
+#   F:usb/usbaudio.c:1.112->1.113 
+#   L:The trigger callback returns -EBADFD when the device is disconnected.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+diff -Nru a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c
+--- a/sound/usb/usbaudio.c	2005-01-22 22:17:09 -08:00
++++ b/sound/usb/usbaudio.c	2005-01-22 22:17:09 -08:00
+@@ -725,7 +725,7 @@
+ 	subs->running = 0;
+ 
+ 	if (!force && subs->stream->chip->shutdown) /* to be sure... */
+-		return 0;
++		return -EBADFD;
+ 
+ 	async = !can_sleep && async_unlink;
+ 
+@@ -769,6 +769,9 @@
+ {
+ 	unsigned int i;
+ 	int err;
++
++	if (subs->stream->chip->shutdown)
++		return -EBADFD;
+ 
+ 	for (i = 0; i < subs->nurbs; i++) {
+ 		snd_assert(subs->dataurb[i].urb, return -EINVAL);

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/065-alsa_vx_kcalloc.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/065-alsa_vx_kcalloc.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/065-alsa_vx_kcalloc.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,44 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [ALSA] Fix memory corruption
+## DP: Patch author: perex@suse.cz
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/03 11:19:17+01:00 perex@suse.cz 
+#   [ALSA] Fix memory corruption
+#   
+#   Digigram VX core
+#   Fixed the memory corruption by the wrong sized kmalloc.
+#   
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/drivers/vx/vx_core.c
+#   2004/12/20 04:03:54+01:00 perex@suse.cz +1 -1
+#   [ALSA] Fix memory corruption
+#   
+#   D:2004/12/20 11:03:54
+#   C:Digigram VX core
+#   F:drivers/vx/vx_core.c:1.9->1.10 
+#   L:Fixed the memory corruption by the wrong sized kmalloc.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+diff -Nru a/sound/drivers/vx/vx_core.c b/sound/drivers/vx/vx_core.c
+--- a/sound/drivers/vx/vx_core.c	2005-01-22 22:17:34 -08:00
++++ b/sound/drivers/vx/vx_core.c	2005-01-22 22:17:34 -08:00
+@@ -734,7 +734,7 @@
+ 
+ 	snd_assert(card && hw && ops, return NULL);
+ 
+-	chip = kcalloc(1, sizeof(chip) + extra_size, GFP_KERNEL);
++	chip = kcalloc(1, sizeof(*chip) + extra_size, GFP_KERNEL);
+ 	if (! chip) {
+ 		snd_printk(KERN_ERR "vx_core: no memory\n");
+ 		return NULL;

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/066-ibmvscsi_probe_delay_loop_fix.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/066-ibmvscsi_probe_delay_loop_fix.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/066-ibmvscsi_probe_delay_loop_fix.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,39 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] ibmvscsi: fix loop exit condition
+## DP: Patch author: sleddog@us.ibm.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2004/12/31 13:29:49-06:00 sleddog@us.ibm.com 
+#   [PATCH] ibmvscsi: fix loop exit condition
+#   
+#   Fix a bug where we could fall out of our delay loop and then forget to
+#   scan for drives.
+#   
+#   Signed-off-by: Dave Boutcher <boutcher@us.ibm.com>
+#   Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
+# 
+# drivers/scsi/ibmvscsi/ibmvscsi.c
+#   2004/12/31 09:59:39-06:00 sleddog@us.ibm.com +2 -2
+#   ibmvscsi: fix loop exit condition
+# 
+diff -Nru a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
+--- a/drivers/scsi/ibmvscsi/ibmvscsi.c	2005-01-22 21:53:57 -08:00
++++ b/drivers/scsi/ibmvscsi/ibmvscsi.c	2005-01-22 21:53:57 -08:00
+@@ -1332,6 +1332,6 @@
+ 		 */
+ 		for (wait_switch = jiffies + (init_timeout * HZ);
+ 		     time_before(jiffies, wait_switch) &&
+-		     atomic_read(&hostdata->request_limit) < 0;) {
++		     atomic_read(&hostdata->request_limit) < 2;) {
+ 
+ 			set_current_state(TASK_UNINTERRUPTIBLE);
+			schedule_timeout(HZ / 100);

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/067-scsi_gdth_pci_map_sg.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/067-scsi_gdth_pci_map_sg.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/067-scsi_gdth_pci_map_sg.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,89 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] gdth buggy page mapping
+## DP: Patch author: axboe@suse.de
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/03 10:07:16-06:00 axboe@suse.de 
+#   [PATCH] gdth buggy page mapping
+#   
+#   Just tripped over a bug report for the SUSE kernel where gdth would
+#   crash on a 32G opteron, turned out that the gdth_internal_copy() sg
+#   handling was really buggy. After fixing this I wanted to do the same for
+#   mainline, but I can see that a vain attempt was already made to fix it.
+#   Unfortunately it wasn't complete, and on top of that there's room for
+#   improvement.
+#   
+#   The current code is buggy on highmem, as page_address() will not yield a
+#   valid kernel address causing a NULL pointer dereference. The current
+#   code also doesn't unmap the sg list if it sees a NULL sl->page. In fact,
+#   the whole sg mapping looks really strange, why on earth would you be
+#   mapping the sglist for dma when you are only going to copy from it?
+#   
+#   This patch corrects both errors - correctly maps in the page, and kills
+#   the pci_map_sg/pci_unmap_sg calls completely. If someone could test
+#   this, that would be great.
+#   
+#   Signed-off-by: Jens Axboe <axboe@suse.de>
+#   Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
+# 
+# drivers/scsi/gdth.c
+#   2004/11/23 13:13:04-06:00 axboe@suse.de +9 -9
+#   gdth buggy page mapping
+# 
+diff -Nru a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
+--- a/drivers/scsi/gdth.c	2005-01-22 21:28:53 -08:00
++++ b/drivers/scsi/gdth.c	2005-01-22 21:28:53 -08:00
+@@ -2708,7 +2708,6 @@
+     ushort cpsum,cpnow;
+     struct scatterlist *sl;
+     gdth_ha_str *ha;
+-    int sgcnt;
+     char *address;
+ 
+     cpcount = count<=(ushort)scp->bufflen ? count:(ushort)scp->bufflen;
+@@ -2717,9 +2716,9 @@
+     if (scp->use_sg) {
+         sl = (struct scatterlist *)scp->request_buffer;
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,13)
+-        sgcnt = pci_map_sg(ha->pdev,sl,scp->use_sg,PCI_DMA_FROMDEVICE);
+-        for (i=0,cpsum=0; i<sgcnt; ++i,++sl) {
+-            cpnow = (ushort)sg_dma_len(sl);
++        for (i=0,cpsum=0; i<scp->use_sg; ++i,++sl) {
++	    unsigned long flags;
++            cpnow = (ushort)sl->length;
+             TRACE(("copy_internal() now %d sum %d count %d %d\n",
+                           cpnow,cpsum,cpcount,(ushort)scp->bufflen));
+             if (cpsum+cpnow > cpcount) 
+@@ -2730,17 +2729,18 @@
+                        hanum);
+                 return;
+             }
+-            address = (char *)(page_address(sl->page) + sl->offset);
++	    local_irq_save(flags);
++	    address = kmap_atomic(sl->page, KM_BIO_SRC_IRQ) + sl->offset;
+             memcpy(address,buffer,cpnow);
++	    flush_dcache_page(sl->page);
++	    kunmap_atomic(address, KM_BIO_SRC_IRQ);
++	    local_irq_restore(flags);
+             if (cpsum == cpcount)
+                 break;
+             buffer += cpnow;
+         }
+-        pci_unmap_sg(ha->pdev,scp->request_buffer,
+-                     scp->use_sg,PCI_DMA_FROMDEVICE);
+ #else
+-        sgcnt = scp->use_sg;
+-        for (i=0,cpsum=0; i<sgcnt; ++i,++sl) {
++        for (i=0,cpsum=0; i<scp->use_sg; ++i,++sl) {
+             cpnow = (ushort)sl->length;
+             TRACE(("copy_internal() now %d sum %d count %d %d\n",
+                           cpnow,cpsum,cpcount,(ushort)scp->bufflen));

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/068-scsi_sd_read_capacity_LBD_bail.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/068-scsi_sd_read_capacity_LBD_bail.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/068-scsi_sd_read_capacity_LBD_bail.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] fix read capacity for large disks when CONFIG_LBD=n
+## DP: Patch author: tonyb@cybernetics.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/06 15:48:50-05:00 tonyb@cybernetics.com 
+#   [PATCH] fix read capacity for large disks when CONFIG_LBD=n
+#   
+#   We shouldn't configure an device that requires LBD if the kernel
+#   doesn't suppoprt it (because we won't be able to see most of it), so
+#   set the capacity to zero in this case.
+#   
+#   Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
+# 
+# drivers/scsi/sd.c
+#   2005/01/04 08:03:59-05:00 tonyb@cybernetics.com +5 -2
+#   fix read capacity for large disks when CONFIG_LBD=n
+# 
+diff -Nru a/drivers/scsi/sd.c b/drivers/scsi/sd.c
+--- a/drivers/scsi/sd.c	2005-01-22 21:31:47 -08:00
++++ b/drivers/scsi/sd.c	2005-01-22 21:31:47 -08:00
+@@ -1082,9 +1082,12 @@
+ 				       " READ CAPACITY(16).\n", diskname);
+ 				longrc = 1;
+ 				goto repeat;
+-			} else {
+-				printk(KERN_ERR "%s: too big for kernel.  Assuming maximum 2Tb\n", diskname);
+ 			}
++			printk(KERN_ERR "%s: too big for this kernel.  Use a "
++			       "kernel compiled with support for large block "
++			       "devices.\n", diskname);
++			sdkp->capacity = 0;
++			goto got_data;
+ 		}
+ 		sdkp->capacity = 1 + (((sector_t)buffer[0] << 24) |
+ 			(buffer[1] << 16) |

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/069-alsa_sscape_upload_firmware_len.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/069-alsa_sscape_upload_firmware_len.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/069-alsa_sscape_upload_firmware_len.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,116 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [ALSA] Update user-space access from sscape driver
+## DP: Patch author: perex@suse.cz
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/03 10:59:39+01:00 perex@suse.cz 
+#   [ALSA] Update user-space access from sscape driver
+#   
+#   Sound Scape driver
+#   I see that the copy_to/from_user() functions have been updated across
+#   Linux 2.4 and 2.6, and that verify_read/write() has been replaced by
+#    access_ok(). I have patched the SoundScape driver accordingly.
+#   
+#   Signed-off-by: Chris Rankin <rankincj@yahoo.com>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/isa/sscape.c
+#   2004/12/06 08:32:12+01:00 perex@suse.cz +13 -14
+#   [ALSA] Update user-space access from sscape driver
+#   
+#   D:2004/12/06 15:32:12
+#   C:Sound Scape driver
+#   F:isa/sscape.c:1.18->1.19 
+#   L:I see that the copy_to/from_user() functions have been updated across
+#   L:Linux 2.4 and 2.6, and that verify_read/write() has been replaced by
+#   L: access_ok(). I have patched the SoundScape driver accordingly.
+#   Signed-off-by: Chris Rankin <rankincj@yahoo.com>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+diff -Nru a/sound/isa/sscape.c b/sound/isa/sscape.c
+--- a/sound/isa/sscape.c	2005-01-22 23:15:48 -08:00
++++ b/sound/isa/sscape.c	2005-01-22 23:15:48 -08:00
+@@ -487,7 +487,7 @@
+ 		 * the userspace pointer ...
+ 		 */
+ 		len = min(size, dma.bytes);
+-		__copy_from_user(dma.area, data, len);
++		len -= __copy_from_user(dma.area, data, len);
+ 		data += len;
+ 		size -= len;
+ 
+@@ -571,9 +571,9 @@
+ 		if (data < 0) {
+ 			snd_printk(KERN_ERR "sscape: timeout reading firmware version\n");
+ 			ret = -EAGAIN;
+-		} else {
+-			if (__copy_to_user(&bb->version, &data, sizeof(bb->version)))
+-				ret = -EFAULT;
++		}
++		else if (__copy_to_user(&bb->version, &data, sizeof(bb->version))) {
++			ret = -EFAULT;
+ 		}
+ 	}
+ 
+@@ -592,7 +592,7 @@
+ {
+ 	unsigned long flags;
+ 	char __user *code;
+-	int err, ret;
++	int err;
+ 
+ 	/*
+ 	 * We are going to have to copy this data into a special
+@@ -602,12 +602,11 @@
+ 	 * NOTE: This buffer is 64K long! That's WAY too big to
+ 	 *       copy into a stack-temporary anyway.
+ 	 */
+-	if (get_user(code, &mc->code))
++	if ( get_user(code, &mc->code) ||
++	     !access_ok(VERIFY_READ, code, SSCAPE_MICROCODE_SIZE) )
+ 		return -EFAULT;
+-	if ((err = verify_area(VERIFY_READ, code, SSCAPE_MICROCODE_SIZE)) != 0)
+-		return err;
+ 
+-	if ((ret = upload_dma_data(sscape, code, SSCAPE_MICROCODE_SIZE)) == 0) {
++	if ((err = upload_dma_data(sscape, code, SSCAPE_MICROCODE_SIZE)) == 0) {
+ 		snd_printk(KERN_INFO "sscape: MIDI firmware loaded\n");
+ 	}
+ 
+@@ -617,7 +616,7 @@
+ 
+ 	initialise_mpu401(sscape->mpu);
+ 
+-	return ret;
++	return err;
+ }
+ 
+ /*
+@@ -674,14 +673,14 @@
+ 			 * DMA-able buffer before we can upload it. We shall therefore
+ 			 * just check that the data pointer is valid for now ...
+ 			 */
+-			if ((err = verify_area(VERIFY_READ, bb->code, sizeof(bb->code))) != 0)
+-				return err;
++			if ( !access_ok(VERIFY_READ, bb->code, sizeof(bb->code)) )
++				return -EFAULT;
+ 
+ 			/*
+ 			 * Now check that we can write the firmware version number too...
+ 			 */
+-			if ((err = verify_area(VERIFY_WRITE, &bb->version, sizeof(bb->version))) != 0)
+-				return err;
++			if ( !access_ok(VERIFY_WRITE, &bb->version, sizeof(bb->version)) )
++				return -EFAULT;
+ 
+ 			err = sscape_upload_bootblock(sscape, bb);
+ 		}

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/070-alsa_rme9652_hdsp_get_autosync.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/070-alsa_rme9652_hdsp_get_autosync.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/070-alsa_rme9652_hdsp_get_autosync.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,54 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [ALSA] Fix invalid 'AutoSync Reference' value
+## DP: Patch author: perex@suse.cz
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/03 11:28:17+01:00 perex@suse.cz 
+#   [ALSA] Fix invalid 'AutoSync Reference' value
+#   
+#   RME HDSP driver
+#   The value returned by controllers for control number 14 ('AutoSync
+#   Reference') is incorrect and different from that reported by doing
+#   a cat /proc/asound/card0/hdsp.
+#   The value reported is not 'AutoSync Reference' but 'Preferred Sync
+#   Reference' instead.
+#   
+#   Signed-off-by: Remy Bruno <remy.bruno@trinnov.com>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/rme9652/hdsp.c
+#   2004/12/21 10:59:41+01:00 perex@suse.cz +1 -1
+#   [ALSA] Fix invalid 'AutoSync Reference' value
+#   
+#   D:2004/12/21 17:59:41
+#   C:RME HDSP driver
+#   F:pci/rme9652/hdsp.c:1.76->1.77 
+#   L:The value returned by controllers for control number 14 ('AutoSync
+#   L:Reference') is incorrect and different from that reported by doing
+#   L:a cat /proc/asound/card0/hdsp.
+#   L:The value reported is not 'AutoSync Reference' but 'Preferred Sync
+#   L:Reference' instead.
+#   Signed-off-by: Remy Bruno <remy.bruno@trinnov.com>
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+diff -Nru a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
+--- a/sound/pci/rme9652/hdsp.c	2005-01-22 21:54:51 -08:00
++++ b/sound/pci/rme9652/hdsp.c	2005-01-22 21:54:51 -08:00
+@@ -2729,7 +2729,7 @@
+ {
+ 	hdsp_t *hdsp = snd_kcontrol_chip(kcontrol);
+ 	
+-	ucontrol->value.enumerated.item[0] = hdsp_pref_sync_ref(hdsp);
++	ucontrol->value.enumerated.item[0] = hdsp_autosync_ref(hdsp);
+ 	return 0;
+ }
+ 

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/071-alsa_creation_order_fixes.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/071-alsa_creation_order_fixes.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/071-alsa_creation_order_fixes.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,663 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [ALSA] Fix the order of creation of instances
+## DP: Patch author: perex@suse.cz
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/03 14:14:10+01:00 perex@suse.cz 
+#   [ALSA] Fix the order of creation of instances
+#   
+#   AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   NM256 driver,Trident driver,YMFPCI driver
+#   Make sure that the chip instance is created at first before other components.
+#   This will fix occasional oops at unloading due to the access to the released
+#   resources.
+#   
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/azt3328.c
+#   2005/01/03 04:45:31+01:00 perex@suse.cz +4 -4
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/cmipci.c
+#   2005/01/03 04:45:31+01:00 perex@suse.cz +11 -14
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/cs4281.c
+#   2005/01/03 04:45:31+01:00 perex@suse.cz +4 -4
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/cs46xx/cs46xx_lib.c
+#   2005/01/03 04:45:32+01:00 perex@suse.cz +4 -4
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/ens1370.c
+#   2005/01/03 04:45:32+01:00 perex@suse.cz +2 -1
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/korg1212/korg1212.c
+#   2005/01/03 04:45:32+01:00 perex@suse.cz +8 -14
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/maestro3.c
+#   2005/01/03 04:45:32+01:00 perex@suse.cz +13 -19
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/nm256/nm256.c
+#   2005/01/03 04:45:32+01:00 perex@suse.cz +6 -6
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/sonicvibes.c
+#   2005/01/03 04:45:32+01:00 perex@suse.cz +2 -1
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/trident/trident_main.c
+#   2005/01/03 04:45:32+01:00 perex@suse.cz +5 -7
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+# sound/pci/ymfpci/ymfpci_main.c
+#   2005/01/03 04:45:33+01:00 perex@suse.cz +2 -2
+#   [ALSA] Fix the order of creation of instances
+#   
+#   D:2005/01/03 11:45:31
+#   C:AZT3328 driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
+#   C:Maestro3 driver,SonicVibes driver,CS46xx driver,KORG1212 driver
+#   C:NM256 driver,Trident driver,YMFPCI driver
+#   F:pci/azt3328.c:1.23->1.24 
+#   F:pci/cmipci.c:1.76->1.77 
+#   F:pci/cs4281.c:1.68->1.69 
+#   F:pci/ens1370.c:1.73->1.74 
+#   F:pci/maestro3.c:1.67->1.68 
+#   F:pci/sonicvibes.c:1.44->1.45 
+#   F:pci/cs46xx/cs46xx_lib.c:1.92->1.93 
+#   F:pci/korg1212/korg1212.c:1.52->1.53 
+#   F:pci/nm256/nm256.c:1.57->1.58 
+#   F:pci/trident/trident_main.c:1.68->1.69 
+#   F:pci/ymfpci/ymfpci_main.c:1.63->1.64 
+#   L:Make sure that the chip instance is created at first before other components.
+#   L:This will fix occasional oops at unloading due to the access to the released
+#   L:resources.
+#   Signed-off-by: Takashi Iwai <tiwai@suse.de>
+# 
+diff -Nru a/sound/pci/azt3328.c b/sound/pci/azt3328.c
+--- a/sound/pci/azt3328.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/azt3328.c	2005-01-22 23:23:00 -08:00
+@@ -1344,14 +1344,14 @@
+ 	for (tmp=0; tmp <= 0x01; tmp += 1)
+ 		snd_azf3328_dbgmisc("0x%02x: opl 0x%04x, mpu300 0x%04x, mpu310 0x%04x, mpu320 0x%04x, mpu330 0x%04x\n", tmp, inb(0x388 + tmp), inb(0x300 + tmp), inb(0x310 + tmp), inb(0x320 + tmp), inb(0x330 + tmp));
+ 
+-	/* create mixer interface & switches */
+-	if ((err = snd_azf3328_mixer_new(chip)) < 0)
+-		return err;
+-
+ 	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) {
+ 		snd_azf3328_free(chip);
+ 		return err;
+ 	}
++
++	/* create mixer interface & switches */
++	if ((err = snd_azf3328_mixer_new(chip)) < 0)
++		return err;
+ 
+ #if 0
+ 	/* set very low bitrate to reduce noise and power consumption? */
+diff -Nru a/sound/pci/cmipci.c b/sound/pci/cmipci.c
+--- a/sound/pci/cmipci.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/cmipci.c	2005-01-22 23:23:00 -08:00
+@@ -2608,8 +2608,8 @@
+ 
+ 	if (request_irq(pci->irq, snd_cmipci_interrupt, SA_INTERRUPT|SA_SHIRQ, card->driver, (void *)cm)) {
+ 		snd_printk("unable to grab IRQ %d\n", pci->irq);
+-		err = -EBUSY;
+-		goto __error;
++		snd_cmipci_free(cm);
++		return -EBUSY;
+ 	}
+ 	cm->irq = pci->irq;
+ 
+@@ -2662,6 +2662,11 @@
+ 		break;
+ 	}
+ 
++	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, cm, &ops)) < 0) {
++		snd_cmipci_free(cm);
++		return err;
++	}
++
+ 	/* set MPU address */
+ 	switch (iomidi) {
+ 	case 0x320: val = CM_VMPU_320; break;
+@@ -2717,22 +2722,22 @@
+ 	/* create pcm devices */
+ 	pcm_index = pcm_spdif_index = 0;
+ 	if ((err = snd_cmipci_pcm_new(cm, pcm_index)) < 0)
+-		goto __error;
++		return err;
+ 	pcm_index++;
+ 	if (cm->has_dual_dac) {
+ 		if ((err = snd_cmipci_pcm2_new(cm, pcm_index)) < 0)
+-			goto __error;
++			return err;
+ 		pcm_index++;
+ 	}
+ 	if (cm->can_ac3_hw || cm->can_ac3_sw) {
+ 		pcm_spdif_index = pcm_index;
+ 		if ((err = snd_cmipci_pcm_spdif_new(cm, pcm_index)) < 0)
+-			goto __error;
++			return err;
+ 	}
+ 
+ 	/* create mixer interface & switches */
+ 	if ((err = snd_cmipci_mixer_new(cm, pcm_spdif_index)) < 0)
+-		goto __error;
++		return err;
+ 
+ 	if (iomidi > 0) {
+ 		if ((err = snd_mpu401_uart_new(card, 0, MPU401_HW_CMIPCI,
+@@ -2742,10 +2747,6 @@
+ 		}
+ 	}
+ 
+-	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, cm, &ops)) < 0) {
+-		snd_cmipci_free(cm);
+-		return err;
+-	}
+ #ifdef USE_VAR48KRATE
+ 	for (val = 0; val < ARRAY_SIZE(rates); val++)
+ 		snd_cmipci_set_pll(cm, rates[val], val);
+@@ -2785,10 +2786,6 @@
+ 
+ 	*rcmipci = cm;
+ 	return 0;
+-
+- __error:
+-	snd_cmipci_free(cm);
+-	return err;
+ }
+ 
+ /*
+diff -Nru a/sound/pci/cs4281.c b/sound/pci/cs4281.c
+--- a/sound/pci/cs4281.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/cs4281.c	2005-01-22 23:23:00 -08:00
+@@ -1439,14 +1439,14 @@
+ 		return tmp;
+ 	}
+ 
+-	snd_cs4281_proc_init(chip);
+-
+-	snd_card_set_pm_callback(card, cs4281_suspend, cs4281_resume, chip);
+-
+ 	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) {
+ 		snd_cs4281_free(chip);
+ 		return err;
+ 	}
++
++	snd_cs4281_proc_init(chip);
++
++	snd_card_set_pm_callback(card, cs4281_suspend, cs4281_resume, chip);
+ 
+ 	snd_card_set_dev(card, &pci->dev);
+ 
+diff -Nru a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c
+--- a/sound/pci/cs46xx/cs46xx_lib.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/cs46xx/cs46xx_lib.c	2005-01-22 23:23:00 -08:00
+@@ -3909,15 +3909,15 @@
+ 		return err;
+ 	}
+ 
+-	snd_cs46xx_proc_init(card, chip);
+-
+-	snd_card_set_pm_callback(card, snd_cs46xx_suspend, snd_cs46xx_resume, chip);
+-
+ 	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) {
+ 		snd_cs46xx_free(chip);
+ 		return err;
+ 	}
+ 	
++	snd_cs46xx_proc_init(card, chip);
++
++	snd_card_set_pm_callback(card, snd_cs46xx_suspend, snd_cs46xx_resume, chip);
++
+ 	chip->active_ctrl(chip, -1); /* disable CLKRUN */
+ 
+ 	snd_card_set_dev(card, &pci->dev);
+diff -Nru a/sound/pci/ens1370.c b/sound/pci/ens1370.c
+--- a/sound/pci/ens1370.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/ens1370.c	2005-01-22 23:23:00 -08:00
+@@ -1924,7 +1924,6 @@
+ 	ensoniq->subsystem_vendor_id = cmdw;
+ 	pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &cmdw);
+ 	ensoniq->subsystem_device_id = cmdw;
+-	snd_ensoniq_proc_init(ensoniq);
+ #ifdef CHIP1370
+ #if 0
+ 	ensoniq->ctrl = ES_1370_CDC_EN | ES_1370_SERR_DISABLE | ES_1370_PCLKDIVO(ES_1370_SRTODIV(8000));
+@@ -2016,6 +2015,8 @@
+ 		snd_ensoniq_free(ensoniq);
+ 		return err;
+ 	}
++
++	snd_ensoniq_proc_init(ensoniq);
+ 
+ 	snd_card_set_dev(card, &pci->dev);
+ 
+diff -Nru a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c
+--- a/sound/pci/korg1212/korg1212.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/korg1212/korg1212.c	2005-01-22 23:23:00 -08:00
+@@ -2412,14 +2412,17 @@
+ 	if (rc) K1212_DEBUG_PRINTK("K1212_DEBUG: Reboot Card - RC = %d [%s]\n", rc, stateName[korg1212->cardState]);
+ #endif
+ 
++        if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, korg1212, &ops)) < 0) {
++                snd_korg1212_free(korg1212);
++                return err;
++        }
++        
+ 	snd_korg1212_EnableCardInterrupts(korg1212);
+ 
+ 	mdelay(CARD_BOOT_DELAY_IN_MS);
+ 
+-        if (snd_korg1212_downloadDSPCode(korg1212)) {
+-                snd_korg1212_free(korg1212);
++        if (snd_korg1212_downloadDSPCode(korg1212))
+         	return -EBUSY;
+-	}
+ 
+ 	printk(KERN_INFO "dspMemPhy       = %08x U[%08x]\n"
+                "PlayDataPhy     = %08x L[%08x]\n"
+@@ -2434,10 +2437,8 @@
+                korg1212->RoutingTablePhy, LowerWordSwap(korg1212->RoutingTablePhy),
+                korg1212->AdatTimeCodePhy, LowerWordSwap(korg1212->AdatTimeCodePhy));
+ 
+-        if ((err = snd_pcm_new(korg1212->card, "korg1212", 0, 1, 1, &korg1212->pcm)) < 0) {
+-                snd_korg1212_free(korg1212);
++        if ((err = snd_pcm_new(korg1212->card, "korg1212", 0, 1, 1, &korg1212->pcm)) < 0)
+                 return err;
+-	}
+ 
+ 	korg1212->pcm->private_data = korg1212;
+         korg1212->pcm->private_free = snd_korg1212_free_pcm;
+@@ -2454,18 +2455,11 @@
+ 
+         for (i = 0; i < ARRAY_SIZE(snd_korg1212_controls); i++) {
+                 err = snd_ctl_add(korg1212->card, snd_ctl_new1(&snd_korg1212_controls[i], korg1212));
+-                if (err < 0) {
+-			snd_korg1212_free(korg1212);
++                if (err < 0)
+                         return err;
+-		}
+         }
+ 
+         snd_korg1212_proc_init(korg1212);
+-        
+-        if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, korg1212, &ops)) < 0) {
+-                snd_korg1212_free(korg1212);
+-                return err;
+-        }
+         
+ 	snd_card_set_dev(card, &pci->dev);
+ 
+diff -Nru a/sound/pci/maestro3.c b/sound/pci/maestro3.c
+--- a/sound/pci/maestro3.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/maestro3.c	2005-01-22 23:23:00 -08:00
+@@ -2564,26 +2564,7 @@
+ 
+ 	snd_m3_assp_init(chip);
+ 	snd_m3_amp_enable(chip, 1);
+-    
+-	if ((err = snd_m3_mixer(chip)) < 0) {
+-		snd_m3_free(chip);
+-		return err;
+-	}
+ 
+-	for (i = 0; i < chip->num_substreams; i++) {
+-		m3_dma_t *s = &chip->substreams[i];
+-		s->chip = chip;
+-		if ((err = snd_m3_assp_client_init(chip, s, i)) < 0) {
+-			snd_m3_free(chip);
+-			return err;
+-		}
+-	}
+-    
+-	if ((err = snd_m3_pcm(chip, 0)) < 0) {
+-		snd_m3_free(chip);
+-		return err;
+-	}
+-    
+ 	if (request_irq(pci->irq, snd_m3_interrupt, SA_INTERRUPT|SA_SHIRQ,
+ 			card->driver, (void *)chip)) {
+ 		snd_printk("unable to grab IRQ %d\n", pci->irq);
+@@ -2605,6 +2586,19 @@
+ 		return err;
+ 	}
+ 
++	if ((err = snd_m3_mixer(chip)) < 0)
++		return err;
++
++	for (i = 0; i < chip->num_substreams; i++) {
++		m3_dma_t *s = &chip->substreams[i];
++		s->chip = chip;
++		if ((err = snd_m3_assp_client_init(chip, s, i)) < 0)
++			return err;
++	}
++
++	if ((err = snd_m3_pcm(chip, 0)) < 0)
++		return err;
++    
+ 	snd_m3_enable_ints(chip);
+ 	snd_m3_assp_continue(chip);
+ 
+diff -Nru a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c
+--- a/sound/pci/nm256/nm256.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/nm256/nm256.c	2005-01-22 23:23:00 -08:00
+@@ -1486,12 +1486,6 @@
+ 
+ 	snd_nm256_init_chip(chip);
+ 
+-	if ((err = snd_nm256_pcm(chip, 0)) < 0)
+-		goto __error;
+-	
+-	if ((err = snd_nm256_mixer(chip)) < 0)
+-		goto __error;
+-
+ 	// pci_set_master(pci); /* needed? */
+ 	
+ 	snd_card_set_pm_callback(card, nm256_suspend, nm256_resume, chip);
+@@ -1610,6 +1604,12 @@
+ 	if (reset_workaround[dev]) {
+ 		snd_printdd(KERN_INFO "nm256: reset_workaround activated\n");
+ 		chip->reset_workaround = 1;
++	}
++
++	if ((err = snd_nm256_pcm(chip, 0)) < 0 ||
++	    (err = snd_nm256_mixer(chip)) < 0) {
++		snd_card_free(card);
++		return err;
+ 	}
+ 
+ 	sprintf(card->shortname, "NeoMagic %s", card->driver);
+diff -Nru a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c
+--- a/sound/pci/sonicvibes.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/sonicvibes.c	2005-01-22 23:23:00 -08:00
+@@ -1333,12 +1333,13 @@
+ #endif
+ 	sonic->revision = snd_sonicvibes_in(sonic, SV_IREG_REVISION);
+ 	snd_ctl_add(card, snd_ctl_new1(&snd_sonicvibes_game_control, sonic));
+-	snd_sonicvibes_proc_init(sonic);
+ 
+ 	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, sonic, &ops)) < 0) {
+ 		snd_sonicvibes_free(sonic);
+ 		return err;
+ 	}
++
++	snd_sonicvibes_proc_init(sonic);
+ 
+ 	snd_card_set_dev(card, &pci->dev);
+ 
+diff -Nru a/sound/pci/trident/trident_main.c b/sound/pci/trident/trident_main.c
+--- a/sound/pci/trident/trident_main.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/trident/trident_main.c	2005-01-22 23:23:00 -08:00
+@@ -3614,10 +3614,13 @@
+ 		return err;
+ 	}
+ 
+-	if ((err = snd_trident_mixer(trident, pcm_spdif_device)) < 0) {
++	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, trident, &ops)) < 0) {
+ 		snd_trident_free(trident);
+ 		return err;
+ 	}
++
++	if ((err = snd_trident_mixer(trident, pcm_spdif_device)) < 0)
++		return err;
+ 	
+ 	/* initialise synth voices */
+ 	for (i = 0; i < 64; i++) {
+@@ -3638,12 +3641,7 @@
+ 
+ 	
+ 	snd_card_set_pm_callback(card, snd_trident_suspend, snd_trident_resume, trident);
+-
+ 	snd_trident_proc_init(trident);
+-	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, trident, &ops)) < 0) {
+-		snd_trident_free(trident);
+-		return err;
+-	}
+ 	snd_card_set_dev(card, &pci->dev);
+ 	*rtrident = trident;
+ 	return 0;
+@@ -3653,7 +3651,7 @@
+    snd_trident_free
+   
+    Description: This routine will free the device specific class for
+-            q    the 4DWave card. 
++                the 4DWave card. 
+                 
+    Paramters:   trident  - device specific private data for 4DWave card
+ 
+diff -Nru a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c
+--- a/sound/pci/ymfpci/ymfpci_main.c	2005-01-22 23:23:00 -08:00
++++ b/sound/pci/ymfpci/ymfpci_main.c	2005-01-22 23:23:00 -08:00
+@@ -2266,12 +2266,12 @@
+ 	snd_card_set_pm_callback(card, snd_ymfpci_suspend, snd_ymfpci_resume, chip);
+ #endif
+ 
+-	snd_ymfpci_proc_init(card, chip);
+-
+ 	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) {
+ 		snd_ymfpci_free(chip);
+ 		return err;
+ 	}
++
++	snd_ymfpci_proc_init(card, chip);
+ 
+ 	snd_card_set_dev(card, &pci->dev);
+ 

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/072-sctp_do_bind_random_port.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/072-sctp_do_bind_random_port.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/072-sctp_do_bind_random_port.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,46 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [SCTP] Fix bug in setting ephemeral port in the bind address.
+## DP: Patch author: sri@us.ibm.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2004/12/28 17:04:30-08:00 sri@us.ibm.com 
+#   [SCTP] Fix bug in setting ephemeral port in the bind address.
+#   
+#   Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
+# 
+# net/sctp/socket.c
+#   2004/12/28 17:04:18-08:00 sri@us.ibm.com +2 -4
+#   [SCTP] Fix bug in setting ephemeral port in the bind address.
+# 
+diff -Nru a/net/sctp/socket.c b/net/sctp/socket.c
+--- a/net/sctp/socket.c	2005-01-22 23:21:40 -08:00
++++ b/net/sctp/socket.c	2005-01-22 23:21:40 -08:00
+@@ -343,8 +343,8 @@
+ 	}
+ 
+ 	/* Refresh ephemeral port.  */
+-	if (!snum)
+-		snum = inet_sk(sk)->num;
++	if (!bp->port)
++		bp->port = inet_sk(sk)->num;
+ 
+ 	/* Add the address to the bind address list.  */
+ 	sctp_local_bh_disable();
+@@ -354,8 +354,6 @@
+ 	addr->v4.sin_port = ntohs(addr->v4.sin_port);
+ 	ret = sctp_add_bind_addr(bp, addr, GFP_ATOMIC);
+ 	addr->v4.sin_port = htons(addr->v4.sin_port);
+-	if (!ret && !bp->port)
+-		bp->port = snum;
+ 	sctp_write_unlock(&ep->base.addr_lock);
+ 	sctp_local_bh_enable();
+ 

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/073-usb_gadget_serial_free_ports.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/073-usb_gadget_serial_free_ports.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/073-usb_gadget_serial_free_ports.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,43 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] USB: fix serial gadget oops during enumeration
+## DP: Patch author: david-b@pacbell.net
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/06 17:27:58-08:00 david-b@pacbell.net 
+#   [PATCH] USB: fix serial gadget oops during enumeration
+#   
+#   This prevents the serial gadget driver from oopsing during enumeration
+#   when spinlocks are configured, and slab poisoning is active...
+#   
+#   Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
+#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
+# 
+# drivers/usb/gadget/serial.c
+#   2005/01/06 12:29:34-08:00 david-b@pacbell.net +1 -1
+#   USB: fix serial gadget oops during enumeration
+# 
+diff -Nru a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c
+--- a/drivers/usb/gadget/serial.c	2005-01-22 21:43:13 -08:00
++++ b/drivers/usb/gadget/serial.c	2005-01-22 21:43:13 -08:00
+@@ -2322,11 +2322,11 @@
+ 					wake_up_interruptible(&port->port_tty->read_wait);
+ 					wake_up_interruptible(&port->port_tty->write_wait);
+ 				}
++				spin_unlock_irqrestore(&port->port_lock, flags);
+ 			} else {
+ 				kfree(port);
+ 			}
+ 
+-			spin_unlock_irqrestore(&port->port_lock, flags);
+ 		}
+ 	}
+ }

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/074-usb_makefile_fixes.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/074-usb_makefile_fixes.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/074-usb_makefile_fixes.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,46 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] USB: usb makefile tweaks
+## DP: Patch author: david-b@pacbell.net
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/07 08:46:29-08:00 david-b@pacbell.net 
+#   [PATCH] USB: usb makefile tweaks
+#   
+#   Two minor Makefile fixes, catching up to some driver removals.
+#   
+#   Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
+#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
+# 
+# drivers/usb/Makefile
+#   2005/01/05 12:21:54-08:00 david-b@pacbell.net +1 -2
+#   USB: usb makefile tweaks
+# 
+diff -Nru a/drivers/usb/Makefile b/drivers/usb/Makefile
+--- a/drivers/usb/Makefile	2005-01-22 21:15:50 -08:00
++++ b/drivers/usb/Makefile	2005-01-22 21:15:50 -08:00
+@@ -9,7 +9,7 @@
+ obj-$(CONFIG_USB_EHCI_HCD)	+= host/
+ obj-$(CONFIG_USB_OHCI_HCD)	+= host/
+ obj-$(CONFIG_USB_UHCI_HCD)	+= host/
+-obj-$(CONFIG_USB_SL811HS)	+= host/
++obj-$(CONFIG_USB_SL811_HCD)	+= host/
+ obj-$(CONFIG_ETRAX_USB_HOST)	+= host/
+ 
+ obj-$(CONFIG_USB_ACM)		+= class/
+@@ -49,7 +49,6 @@
+ obj-$(CONFIG_USB_RTL8150)	+= net/
+ obj-$(CONFIG_USB_USBNET)	+= net/
+ 
+-obj-$(CONFIG_USB_DC2XX)		+= image/
+ obj-$(CONFIG_USB_HPUSBSCSI)	+= image/
+ obj-$(CONFIG_USB_MDC800)	+= image/
+ obj-$(CONFIG_USB_MICROTEK)	+= image/

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/075-acpiphp_ibm_module_parm_perm.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/075-acpiphp_ibm_module_parm_perm.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/075-acpiphp_ibm_module_parm_perm.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,39 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] hotplug/acpiphp_ibm: module_param fix
+## DP: Patch author: domen@coderock.org
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/07 10:32:39-08:00 domen@coderock.org 
+#   [PATCH] hotplug/acpiphp_ibm: module_param fix
+#   
+#   File permissins should be octal number.
+#   
+#   
+#   Signed-off-by: Domen Puncer <domen@coderock.org>
+#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
+# 
+# drivers/pci/hotplug/acpiphp_ibm.c
+#   2004/12/29 01:48:10-08:00 domen@coderock.org +1 -1
+#   hotplug/acpiphp_ibm: module_param fix
+# 
+diff -Nru a/drivers/pci/hotplug/acpiphp_ibm.c b/drivers/pci/hotplug/acpiphp_ibm.c
+--- a/drivers/pci/hotplug/acpiphp_ibm.c	2005-01-22 22:58:50 -08:00
++++ b/drivers/pci/hotplug/acpiphp_ibm.c	2005-01-22 22:58:50 -08:00
+@@ -47,7 +47,7 @@
+ MODULE_DESCRIPTION(DRIVER_DESC);
+ MODULE_LICENSE("GPL");
+ MODULE_VERSION(DRIVER_VERSION);
+-module_param(debug, bool, 644);
++module_param(debug, bool, 0644);
+ MODULE_PARM_DESC(debug, " Debugging mode enabled or not");
+ #define MY_NAME "acpiphp_ibm"
+ 

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/076-i2c_ali1563_devinit_fixes.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/076-i2c_ali1563_devinit_fixes.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/076-i2c_ali1563_devinit_fixes.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,67 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] i2c-ali1563: fix init & exit section usage
+## DP: Patch author: rddunlap@osdl.org
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/07 11:16:13-08:00 rddunlap@osdl.org 
+#   [PATCH] i2c-ali1563: fix init & exit section usage
+#   
+#   Fix init & exit section usages, beginning with this diagnostic
+#   from reference_discarded.pl (make buildcheck):
+#   Error: ./drivers/i2c/busses/i2c-ali1563.o .data refers to 00000278 R_386_32          .exit.text
+#   
+#   Signed-off-by: Randy Dunlap <rddunlap@osdl.org>
+#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
+# 
+# drivers/i2c/busses/i2c-ali1563.c
+#   2005/01/06 21:42:07-08:00 rddunlap@osdl.org +4 -4
+#   i2c-ali1563: fix init & exit section usage
+# 
+diff -Nru a/drivers/i2c/busses/i2c-ali1563.c b/drivers/i2c/busses/i2c-ali1563.c
+--- a/drivers/i2c/busses/i2c-ali1563.c	2005-01-22 23:45:29 -08:00
++++ b/drivers/i2c/busses/i2c-ali1563.c	2005-01-22 23:45:29 -08:00
+@@ -306,7 +306,7 @@
+ 	pci_write_config_word(dev,ALI1563_SMBBA,ctrl);
+ }
+ 
+-static int __init ali1563_setup(struct pci_dev * dev)
++static int __devinit ali1563_setup(struct pci_dev * dev)
+ {
+ 	u16 ctrl;
+ 
+@@ -362,7 +362,7 @@
+ 	.algo	= &ali1563_algorithm,
+ };
+ 
+-static int __init ali1563_probe(struct pci_dev * dev,
++static int __devinit ali1563_probe(struct pci_dev * dev,
+ 				const struct pci_device_id * id_table)
+ {
+ 	int error;
+@@ -378,7 +378,7 @@
+ 	return error;
+ }
+ 
+-static void __exit ali1563_remove(struct pci_dev * dev)
++static void __devexit ali1563_remove(struct pci_dev * dev)
+ {
+ 	i2c_del_adapter(&ali1563_adapter);
+ 	ali1563_shutdown(dev);
+@@ -395,7 +395,7 @@
+  	.name		= "ali1563_i2c",
+ 	.id_table	= ali1563_id_table,
+  	.probe		= ali1563_probe,
+-	.remove		= ali1563_remove,
++	.remove		= __devexit_p(ali1563_remove),
+ };
+ 
+ static int __init ali1563_init(void)

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/077-ext3_journal_abort_handle_silence.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/077-ext3_journal_abort_handle_silence.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/077-ext3_journal_abort_handle_silence.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,64 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] ext3: cleanup handling of aborted transactions.
+## DP: Patch author: sct@redhat.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/04 21:27:23-08:00 sct@redhat.com 
+#   [PATCH] ext3: cleanup handling of aborted transactions.
+#   
+#   This patch improves ext3's error logging when we encounter an on-disk
+#   corruption.  Previously, a transaction (such as a truncate) which encountered
+#   many corruptions (eg.  a single highly-corrupt indirect block) would emit
+#   copious "aborting transaction" errors to the log.
+#   
+#   Even worse, encountering an aborted journal can count as such an error,
+#   leading to a flood of spurious "aborting transaction: Journal has aborted"
+#   errors.
+#   
+#   With the fix, only emit that message on the first error.  The patch also
+#   restores a missing \n in that printk path.
+#   
+#   Signed-off-by: Stephen Tweedie <sct@redhat.com>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# fs/ext3/super.c
+#   2005/01/04 20:24:30-08:00 sct@redhat.com +9 -4
+#   ext3: cleanup handling of aborted transactions.
+# 
+diff -Nru a/fs/ext3/super.c b/fs/ext3/super.c
+--- a/fs/ext3/super.c	2005-01-22 22:55:48 -08:00
++++ b/fs/ext3/super.c	2005-01-22 22:55:48 -08:00
+@@ -108,14 +108,19 @@
+ 	char nbuf[16];
+ 	const char *errstr = ext3_decode_error(NULL, err, nbuf);
+ 
+-	printk(KERN_ERR "%s: aborting transaction: %s in %s", 
+-	       caller, errstr, err_fn);
+-
+ 	if (bh)
+ 		BUFFER_TRACE(bh, "abort");
+-	journal_abort_handle(handle);
++
+ 	if (!handle->h_err)
+ 		handle->h_err = err;
++
++	if (is_handle_aborted(handle))
++		return;
++
++	printk(KERN_ERR "%s: aborting transaction: %s in %s\n",
++	       caller, errstr, err_fn);
++
++	journal_abort_handle(handle);
+ }
+ 
+ /* Deal with the reporting of failure conditions on a filesystem such as

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/078-jbd_journal_revoke_graceful_double_delete.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/078-jbd_journal_revoke_graceful_double_delete.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/078-jbd_journal_revoke_graceful_double_delete.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,59 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] ext3: handle attempted double-delete of metadata.
+## DP: Patch author: sct@redhat.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/04 21:27:49-08:00 sct@redhat.com 
+#   [PATCH] ext3: handle attempted double-delete of metadata.
+#   
+#   This patch improves ext3's ability to deal with corruption on-disk.  If we
+#   try to delete a metadata block twice, we confuse ext3's internal revoke
+#   error-checking, resulting in a BUG().  But this can occur in practice due
+#   to a corrupt indirect block, so we should attempt to fail gracefully.
+#   
+#   Downgrade the assert failure to a JH_EXPECT_BH failure, and return EIO when
+#   it occurs.
+#   
+#   This is easily reproduced with a sample ext3 fs image containing an inode
+#   which references the same indirect block more than once.  Deleting that
+#   inode will BUG() an unfixed kernel with:
+#   
+#   Assertion failure in journal_revoke() at fs/jbd/revoke.c:379:
+#   "!buffer_revoked(bh)"
+#   
+#   With the fix, ext3 recovers gracefully.
+#   
+#   Signed-off-by: Stephen Tweedie <sct@redhat.com>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# fs/jbd/revoke.c
+#   2005/01/04 18:48:12-08:00 sct@redhat.com +6 -1
+#   ext3: handle attempted double-delete of metadata.
+# 
+diff -Nru a/fs/jbd/revoke.c b/fs/jbd/revoke.c
+--- a/fs/jbd/revoke.c	2005-01-22 22:56:39 -08:00
++++ b/fs/jbd/revoke.c	2005-01-22 22:56:39 -08:00
+@@ -376,7 +376,12 @@
+            first having the revoke cancelled: it's illegal to free a
+            block twice without allocating it in between! */
+ 	if (bh) {
+-		J_ASSERT_BH(bh, !buffer_revoked(bh));
++		if (!J_EXPECT_BH(bh, !buffer_revoked(bh),
++				 "inconsistent data on disk")) {
++			if (!bh_in)
++				brelse(bh);
++			return -EIO;
++		}
+ 		set_buffer_revoked(bh);
+ 		set_buffer_revokevalid(bh);
+ 		if (bh_in) {

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/079-i386_timer_resume_slowdown.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/079-i386_timer_resume_slowdown.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/079-i386_timer_resume_slowdown.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,46 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] time runx too fast after S3
+## DP: Patch author: shaohua.li@intel.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/04 21:28:15-08:00 shaohua.li@intel.com 
+#   [PATCH] time runx too fast after S3
+#   
+#   After resume from S3, 'date' shows time run too fast.
+#   
+#   Signed-off-by: Li Shaohua <shaohua.li@intel.com>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# arch/i386/kernel/time.c
+#   2005/01/04 18:48:13-08:00 shaohua.li@intel.com +3 -2
+#   time runx too fast after S3
+# 
+diff -Nru a/arch/i386/kernel/time.c b/arch/i386/kernel/time.c
+--- a/arch/i386/kernel/time.c	2005-01-22 22:57:24 -08:00
++++ b/arch/i386/kernel/time.c	2005-01-22 22:57:24 -08:00
+@@ -342,12 +342,13 @@
+ 		hpet_reenable();
+ #endif
+ 	sec = get_cmos_time() + clock_cmos_diff;
+-	sleep_length = get_cmos_time() - sleep_start;
++	sleep_length = (get_cmos_time() - sleep_start) * HZ;
+ 	write_seqlock_irqsave(&xtime_lock, flags);
+ 	xtime.tv_sec = sec;
+ 	xtime.tv_nsec = 0;
+ 	write_sequnlock_irqrestore(&xtime_lock, flags);
+-	jiffies += sleep_length * HZ;
++	jiffies += sleep_length;
++	wall_jiffies += sleep_length;
+ 	return 0;
+ }
+ 

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/080-kernel_sched_might_sleep_ignore_if_oopsed.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/080-kernel_sched_might_sleep_ignore_if_oopsed.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/080-kernel_sched_might_sleep_ignore_if_oopsed.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,41 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] suppress might_sleep() if oopsing
+## DP: Patch author: akpm@osdl.org
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/04 21:28:41-08:00 akpm@osdl.org 
+#   [PATCH] suppress might_sleep() if oopsing
+#   
+#   We can call might_sleep() functions on the oops handling path (under do_exit).
+#   
+#   There seem little point in emitting spurious might_sleep() warnings into the
+#   logs after the kernel has oopsed.
+#   
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# kernel/sched.c
+#   2005/01/04 20:24:26-08:00 akpm@osdl.org +1 -1
+#   suppress might_sleep() if oopsing
+# 
+diff -Nru a/kernel/sched.c b/kernel/sched.c
+--- a/kernel/sched.c	2005-01-22 22:57:56 -08:00
++++ b/kernel/sched.c	2005-01-22 22:57:56 -08:00
+@@ -4631,7 +4631,7 @@
+ 	static unsigned long prev_jiffy;	/* ratelimiting */
+ 
+ 	if ((in_atomic() || irqs_disabled()) &&
+-	    system_state == SYSTEM_RUNNING) {
++	    system_state == SYSTEM_RUNNING && !oops_in_progress) {
+ 		if (time_before(jiffies, prev_jiffy + HZ) && prev_jiffy)
+ 			return;
+ 		prev_jiffy = jiffies;

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/081-ia64_early_sn_setup_nested_loop.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/081-ia64_early_sn_setup_nested_loop.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/081-ia64_early_sn_setup_nested_loop.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,88 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [IA64] fix early SAL init for sn2
+## DP: Patch author: jbarnes@sgi.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/22 14:58:21-08:00 jbarnes@sgi.com 
+#   [IA64] fix early SAL init for sn2
+#   
+#   sn2 does early initialization of the SAL so it can use it for early console
+#   support.  Unfortunately, the loop to find the SAL entry point was buggy so
+#   when we tried out new EFI and SAL system table layouts, the loop didn't
+#   terminate.  Here's the fix (doh!, use two different loop counters instead of
+#   one and just return if we find the SAL entry point).
+#    
+#   Signed-off-by: Jesse Barnes <jbarnes@sgi.com>
+#   Signed-off-by: Tony Luck <tony.luck@intel.com>
+# 
+# arch/ia64/sn/kernel/setup.c
+#   2005/01/22 14:57:15-08:00 jbarnes@sgi.com +5 -4
+#   fix early SAL init for sn2
+# 
+# include/asm-ia64/sal.h
+#   2005/01/22 14:57:26-08:00 jbarnes@sgi.com +2 -0
+#   fix early SAL init for sn2
+# 
+diff -Nru a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c
+--- a/arch/ia64/sn/kernel/setup.c	2005-01-22 22:19:56 -08:00
++++ b/arch/ia64/sn/kernel/setup.c	2005-01-22 22:19:56 -08:00
+@@ -163,13 +163,12 @@
+ 
+ void __init early_sn_setup(void)
+ {
+-	void ia64_sal_handler_init(void *entry_point, void *gpval);
+ 	efi_system_table_t *efi_systab;
+ 	efi_config_table_t *config_tables;
+ 	struct ia64_sal_systab *sal_systab;
+ 	struct ia64_sal_desc_entry_point *ep;
+ 	char *p;
+-	int i;
++	int i, j;
+ 
+ 	/*
+ 	 * Parse enough of the SAL tables to locate the SAL entry point. Since, console
+@@ -185,19 +184,21 @@
+ 		    0) {
+ 			sal_systab = __va(config_tables[i].table);
+ 			p = (char *)(sal_systab + 1);
+-			for (i = 0; i < sal_systab->entry_count; i++) {
++			for (j = 0; j < sal_systab->entry_count; j++) {
+ 				if (*p == SAL_DESC_ENTRY_POINT) {
+ 					ep = (struct ia64_sal_desc_entry_point
+ 					      *)p;
+ 					ia64_sal_handler_init(__va
+ 							      (ep->sal_proc),
+ 							      __va(ep->gp));
+-					break;
++					return;
+ 				}
+ 				p += SAL_DESC_SIZE(*p);
+ 			}
+ 		}
+ 	}
++	/* Uh-oh, SAL not available?? */
++	printk(KERN_ERR "failed to find SAL entry point\n");
+ }
+ 
+ extern int platform_intr_list[];
+diff -Nru a/include/asm-ia64/sal.h b/include/asm-ia64/sal.h
+--- a/include/asm-ia64/sal.h	2005-01-22 22:19:56 -08:00
++++ b/include/asm-ia64/sal.h	2005-01-22 22:19:56 -08:00
+@@ -833,6 +833,8 @@
+ extern int ia64_sal_oemcall_reentrant(struct ia64_sal_retval *, u64, u64, u64,
+ 				      u64, u64, u64, u64, u64);
+ 
++extern void ia64_sal_handler_init(void *entry_point, void *gpval);
++
+ #endif /* __ASSEMBLY__ */
+ 
+ #endif /* _ASM_IA64_SAL_H */

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/082-ide_it8172_init_return_failure.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/082-ide_it8172_init_return_failure.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/082-ide_it8172_init_return_failure.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,48 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [ide] it8172: incorrect return from it8172_init_one()
+## DP: Patch author: bzolnier@trik.(none)
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2004/12/30 19:00:56+01:00 bzolnier@trik.(none) 
+#   [ide] it8172: incorrect return from it8172_init_one()
+#   
+#   From: Alan Cox <alan@lxorguk.ukuu.org.uk>
+#   
+#   Several IDE drivers return positive values as errors in the PCI setup
+#   code. Unfortunately the PCI layer considers positive values as success
+#   so the driver skips the device but still claims it and things then go
+#   downhill.
+#   
+#   This fixes the IT8172 driver.
+#   
+#   From: Francois Romieu <romieu@fr.zoreil.com>
+#   
+#   Use -ENODEV instead of -EAGAIN.
+#   
+#   Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
+# 
+# drivers/ide/pci/it8172.c
+#   2004/12/30 19:00:46+01:00 bzolnier@trik.(none) +1 -1
+#   [ide] it8172: incorrect return from it8172_init_one()
+# 
+diff -Nru a/drivers/ide/pci/it8172.c b/drivers/ide/pci/it8172.c
+--- a/drivers/ide/pci/it8172.c	2005-01-22 23:08:16 -08:00
++++ b/drivers/ide/pci/it8172.c	2005-01-22 23:08:16 -08:00
+@@ -270,7 +270,7 @@
+ {
+         if ((!(PCI_FUNC(dev->devfn) & 1) ||
+             (!((dev->class >> 8) == PCI_CLASS_STORAGE_IDE))))
+-                return 1; /* IT8172 is more than only a IDE controller */
++		return -ENODEV; /* IT8172 is more than an IDE controller */
+ 	ide_setup_pci_device(dev, &it8172_chipsets[id->driver_data]);
+ 	return 0;
+ }

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/083-x86_64_switch_mm_context_race.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/083-x86_64_switch_mm_context_race.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/083-x86_64_switch_mm_context_race.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,51 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] x86_64: fix flush race on context switch
+## DP: Patch author: ak@suse.de
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/21 07:58:54-08:00 ak@suse.de 
+#   [PATCH] x86_64: fix flush race on context switch
+#   
+#   Fix a long standing race in x86-64 SMP TLB handling.  When a mm is freed and
+#   another thread exits to a lazy TLB thread (like idle) the freed user page
+#   tables would be still kept loaded in the idle thread.  When an interrupt does
+#   a prefetch on NULL the CPU would try to follow it and read random data. 
+#   
+#   This could lead to machine checks on Opterons in some cases.
+#   
+#   Credit goes to some unnamed debugging wizards at AMD who described the
+#   problem.  All blame to me.  I did the fix based on their description.
+#   
+#   Signed-off-by: Andi Kleen <ak@suse.de>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# include/asm-x86_64/mmu_context.h
+#   2005/01/20 20:58:11-08:00 ak@suse.de +3 -2
+#   x86_64: fix flush race on context switch
+# 
+diff -Nru a/include/asm-x86_64/mmu_context.h b/include/asm-x86_64/mmu_context.h
+--- a/include/asm-x86_64/mmu_context.h	2005-01-22 21:36:29 -08:00
++++ b/include/asm-x86_64/mmu_context.h	2005-01-22 21:36:29 -08:00
+@@ -51,9 +51,10 @@
+ 			out_of_line_bug();
+ 		if(!test_and_set_bit(cpu, &next->cpu_vm_mask)) {
+ 			/* We were in lazy tlb mode and leave_mm disabled 
+-			 * tlb flush IPI delivery. We must flush our tlb.
++			 * tlb flush IPI delivery. We must reload CR3
++			 * to make sure to use no freed page tables.
+ 			 */
+-			local_flush_tlb();
++			asm volatile("movq %0,%%cr3" :: "r" (__pa(next->pgd)) : "memory");
+ 			load_LDT_nolock(&next->context, cpu);
+ 		}
+ 	}

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/084-smp_nmi_watchdog_race.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/084-smp_nmi_watchdog_race.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/084-smp_nmi_watchdog_race.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,140 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] i386/x86-64: Fix SMP NMI watchdog race
+## DP: Patch author: ak@suse.de
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/21 07:59:10-08:00 ak@suse.de 
+#   [PATCH] i386/x86-64: Fix SMP NMI watchdog race
+#   
+#   Fix SMP race in NMI watchdog on i386/x86-64
+#   
+#   Fix a long standing SMP Setup race in the NMI watchdog.  The watchdog would
+#   tick from very early and check if all CPUs increase their timer interrupts.
+#   For that it would check the cpu_online_map.  Now if a CPU took too long to
+#   boot the watchdog would trigger prematurely because the CPU didn't increase
+#   its timer count yet.
+#   
+#   Fix is to check cpu_callin_map instead of cpu_online_map because the first is
+#   only set when a CPU started its timer interrupt.
+#   
+#   I fixed it on i386 and x86-64.
+#   
+#   Description of the problem from Manpreet Singh. Thanks.
+#   
+#   Cc: <manpreet@fabric7.com>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# arch/i386/kernel/nmi.c
+#   2005/01/20 21:29:13-08:00 ak@suse.de +5 -1
+#   i386/x86-64: Fix SMP NMI watchdog race
+# 
+# arch/i386/kernel/smpboot.c
+#   2005/01/20 20:58:11-08:00 ak@suse.de +1 -1
+#   i386/x86-64: Fix SMP NMI watchdog race
+# 
+# arch/x86_64/kernel/nmi.c
+#   2005/01/20 21:29:11-08:00 ak@suse.de +5 -1
+#   i386/x86-64: Fix SMP NMI watchdog race
+# 
+# arch/x86_64/kernel/smpboot.c
+#   2005/01/20 20:58:11-08:00 ak@suse.de +1 -1
+#   i386/x86-64: Fix SMP NMI watchdog race
+# 
+# include/asm-i386/smp.h
+#   2005/01/20 20:58:11-08:00 ak@suse.de +1 -0
+#   i386/x86-64: Fix SMP NMI watchdog race
+# 
+# include/asm-x86_64/smp.h
+#   2005/01/20 20:58:11-08:00 ak@suse.de +1 -0
+#   i386/x86-64: Fix SMP NMI watchdog race
+# 
+diff -Nru a/arch/i386/kernel/nmi.c b/arch/i386/kernel/nmi.c
+--- a/arch/i386/kernel/nmi.c	2005-01-22 21:36:57 -08:00
++++ b/arch/i386/kernel/nmi.c	2005-01-22 21:36:57 -08:00
+@@ -117,8 +117,12 @@
+ 	/* FIXME: Only boot CPU is online at this stage.  Check CPUs
+            as they come up. */
+ 	for (cpu = 0; cpu < NR_CPUS; cpu++) {
+-		if (!cpu_online(cpu))
++#ifdef CONFIG_SMP
++		/* Check cpu_callin_map here because that is set
++		   after the timer is started. */
++		if (!cpu_isset(cpu, cpu_callin_map))
+ 			continue;
++#endif
+ 		if (nmi_count(cpu) - prev_nmi_count[cpu] <= 5) {
+ 			printk("CPU#%d: NMI appears to be stuck!\n", cpu);
+ 			nmi_active = 0;
+diff -Nru a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c
+--- a/arch/i386/kernel/smpboot.c	2005-01-22 21:36:57 -08:00
++++ b/arch/i386/kernel/smpboot.c	2005-01-22 21:36:57 -08:00
+@@ -66,7 +66,7 @@
+ /* bitmap of online cpus */
+ cpumask_t cpu_online_map;
+ 
+-static cpumask_t cpu_callin_map;
++cpumask_t cpu_callin_map;
+ cpumask_t cpu_callout_map;
+ static cpumask_t smp_commenced_mask;
+ 
+diff -Nru a/arch/x86_64/kernel/nmi.c b/arch/x86_64/kernel/nmi.c
+--- a/arch/x86_64/kernel/nmi.c	2005-01-22 21:36:57 -08:00
++++ b/arch/x86_64/kernel/nmi.c	2005-01-22 21:36:57 -08:00
+@@ -130,8 +130,12 @@
+ 	mdelay((10*1000)/nmi_hz); // wait 10 ticks
+ 
+ 	for (cpu = 0; cpu < NR_CPUS; cpu++) {
+-		if (!cpu_online(cpu))
++#ifdef CONFIG_SMP
++		/* Check cpu_callin_map here because that is set
++		   after the timer is started. */
++		if (!cpu_isset(cpu, cpu_callin_map))
+ 			continue;
++#endif
+ 		if (cpu_pda[cpu].__nmi_count - counts[cpu] <= 5) {
+ 			printk("CPU#%d: NMI appears to be stuck (%d)!\n", 
+ 			       cpu,
+diff -Nru a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c
+--- a/arch/x86_64/kernel/smpboot.c	2005-01-22 21:36:57 -08:00
++++ b/arch/x86_64/kernel/smpboot.c	2005-01-22 21:36:57 -08:00
+@@ -63,7 +63,7 @@
+ /* Bitmask of currently online CPUs */
+ cpumask_t cpu_online_map;
+ 
+-static cpumask_t cpu_callin_map;
++cpumask_t cpu_callin_map;
+ cpumask_t cpu_callout_map;
+ static cpumask_t smp_commenced_mask;
+ 
+diff -Nru a/include/asm-i386/smp.h b/include/asm-i386/smp.h
+--- a/include/asm-i386/smp.h	2005-01-22 21:36:57 -08:00
++++ b/include/asm-i386/smp.h	2005-01-22 21:36:57 -08:00
+@@ -53,6 +53,7 @@
+ #define __smp_processor_id() (current_thread_info()->cpu)
+ 
+ extern cpumask_t cpu_callout_map;
++extern cpumask_t cpu_callin_map;
+ #define cpu_possible_map cpu_callout_map
+ 
+ /* We don't mark CPUs online until __cpu_up(), so we need another measure */
+diff -Nru a/include/asm-x86_64/smp.h b/include/asm-x86_64/smp.h
+--- a/include/asm-x86_64/smp.h	2005-01-22 21:36:57 -08:00
++++ b/include/asm-x86_64/smp.h	2005-01-22 21:36:57 -08:00
+@@ -59,6 +59,7 @@
+  */
+ 
+ extern cpumask_t cpu_callout_map;
++extern cpumask_t cpu_callin_map;
+ #define cpu_possible_map cpu_callout_map
+ 
+ static inline int num_booting_cpus(void)

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/085-ia64_irq_reg_typo.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/085-ia64_irq_reg_typo.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/085-ia64_irq_reg_typo.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,39 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [IA64] irq_ia64.c typo s/_IA64_REG_AR_SP/_IA64_REG_SP/
+## DP: Patch author: tony.luck@intel.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2004/12/28 13:15:44-08:00 tony.luck@intel.com 
+#   [IA64] irq_ia64.c typo s/_IA64_REG_AR_SP/_IA64_REG_SP/
+#   
+#   Patch supplied by Sourav Sen from HP:
+#     If I turn on IRQ_DEBUG in arch/ia64/kernel/irq_ia64.c in 2.6.8.1,
+#     the compilation does not go thru as there isn't any _IA64_REG_AR_SP
+#   
+#   Signed-off-by: Tony Luck <tony.luck@intel.com>
+# 
+# arch/ia64/kernel/irq_ia64.c
+#   2004/12/28 13:12:43-08:00 tony.luck@intel.com +1 -1
+#   typo s/_IA64_REG_AR_SP/_IA64_REG_SP/
+# 
+diff -Nru a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
+--- a/arch/ia64/kernel/irq_ia64.c	2005-01-22 21:48:10 -08:00
++++ b/arch/ia64/kernel/irq_ia64.c	2005-01-22 21:48:10 -08:00
+@@ -115,7 +115,7 @@
+ 		 * switched atomically.
+ 		 */
+ 		bsp = ia64_getreg(_IA64_REG_AR_BSP);
+-		sp = ia64_getreg(_IA64_REG_AR_SP);
++		sp = ia64_getreg(_IA64_REG_SP);
+ 
+ 		if ((sp - bsp) < 1024) {
+ 			static unsigned char count;

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/086-i386_cpufreq_powernow_k8_acpi_error.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/086-i386_cpufreq_powernow_k8_acpi_error.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/086-i386_cpufreq_powernow_k8_acpi_error.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,52 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [CPUFREQ] powernow-k8: unregister from ACPI perflib in error path
+## DP: Patch author: davej@redhat.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2004/12/29 02:41:40-05:00 davej@redhat.com 
+#   [CPUFREQ] powernow-k8: unregister from ACPI perflib in error path
+#   
+#   If something fails in the per-CPU initialization in powernow-k8, it should
+#   unregister itself from the ACPI performance library.
+#   
+#   Signed-off-by: Dominik Brodowski <linux@brodo.de>
+#   Signed-off-by: Dave Jones <davej@redhat.com>
+# 
+# arch/i386/kernel/cpu/cpufreq/powernow-k8.c
+#   2004/12/29 02:41:24-05:00 davej@redhat.com +2 -0
+#   [CPUFREQ] powernow-k8: unregister from ACPI perflib in error path
+#   
+#   If something fails in the per-CPU initialization in powernow-k8, it should
+#   unregister itself from the ACPI performance library.
+#   
+#   Signed-off-by: Dominik Brodowski <linux@brodo.de>
+#   Signed-off-by: Dave Jones <davej@redhat.com>
+# 
+diff -Nru a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c
+--- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c	2005-01-22 22:03:03 -08:00
++++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c	2005-01-22 22:03:03 -08:00
+@@ -1010,6 +1010,7 @@
+ 	/* min/max the cpu is capable of */
+ 	if (cpufreq_frequency_table_cpuinfo(pol, data->powernow_table)) {
+ 		printk(KERN_ERR PFX "invalid powernow_table\n");
++		powernow_k8_cpu_exit_acpi(data);
+ 		kfree(data->powernow_table);
+ 		kfree(data);
+ 		return -EINVAL;
+@@ -1027,6 +1028,7 @@
+ err_out:
+ 	set_cpus_allowed(current, oldmask);
+ 	schedule();
++	powernow_k8_cpu_exit_acpi(data);
+ 
+ 	kfree(data);
+ 	return -ENODEV;

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/087-ext3_graceful_corruption_fixes.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/087-ext3_graceful_corruption_fixes.dpatch	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/087-ext3_graceful_corruption_fixes.dpatch	2005-02-07 20:27:20 UTC (rev 2455)
@@ -0,0 +1,191 @@
+#! /bin/sh -e
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: [PATCH] ext3: handle attempted delete of bitmap blocks.
+## DP: Patch author: sct@redhat.com
+## DP: Upstream status: backported
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/04 21:27:36-08:00 sct@redhat.com 
+#   [PATCH] ext3: handle attempted delete of bitmap blocks.
+#   
+#   This patch improves ext3's ability to deal with corruption on-disk.  If we
+#   ever get a corrupt inode or indirect block, then an attempt to delete it
+#   can end up trying to remove any block on the fs, including bitmap blocks.
+#   This can cause ext3 to assert-fail as we end up trying to do an ext3_forget
+#   on a buffer with b_committed_data set.
+#   
+#   The fix is to downgrade this to an IO error and journal abort, so that we
+#   take the filesystem readonly but don't bring down the whole kernel.
+#   
+#   Make J_EXPECT_JH() return a value so it can be easily tested and yet still
+#   retained as an assert failure if we build ext3 with full internal debugging
+#   enabled.  Make journal_forget() return an error code so that in this case
+#   the error can be passed up to the caller.
+#   
+#   This is easily reproduced with a sample ext3 fs image containing an inode
+#   whose direct and indirect blocks refer to a block bitmap block.  Allocating
+#   new blocks and then deleting that inode will BUG() with:
+#   
+#   Assertion failure in journal_forget() at fs/jbd/transaction.c:1228:
+#   "!jh->b_committed_data"
+#   
+#   With the fix, ext3 recovers gracefully.
+#   
+#   Signed-off-by: Stephen Tweedie <sct@redhat.com>
+#   Signed-off-by: Andrew Morton <akpm@osdl.org>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# fs/ext3/inode.c
+#   2005/01/04 20:24:31-08:00 sct@redhat.com +1 -1
+#   ext3: handle attempted delete of bitmap blocks.
+# 
+# fs/jbd/transaction.c
+#   2005/01/04 18:48:12-08:00 sct@redhat.com +12 -4
+#   ext3: handle attempted delete of bitmap blocks.
+# 
+# include/linux/ext3_jbd.h
+#   2005/01/04 18:48:12-08:00 sct@redhat.com +8 -3
+#   ext3: handle attempted delete of bitmap blocks.
+# 
+# include/linux/jbd.h
+#   2005/01/04 18:48:12-08:00 sct@redhat.com +7 -5
+#   ext3: handle attempted delete of bitmap blocks.
+# 
+diff -Nru a/fs/ext3/inode.c b/fs/ext3/inode.c
+--- a/fs/ext3/inode.c	2005-01-22 22:56:19 -08:00
++++ b/fs/ext3/inode.c	2005-01-22 22:56:19 -08:00
+@@ -84,7 +84,7 @@
+ 	    (!is_metadata && !ext3_should_journal_data(inode))) {
+ 		if (bh) {
+ 			BUFFER_TRACE(bh, "call journal_forget");
+-			ext3_journal_forget(handle, bh);
++			return ext3_journal_forget(handle, bh);
+ 		}
+ 		return 0;
+ 	}
+diff -Nru a/fs/jbd/transaction.c b/fs/jbd/transaction.c
+--- a/fs/jbd/transaction.c	2005-01-22 22:56:19 -08:00
++++ b/fs/jbd/transaction.c	2005-01-22 22:56:19 -08:00
+@@ -1198,11 +1198,12 @@
+  * Allow this call even if the handle has aborted --- it may be part of
+  * the caller's cleanup after an abort.
+  */
+-void journal_forget(handle_t *handle, struct buffer_head *bh)
++int journal_forget (handle_t *handle, struct buffer_head *bh)
+ {
+ 	transaction_t *transaction = handle->h_transaction;
+ 	journal_t *journal = transaction->t_journal;
+ 	struct journal_head *jh;
++	int err = 0;
+ 
+ 	BUFFER_TRACE(bh, "entry");
+ 
+@@ -1213,6 +1214,14 @@
+ 		goto not_jbd;
+ 	jh = bh2jh(bh);
+ 
++	/* Critical error: attempting to delete a bitmap buffer, maybe?
++	 * Don't do any jbd operations, and return an error. */
++	if (!J_EXPECT_JH(jh, !jh->b_committed_data,
++			 "inconsistent data on disk")) {
++		err = -EIO;
++		goto not_jbd;
++	}
++
+ 	if (jh->b_transaction == handle->h_transaction) {
+ 		J_ASSERT_JH(jh, !jh->b_frozen_data);
+ 
+@@ -1223,7 +1232,6 @@
+ 		clear_buffer_jbddirty(bh);
+ 
+ 		JBUFFER_TRACE(jh, "belongs to current transaction: unfile");
+-		J_ASSERT_JH(jh, !jh->b_committed_data);
+ 
+ 		__journal_unfile_buffer(jh);
+ 
+@@ -1248,7 +1256,7 @@
+ 				spin_unlock(&journal->j_list_lock);
+ 				jbd_unlock_bh_state(bh);
+ 				__bforget(bh);
+-				return;
++				return 0;
+ 			}
+ 		}
+ 	} else if (jh->b_transaction) {
+@@ -1270,7 +1278,7 @@
+ 	spin_unlock(&journal->j_list_lock);
+ 	jbd_unlock_bh_state(bh);
+ 	__brelse(bh);
+-	return;
++	return err;
+ }
+ 
+ /**
+diff -Nru a/include/linux/ext3_jbd.h b/include/linux/ext3_jbd.h
+--- a/include/linux/ext3_jbd.h	2005-01-22 22:56:19 -08:00
++++ b/include/linux/ext3_jbd.h	2005-01-22 22:56:19 -08:00
+@@ -138,10 +138,13 @@
+ 	journal_release_buffer(handle, bh, credits);
+ }
+ 
+-static inline void
+-ext3_journal_forget(handle_t *handle, struct buffer_head *bh)
++static inline int
++__ext3_journal_forget(const char *where, handle_t *handle, struct buffer_head *bh)
+ {
+-	journal_forget(handle, bh);
++	int err = journal_forget(handle, bh);
++	if (err)
++		ext3_journal_abort_handle(where, __FUNCTION__, bh, handle,err);
++	return err;
+ }
+ 
+ static inline int
+@@ -187,6 +190,8 @@
+ 	__ext3_journal_get_create_access(__FUNCTION__, (handle), (bh))
+ #define ext3_journal_dirty_metadata(handle, bh) \
+ 	__ext3_journal_dirty_metadata(__FUNCTION__, (handle), (bh))
++#define ext3_journal_forget(handle, bh) \
++	__ext3_journal_forget(__FUNCTION__, (handle), (bh))
+ 
+ int ext3_journal_dirty_data(handle_t *handle, struct buffer_head *bh);
+ 
+diff -Nru a/include/linux/jbd.h b/include/linux/jbd.h
+--- a/include/linux/jbd.h	2005-01-22 22:56:19 -08:00
++++ b/include/linux/jbd.h	2005-01-22 22:56:19 -08:00
+@@ -277,13 +277,15 @@
+ #define J_EXPECT_JH(jh, expr, why...)	J_ASSERT_JH(jh, expr)
+ #else
+ #define __journal_expect(expr, why...)					     \
+-	do {								     \
+-		if (!(expr)) {						     \
++	({								     \
++		int val = (expr);					     \
++		if (!val) {						     \
+ 			printk(KERN_ERR					     \
+ 				"EXT3-fs unexpected failure: %s;\n",# expr); \
+-			printk(KERN_ERR why);				     \
++			printk(KERN_ERR why "\n");			     \
+ 		}							     \
+-	} while (0)
++		val;							     \
++	})
+ #define J_EXPECT(expr, why...)		__journal_expect(expr, ## why)
+ #define J_EXPECT_BH(bh, expr, why...)	__journal_expect(expr, ## why)
+ #define J_EXPECT_JH(jh, expr, why...)	__journal_expect(expr, ## why)
+@@ -874,7 +876,7 @@
+ extern int	 journal_dirty_metadata (handle_t *, struct buffer_head *);
+ extern void	 journal_release_buffer (handle_t *, struct buffer_head *,
+ 						int credits);
+-extern void	 journal_forget (handle_t *, struct buffer_head *);
++extern int	 journal_forget (handle_t *, struct buffer_head *);
+ extern void	 journal_sync_buffer (struct buffer_head *);
+ extern int	 journal_invalidatepage(journal_t *,
+ 				struct page *, unsigned long);

Modified: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/series/2.6.10-5
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/series/2.6.10-5	2005-02-07 15:13:28 UTC (rev 2454)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/series/2.6.10-5	2005-02-07 20:27:20 UTC (rev 2455)
@@ -6,3 +6,40 @@
 + amd64-parse-noexec-fix.dpatch
 + amd64-int3-fix.dpatch
 + fbdev-radeon-noaccel.dpatch
++ 051-md_sync_page_io_max_vecs.dpatch
++ 052-vfat_valid_longname_proper_return.dpatch
++ 053-ipmi_unhandled_message_counting.dpatch
++ 054-ext3_journal_abort_before_panic.dpatch
++ 055-uml_new_thread_race.dpatch
++ 056-x86_64_acpi_do_suspend_lowlevel_arg.dpatch
++ 057-scsi_ioctl_unknown_opcode.dpatch
++ 058-ia64_binfmt_elf_bug_out.dpatch
++ 059-ia64_unwind_stack_check.dpatch
++ 060-alsa_cs4231_lib_ifdef_typo.dpatch
++ 061-alsa_es18xx_ifdef_typo.dpatch
++ 062-alsa_sscape_user_copy_check.dpatch
++ 063-alsa_opl4_build_fix.dpatch
++ 064-alsa_usbaudio_disconnect.dpatch
++ 065-alsa_vx_kcalloc.dpatch
++ 066-ibmvscsi_probe_delay_loop_fix.dpatch
++ 067-scsi_gdth_pci_map_sg.dpatch
++ 068-scsi_sd_read_capacity_LBD_bail.dpatch
++ 069-alsa_sscape_upload_firmware_len.dpatch
++ 070-alsa_rme9652_hdsp_get_autosync.dpatch
++ 071-alsa_creation_order_fixes.dpatch
++ 072-sctp_do_bind_random_port.dpatch
++ 073-usb_gadget_serial_free_ports.dpatch
++ 074-usb_makefile_fixes.dpatch
++ 075-acpiphp_ibm_module_parm_perm.dpatch
++ 076-i2c_ali1563_devinit_fixes.dpatch
++ 077-ext3_journal_abort_handle_silence.dpatch
++ 078-jbd_journal_revoke_graceful_double_delete.dpatch
++ 079-i386_timer_resume_slowdown.dpatch
++ 080-kernel_sched_might_sleep_ignore_if_oopsed.dpatch
++ 081-ia64_early_sn_setup_nested_loop.dpatch
++ 082-ide_it8172_init_return_failure.dpatch
++ 083-x86_64_switch_mm_context_race.dpatch
++ 084-smp_nmi_watchdog_race.dpatch
++ 085-ia64_irq_reg_typo.dpatch
++ 086-i386_cpufreq_powernow_k8_acpi_error.dpatch
++ 087-ext3_graceful_corruption_fixes.dpatch