diff --git a/debian/changelog b/debian/changelog index 64051bb57..a0e885684 100644 --- a/debian/changelog +++ b/debian/changelog @@ -52,9 +52,70 @@ linux-2.6 (2.6.18-4) unstable; urgency=low * [s390]: Fix funny timespeed on hercules emulator. (closes: 395247) * bcm43xx: Add full netdev watchout timeout patch. (closes: 392065) Thanks Sjoerd Simons for the testing. - * Add stable prerelease 2.6.18.2: + * Add stable release 2.6.18.2: - Remove not yet released, revert the included patches. - Keep aboves bcm43xx fix, it's more complete. + - Watchdog: sc1200wdt - fix missing pnp_unregister_driver() + - fix missing ifdefs in syscall classes hookup for generic targets + - JMB 368 PATA detection + - usbfs: private mutex for open, release, and remove + - sound/pci/au88x0/au88x0.c: ioremap balanced with iounmap + - x86-64: Fix C3 timer test + - Reintroduce NODES_SPAN_OTHER_NODES for powerpc + - ALSA: emu10k1: Fix outl() in snd_emu10k1_resume_regs() + - IB/mthca: Use mmiowb after doorbell ring + - SCSI: DAC960: PCI id table fixup + - ALSA: snd_rtctimer: handle RTC interrupts with a tasklet + - JFS: pageno needs to be long + - SPARC64: Fix central/FHC bus handling on Ex000 systems. + - SPARC64: Fix memory corruption in pci_4u_free_consistent(). + - SPARC64: Fix PCI memory space root resource on Hummingbird. + - Fix uninitialised spinlock in via-pmu-backlight code. + - SCSI: aic7xxx: pause sequencer before touching SBLKCTL + - IPoIB: Rejoin all multicast groups after a port event + - ALSA: Dereference after free in snd_hwdep_release() + - rtc-max6902: month conversion fix + - NET: Fix skb_segment() handling of fully linear SKBs + - SCTP: Always linearise packet on input + - SCSI: aic7xxx: avoid checking SBLKCTL register for certain cards + - IPV6: fix lockup via /proc/net/ip6_flowlabel [CVE-2006-5619] + - fix Intel RNG detection + - ISDN: check for userspace copy faults + - ISDN: fix drivers, by handling errors thrown by ->readstat() + - splice: fix pipe_to_file() ->prepare_write() error path + - ALSA: Fix bug in snd-usb-usx2y's usX2Y_pcms_lock_check() + - ALSA: Repair snd-usb-usx2y for usb 2.6.18 + - PCI: Remove quirk_via_abnormal_poweroff + - Bluetooth: Check if DLC is still attached to the TTY + - vmscan: Fix temp_priority race + - Use min of two prio settings in calculating distress for reclaim + - __div64_32 for 31 bit. + - DVB: fix dvb_pll_attach for mt352/zl10353 in cx88-dvb, and nxt200x + - fuse: fix hang on SMP + - md: Fix bug where spares don't always get rebuilt properly when they become live. + - md: Fix calculation of ->degraded for multipath and raid10 + - knfsd: Fix race that can disable NFS server. + - md: check bio address after mapping through partitions. + - fill_tgid: fix task_struct leak and possible oops + - uml: fix processor selection to exclude unsupported processors and features + - uml: remove warnings added by previous -stable patch + - Fix sfuzz hanging on 2.6.18 + - SERIAL: Fix resume handling bug + - SERIAL: Fix oops when removing suspended serial port + - sky2: MSI test race and message + - sky2: pause parameter adjustment + - sky2: turn off PHY IRQ on shutdown + - sky2: accept multicast pause frames + - sky2: GMAC pause frame + - sky2: 88E803X transmit lockup (2.6.18) + - tcp: cubic scaling error + - mm: fix a race condition under SMC + COW + - ALSA: powermac - Fix Oops when conflicting with aoa driver + - ALSA: Fix re-use of va_list + - posix-cpu-timers: prevent signal delivery starvation + - NFS: nfs_lookup - don't hash dentry when optimising away the lookup + - uml: make Uml compile on FC6 kernel headers + - Fix potential interrupts during alternative patching [ Sven Luther ] * [powerpc] Added exception alignement patch from Benjamin Herrenschmidt. @@ -98,7 +159,7 @@ linux-2.6 (2.6.18-4) unstable; urgency=low - bugfix/mips/dec-serial.patch, replaces mips-dec-serial.patch, fix serial console handling on DECstations. - -- maximilian attems Thu, 2 Nov 2006 18:47:45 +0100 + -- maximilian attems Sat, 4 Nov 2006 04:37:10 +0100 linux-2.6 (2.6.18-3) unstable; urgency=low diff --git a/debian/patches/bugfix/2.6.18.2 b/debian/patches/bugfix/2.6.18.2 index 5405ee368..047aac010 100644 --- a/debian/patches/bugfix/2.6.18.2 +++ b/debian/patches/bugfix/2.6.18.2 @@ -1,7 +1,8 @@ -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/i386/Kconfig.cpu linux-2.6.18.2-rc1/arch/i386/Kconfig.cpu ---- linux-2.6.18.1/arch/i386/Kconfig.cpu 2006-10-31 21:13:26.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/i386/Kconfig.cpu 2006-10-31 16:13:26.000000000 -0800 -@@ -7,6 +7,7 @@ +diff --git a/arch/i386/Kconfig.cpu b/arch/i386/Kconfig.cpu +index 21c9a4e..fc4f2ab 100644 +--- a/arch/i386/Kconfig.cpu ++++ b/arch/i386/Kconfig.cpu +@@ -7,6 +7,7 @@ choice config M386 bool "386" @@ -9,7 +10,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/i386/Kconfig.cpu linux-2 ---help--- This is the processor type of your CPU. This information is used for optimizing purposes. In order to compile a kernel that can run on -@@ -301,7 +302,7 @@ +@@ -301,7 +302,7 @@ config X86_USE_PPRO_CHECKSUM config X86_USE_3DNOW bool @@ -18,10 +19,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/i386/Kconfig.cpu linux-2 default y config X86_OOSTORE -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/i386/kernel/alternative.c linux-2.6.18.2-rc1/arch/i386/kernel/alternative.c ---- linux-2.6.18.1/arch/i386/kernel/alternative.c 2006-10-31 21:13:26.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/i386/kernel/alternative.c 2006-10-31 16:13:26.000000000 -0800 -@@ -344,6 +344,7 @@ +diff --git a/arch/i386/kernel/alternative.c b/arch/i386/kernel/alternative.c +index 28ab806..583c238 100644 +--- a/arch/i386/kernel/alternative.c ++++ b/arch/i386/kernel/alternative.c +@@ -344,6 +344,7 @@ #endif void __init alternative_instructions(void) { @@ -29,7 +31,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/i386/kernel/alternative. if (no_replacement) { printk(KERN_INFO "(SMP-)alternatives turned off\n"); free_init_pages("SMP alternatives", -@@ -351,6 +352,8 @@ +@@ -351,6 +352,8 @@ void __init alternative_instructions(voi (unsigned long)__smp_alt_end); return; } @@ -38,27 +40,17 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/i386/kernel/alternative. apply_alternatives(__alt_instructions, __alt_instructions_end); /* switch to patch-once-at-boottime-only mode and free the -@@ -386,4 +389,5 @@ +@@ -386,4 +389,5 @@ #ifdef CONFIG_SMP alternatives_smp_switch(0); } #endif + local_irq_restore(flags); } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/powerpc/configs/pseries_defconfig linux-2.6.18.2-rc1/arch/powerpc/configs/pseries_defconfig ---- linux-2.6.18.1/arch/powerpc/configs/pseries_defconfig 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/powerpc/configs/pseries_defconfig 2006-10-31 16:13:27.000000000 -0800 -@@ -184,6 +184,7 @@ - CONFIG_MIGRATION=y - CONFIG_RESOURCES_64BIT=y - CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y -+CONFIG_NODES_SPAN_OTHER_NODES=y - # CONFIG_PPC_64K_PAGES is not set - CONFIG_SCHED_SMT=y - CONFIG_PROC_DEVICETREE=y -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/powerpc/Kconfig linux-2.6.18.2-rc1/arch/powerpc/Kconfig ---- linux-2.6.18.1/arch/powerpc/Kconfig 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/powerpc/Kconfig 2006-10-31 16:13:27.000000000 -0800 -@@ -729,6 +729,15 @@ +diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig +index 694b0c6..f35bb14 100644 +--- a/arch/powerpc/Kconfig ++++ b/arch/powerpc/Kconfig +@@ -729,6 +729,15 @@ config ARCH_MEMORY_PROBE def_bool y depends on MEMORY_HOTPLUG @@ -74,10 +66,23 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/powerpc/Kconfig linux-2. config PPC_64K_PAGES bool "64k page size" depends on PPC64 -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/s390/Kconfig linux-2.6.18.2-rc1/arch/s390/Kconfig ---- linux-2.6.18.1/arch/s390/Kconfig 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/s390/Kconfig 2006-10-31 16:13:26.000000000 -0800 -@@ -51,6 +51,10 @@ +diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig +index a8cdf31..40782c0 100644 +--- a/arch/powerpc/configs/pseries_defconfig ++++ b/arch/powerpc/configs/pseries_defconfig +@@ -184,6 +184,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 + CONFIG_MIGRATION=y + CONFIG_RESOURCES_64BIT=y + CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y ++CONFIG_NODES_SPAN_OTHER_NODES=y + # CONFIG_PPC_64K_PAGES is not set + CONFIG_SCHED_SMT=y + CONFIG_PROC_DEVICETREE=y +diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig +index 2f4f70c..bf25932 100644 +--- a/arch/s390/Kconfig ++++ b/arch/s390/Kconfig +@@ -51,6 +51,10 @@ config 64BIT Select this option if you have a 64 bit IBM zSeries machine and want to use the 64 bit addressing mode. @@ -88,9 +93,20 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/s390/Kconfig linux-2.6.1 config SMP bool "Symmetric multi-processing support" ---help--- -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/s390/lib/div64.c linux-2.6.18.2-rc1/arch/s390/lib/div64.c ---- linux-2.6.18.1/arch/s390/lib/div64.c 1969-12-31 16:00:00.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/s390/lib/div64.c 2006-10-31 16:13:26.000000000 -0800 +diff --git a/arch/s390/lib/Makefile b/arch/s390/lib/Makefile +index e05d087..1400141 100644 +--- a/arch/s390/lib/Makefile ++++ b/arch/s390/lib/Makefile +@@ -7,3 +7,4 @@ EXTRA_AFLAGS := -traditional + lib-y += delay.o string.o + lib-y += $(if $(CONFIG_64BIT),uaccess64.o,uaccess.o) + lib-$(CONFIG_SMP) += spinlock.o ++lib-$(CONFIG_32BIT) += div64.o +diff --git a/arch/s390/lib/div64.c b/arch/s390/lib/div64.c +new file mode 100644 +index 0000000..0481f34 +--- /dev/null ++++ b/arch/s390/lib/div64.c @@ -0,0 +1,151 @@ +/* + * arch/s390/lib/div64.c @@ -243,18 +259,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/s390/lib/div64.c linux-2 +#endif /* MARCH_G5 */ + +EXPORT_SYMBOL(__div64_32); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/s390/lib/Makefile linux-2.6.18.2-rc1/arch/s390/lib/Makefile ---- linux-2.6.18.1/arch/s390/lib/Makefile 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/s390/lib/Makefile 2006-10-31 16:13:26.000000000 -0800 -@@ -7,3 +7,4 @@ - lib-y += delay.o string.o - lib-y += $(if $(CONFIG_64BIT),uaccess64.o,uaccess.o) - lib-$(CONFIG_SMP) += spinlock.o -+lib-$(CONFIG_32BIT) += div64.o -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/central.c linux-2.6.18.2-rc1/arch/sparc64/kernel/central.c ---- linux-2.6.18.1/arch/sparc64/kernel/central.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/sparc64/kernel/central.c 2006-10-31 16:13:26.000000000 -0800 -@@ -126,6 +126,10 @@ +diff --git a/arch/sparc64/kernel/central.c b/arch/sparc64/kernel/central.c +index b66336d..e724c54 100644 +--- a/arch/sparc64/kernel/central.c ++++ b/arch/sparc64/kernel/central.c +@@ -126,6 +126,10 @@ static void probe_other_fhcs(void) int board; u32 tmp; @@ -265,10 +274,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/central.c fhc = (struct linux_fhc *) central_alloc_bootmem(sizeof(struct linux_fhc)); if (fhc == NULL) -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/of_device.c linux-2.6.18.2-rc1/arch/sparc64/kernel/of_device.c ---- linux-2.6.18.1/arch/sparc64/kernel/of_device.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/sparc64/kernel/of_device.c 2006-10-31 16:13:26.000000000 -0800 -@@ -398,16 +398,22 @@ +diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c +index 238bbf6..c7bbd7a 100644 +--- a/arch/sparc64/kernel/of_device.c ++++ b/arch/sparc64/kernel/of_device.c +@@ -398,16 +398,22 @@ static void of_bus_sbus_count_cells(stru *sizec = 1; } @@ -298,7 +308,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/of_device /* * Array of bus specific translators -@@ -429,8 +435,17 @@ +@@ -429,8 +435,17 @@ static struct of_bus of_busses[] = { .addr_prop_name = "reg", .match = of_bus_sbus_match, .count_cells = of_bus_sbus_count_cells, @@ -318,10 +328,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/of_device }, /* Default */ { -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/pci_common.c linux-2.6.18.2-rc1/arch/sparc64/kernel/pci_common.c ---- linux-2.6.18.1/arch/sparc64/kernel/pci_common.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/sparc64/kernel/pci_common.c 2006-10-31 16:13:27.000000000 -0800 -@@ -330,19 +330,6 @@ +diff --git a/arch/sparc64/kernel/pci_common.c b/arch/sparc64/kernel/pci_common.c +index 7a59cc7..827ae30 100644 +--- a/arch/sparc64/kernel/pci_common.c ++++ b/arch/sparc64/kernel/pci_common.c +@@ -330,19 +330,6 @@ #endif return res; } @@ -341,7 +352,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/pci_commo static void __init pdev_record_assignments(struct pci_pbm_info *pbm, struct pci_dev *pdev) { -@@ -400,19 +387,23 @@ +@@ -400,19 +387,23 @@ static void __init pdev_record_assignmen pbm->parent->resource_adjust(pdev, res, root); if (request_resource(root, res) < 0) { @@ -371,10 +382,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/pci_commo } } } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/pci_iommu.c linux-2.6.18.2-rc1/arch/sparc64/kernel/pci_iommu.c ---- linux-2.6.18.1/arch/sparc64/kernel/pci_iommu.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/sparc64/kernel/pci_iommu.c 2006-10-31 16:13:26.000000000 -0800 -@@ -281,7 +281,7 @@ +diff --git a/arch/sparc64/kernel/pci_iommu.c b/arch/sparc64/kernel/pci_iommu.c +index 82e5455..2e7f142 100644 +--- a/arch/sparc64/kernel/pci_iommu.c ++++ b/arch/sparc64/kernel/pci_iommu.c +@@ -281,7 +281,7 @@ static void pci_4u_free_consistent(struc spin_lock_irqsave(&iommu->lock, flags); @@ -383,10 +395,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/pci_iommu spin_unlock_irqrestore(&iommu->lock, flags); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/pci_sabre.c linux-2.6.18.2-rc1/arch/sparc64/kernel/pci_sabre.c ---- linux-2.6.18.1/arch/sparc64/kernel/pci_sabre.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/sparc64/kernel/pci_sabre.c 2006-10-31 16:13:27.000000000 -0800 -@@ -1196,7 +1196,7 @@ +diff --git a/arch/sparc64/kernel/pci_sabre.c b/arch/sparc64/kernel/pci_sabre.c +index 4589185..f04c6d2 100644 +--- a/arch/sparc64/kernel/pci_sabre.c ++++ b/arch/sparc64/kernel/pci_sabre.c +@@ -1196,7 +1196,7 @@ static void pbm_register_toplevel_resour &pbm->mem_space); } @@ -395,7 +408,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/pci_sabre { struct pci_pbm_info *pbm; struct device_node *node; -@@ -1261,6 +1261,8 @@ +@@ -1261,6 +1261,8 @@ static void sabre_pbm_init(struct pci_co node = node->sibling; } if (simbas_found == 0) { @@ -404,7 +417,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/pci_sabre /* No APBs underneath, probably this is a hummingbird * system. */ -@@ -1302,8 +1304,10 @@ +@@ -1302,8 +1304,10 @@ static void sabre_pbm_init(struct pci_co pbm->io_space.end = pbm->io_space.start + (1UL << 24) - 1UL; pbm->io_space.flags = IORESOURCE_IO; @@ -417,7 +430,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/pci_sabre pbm->mem_space.flags = IORESOURCE_MEM; if (request_resource(&ioport_resource, &pbm->io_space) < 0) { -@@ -1315,6 +1319,17 @@ +@@ -1315,6 +1319,17 @@ static void sabre_pbm_init(struct pci_co prom_halt(); } @@ -435,17 +448,18 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/pci_sabre pci_register_legacy_regions(&pbm->io_space, &pbm->mem_space); } -@@ -1450,5 +1465,5 @@ +@@ -1450,5 +1465,5 @@ void sabre_init(struct device_node *dp, /* * Look for APB underneath. */ - sabre_pbm_init(p, dp, vdma[0]); + sabre_pbm_init(p, dp, vdma[0], vdma[0] + vdma[1]); } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/prom.c linux-2.6.18.2-rc1/arch/sparc64/kernel/prom.c ---- linux-2.6.18.1/arch/sparc64/kernel/prom.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/sparc64/kernel/prom.c 2006-10-31 16:13:26.000000000 -0800 -@@ -1080,23 +1080,22 @@ +diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c +index 5cc5ab6..03d6be8 100644 +--- a/arch/sparc64/kernel/prom.c ++++ b/arch/sparc64/kernel/prom.c +@@ -1080,23 +1080,22 @@ static void sun4v_vdev_irq_trans_init(st static void irq_trans_init(struct device_node *dp) { @@ -477,7 +491,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/prom.c li } #endif #ifdef CONFIG_SBUS -@@ -1104,8 +1103,9 @@ +@@ -1104,8 +1103,9 @@ #ifdef CONFIG_SBUS !strcmp(dp->name, "sbi")) return sbus_irq_trans_init(dp); #endif @@ -489,7 +503,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/prom.c li if (!strcmp(dp->name, "virtual-devices")) return sun4v_vdev_irq_trans_init(dp); } -@@ -1517,7 +1517,7 @@ +@@ -1517,7 +1517,7 @@ static char * __init get_one_property(ph return buf; } @@ -498,7 +512,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/prom.c li { struct device_node *dp; -@@ -1526,6 +1526,7 @@ +@@ -1526,6 +1526,7 @@ static struct device_node * __init creat dp = prom_early_alloc(sizeof(*dp)); dp->unique_id = unique_id++; @@ -506,7 +520,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/prom.c li kref_init(&dp->kref); -@@ -1544,12 +1545,11 @@ +@@ -1544,12 +1545,11 @@ static struct device_node * __init build { struct device_node *dp; @@ -520,7 +534,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/prom.c li dp->path_component_name = build_path_component(dp); dp->full_name = build_full_name(dp); -@@ -1565,7 +1565,7 @@ +@@ -1565,7 +1565,7 @@ void __init prom_build_devicetree(void) { struct device_node **nextp; @@ -529,9 +543,10 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/sparc64/kernel/prom.c li allnodes->path_component_name = ""; allnodes->full_name = "/"; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/um/include/kern_util.h linux-2.6.18.2-rc1/arch/um/include/kern_util.h ---- linux-2.6.18.1/arch/um/include/kern_util.h 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/um/include/kern_util.h 2006-10-31 16:13:26.000000000 -0800 +diff --git a/arch/um/include/kern_util.h b/arch/um/include/kern_util.h +index b98bdd8..ab9c0b7 100644 +--- a/arch/um/include/kern_util.h ++++ b/arch/um/include/kern_util.h @@ -6,7 +6,6 @@ #ifndef __KERN_UTIL_H__ #define __KERN_UTIL_H__ @@ -540,9 +555,10 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/um/include/kern_util.h l #include "sysdep/ptrace.h" #include "sysdep/faultinfo.h" -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/um/os-Linux/sys-i386/tls.c linux-2.6.18.2-rc1/arch/um/os-Linux/sys-i386/tls.c ---- linux-2.6.18.1/arch/um/os-Linux/sys-i386/tls.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/um/os-Linux/sys-i386/tls.c 2006-10-31 16:13:26.000000000 -0800 +diff --git a/arch/um/os-Linux/sys-i386/tls.c b/arch/um/os-Linux/sys-i386/tls.c +index 64f547f..8dc6a49 100644 +--- a/arch/um/os-Linux/sys-i386/tls.c ++++ b/arch/um/os-Linux/sys-i386/tls.c @@ -1,4 +1,6 @@ #include +#include @@ -550,9 +566,10 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/um/os-Linux/sys-i386/tls #include #include "sysdep/tls.h" #include "user_util.h" -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/um/os-Linux/tls.c linux-2.6.18.2-rc1/arch/um/os-Linux/tls.c ---- linux-2.6.18.1/arch/um/os-Linux/tls.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/um/os-Linux/tls.c 2006-10-31 16:13:26.000000000 -0800 +diff --git a/arch/um/os-Linux/tls.c b/arch/um/os-Linux/tls.c +index 297f263..3385784 100644 +--- a/arch/um/os-Linux/tls.c ++++ b/arch/um/os-Linux/tls.c @@ -1,6 +1,8 @@ #include #include @@ -562,9 +579,10 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/um/os-Linux/tls.c linux- #include "sysdep/tls.h" #include "uml-config.h" -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/um/sys-x86_64/stub_segv.c linux-2.6.18.2-rc1/arch/um/sys-x86_64/stub_segv.c ---- linux-2.6.18.1/arch/um/sys-x86_64/stub_segv.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/um/sys-x86_64/stub_segv.c 2006-10-31 16:13:26.000000000 -0800 +diff --git a/arch/um/sys-x86_64/stub_segv.c b/arch/um/sys-x86_64/stub_segv.c +index 1c96702..652fa34 100644 +--- a/arch/um/sys-x86_64/stub_segv.c ++++ b/arch/um/sys-x86_64/stub_segv.c @@ -5,7 +5,6 @@ #include @@ -573,10 +591,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/um/sys-x86_64/stub_segv. #include #include "uml-config.h" #include "sysdep/sigcontext.h" -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/x86_64/kernel/time.c linux-2.6.18.2-rc1/arch/x86_64/kernel/time.c ---- linux-2.6.18.1/arch/x86_64/kernel/time.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/arch/x86_64/kernel/time.c 2006-10-31 16:13:26.000000000 -0800 -@@ -960,7 +960,7 @@ +diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c +index 7a9b182..ffd1cb8 100644 +--- a/arch/x86_64/kernel/time.c ++++ b/arch/x86_64/kernel/time.c +@@ -960,7 +960,7 @@ #endif if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) { #ifdef CONFIG_ACPI /* But TSC doesn't tick in C3 so don't use it there */ @@ -585,10 +604,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/arch/x86_64/kernel/time.c lin return 1; #endif return 0; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/block/ll_rw_blk.c linux-2.6.18.2-rc1/block/ll_rw_blk.c ---- linux-2.6.18.1/block/ll_rw_blk.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/block/ll_rw_blk.c 2006-10-31 16:13:27.000000000 -0800 -@@ -3021,6 +3021,7 @@ +diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c +index ddd9253..3ecdb34 100644 +--- a/block/ll_rw_blk.c ++++ b/block/ll_rw_blk.c +@@ -3021,6 +3021,7 @@ void generic_make_request(struct bio *bi { request_queue_t *q; sector_t maxsector; @@ -596,7 +616,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/block/ll_rw_blk.c linux-2.6.1 int ret, nr_sectors = bio_sectors(bio); dev_t old_dev; -@@ -3049,7 +3050,7 @@ +@@ -3049,7 +3050,7 @@ void generic_make_request(struct bio *bi * NOTE: we don't repeat the blk_size check for each new device. * Stacking drivers are expected to know what they are doing. */ @@ -605,7 +625,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/block/ll_rw_blk.c linux-2.6.1 old_dev = 0; do { char b[BDEVNAME_SIZE]; -@@ -3083,15 +3084,30 @@ +@@ -3083,15 +3084,30 @@ end_io: */ blk_partition_remap(bio); @@ -639,10 +659,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/block/ll_rw_blk.c linux-2.6.1 ret = q->make_request_fn(q, bio); } while (ret); } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/block/DAC960.c linux-2.6.18.2-rc1/drivers/block/DAC960.c ---- linux-2.6.18.1/drivers/block/DAC960.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/block/DAC960.c 2006-10-31 16:13:26.000000000 -0800 -@@ -7115,7 +7115,7 @@ +diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c +index 4cd23c3..a360215 100644 +--- a/drivers/block/DAC960.c ++++ b/drivers/block/DAC960.c +@@ -7115,7 +7115,7 @@ static struct pci_device_id DAC960_id_ta { .vendor = PCI_VENDOR_ID_MYLEX, .device = PCI_DEVICE_ID_MYLEX_DAC960_GEM, @@ -651,10 +672,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/block/DAC960.c linux- .subdevice = PCI_ANY_ID, .driver_data = (unsigned long) &DAC960_GEM_privdata, }, -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/char/hw_random/intel-rng.c linux-2.6.18.2-rc1/drivers/char/hw_random/intel-rng.c ---- linux-2.6.18.1/drivers/char/hw_random/intel-rng.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/char/hw_random/intel-rng.c 2006-10-31 16:13:26.000000000 -0800 -@@ -50,6 +50,43 @@ +diff --git a/drivers/char/hw_random/intel-rng.c b/drivers/char/hw_random/intel-rng.c +index ccd7e71..8efbc9c 100644 +--- a/drivers/char/hw_random/intel-rng.c ++++ b/drivers/char/hw_random/intel-rng.c +@@ -50,6 +50,43 @@ #define INTEL_RNG_ADDR 0xFFBC015F #define INTEL_RNG_ADDR_LEN 3 /* @@ -698,7 +720,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/char/hw_random/intel- * Data for PCI driver interface * * This data only exists for exporting the supported -@@ -58,12 +95,50 @@ +@@ -58,12 +95,50 @@ #define INTEL_RNG_ADDR_LEN 3 * want to register another driver on the same PCI id. */ static const struct pci_device_id pci_tbl[] = { @@ -755,7 +777,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/char/hw_random/intel- { 0, }, /* terminate list */ }; MODULE_DEVICE_TABLE(pci, pci_tbl); -@@ -138,22 +213,115 @@ +@@ -138,22 +213,115 @@ static struct hwrng intel_rng = { }; @@ -780,11 +802,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/char/hw_random/intel- + u8 bios_cntl_off, fwh_dec_en1_off; + u8 bios_cntl_val = 0xff, fwh_dec_en1_val = 0xff; + u8 hw_status, mfc, dvc; -+ -+ for (i = 0; !dev && pci_tbl[i].vendor; ++i) -+ dev = pci_get_device(pci_tbl[i].vendor, pci_tbl[i].device, NULL); - if (!pci_dev_present(pci_tbl)) ++ for (i = 0; !dev && pci_tbl[i].vendor; ++i) ++ dev = pci_get_device(pci_tbl[i].vendor, pci_tbl[i].device, NULL); ++ + if (!dev) goto out; /* Device not found. */ @@ -874,10 +896,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/char/hw_random/intel- err = -ENODEV; hw_status = hwstatus_get(mem); if ((hw_status & INTEL_RNG_PRESENT) == 0) -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/char/watchdog/sc1200wdt.c linux-2.6.18.2-rc1/drivers/char/watchdog/sc1200wdt.c ---- linux-2.6.18.1/drivers/char/watchdog/sc1200wdt.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/char/watchdog/sc1200wdt.c 2006-10-31 16:13:26.000000000 -0800 -@@ -392,7 +392,7 @@ +diff --git a/drivers/char/watchdog/sc1200wdt.c b/drivers/char/watchdog/sc1200wdt.c +index 7c3cf29..cb92a1b 100644 +--- a/drivers/char/watchdog/sc1200wdt.c ++++ b/drivers/char/watchdog/sc1200wdt.c +@@ -392,7 +392,7 @@ #endif if (io == -1) { printk(KERN_ERR PFX "io parameter must be specified\n"); ret = -EINVAL; @@ -886,7 +909,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/char/watchdog/sc1200w } #if defined CONFIG_PNP -@@ -405,7 +405,7 @@ +@@ -405,7 +405,7 @@ #endif if (!request_region(io, io_len, SC1200_MODULE_NAME)) { printk(KERN_ERR PFX "Unable to register IO port %#x\n", io); ret = -EBUSY; @@ -895,7 +918,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/char/watchdog/sc1200w } ret = sc1200wdt_probe(); -@@ -435,6 +435,11 @@ +@@ -435,6 +435,11 @@ out_rbt: out_io: release_region(io, io_len); @@ -907,10 +930,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/char/watchdog/sc1200w goto out_clean; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/ide/pci/generic.c linux-2.6.18.2-rc1/drivers/ide/pci/generic.c ---- linux-2.6.18.1/drivers/ide/pci/generic.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/ide/pci/generic.c 2006-10-31 16:13:27.000000000 -0800 -@@ -242,8 +242,10 @@ +diff --git a/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c +index 6a1ddad..58e8efa 100644 +--- a/drivers/ide/pci/generic.c ++++ b/drivers/ide/pci/generic.c +@@ -242,8 +242,10 @@ static int __devinit generic_init_one(st (!(PCI_FUNC(dev->devfn) & 1))) goto out; @@ -923,9 +947,10 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/ide/pci/generic.c lin if (dev->vendor != PCI_VENDOR_ID_JMICRON) { pci_read_config_word(dev, PCI_COMMAND, &command); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/mthca_cq.c linux-2.6.18.2-rc1/drivers/infiniband/hw/mthca/mthca_cq.c ---- linux-2.6.18.1/drivers/infiniband/hw/mthca/mthca_cq.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/infiniband/hw/mthca/mthca_cq.c 2006-10-31 16:13:26.000000000 -0800 +diff --git a/drivers/infiniband/hw/mthca/mthca_cq.c b/drivers/infiniband/hw/mthca/mthca_cq.c +index 3e27a08..8030d6a 100644 +--- a/drivers/infiniband/hw/mthca/mthca_cq.c ++++ b/drivers/infiniband/hw/mthca/mthca_cq.c @@ -39,6 +39,8 @@ #include #include @@ -935,7 +960,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/m #include #include "mthca_dev.h" -@@ -210,6 +212,11 @@ +@@ -210,6 +212,11 @@ static inline void update_cons_index(str mthca_write64(doorbell, dev->kar + MTHCA_CQ_DOORBELL, MTHCA_GET_DOORBELL_LOCK(&dev->doorbell_lock)); @@ -947,10 +972,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/m } } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/mthca_qp.c linux-2.6.18.2-rc1/drivers/infiniband/hw/mthca/mthca_qp.c ---- linux-2.6.18.1/drivers/infiniband/hw/mthca/mthca_qp.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/infiniband/hw/mthca/mthca_qp.c 2006-10-31 16:13:26.000000000 -0800 -@@ -39,6 +39,8 @@ +diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c +index 2e8f6f3..b66aa49 100644 +--- a/drivers/infiniband/hw/mthca/mthca_qp.c ++++ b/drivers/infiniband/hw/mthca/mthca_qp.c +@@ -39,6 +39,8 @@ #include #include #include @@ -959,7 +985,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/m #include #include #include -@@ -1730,6 +1732,11 @@ +@@ -1730,6 +1732,11 @@ out: mthca_write64(doorbell, dev->kar + MTHCA_SEND_DOORBELL, MTHCA_GET_DOORBELL_LOCK(&dev->doorbell_lock)); @@ -971,7 +997,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/m } qp->sq.next_ind = ind; -@@ -1849,6 +1856,12 @@ +@@ -1849,6 +1856,12 @@ out: qp->rq.next_ind = ind; qp->rq.head += nreq; @@ -984,7 +1010,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/m spin_unlock_irqrestore(&qp->rq.lock, flags); return err; } -@@ -2110,6 +2123,12 @@ +@@ -2110,6 +2123,12 @@ out: MTHCA_GET_DOORBELL_LOCK(&dev->doorbell_lock)); } @@ -997,9 +1023,10 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/m spin_unlock_irqrestore(&qp->sq.lock, flags); return err; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/mthca_srq.c linux-2.6.18.2-rc1/drivers/infiniband/hw/mthca/mthca_srq.c ---- linux-2.6.18.1/drivers/infiniband/hw/mthca/mthca_srq.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/infiniband/hw/mthca/mthca_srq.c 2006-10-31 16:13:26.000000000 -0800 +diff --git a/drivers/infiniband/hw/mthca/mthca_srq.c b/drivers/infiniband/hw/mthca/mthca_srq.c +index b60a9d7..a01f1a8 100644 +--- a/drivers/infiniband/hw/mthca/mthca_srq.c ++++ b/drivers/infiniband/hw/mthca/mthca_srq.c @@ -35,6 +35,8 @@ #include #include @@ -1009,7 +1036,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/m #include "mthca_dev.h" #include "mthca_cmd.h" #include "mthca_memfree.h" -@@ -593,6 +595,12 @@ +@@ -593,6 +595,12 @@ int mthca_tavor_post_srq_recv(struct ib_ MTHCA_GET_DOORBELL_LOCK(&dev->doorbell_lock)); } @@ -1022,10 +1049,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/hw/mthca/m spin_unlock_irqrestore(&srq->lock, flags); return err; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/ulp/ipoib/ipoib_ib.c linux-2.6.18.2-rc1/drivers/infiniband/ulp/ipoib/ipoib_ib.c ---- linux-2.6.18.1/drivers/infiniband/ulp/ipoib/ipoib_ib.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/infiniband/ulp/ipoib/ipoib_ib.c 2006-10-31 16:13:26.000000000 -0800 -@@ -619,8 +619,10 @@ +diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c +index 5033666..dcd996b 100644 +--- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c ++++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c +@@ -619,8 +619,10 @@ void ipoib_ib_dev_flush(void *_dev) * The device could have been brought down between the start and when * we get here, don't bring it back up if it's not configured up */ @@ -1037,10 +1065,49 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/infiniband/ulp/ipoib/ mutex_lock(&priv->vlan_mutex); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/isdn/i4l/isdn_common.c linux-2.6.18.2-rc1/drivers/isdn/i4l/isdn_common.c ---- linux-2.6.18.1/drivers/isdn/i4l/isdn_common.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/isdn/i4l/isdn_common.c 2006-10-31 16:13:27.000000000 -0800 -@@ -1134,9 +1134,12 @@ +diff --git a/drivers/isdn/capi/capidrv.c b/drivers/isdn/capi/capidrv.c +index d10c8b8..b6f9476 100644 +--- a/drivers/isdn/capi/capidrv.c ++++ b/drivers/isdn/capi/capidrv.c +@@ -1907,7 +1907,8 @@ static int if_readstat(u8 __user *buf, i + } + + for (p=buf, count=0; count < len; p++, count++) { +- put_user(*card->q931_read++, p); ++ if (put_user(*card->q931_read++, p)) ++ return -EFAULT; + if (card->q931_read > card->q931_end) + card->q931_read = card->q931_buf; + } +diff --git a/drivers/isdn/hisax/config.c b/drivers/isdn/hisax/config.c +index e103503..9280b58 100644 +--- a/drivers/isdn/hisax/config.c ++++ b/drivers/isdn/hisax/config.c +@@ -631,7 +631,8 @@ static int HiSax_readstatus(u_char __use + count = cs->status_end - cs->status_read + 1; + if (count >= len) + count = len; +- copy_to_user(p, cs->status_read, count); ++ if (copy_to_user(p, cs->status_read, count)) ++ return -EFAULT; + cs->status_read += count; + if (cs->status_read > cs->status_end) + cs->status_read = cs->status_buf; +@@ -642,7 +643,8 @@ static int HiSax_readstatus(u_char __use + cnt = HISAX_STATUS_BUFSIZE; + else + cnt = count; +- copy_to_user(p, cs->status_read, cnt); ++ if (copy_to_user(p, cs->status_read, cnt)) ++ return -EFAULT; + p += cnt; + cs->status_read += cnt % HISAX_STATUS_BUFSIZE; + count -= cnt; +diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c +index c3d79ee..69aee26 100644 +--- a/drivers/isdn/i4l/isdn_common.c ++++ b/drivers/isdn/i4l/isdn_common.c +@@ -1134,9 +1134,12 @@ isdn_read(struct file *file, char __user if (dev->drv[drvidx]->interface->readstat) { if (count > dev->drv[drvidx]->stavail) count = dev->drv[drvidx]->stavail; @@ -1056,10 +1123,77 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/isdn/i4l/isdn_common. } else { len = 0; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/macintosh/via-pmu-backlight.c linux-2.6.18.2-rc1/drivers/macintosh/via-pmu-backlight.c ---- linux-2.6.18.1/drivers/macintosh/via-pmu-backlight.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/macintosh/via-pmu-backlight.c 2006-10-31 16:13:26.000000000 -0800 -@@ -16,7 +16,7 @@ +diff --git a/drivers/isdn/icn/icn.c b/drivers/isdn/icn/icn.c +index 6649f8b..730bbd0 100644 +--- a/drivers/isdn/icn/icn.c ++++ b/drivers/isdn/icn/icn.c +@@ -1010,7 +1010,8 @@ icn_readstatus(u_char __user *buf, int l + for (p = buf, count = 0; count < len; p++, count++) { + if (card->msg_buf_read == card->msg_buf_write) + return count; +- put_user(*card->msg_buf_read++, p); ++ if (put_user(*card->msg_buf_read++, p)) ++ return -EFAULT; + if (card->msg_buf_read > card->msg_buf_end) + card->msg_buf_read = card->msg_buf; + } +diff --git a/drivers/isdn/isdnloop/isdnloop.c b/drivers/isdn/isdnloop/isdnloop.c +index fabbd46..9a66524 100644 +--- a/drivers/isdn/isdnloop/isdnloop.c ++++ b/drivers/isdn/isdnloop/isdnloop.c +@@ -451,7 +451,8 @@ isdnloop_readstatus(u_char __user *buf, + for (p = buf, count = 0; count < len; p++, count++) { + if (card->msg_buf_read == card->msg_buf_write) + return count; +- put_user(*card->msg_buf_read++, p); ++ if (put_user(*card->msg_buf_read++, p)) ++ return -EFAULT; + if (card->msg_buf_read > card->msg_buf_end) + card->msg_buf_read = card->msg_buf; + } +diff --git a/drivers/isdn/pcbit/drv.c b/drivers/isdn/pcbit/drv.c +index 94f2148..6ead5e1 100644 +--- a/drivers/isdn/pcbit/drv.c ++++ b/drivers/isdn/pcbit/drv.c +@@ -725,23 +725,27 @@ static int pcbit_stat(u_char __user *buf + + if (stat_st < stat_end) + { +- copy_to_user(buf, statbuf + stat_st, len); ++ if (copy_to_user(buf, statbuf + stat_st, len)) ++ return -EFAULT; + stat_st += len; + } + else + { + if (len > STATBUF_LEN - stat_st) + { +- copy_to_user(buf, statbuf + stat_st, +- STATBUF_LEN - stat_st); +- copy_to_user(buf, statbuf, +- len - (STATBUF_LEN - stat_st)); ++ if (copy_to_user(buf, statbuf + stat_st, ++ STATBUF_LEN - stat_st)) ++ return -EFAULT; ++ if (copy_to_user(buf, statbuf, ++ len - (STATBUF_LEN - stat_st))) ++ return -EFAULT; + + stat_st = len - (STATBUF_LEN - stat_st); + } + else + { +- copy_to_user(buf, statbuf + stat_st, len); ++ if (copy_to_user(buf, statbuf + stat_st, len)) ++ return -EFAULT; + + stat_st += len; + +diff --git a/drivers/macintosh/via-pmu-backlight.c b/drivers/macintosh/via-pmu-backlight.c +index a82f313..6c29fe7 100644 +--- a/drivers/macintosh/via-pmu-backlight.c ++++ b/drivers/macintosh/via-pmu-backlight.c +@@ -16,7 +16,7 @@ #include #define MAX_PMU_LEVEL 0xFF static struct backlight_properties pmu_backlight_data; @@ -1068,10 +1202,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/macintosh/via-pmu-bac static int sleeping; static u8 bl_curve[FB_BACKLIGHT_LEVELS]; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/md/md.c linux-2.6.18.2-rc1/drivers/md/md.c ---- linux-2.6.18.1/drivers/md/md.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/md/md.c 2006-10-31 16:13:26.000000000 -0800 -@@ -1994,6 +1994,7 @@ +diff --git a/drivers/md/md.c b/drivers/md/md.c +index c9d2919..1869e81 100644 +--- a/drivers/md/md.c ++++ b/drivers/md/md.c +@@ -1994,6 +1994,7 @@ static mdk_rdev_t *md_import_device(dev_ kobject_init(&rdev->kobj); rdev->desc_nr = -1; @@ -1079,10 +1214,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/md/md.c linux-2.6.18. rdev->flags = 0; rdev->data_offset = 0; rdev->sb_events = 0; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/md/multipath.c linux-2.6.18.2-rc1/drivers/md/multipath.c ---- linux-2.6.18.1/drivers/md/multipath.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/md/multipath.c 2006-10-31 16:13:26.000000000 -0800 -@@ -480,7 +480,7 @@ +diff --git a/drivers/md/multipath.c b/drivers/md/multipath.c +index 1cc9de4..33f67ca 100644 +--- a/drivers/md/multipath.c ++++ b/drivers/md/multipath.c +@@ -480,7 +480,7 @@ static int multipath_run (mddev_t *mddev mdname(mddev)); goto out_free_conf; } @@ -1091,10 +1227,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/md/multipath.c linux- conf->pool = mempool_create_kzalloc_pool(NR_RESERVED_BUFS, sizeof(struct multipath_bh)); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/md/raid10.c linux-2.6.18.2-rc1/drivers/md/raid10.c ---- linux-2.6.18.1/drivers/md/raid10.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/md/raid10.c 2006-10-31 16:13:26.000000000 -0800 -@@ -2042,7 +2042,7 @@ +diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c +index 016ddb8..115a6f8 100644 +--- a/drivers/md/raid10.c ++++ b/drivers/md/raid10.c +@@ -2042,7 +2042,7 @@ static int run(mddev_t *mddev) disk = conf->mirrors + i; if (!disk->rdev || @@ -1103,10 +1240,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/md/raid10.c linux-2.6 disk->head_position = 0; mddev->degraded++; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/dvb/b2c2/flexcop-fe-tuner.c linux-2.6.18.2-rc1/drivers/media/dvb/b2c2/flexcop-fe-tuner.c ---- linux-2.6.18.1/drivers/media/dvb/b2c2/flexcop-fe-tuner.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/media/dvb/b2c2/flexcop-fe-tuner.c 2006-10-31 16:13:26.000000000 -0800 -@@ -527,7 +527,7 @@ +diff --git a/drivers/media/dvb/b2c2/flexcop-fe-tuner.c b/drivers/media/dvb/b2c2/flexcop-fe-tuner.c +index 3be87c7..68bb56e 100644 +--- a/drivers/media/dvb/b2c2/flexcop-fe-tuner.c ++++ b/drivers/media/dvb/b2c2/flexcop-fe-tuner.c +@@ -527,7 +527,7 @@ int flexcop_frontend_init(struct flexcop /* try the air atsc 2nd generation (nxt2002) */ if ((fc->fe = nxt200x_attach(&samsung_tbmv_config, &fc->i2c_adap)) != NULL) { fc->dev_type = FC_AIR_ATSC2; @@ -1115,10 +1253,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/dvb/b2c2/flexco info("found the nxt2002 at i2c address: 0x%02x",samsung_tbmv_config.demod_address); } else /* try the air atsc 3nd generation (lgdt3303) */ -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/dvb/frontends/dvb-pll.c linux-2.6.18.2-rc1/drivers/media/dvb/frontends/dvb-pll.c ---- linux-2.6.18.1/drivers/media/dvb/frontends/dvb-pll.c 2006-10-31 21:13:27.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/media/dvb/frontends/dvb-pll.c 2006-10-31 16:13:26.000000000 -0800 -@@ -493,6 +493,9 @@ +diff --git a/drivers/media/dvb/frontends/dvb-pll.c b/drivers/media/dvb/frontends/dvb-pll.c +index 2be33f2..887d6f4 100644 +--- a/drivers/media/dvb/frontends/dvb-pll.c ++++ b/drivers/media/dvb/frontends/dvb-pll.c +@@ -493,6 +493,9 @@ static int dvb_pll_sleep(struct dvb_fron int i; int result; @@ -1128,10 +1267,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/dvb/frontends/d for (i = 0; i < priv->pll_desc->count; i++) { if (priv->pll_desc->entries[i].limit == 0) break; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/video/cx88/cx88-dvb.c linux-2.6.18.2-rc1/drivers/media/video/cx88/cx88-dvb.c ---- linux-2.6.18.1/drivers/media/video/cx88/cx88-dvb.c 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/media/video/cx88/cx88-dvb.c 2006-10-31 16:13:26.000000000 -0800 -@@ -576,7 +576,7 @@ +diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c +index afde378..fd3ef4c 100644 +--- a/drivers/media/video/cx88/cx88-dvb.c ++++ b/drivers/media/video/cx88/cx88-dvb.c +@@ -576,7 +576,7 @@ #ifdef HAVE_MT352 &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_pll_attach(dev->dvb.frontend, 0x60, @@ -1140,7 +1280,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/video/cx88/cx88 &dvb_pll_thomson_dtt7579); break; } -@@ -587,7 +587,7 @@ +@@ -587,7 +587,7 @@ #ifdef HAVE_ZL10353 &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_pll_attach(dev->dvb.frontend, 0x60, @@ -1149,7 +1289,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/video/cx88/cx88 &dvb_pll_thomson_dtt7579); } #endif -@@ -600,7 +600,7 @@ +@@ -600,7 +600,7 @@ #ifdef HAVE_MT352 &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_pll_attach(dev->dvb.frontend, 0x61, @@ -1158,7 +1298,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/video/cx88/cx88 &dvb_pll_thomson_dtt7579); break; } -@@ -611,7 +611,7 @@ +@@ -611,7 +611,7 @@ #ifdef HAVE_ZL10353 &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_pll_attach(dev->dvb.frontend, 0x61, @@ -1167,7 +1307,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/video/cx88/cx88 &dvb_pll_thomson_dtt7579); } #endif -@@ -623,7 +623,7 @@ +@@ -623,7 +623,7 @@ #ifdef HAVE_MT352 &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_pll_attach(dev->dvb.frontend, 0x61, @@ -1176,7 +1316,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/video/cx88/cx88 &dvb_pll_lg_z201); } break; -@@ -634,7 +634,7 @@ +@@ -634,7 +634,7 @@ #ifdef HAVE_MT352 &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_pll_attach(dev->dvb.frontend, 0x61, @@ -1185,7 +1325,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/video/cx88/cx88 &dvb_pll_unknown_1); } break; -@@ -757,7 +757,7 @@ +@@ -757,7 +757,7 @@ #ifdef HAVE_NXT200X &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_pll_attach(dev->dvb.frontend, 0x61, @@ -1194,10 +1334,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/video/cx88/cx88 &dvb_pll_tuv1236d); } break; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/video/saa7134/saa7134-dvb.c linux-2.6.18.2-rc1/drivers/media/video/saa7134/saa7134-dvb.c ---- linux-2.6.18.1/drivers/media/video/saa7134/saa7134-dvb.c 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/media/video/saa7134/saa7134-dvb.c 2006-10-31 16:13:26.000000000 -0800 -@@ -1158,13 +1158,13 @@ +diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c +index 279828b..449fe23 100644 +--- a/drivers/media/video/saa7134/saa7134-dvb.c ++++ b/drivers/media/video/saa7134/saa7134-dvb.c +@@ -1158,13 +1158,13 @@ #ifdef HAVE_NXT200X case SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180: dev->dvb.frontend = nxt200x_attach(&avertvhda180, &dev->i2c_adap); if (dev->dvb.frontend) { @@ -1213,10 +1354,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/media/video/saa7134/s } break; #endif -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6.18.2-rc1/drivers/net/sky2.c ---- linux-2.6.18.1/drivers/net/sky2.c 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/net/sky2.c 2006-10-31 16:13:26.000000000 -0800 -@@ -678,7 +678,7 @@ +diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c +index c590c2d..ebe7e25 100644 +--- a/drivers/net/sky2.c ++++ b/drivers/net/sky2.c +@@ -678,7 +678,7 @@ static void sky2_mac_init(struct sky2_hw sky2_write16(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_OPER_ON); if (hw->chip_id == CHIP_ID_YUKON_EC_U) { @@ -1225,7 +1367,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. sky2_write8(hw, SK_REG(port, RX_GMF_UP_THR), 1024/8); if (hw->dev[port]->mtu > ETH_DATA_LEN) { /* set Tx GMAC FIFO Almost Empty Threshold */ -@@ -690,16 +690,10 @@ +@@ -690,16 +690,10 @@ static void sky2_mac_init(struct sky2_hw } @@ -1245,7 +1387,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. sky2_write8(hw, RB_ADDR(q, RB_CTRL), RB_RST_CLR); sky2_write32(hw, RB_ADDR(q, RB_START), start); -@@ -708,7 +702,7 @@ +@@ -708,7 +702,7 @@ static void sky2_ramset(struct sky2_hw * sky2_write32(hw, RB_ADDR(q, RB_RP), start); if (q == Q_R1 || q == Q_R2) { @@ -1254,7 +1396,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. u32 tp = space - space/4; /* On receive queue's set the thresholds -@@ -1090,19 +1084,16 @@ +@@ -1090,19 +1084,16 @@ static int sky2_up(struct net_device *de sky2_mac_init(hw, port); @@ -1282,7 +1424,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. /* Make sure SyncQ is disabled */ sky2_write8(hw, RB_ADDR(port == 0 ? Q_XS1 : Q_XS2, RB_CTRL), -@@ -1429,6 +1420,11 @@ +@@ -1429,6 +1420,11 @@ static int sky2_down(struct net_device * /* Stop more packets from being queued */ netif_stop_queue(dev); @@ -1294,7 +1436,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. sky2_phy_reset(hw, port); /* Stop transmitter */ -@@ -1472,11 +1468,6 @@ +@@ -1472,11 +1468,6 @@ static int sky2_down(struct net_device * sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET); sky2_write8(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_RST_SET); @@ -1306,7 +1448,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. /* turn off LED's */ sky2_write16(hw, B0_Y2LED, LED_STAT_OFF); -@@ -1687,13 +1678,13 @@ +@@ -1687,13 +1678,13 @@ static void sky2_phy_intr(struct sky2_hw struct sky2_port *sky2 = netdev_priv(dev); u16 istatus, phystat; @@ -1323,7 +1465,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. if (netif_msg_intr(sky2)) printk(KERN_INFO PFX "%s: phy interrupt status 0x%x 0x%x\n", sky2->netdev->name, istatus, phystat); -@@ -2745,6 +2736,14 @@ +@@ -2745,6 +2736,14 @@ static int sky2_set_mac_address(struct n return 0; } @@ -1338,7 +1480,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. static void sky2_set_multicast(struct net_device *dev) { struct sky2_port *sky2 = netdev_priv(dev); -@@ -2753,6 +2752,7 @@ +@@ -2753,6 +2752,7 @@ static void sky2_set_multicast(struct ne struct dev_mc_list *list = dev->mc_list; u16 reg; u8 filter[8]; @@ -1346,7 +1488,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. memset(filter, 0, sizeof(filter)); -@@ -2763,16 +2763,17 @@ +@@ -2763,16 +2763,17 @@ static void sky2_set_multicast(struct ne reg &= ~(GM_RXCR_UCF_ENA | GM_RXCR_MCF_ENA); else if ((dev->flags & IFF_ALLMULTI) || dev->mc_count > 16) /* all multicast */ memset(filter, 0xff, sizeof(filter)); @@ -1369,7 +1511,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. } gma_write16(hw, port, GM_MC_ADDR_H1, -@@ -3208,6 +3209,8 @@ +@@ -3208,6 +3209,8 @@ static int __devinit sky2_test_msi(struc struct pci_dev *pdev = hw->pdev; int err; @@ -1378,7 +1520,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW); err = request_irq(pdev->irq, sky2_test_intr, IRQF_SHARED, DRV_NAME, hw); -@@ -3217,18 +3220,15 @@ +@@ -3217,18 +3220,15 @@ static int __devinit sky2_test_msi(struc return err; } @@ -1400,7 +1542,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. pci_name(pdev)); err = -EOPNOTSUPP; -@@ -3236,6 +3236,7 @@ +@@ -3236,6 +3236,7 @@ static int __devinit sky2_test_msi(struc } sky2_write32(hw, B0_IMSK, 0); @@ -1408,10 +1550,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.c linux-2.6. free_irq(pdev->irq, hw); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.h linux-2.6.18.2-rc1/drivers/net/sky2.h ---- linux-2.6.18.1/drivers/net/sky2.h 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/net/sky2.h 2006-10-31 16:13:26.000000000 -0800 -@@ -1566,7 +1566,7 @@ +diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h +index ac5248b..7af5499 100644 +--- a/drivers/net/sky2.h ++++ b/drivers/net/sky2.h +@@ -1566,7 +1566,7 @@ enum { GMR_FS_ANY_ERR = GMR_FS_RX_FF_OV | GMR_FS_CRC_ERR | GMR_FS_FRAGMENT | GMR_FS_LONG_ERR | @@ -1420,10 +1563,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/net/sky2.h linux-2.6. GMR_FS_UN_SIZE | GMR_FS_JABBER, }; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/pci/quirks.c linux-2.6.18.2-rc1/drivers/pci/quirks.c ---- linux-2.6.18.1/drivers/pci/quirks.c 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/pci/quirks.c 2006-10-31 16:13:27.000000000 -0800 -@@ -685,33 +685,6 @@ +diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c +index 17e709e..60b31ac 100644 +--- a/drivers/pci/quirks.c ++++ b/drivers/pci/quirks.c +@@ -685,33 +685,6 @@ static void __devinit quirk_vt82c598_id( } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_vt82c598_id ); @@ -1457,10 +1601,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/pci/quirks.c linux-2. /* * CardBus controllers have a legacy base address that enables them * to respond as i82365 pcmcia controllers. We don't want them to -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/rtc/rtc-max6902.c linux-2.6.18.2-rc1/drivers/rtc/rtc-max6902.c ---- linux-2.6.18.1/drivers/rtc/rtc-max6902.c 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/rtc/rtc-max6902.c 2006-10-31 16:13:27.000000000 -0800 -@@ -137,7 +137,7 @@ +diff --git a/drivers/rtc/rtc-max6902.c b/drivers/rtc/rtc-max6902.c +index 2c97395..b38208b 100644 +--- a/drivers/rtc/rtc-max6902.c ++++ b/drivers/rtc/rtc-max6902.c +@@ -137,7 +137,7 @@ static int max6902_get_datetime(struct d dt->tm_min = BCD2BIN(chip->buf[2]); dt->tm_hour = BCD2BIN(chip->buf[3]); dt->tm_mday = BCD2BIN(chip->buf[4]); @@ -1469,10 +1614,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/rtc/rtc-max6902.c lin dt->tm_wday = BCD2BIN(chip->buf[6]); dt->tm_year = BCD2BIN(chip->buf[7]); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/scsi/aic7xxx/aic7xxx_osm.c linux-2.6.18.2-rc1/drivers/scsi/aic7xxx/aic7xxx_osm.c ---- linux-2.6.18.1/drivers/scsi/aic7xxx/aic7xxx_osm.c 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/scsi/aic7xxx/aic7xxx_osm.c 2006-10-31 16:13:26.000000000 -0800 -@@ -2539,15 +2539,28 @@ +diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c +index aa4be8a..129444a 100644 +--- a/drivers/scsi/aic7xxx/aic7xxx_osm.c ++++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c +@@ -2539,15 +2539,28 @@ #endif static void ahc_linux_get_signalling(struct Scsi_Host *shost) { struct ahc_softc *ahc = *(struct ahc_softc **)shost->hostdata; @@ -1505,10 +1651,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/scsi/aic7xxx/aic7xxx_ else spi_signalling(shost) = SPI_SIGNAL_UNKNOWN; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/serial/serial_core.c linux-2.6.18.2-rc1/drivers/serial/serial_core.c ---- linux-2.6.18.1/drivers/serial/serial_core.c 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/serial/serial_core.c 2006-10-31 16:13:26.000000000 -0800 -@@ -1932,6 +1932,9 @@ +diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c +index 372e47f..c59dcb7 100644 +--- a/drivers/serial/serial_core.c ++++ b/drivers/serial/serial_core.c +@@ -1932,6 +1932,9 @@ int uart_suspend_port(struct uart_driver if (state->info && state->info->flags & UIF_INITIALIZED) { const struct uart_ops *ops = port->ops; @@ -1518,7 +1665,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/serial/serial_core.c spin_lock_irq(&port->lock); ops->stop_tx(port); ops->set_mctrl(port, 0); -@@ -1991,7 +1994,7 @@ +@@ -1991,7 +1994,7 @@ int uart_resume_port(struct uart_driver console_start(port->cons); } @@ -1527,7 +1674,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/serial/serial_core.c const struct uart_ops *ops = port->ops; int ret; -@@ -2003,15 +2006,17 @@ +@@ -2003,15 +2006,17 @@ int uart_resume_port(struct uart_driver ops->set_mctrl(port, port->mctrl); ops->start_tx(port); spin_unlock_irq(&port->lock); @@ -1546,10 +1693,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/serial/serial_core.c } mutex_unlock(&state->mutex); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/serial/serial_cs.c linux-2.6.18.2-rc1/drivers/serial/serial_cs.c ---- linux-2.6.18.1/drivers/serial/serial_cs.c 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/serial/serial_cs.c 2006-10-31 16:13:26.000000000 -0800 -@@ -185,14 +185,12 @@ +diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c +index cbf260b..06a246a 100644 +--- a/drivers/serial/serial_cs.c ++++ b/drivers/serial/serial_cs.c +@@ -185,14 +185,12 @@ static int serial_suspend(struct pcmcia_ static int serial_resume(struct pcmcia_device *link) { @@ -1569,10 +1717,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/serial/serial_cs.c li return 0; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/usb/core/devio.c linux-2.6.18.2-rc1/drivers/usb/core/devio.c ---- linux-2.6.18.1/drivers/usb/core/devio.c 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/usb/core/devio.c 2006-10-31 16:26:56.000000000 -0800 -@@ -59,6 +59,9 @@ +diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c +index 218621b..ab6cc03 100644 +--- a/drivers/usb/core/devio.c ++++ b/drivers/usb/core/devio.c +@@ -59,6 +59,9 @@ #define USB_MAXBUS 64 #define USB_DEVICE_MAX USB_MAXBUS * 128 static struct class *usb_device_class; @@ -1582,7 +1731,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/usb/core/devio.c linu struct async { struct list_head asynclist; struct dev_state *ps; -@@ -541,15 +544,13 @@ +@@ -541,15 +544,13 @@ static int usbdev_open(struct inode *ino struct dev_state *ps; int ret; @@ -1602,7 +1751,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/usb/core/devio.c linu ret = -ENOENT; /* check if we are called from a real node or usbfs */ if (imajor(inode) == USB_DEVICE_MAJOR) -@@ -579,9 +580,8 @@ +@@ -579,9 +580,8 @@ static int usbdev_open(struct inode *ino list_add_tail(&ps->list, &dev->filelist); file->private_data = ps; out: @@ -1614,7 +1763,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/usb/core/devio.c linu } static int usbdev_release(struct inode *inode, struct file *file) -@@ -591,7 +591,12 @@ +@@ -591,7 +591,12 @@ static int usbdev_release(struct inode * unsigned int ifnum; usb_lock_device(dev); @@ -1627,7 +1776,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/usb/core/devio.c linu for (ifnum = 0; ps->ifclaimed && ifnum < 8*sizeof(ps->ifclaimed); ifnum++) { if (test_bit(ifnum, &ps->ifclaimed)) -@@ -600,9 +605,8 @@ +@@ -600,9 +605,8 @@ static int usbdev_release(struct inode * destroy_all_async(ps); usb_unlock_device(dev); usb_put_dev(dev); @@ -1638,10 +1787,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/usb/core/devio.c linu } static int proc_control(struct dev_state *ps, void __user *arg) -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/usb/core/notify.c linux-2.6.18.2-rc1/drivers/usb/core/notify.c ---- linux-2.6.18.1/drivers/usb/core/notify.c 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/usb/core/notify.c 2006-10-31 16:26:56.000000000 -0800 -@@ -50,8 +50,11 @@ +diff --git a/drivers/usb/core/notify.c b/drivers/usb/core/notify.c +index b042676..6b36897 100644 +--- a/drivers/usb/core/notify.c ++++ b/drivers/usb/core/notify.c +@@ -50,8 +50,11 @@ void usb_notify_add_device(struct usb_de void usb_notify_remove_device(struct usb_device *udev) { @@ -1653,10 +1803,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/usb/core/notify.c lin } void usb_notify_add_bus(struct usb_bus *ubus) -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/usb/core/usb.h linux-2.6.18.2-rc1/drivers/usb/core/usb.h ---- linux-2.6.18.1/drivers/usb/core/usb.h 2006-10-31 21:13:28.000000000 -0800 -+++ linux-2.6.18.2-rc1/drivers/usb/core/usb.h 2006-10-31 16:26:56.000000000 -0800 -@@ -59,6 +59,7 @@ +diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h +index 49f6923..1217fbb 100644 +--- a/drivers/usb/core/usb.h ++++ b/drivers/usb/core/usb.h +@@ -59,6 +59,7 @@ static inline int is_active(struct usb_i extern const char *usbcore_name; /* usbfs stuff */ @@ -1664,10 +1815,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/drivers/usb/core/usb.h linux- extern struct usb_driver usbfs_driver; extern struct file_operations usbfs_devices_fops; extern struct file_operations usbfs_device_file_operations; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/fuse/dir.c linux-2.6.18.2-rc1/fs/fuse/dir.c ---- linux-2.6.18.1/fs/fuse/dir.c 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/fs/fuse/dir.c 2006-10-31 16:13:26.000000000 -0800 -@@ -935,14 +935,30 @@ +diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c +index 409ce6a..5d7c726 100644 +--- a/fs/fuse/dir.c ++++ b/fs/fuse/dir.c +@@ -935,14 +935,30 @@ static void iattr_to_fattr(struct iattr } } @@ -1701,7 +1853,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/fuse/dir.c linux-2.6.18.2- */ static int fuse_setattr(struct dentry *entry, struct iattr *attr) { -@@ -993,12 +1009,8 @@ +@@ -993,12 +1009,8 @@ static int fuse_setattr(struct dentry *e make_bad_inode(inode); err = -EIO; } else { @@ -1716,10 +1868,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/fuse/dir.c linux-2.6.18.2- fuse_change_attributes(inode, &outarg.attr); fi->i_time = time_to_jiffies(outarg.attr_valid, outarg.attr_valid_nsec); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/fuse/file.c linux-2.6.18.2-rc1/fs/fuse/file.c ---- linux-2.6.18.1/fs/fuse/file.c 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/fs/fuse/file.c 2006-10-31 16:13:26.000000000 -0800 -@@ -481,8 +481,10 @@ +diff --git a/fs/fuse/file.c b/fs/fuse/file.c +index 5c4fcd1..4e174c8 100644 +--- a/fs/fuse/file.c ++++ b/fs/fuse/file.c +@@ -481,8 +481,10 @@ static int fuse_commit_write(struct file err = -EIO; if (!err) { pos += count; @@ -1731,7 +1884,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/fuse/file.c linux-2.6.18.2 if (offset == 0 && to == PAGE_CACHE_SIZE) { clear_page_dirty(page); -@@ -586,8 +588,12 @@ +@@ -586,8 +588,12 @@ static ssize_t fuse_direct_io(struct fil } fuse_put_request(fc, req); if (res > 0) { @@ -1746,10 +1899,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/fuse/file.c linux-2.6.18.2 *ppos = pos; } fuse_invalidate_attr(inode); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/fuse/inode.c linux-2.6.18.2-rc1/fs/fuse/inode.c ---- linux-2.6.18.1/fs/fuse/inode.c 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/fs/fuse/inode.c 2006-10-31 16:13:26.000000000 -0800 -@@ -109,6 +109,7 @@ +diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c +index 7d25092..65df8a4 100644 +--- a/fs/fuse/inode.c ++++ b/fs/fuse/inode.c +@@ -109,6 +109,7 @@ static int fuse_remount_fs(struct super_ void fuse_change_attributes(struct inode *inode, struct fuse_attr *attr) { @@ -1757,7 +1911,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/fuse/inode.c linux-2.6.18. if (S_ISREG(inode->i_mode) && i_size_read(inode) != attr->size) invalidate_inode_pages(inode->i_mapping); -@@ -117,7 +118,9 @@ +@@ -117,7 +118,9 @@ void fuse_change_attributes(struct inode inode->i_nlink = attr->nlink; inode->i_uid = attr->uid; inode->i_gid = attr->gid; @@ -1767,7 +1921,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/fuse/inode.c linux-2.6.18. inode->i_blksize = PAGE_CACHE_SIZE; inode->i_blocks = attr->blocks; inode->i_atime.tv_sec = attr->atime; -@@ -131,7 +134,7 @@ +@@ -131,7 +134,7 @@ void fuse_change_attributes(struct inode static void fuse_init_inode(struct inode *inode, struct fuse_attr *attr) { inode->i_mode = attr->mode & S_IFMT; @@ -1776,10 +1930,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/fuse/inode.c linux-2.6.18. if (S_ISREG(inode->i_mode)) { fuse_init_common(inode); fuse_init_file_inode(inode); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/jfs/jfs_imap.c linux-2.6.18.2-rc1/fs/jfs/jfs_imap.c ---- linux-2.6.18.1/fs/jfs/jfs_imap.c 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/fs/jfs/jfs_imap.c 2006-10-31 16:13:26.000000000 -0800 -@@ -318,7 +318,7 @@ +diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c +index ccbe60a..3bdd90b 100644 +--- a/fs/jfs/jfs_imap.c ++++ b/fs/jfs/jfs_imap.c +@@ -318,7 +318,7 @@ int diRead(struct inode *ip) struct inomap *imap; int block_offset; int inodes_left; @@ -1788,7 +1943,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/jfs/jfs_imap.c linux-2.6.1 int rel_inode; jfs_info("diRead: ino = %ld", ip->i_ino); -@@ -606,7 +606,7 @@ +@@ -606,7 +606,7 @@ int diWrite(tid_t tid, struct inode *ip) int block_offset; int inodes_left; struct metapage *mp; @@ -1797,10 +1952,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/jfs/jfs_imap.c linux-2.6.1 int rel_inode; int dioffset; struct inode *ipimap; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/nfs/dir.c linux-2.6.18.2-rc1/fs/nfs/dir.c ---- linux-2.6.18.1/fs/nfs/dir.c 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/fs/nfs/dir.c 2006-10-31 16:13:27.000000000 -0800 -@@ -902,9 +902,15 @@ +diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c +index e7ffb4d..f86b9b4 100644 +--- a/fs/nfs/dir.c ++++ b/fs/nfs/dir.c +@@ -902,9 +902,15 @@ static struct dentry *nfs_lookup(struct lock_kernel(); @@ -1819,7 +1975,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/nfs/dir.c linux-2.6.18.2-r error = NFS_PROTO(dir)->lookup(dir, &dentry->d_name, &fhandle, &fattr); if (error == -ENOENT) -@@ -1156,6 +1162,8 @@ +@@ -1156,6 +1162,8 @@ int nfs_instantiate(struct dentry *dentr if (IS_ERR(inode)) goto out_err; d_instantiate(dentry, inode); @@ -1828,10 +1984,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/nfs/dir.c linux-2.6.18.2-r return 0; out_err: d_drop(dentry); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/splice.c linux-2.6.18.2-rc1/fs/splice.c ---- linux-2.6.18.1/fs/splice.c 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/fs/splice.c 2006-10-31 16:13:26.000000000 -0800 -@@ -607,7 +607,7 @@ +diff --git a/fs/splice.c b/fs/splice.c +index 684bca3..4eed2f6 100644 +--- a/fs/splice.c ++++ b/fs/splice.c +@@ -607,7 +607,7 @@ find_page: ret = -ENOMEM; page = page_cache_alloc_cold(mapping); if (unlikely(!page)) @@ -1840,7 +1997,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/splice.c linux-2.6.18.2-rc /* * This will also lock the page -@@ -666,7 +666,7 @@ +@@ -666,7 +666,7 @@ find_page: if (sd->pos + this_len > isize) vmtruncate(mapping->host, isize); @@ -1849,7 +2006,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/splice.c linux-2.6.18.2-rc } if (buf->page != page) { -@@ -698,7 +698,7 @@ +@@ -698,7 +698,7 @@ find_page: out: page_cache_release(page); unlock_page(page); @@ -1858,9 +2015,10 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/fs/splice.c linux-2.6.18.2-rc return ret; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/asm-generic/audit_change_attr.h linux-2.6.18.2-rc1/include/asm-generic/audit_change_attr.h ---- linux-2.6.18.1/include/asm-generic/audit_change_attr.h 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/include/asm-generic/audit_change_attr.h 2006-10-31 16:13:26.000000000 -0800 +diff --git a/include/asm-generic/audit_change_attr.h b/include/asm-generic/audit_change_attr.h +index cb05bf6..5076455 100644 +--- a/include/asm-generic/audit_change_attr.h ++++ b/include/asm-generic/audit_change_attr.h @@ -1,16 +1,20 @@ __NR_chmod, __NR_fchmod, @@ -1882,9 +2040,10 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/asm-generic/audit_cha #ifdef __NR_chown32 __NR_chown32, __NR_fchown32, -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/asm-generic/audit_dir_write.h linux-2.6.18.2-rc1/include/asm-generic/audit_dir_write.h ---- linux-2.6.18.1/include/asm-generic/audit_dir_write.h 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/include/asm-generic/audit_dir_write.h 2006-10-31 16:13:26.000000000 -0800 +diff --git a/include/asm-generic/audit_dir_write.h b/include/asm-generic/audit_dir_write.h +index 161a7a5..6621bd8 100644 +--- a/include/asm-generic/audit_dir_write.h ++++ b/include/asm-generic/audit_dir_write.h @@ -1,14 +1,18 @@ __NR_rename, __NR_mkdir, @@ -1904,9 +2063,10 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/asm-generic/audit_dir __NR_linkat, __NR_symlinkat, +#endif -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/asm-s390/div64.h linux-2.6.18.2-rc1/include/asm-s390/div64.h ---- linux-2.6.18.1/include/asm-s390/div64.h 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/include/asm-s390/div64.h 2006-10-31 16:13:26.000000000 -0800 +diff --git a/include/asm-s390/div64.h b/include/asm-s390/div64.h +index af098dc..6cd978c 100644 +--- a/include/asm-s390/div64.h ++++ b/include/asm-s390/div64.h @@ -1,49 +1 @@ -#ifndef __S390_DIV64 -#define __S390_DIV64 @@ -1957,10 +2117,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/asm-s390/div64.h linu -#endif /* __s390x__ */ - -#endif -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/linux/mmzone.h linux-2.6.18.2-rc1/include/linux/mmzone.h ---- linux-2.6.18.1/include/linux/mmzone.h 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/include/linux/mmzone.h 2006-10-31 16:13:27.000000000 -0800 -@@ -200,13 +200,9 @@ +diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h +index 5951364..5dfe111 100644 +--- a/include/linux/mmzone.h ++++ b/include/linux/mmzone.h +@@ -200,13 +200,9 @@ #endif * under - it drives the swappiness decision: whether to unmap mapped * pages. * @@ -1975,7 +2136,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/linux/mmzone.h linux- int prev_priority; -@@ -632,6 +628,12 @@ +@@ -632,6 +628,12 @@ #define sparse_init() do {} while (0) #define sparse_index_init(_sec, _nid) do {} while (0) #endif /* CONFIG_SPARSEMEM */ @@ -1988,10 +2149,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/linux/mmzone.h linux- #ifndef early_pfn_valid #define early_pfn_valid(pfn) (1) #endif -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/linux/serial_core.h linux-2.6.18.2-rc1/include/linux/serial_core.h ---- linux-2.6.18.1/include/linux/serial_core.h 2006-10-31 21:13:29.000000000 -0800 -+++ linux-2.6.18.2-rc1/include/linux/serial_core.h 2006-10-31 16:13:26.000000000 -0800 -@@ -319,6 +319,7 @@ +diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h +index 86501a3..f9fdf97 100644 +--- a/include/linux/serial_core.h ++++ b/include/linux/serial_core.h +@@ -319,6 +319,7 @@ #define UIF_CHECK_CD ((__force uif_t) ( #define UIF_CTS_FLOW ((__force uif_t) (1 << 26)) #define UIF_NORMAL_ACTIVE ((__force uif_t) (1 << 29)) #define UIF_INITIALIZED ((__force uif_t) (1 << 31)) @@ -1999,10 +2161,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/include/linux/serial_core.h l int blocked_open; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/kernel/posix-cpu-timers.c linux-2.6.18.2-rc1/kernel/posix-cpu-timers.c ---- linux-2.6.18.1/kernel/posix-cpu-timers.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/kernel/posix-cpu-timers.c 2006-10-31 16:13:26.000000000 -0800 -@@ -88,6 +88,19 @@ +diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c +index d38d9ec..0779b48 100644 +--- a/kernel/posix-cpu-timers.c ++++ b/kernel/posix-cpu-timers.c +@@ -88,6 +88,19 @@ static inline union cpu_time_count cpu_t } /* @@ -2022,7 +2185,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/kernel/posix-cpu-timers.c lin * Update expiry time from increment, and increase overrun count, * given the current clock sample. */ -@@ -483,8 +496,8 @@ +@@ -483,8 +496,8 @@ static void process_timer_rebalance(stru BUG(); break; case CPUCLOCK_PROF: @@ -2033,7 +2196,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/kernel/posix-cpu-timers.c lin do { if (likely(!(t->flags & PF_EXITING))) { ticks = cputime_add(prof_ticks(t), left); -@@ -498,8 +511,8 @@ +@@ -498,8 +511,8 @@ static void process_timer_rebalance(stru } while (t != p); break; case CPUCLOCK_VIRT: @@ -2044,7 +2207,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/kernel/posix-cpu-timers.c lin do { if (likely(!(t->flags & PF_EXITING))) { ticks = cputime_add(virt_ticks(t), left); -@@ -515,6 +528,7 @@ +@@ -515,6 +528,7 @@ static void process_timer_rebalance(stru case CPUCLOCK_SCHED: nsleft = expires.sched - val.sched; do_div(nsleft, nthreads); @@ -2052,7 +2215,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/kernel/posix-cpu-timers.c lin do { if (likely(!(t->flags & PF_EXITING))) { ns = t->sched_time + nsleft; -@@ -1159,12 +1173,13 @@ +@@ -1159,12 +1173,13 @@ static void check_process_timers(struct prof_left = cputime_sub(prof_expires, utime); prof_left = cputime_sub(prof_left, stime); @@ -2068,10 +2231,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/kernel/posix-cpu-timers.c lin } else { sched_left = 0; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/kernel/taskstats.c linux-2.6.18.2-rc1/kernel/taskstats.c ---- linux-2.6.18.1/kernel/taskstats.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/kernel/taskstats.c 2006-10-31 16:13:27.000000000 -0800 -@@ -229,14 +229,17 @@ +diff --git a/kernel/taskstats.c b/kernel/taskstats.c +index e781876..b90b2a7 100644 +--- a/kernel/taskstats.c ++++ b/kernel/taskstats.c +@@ -229,14 +229,17 @@ static int fill_tgid(pid_t tgid, struct } else get_task_struct(first); @@ -2094,7 +2258,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/kernel/taskstats.c linux-2.6. do { if (tsk->exit_state == EXIT_ZOMBIE && thread_group_leader(tsk)) continue; -@@ -256,7 +259,7 @@ +@@ -256,7 +259,7 @@ static int fill_tgid(pid_t tgid, struct * Accounting subsytems can also add calls here to modify * fields of taskstats. */ @@ -2103,10 +2267,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/kernel/taskstats.c linux-2.6. return 0; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/lib/audit.c linux-2.6.18.2-rc1/lib/audit.c ---- linux-2.6.18.1/lib/audit.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/lib/audit.c 2006-10-31 16:13:26.000000000 -0800 -@@ -28,8 +28,10 @@ +diff --git a/lib/audit.c b/lib/audit.c +index 8c21625..3b1289f 100644 +--- a/lib/audit.c ++++ b/lib/audit.c +@@ -28,8 +28,10 @@ int audit_classify_syscall(int abi, unsi switch(syscall) { case __NR_open: return 2; @@ -2117,10 +2282,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/lib/audit.c linux-2.6.18.2-rc #ifdef __NR_socketcall case __NR_socketcall: return 4; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/memory.c linux-2.6.18.2-rc1/mm/memory.c ---- linux-2.6.18.1/mm/memory.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/mm/memory.c 2006-10-31 16:13:26.000000000 -0800 -@@ -1551,7 +1551,14 @@ +diff --git a/mm/memory.c b/mm/memory.c +index 109e986..d28450c 100644 +--- a/mm/memory.c ++++ b/mm/memory.c +@@ -1551,7 +1551,14 @@ gotten: entry = mk_pte(new_page, vma->vm_page_prot); entry = maybe_mkwrite(pte_mkdirty(entry), vma); lazy_mmu_prot_update(entry); @@ -2136,10 +2302,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/memory.c linux-2.6.18.2-rc update_mmu_cache(vma, address, entry); lru_cache_add_active(new_page); page_add_new_anon_rmap(new_page, vma, address); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/page_alloc.c linux-2.6.18.2-rc1/mm/page_alloc.c ---- linux-2.6.18.1/mm/page_alloc.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/mm/page_alloc.c 2006-10-31 16:13:27.000000000 -0800 -@@ -1673,6 +1673,8 @@ +diff --git a/mm/page_alloc.c b/mm/page_alloc.c +index 7e92c94..128b9f5 100644 +--- a/mm/page_alloc.c ++++ b/mm/page_alloc.c +@@ -1673,6 +1673,8 @@ void __meminit memmap_init_zone(unsigned for (pfn = start_pfn; pfn < end_pfn; pfn++) { if (!early_pfn_valid(pfn)) continue; @@ -2148,7 +2315,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/page_alloc.c linux-2.6.18. page = pfn_to_page(pfn); set_page_links(page, zone, nid, pfn); init_page_count(page); -@@ -2019,7 +2021,7 @@ +@@ -2019,7 +2021,7 @@ #endif zone->zone_pgdat = pgdat; zone->free_pages = 0; @@ -2157,10 +2324,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/page_alloc.c linux-2.6.18. zone_pcp_init(zone); INIT_LIST_HEAD(&zone->active_list); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc1/mm/vmscan.c ---- linux-2.6.18.1/mm/vmscan.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/mm/vmscan.c 2006-10-31 16:13:27.000000000 -0800 -@@ -696,6 +696,20 @@ +diff --git a/mm/vmscan.c b/mm/vmscan.c +index 1dad4b6..a04fb41 100644 +--- a/mm/vmscan.c ++++ b/mm/vmscan.c +@@ -696,6 +696,20 @@ done: } /* @@ -2181,7 +2349,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc * This moves pages from the active list to the inactive list. * * We move them the other way if the page is referenced by one or more -@@ -713,7 +727,7 @@ +@@ -713,7 +727,7 @@ done: * But we had to alter page->flags anyway. */ static void shrink_active_list(unsigned long nr_pages, struct zone *zone, @@ -2190,7 +2358,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc { unsigned long pgmoved; int pgdeactivate = 0; -@@ -734,7 +748,7 @@ +@@ -734,7 +748,7 @@ static void shrink_active_list(unsigned * `distress' is a measure of how much trouble we're having * reclaiming pages. 0 -> no problems. 100 -> great trouble. */ @@ -2199,7 +2367,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc /* * The point of this algorithm is to decide when to start -@@ -885,7 +899,7 @@ +@@ -885,7 +899,7 @@ static unsigned long shrink_zone(int pri nr_to_scan = min(nr_active, (unsigned long)sc->swap_cluster_max); nr_active -= nr_to_scan; @@ -2208,7 +2376,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc } if (nr_inactive) { -@@ -934,9 +948,7 @@ +@@ -934,9 +948,7 @@ static unsigned long shrink_zones(int pr if (!cpuset_zone_allowed(zone, __GFP_HARDWALL)) continue; @@ -2219,7 +2387,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc if (zone->all_unreclaimable && priority != DEF_PRIORITY) continue; /* Let kswapd poll it */ -@@ -984,7 +996,6 @@ +@@ -984,7 +996,6 @@ unsigned long try_to_free_pages(struct z if (!cpuset_zone_allowed(zone, __GFP_HARDWALL)) continue; @@ -2227,7 +2395,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc lru_pages += zone->nr_active + zone->nr_inactive; } -@@ -1022,13 +1033,22 @@ +@@ -1022,13 +1033,22 @@ unsigned long try_to_free_pages(struct z blk_congestion_wait(WRITE, HZ/10); } out: @@ -2251,7 +2419,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc } return ret; } -@@ -1068,6 +1088,11 @@ +@@ -1068,6 +1088,11 @@ static unsigned long balance_pgdat(pg_da .swap_cluster_max = SWAP_CLUSTER_MAX, .swappiness = vm_swappiness, }; @@ -2263,7 +2431,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc loop_again: total_scanned = 0; -@@ -1075,11 +1100,8 @@ +@@ -1075,11 +1100,8 @@ loop_again: sc.may_writepage = !laptop_mode; count_vm_event(PAGEOUTRUN); @@ -2277,7 +2445,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc for (priority = DEF_PRIORITY; priority >= 0; priority--) { int end_zone = 0; /* Inclusive. 0 = ZONE_DMA */ -@@ -1140,10 +1162,9 @@ +@@ -1140,10 +1162,9 @@ scan: if (!zone_watermark_ok(zone, order, zone->pages_high, end_zone, 0)) all_zones_ok = 0; @@ -2290,7 +2458,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc nr_reclaimed += shrink_zone(priority, zone, &sc); reclaim_state->reclaimed_slab = 0; nr_slab = shrink_slab(sc.nr_scanned, GFP_KERNEL, -@@ -1183,10 +1204,15 @@ +@@ -1183,10 +1204,15 @@ scan: break; } out: @@ -2307,7 +2475,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc } if (!all_zones_ok) { cond_resched(); -@@ -1315,7 +1341,7 @@ +@@ -1315,7 +1341,7 @@ static unsigned long shrink_all_zones(un if (zone->nr_scan_active >= nr_pages || pass > 3) { zone->nr_scan_active = 0; nr_to_scan = min(nr_pages, zone->nr_active); @@ -2316,7 +2484,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc } } -@@ -1570,6 +1596,7 @@ +@@ -1570,6 +1596,7 @@ static int __zone_reclaim(struct zone *z */ priority = ZONE_RECLAIM_PRIORITY; do { @@ -2324,10 +2492,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmscan.c linux-2.6.18.2-rc nr_reclaimed += shrink_zone(priority, zone, &sc); priority--; } while (priority >= 0 && nr_reclaimed < nr_pages); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmstat.c linux-2.6.18.2-rc1/mm/vmstat.c ---- linux-2.6.18.1/mm/vmstat.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/mm/vmstat.c 2006-10-31 16:13:27.000000000 -0800 -@@ -586,11 +586,9 @@ +diff --git a/mm/vmstat.c b/mm/vmstat.c +index c1b5f41..0e3f7e2 100644 +--- a/mm/vmstat.c ++++ b/mm/vmstat.c +@@ -586,11 +586,9 @@ #endif seq_printf(m, "\n all_unreclaimable: %u" "\n prev_priority: %i" @@ -2339,10 +2508,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/mm/vmstat.c linux-2.6.18.2-rc zone->zone_start_pfn); spin_unlock_irqrestore(&zone->lock, flags); seq_putc(m, '\n'); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/bluetooth/rfcomm/tty.c linux-2.6.18.2-rc1/net/bluetooth/rfcomm/tty.c ---- linux-2.6.18.1/net/bluetooth/rfcomm/tty.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/net/bluetooth/rfcomm/tty.c 2006-10-31 16:13:26.000000000 -0800 -@@ -748,6 +748,9 @@ +diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c +index bd8d671..5d65ceb 100644 +--- a/net/bluetooth/rfcomm/tty.c ++++ b/net/bluetooth/rfcomm/tty.c +@@ -748,6 +748,9 @@ static void rfcomm_tty_set_termios(struc BT_DBG("tty %p termios %p", tty, old); @@ -2352,10 +2522,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/bluetooth/rfcomm/tty.c li /* Handle turning off CRTSCTS */ if ((old->c_cflag & CRTSCTS) && !(new->c_cflag & CRTSCTS)) BT_DBG("Turning off CRTSCTS unsupported"); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/core/skbuff.c linux-2.6.18.2-rc1/net/core/skbuff.c ---- linux-2.6.18.1/net/core/skbuff.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/net/core/skbuff.c 2006-10-31 16:13:26.000000000 -0800 -@@ -1945,7 +1945,7 @@ +diff --git a/net/core/skbuff.c b/net/core/skbuff.c +index c54f366..7de9857 100644 +--- a/net/core/skbuff.c ++++ b/net/core/skbuff.c +@@ -1945,7 +1945,7 @@ struct sk_buff *skb_segment(struct sk_bu do { struct sk_buff *nskb; skb_frag_t *frag; @@ -2364,7 +2535,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/core/skbuff.c linux-2.6.1 int k; int size; -@@ -1956,11 +1956,10 @@ +@@ -1956,11 +1956,10 @@ struct sk_buff *skb_segment(struct sk_bu hsize = skb_headlen(skb) - offset; if (hsize < 0) hsize = 0; @@ -2379,10 +2550,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/core/skbuff.c linux-2.6.1 if (unlikely(!nskb)) goto err; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/decnet/af_decnet.c linux-2.6.18.2-rc1/net/decnet/af_decnet.c ---- linux-2.6.18.1/net/decnet/af_decnet.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/net/decnet/af_decnet.c 2006-10-31 16:13:26.000000000 -0800 -@@ -1177,8 +1177,10 @@ +diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c +index 5486247..07d9869 100644 +--- a/net/decnet/af_decnet.c ++++ b/net/decnet/af_decnet.c +@@ -1177,8 +1177,10 @@ static int dn_getname(struct socket *soc if (peer) { if ((sock->state != SS_CONNECTED && sock->state != SS_CONNECTING) && @@ -2394,10 +2566,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/decnet/af_decnet.c linux- memcpy(sa, &scp->peer, sizeof(struct sockaddr_dn)); } else { -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/ipv4/tcp_cubic.c linux-2.6.18.2-rc1/net/ipv4/tcp_cubic.c ---- linux-2.6.18.1/net/ipv4/tcp_cubic.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/net/ipv4/tcp_cubic.c 2006-10-31 16:13:27.000000000 -0800 -@@ -190,7 +190,7 @@ +diff --git a/net/ipv4/tcp_cubic.c b/net/ipv4/tcp_cubic.c +index 2be2798..c3b01b5 100644 +--- a/net/ipv4/tcp_cubic.c ++++ b/net/ipv4/tcp_cubic.c +@@ -190,7 +190,7 @@ static inline void bictcp_update(struct */ /* change the unit from HZ to bictcp_HZ */ @@ -2406,7 +2579,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/ipv4/tcp_cubic.c linux-2. << BICTCP_HZ) / HZ; if (t < ca->bic_K) /* t - K */ -@@ -259,7 +259,7 @@ +@@ -259,7 +259,7 @@ static inline void measure_delay(struct (s32)(tcp_time_stamp - ca->epoch_start) < HZ) return; @@ -2415,7 +2588,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/ipv4/tcp_cubic.c linux-2. if (delay == 0) delay = 1; -@@ -366,7 +366,7 @@ +@@ -366,7 +366,7 @@ static int __init cubictcp_register(void beta_scale = 8*(BICTCP_BETA_SCALE+beta)/ 3 / (BICTCP_BETA_SCALE - beta); @@ -2424,10 +2597,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/ipv4/tcp_cubic.c linux-2. /* calculate the "K" for (wmax-cwnd) = c/rtt * K^3 * so K = cubic_root( (wmax-cwnd)*rtt/c ) -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/ipv6/ip6_flowlabel.c linux-2.6.18.2-rc1/net/ipv6/ip6_flowlabel.c ---- linux-2.6.18.1/net/ipv6/ip6_flowlabel.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/net/ipv6/ip6_flowlabel.c 2006-10-31 16:13:27.000000000 -0800 -@@ -587,6 +587,8 @@ +diff --git a/net/ipv6/ip6_flowlabel.c b/net/ipv6/ip6_flowlabel.c +index 1d672b0..062e526 100644 +--- a/net/ipv6/ip6_flowlabel.c ++++ b/net/ipv6/ip6_flowlabel.c +@@ -587,6 +587,8 @@ static struct ip6_flowlabel *ip6fl_get_n while (!fl) { if (++state->bucket <= FL_HASH_MASK) fl = fl_ht[state->bucket]; @@ -2436,10 +2610,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/ipv6/ip6_flowlabel.c linu } return fl; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/sctp/input.c linux-2.6.18.2-rc1/net/sctp/input.c ---- linux-2.6.18.1/net/sctp/input.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/net/sctp/input.c 2006-10-31 16:13:26.000000000 -0800 -@@ -135,6 +135,9 @@ +diff --git a/net/sctp/input.c b/net/sctp/input.c +index 42b66e7..2060bbe 100644 +--- a/net/sctp/input.c ++++ b/net/sctp/input.c +@@ -135,6 +135,9 @@ int sctp_rcv(struct sk_buff *skb) SCTP_INC_STATS_BH(SCTP_MIB_INSCTPPACKS); @@ -2449,10 +2624,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/sctp/input.c linux-2.6.18 sh = (struct sctphdr *) skb->h.raw; /* Pull up the IP and SCTP headers. */ -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/sunrpc/svcsock.c linux-2.6.18.2-rc1/net/sunrpc/svcsock.c ---- linux-2.6.18.1/net/sunrpc/svcsock.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/net/sunrpc/svcsock.c 2006-10-31 16:13:26.000000000 -0800 -@@ -902,7 +902,7 @@ +diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c +index d9a9573..2544acd 100644 +--- a/net/sunrpc/svcsock.c ++++ b/net/sunrpc/svcsock.c +@@ -902,7 +902,7 @@ svc_tcp_recvfrom(struct svc_rqst *rqstp) return 0; } @@ -2461,10 +2637,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/net/sunrpc/svcsock.c linux-2. svc_tcp_accept(svsk); svc_sock_received(svsk); return 0; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/hwdep.c linux-2.6.18.2-rc1/sound/core/hwdep.c ---- linux-2.6.18.1/sound/core/hwdep.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/sound/core/hwdep.c 2006-10-31 16:13:26.000000000 -0800 -@@ -158,6 +158,7 @@ +diff --git a/sound/core/hwdep.c b/sound/core/hwdep.c +index 8bd0dcc..a562f96 100644 +--- a/sound/core/hwdep.c ++++ b/sound/core/hwdep.c +@@ -158,6 +158,7 @@ static int snd_hwdep_release(struct inod { int err = -ENXIO; struct snd_hwdep *hw = file->private_data; @@ -2472,7 +2649,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/hwdep.c linux-2.6. mutex_lock(&hw->open_mutex); if (hw->ops.release) { err = hw->ops.release(hw, file); -@@ -167,7 +168,7 @@ +@@ -167,7 +168,7 @@ static int snd_hwdep_release(struct inod hw->used--; snd_card_file_remove(hw->card, file); mutex_unlock(&hw->open_mutex); @@ -2481,10 +2658,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/hwdep.c linux-2.6. return err; } -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/info.c linux-2.6.18.2-rc1/sound/core/info.c ---- linux-2.6.18.1/sound/core/info.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/sound/core/info.c 2006-10-31 16:13:26.000000000 -0800 -@@ -119,7 +119,10 @@ +diff --git a/sound/core/info.c b/sound/core/info.c +index 340332c..57821ce 100644 +--- a/sound/core/info.c ++++ b/sound/core/info.c +@@ -119,7 +119,10 @@ int snd_iprintf(struct snd_info_buffer * len = buffer->len - buffer->size; va_start(args, fmt); for (;;) { @@ -2496,10 +2674,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/info.c linux-2.6.1 if (res < len) break; err = resize_info_buffer(buffer, buffer->len + PAGE_SIZE); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/rtctimer.c linux-2.6.18.2-rc1/sound/core/rtctimer.c ---- linux-2.6.18.1/sound/core/rtctimer.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/sound/core/rtctimer.c 2006-10-31 16:13:26.000000000 -0800 -@@ -50,7 +50,9 @@ +diff --git a/sound/core/rtctimer.c b/sound/core/rtctimer.c +index 84704cc..15b6c8a 100644 +--- a/sound/core/rtctimer.c ++++ b/sound/core/rtctimer.c +@@ -50,7 +50,9 @@ static int rtctimer_stop(struct snd_time * The hardware dependent description for this timer. */ static struct snd_timer_hardware rtc_hw = { @@ -2510,7 +2689,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/rtctimer.c linux-2 .ticks = 100000000L, /* FIXME: XXX */ .open = rtctimer_open, .close = rtctimer_close, -@@ -60,6 +62,7 @@ +@@ -60,6 +62,7 @@ static struct snd_timer_hardware rtc_hw static int rtctimer_freq = RTC_FREQ; /* frequency */ static struct snd_timer *rtctimer; @@ -2518,7 +2697,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/rtctimer.c linux-2 static rtc_task_t rtc_task; -@@ -81,6 +84,7 @@ +@@ -81,6 +84,7 @@ rtctimer_close(struct snd_timer *t) rtc_task_t *rtc = t->private_data; if (rtc) { rtc_unregister(rtc); @@ -2526,7 +2705,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/rtctimer.c linux-2 t->private_data = NULL; } return 0; -@@ -105,12 +109,17 @@ +@@ -105,12 +109,17 @@ rtctimer_stop(struct snd_timer *timer) return 0; } @@ -2545,7 +2724,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/rtctimer.c linux-2 } -@@ -139,9 +148,11 @@ +@@ -139,9 +148,11 @@ static int __init rtctimer_init(void) timer->hw = rtc_hw; timer->hw.resolution = NANO_SEC / rtctimer_freq; @@ -2558,10 +2737,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/core/rtctimer.c linux-2 err = snd_timer_global_register(timer); if (err < 0) { -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/pci/au88x0/au88x0.c linux-2.6.18.2-rc1/sound/pci/au88x0/au88x0.c ---- linux-2.6.18.1/sound/pci/au88x0/au88x0.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/sound/pci/au88x0/au88x0.c 2006-10-31 16:13:26.000000000 -0800 -@@ -128,6 +128,7 @@ +diff --git a/sound/pci/au88x0/au88x0.c b/sound/pci/au88x0/au88x0.c +index ef189d7..6ed5ad5 100644 +--- a/sound/pci/au88x0/au88x0.c ++++ b/sound/pci/au88x0/au88x0.c +@@ -128,6 +128,7 @@ static int snd_vortex_dev_free(struct sn // Take down PCI interface. synchronize_irq(vortex->irq); free_irq(vortex->irq, vortex); @@ -2569,10 +2749,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/pci/au88x0/au88x0.c lin pci_release_regions(vortex->pci_dev); pci_disable_device(vortex->pci_dev); kfree(vortex); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/pci/emu10k1/emu10k1_main.c linux-2.6.18.2-rc1/sound/pci/emu10k1/emu10k1_main.c ---- linux-2.6.18.1/sound/pci/emu10k1/emu10k1_main.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/sound/pci/emu10k1/emu10k1_main.c 2006-10-31 16:13:26.000000000 -0800 -@@ -1460,8 +1460,8 @@ +diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c +index 79f24cd..bc1dfdc 100644 +--- a/sound/pci/emu10k1/emu10k1_main.c ++++ b/sound/pci/emu10k1/emu10k1_main.c +@@ -1460,8 +1460,8 @@ void snd_emu10k1_resume_regs(struct snd_ /* resore for spdif */ if (emu->audigy) @@ -2583,10 +2764,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/pci/emu10k1/emu10k1_mai val = emu->saved_ptr; for (reg = saved_regs; *reg != 0xff; reg++) -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/ppc/keywest.c linux-2.6.18.2-rc1/sound/ppc/keywest.c ---- linux-2.6.18.1/sound/ppc/keywest.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/sound/ppc/keywest.c 2006-10-31 16:13:26.000000000 -0800 -@@ -117,6 +117,9 @@ +diff --git a/sound/ppc/keywest.c b/sound/ppc/keywest.c +index 59482a4..272ae38 100644 +--- a/sound/ppc/keywest.c ++++ b/sound/ppc/keywest.c +@@ -117,6 +117,9 @@ int __init snd_pmac_tumbler_post_init(vo { int err; @@ -2596,10 +2778,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/ppc/keywest.c linux-2.6 if ((err = keywest_ctx->init_client(keywest_ctx)) < 0) { snd_printk(KERN_ERR "tumbler: %i :cannot initialize the MCS\n", err); return err; -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usbusx2yaudio.c linux-2.6.18.2-rc1/sound/usb/usx2y/usbusx2yaudio.c ---- linux-2.6.18.1/sound/usb/usx2y/usbusx2yaudio.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/sound/usb/usx2y/usbusx2yaudio.c 2006-10-31 16:13:26.000000000 -0800 -@@ -322,7 +322,7 @@ +diff --git a/sound/usb/usx2y/usbusx2yaudio.c b/sound/usb/usx2y/usbusx2yaudio.c +index f6bd0de..8d2f26d 100644 +--- a/sound/usb/usx2y/usbusx2yaudio.c ++++ b/sound/usb/usx2y/usbusx2yaudio.c +@@ -322,7 +322,7 @@ static void i_usX2Y_urb_complete(struct usX2Y_error_urb_status(usX2Y, subs, urb); return; } @@ -2608,7 +2791,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usbusx2yaudio subs->completed_urb = urb; else { usX2Y_error_sequence(usX2Y, subs, urb); -@@ -335,13 +335,9 @@ +@@ -335,13 +335,9 @@ static void i_usX2Y_urb_complete(struct atomic_read(&capsubs->state) >= state_PREPARED && (playbacksubs->completed_urb || atomic_read(&playbacksubs->state) < state_PREPARED)) { @@ -2625,7 +2808,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usbusx2yaudio snd_printdd("\n"); usX2Y_clients_stop(usX2Y); } -@@ -495,7 +491,6 @@ +@@ -495,7 +491,6 @@ static int usX2Y_urbs_start(struct snd_u if (subs != NULL && atomic_read(&subs->state) >= state_PREPARED) goto start; } @@ -2633,7 +2816,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usbusx2yaudio start: usX2Y_subs_startup(subs); -@@ -516,10 +511,9 @@ +@@ -516,10 +511,9 @@ static int usX2Y_urbs_start(struct snd_u snd_printk (KERN_ERR "cannot submit datapipe for urb %d, err = %d\n", i, err); err = -EPIPE; goto cleanup; @@ -2646,10 +2829,11 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usbusx2yaudio urb->transfer_flags = 0; } else { atomic_set(&subs->state, state_STARTING1); -diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usx2yhwdeppcm.c linux-2.6.18.2-rc1/sound/usb/usx2y/usx2yhwdeppcm.c ---- linux-2.6.18.1/sound/usb/usx2y/usx2yhwdeppcm.c 2006-10-31 21:13:30.000000000 -0800 -+++ linux-2.6.18.2-rc1/sound/usb/usx2y/usx2yhwdeppcm.c 2006-10-31 16:13:26.000000000 -0800 -@@ -243,7 +243,7 @@ +diff --git a/sound/usb/usx2y/usx2yhwdeppcm.c b/sound/usb/usx2y/usx2yhwdeppcm.c +index 88b72b5..3bda17d 100644 +--- a/sound/usb/usx2y/usx2yhwdeppcm.c ++++ b/sound/usb/usx2y/usx2yhwdeppcm.c +@@ -243,7 +243,7 @@ static void i_usX2Y_usbpcm_urb_complete( usX2Y_error_urb_status(usX2Y, subs, urb); return; } @@ -2658,7 +2842,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usx2yhwdeppcm subs->completed_urb = urb; else { usX2Y_error_sequence(usX2Y, subs, urb); -@@ -256,13 +256,9 @@ +@@ -256,13 +256,9 @@ static void i_usX2Y_usbpcm_urb_complete( if (capsubs->completed_urb && atomic_read(&capsubs->state) >= state_PREPARED && (NULL == capsubs2 || capsubs2->completed_urb) && (playbacksubs->completed_urb || atomic_read(&playbacksubs->state) < state_PREPARED)) { @@ -2675,7 +2859,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usx2yhwdeppcm snd_printdd("\n"); usX2Y_clients_stop(usX2Y); } -@@ -433,7 +429,6 @@ +@@ -433,7 +429,6 @@ static int usX2Y_usbpcm_urbs_start(struc if (subs != NULL && atomic_read(&subs->state) >= state_PREPARED) goto start; } @@ -2683,7 +2867,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usx2yhwdeppcm start: usX2Y_usbpcm_subs_startup(subs); -@@ -459,7 +454,7 @@ +@@ -459,7 +454,7 @@ static int usX2Y_usbpcm_urbs_start(struc goto cleanup; } else { snd_printdd("%i\n", urb->start_frame); @@ -2692,7 +2876,7 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usx2yhwdeppcm usX2Y->wait_iso_frame = urb->start_frame; } urb->transfer_flags = 0; -@@ -632,7 +627,7 @@ +@@ -632,7 +627,7 @@ static int usX2Y_pcms_lock_check(struct for (s = 0; s < 2; ++s) { struct snd_pcm_substream *substream; substream = pcm->streams[s].substream; @@ -2701,3 +2885,8 @@ diff -Naur -X /home/chrisw/dontdiff linux-2.6.18.1/sound/usb/usx2y/usx2yhwdeppcm err = -EBUSY; } } +- +To unsubscribe from this list: send the line "unsubscribe linux-kernel" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html +Please read the FAQ at http://www.tux.org/lkml/