ChangeSet@1.1347, 2003-10-12 22:30:02-07:00, ak@muc.de [PATCH] Fix software suspend compilation on x86-64 From Pavel Machek. Make software suspend compile again on x86-64 ChangeSet@1.1346, 2003-10-12 19:09:55-07:00, torvalds@home.osdl.org Clear IRQ_INPROGRESS as part of "enable_irq()". It can have gotten set by a stray interrupt if there were no handlers while the IRQ was disabled, and we shouldn't confuse other parts (ie this is another safety-net for the issues that Al Viro brought up about disable_irq() deadlocks when no handlers exist). ChangeSet@1.1345, 2003-10-12 19:00:39-07:00, mdharm@one-eyed-alien.net [PATCH] problems with USB memory pen This fixes a bug which was introduced when the code was switched to use atomic_read()s. The bug prevents hot-unplugging of SCSI (or emulated SCSI) devices from working. From Patrick Mansfield. ChangeSet@1.1344, 2003-10-12 18:44:23-07:00, torvalds@home.osdl.org Make kernel stack dumps handle unaligned kernel stacks more gracefully. They can happen on x86 as a result of interrupts in BIOS calls. Noted by Manfred Spraul. ChangeSet@1.1337.11.1, 2003-10-12 10:19:31+01:00, rmk@flint.arm.linux.org.uk [ARM] Add missing csum_partial export. ChangeSet@1.1337.10.2, 2003-10-11 19:58:58-07:00, venkatesh.pallipadi@intel.com [PATCH] Bug in timer_tsc cpufreq callback There is a bug in cpufreq call back funtion in timer_tsc routines, that can result in system deadlock. The issue is: grabbing the write_lock on xtime_lock without disabling the interrupts. So,=20 if we happen to get a timer interrupt while we are in this code, system will go into a deadlock. This bug only effects the kernels that have CONFIG_CPU_FREQ enabled. ChangeSet@1.1337.10.1, 2003-10-11 19:54:53-07:00, mingo@elte.hu [PATCH] SMP races in the timer code This fixes two del_timer_sync() races that are still in the timer code. The first race was actually triggered in a 2.4 backport of the 2.6 timer code. The second race was never triggered - it is mostly theoretical on a standalone kernel. (It's more likely in any virtualized or otherwise preemptable environment.) Both races happen when self-rearming timers are used. One mainstream example is kernel/itimer.c. The effect of the races is that del_timer_sync() lets a timer running instead of synchronizing with it, causing logic bugs (and crashes) in the affected kernel code. One typical incarnation of the race is a double add_timer(). race #1: this code in __run_timers() is running on CPU0: list_del(&timer->entry); timer->base = NULL; [*] set_running_timer(base, timer); spin_unlock_irq(&base->lock); [**] fn(data); spin_lock_irq(&base->lock); CPU0 gets stuck at the [*] code-point briefly - after the timer->base has been set to NULL, but before the base->running_timer pointer has been set up. This is a fundamentally volatile scenario, as there's _zero_ knowledge in the data structures that this timer is about to be executed! Now CPU1 comes along and calls del_timer_sync(). It will find nothing - neither timer->base nor base->running_timer will cause it to synchronize. It will return and report that the timer has been deleted - shortly afterwards CPU1 continues to execute the timer fn, which will cause crashes. This particular race is easy to fix by reordering the timer->base clearing with set_running_timer(), and putting a wmb() between them, but there's more races: race #2 The checking of del_timer_sync() for 'pending or running timer' is fundamentally unrobust. Eg. if CPU0 gets stuck at the [***] point below: base = &per_cpu(tvec_bases, i); if (base->running_timer == timer) { while (base->running_timer == timer) { cpu_relax(); preempt_check_resched(); } [***] break; } } smp_rmb(); if (timer_pending(timer)) goto del_again; then del_timer_sync() has already decided that this timer is not running (we just finished loop-waiting for it), but we have not done the timer_pending() check yet. If the timer has re-armed itself, and if the timer expires on CPU1 (this needs a long delay on CPU0 but that's not hard to achieve eg. in UML or with kernel preemption enabled), then CPU1 could start to expire the timer and gets to the [**] point in __run_timers (see above), then CPU1 gets stalled and CPU0 is unstalled, then the timer_pending() check in del_timer_sync() will not notice the running timer, and del_timer_sync() returns - while CPU1 is just about to run the timer! Fixing this second race is hard - it involves a heavy race-check operation that has to lock all bases, and has to re-check the base->running_timer value, and timer_pending condition atomically. This fix also fixes the first race, due to forcing del_timer_sync() to always observe the timer state atomically, so the [*] code point will always synchronize with del_timer_sync(). The patch is ugly but safe, and it has fixed the crashes in the 2.4 backport. I tested the patch on 2.6.0-test7 with some heavy itimer use and it works fine. Removing self-arming timers safely is the sole purpose of del_timer_sync(), so there's no way around this overhead i think. I believe we should ultimately fix all major del_timer_sync() users to not use self-arming timers - having del_timer_sync() in the thread-exit path is now a considerable source of SMP overhead. But this is out of the scope of current 2.6 fixes of course, and we have to support self-arming timers as well. ChangeSet@1.1337.9.5, 2003-10-11 12:42:58-07:00, davem@nuts.ninka.net [ATM]: Kill PROC_FS ifdef around includes. ChangeSet@1.1337.9.4, 2003-10-11 12:18:00-07:00, noah@caltech.edu [IPX]: ipx_proc.c needs linux/init.h even when PROC_FS is not enabled. ChangeSet@1.1337.9.3, 2003-10-11 12:16:11-07:00, shemminger@osdl.org [NET]: Fix register_netdev() return value check in synclink_cs.c ChangeSet@1.1337.9.2, 2003-10-11 12:15:37-07:00, shemminger@osdl.org [WAN]: Fix register_netdev() return value check in hostess_sv11.c ChangeSet@1.1337.9.1, 2003-10-11 11:59:57-07:00, ja@ssi.bg [IPV4]: ip_copy_metadata must copy the nfcache field. ChangeSet@1.1337.7.2, 2003-10-11 15:58:36+01:00, dwmw2@dwmw2.baythorne.internal Fix jffs2 memory leak on mount error ChangeSet@1.1337.7.1, 2003-10-11 15:51:34+01:00, dwmw2@dwmw2.baythorne.internal JFFS2 update; completed support for NAND flash. - Implement write-buffer flushing by garbage collection instead of padding. - Implement selective write-buffer flushing on fsync(). - Implement error recovery on write-buffer flush. - Fix remove_suid(). Writing to a suid file didn't previously mark the file non-suid. - Fix handling of full file systems, to avoid unlink() returning -ENOSPC. - Fix assorted memory leaks. - Improve garbage collection efficiency by merging fewer pages. ChangeSet@1.1337.1.23, 2003-10-11 16:28:40+02:00, benh@kernel.crashing.org Fix repeat delays in adbhit, they didn't make the transition to jiffies based values to ms. This fix crazy key repeat on ADB based PowerMacs ChangeSet@1.1337.1.22, 2003-10-11 16:17:44+02:00, benh@kernel.crashing.org Fix a crash on sleep in the OF platform core where we would use a NULL "driver" pointer and actually try to call it after casting it ! ChangeSet@1.1337.1.21, 2003-10-11 16:15:35+02:00, benh@kernel.crashing.org Fix VIA-based TB/Decrementer calibration , previously it wouldn't work properly with HZ != 100, causing tb_to_us to be wrong and gettimeofday() to return strangely "off" results ChangeSet@1.1337.1.20, 2003-10-11 16:14:01+02:00, benh@kernel.crashing.org Fix timebase hardware sync on SMP PowerMacs (both oldworld dual 604s and core99 dual G4s). ChangeSet@1.1337.1.19, 2003-10-11 16:12:28+02:00, benh@kernel.crashing.org Move definition of TimeBase registers from reg_booke.h to reg.h, those registers exist on common CPUs and without those definitions, SMP won't build ChangeSet@1.1337.1.18, 2003-10-11 16:01:43+02:00, benh@kernel.crashing.org Fix RAMDAC detection on some IMS TwinTurbo video cards ("Mac" cards only), without this, you get no display on machines with those cards ChangeSet@1.1337.1.17, 2003-10-11 15:58:36+02:00, benh@kernel.crashing.org The POWER4 support merged previously was incomplete, add the missing bits so that the kernel boots at least on POWER4 and G5 CPUs ChangeSet@1.1337.1.16, 2003-10-11 15:54:42+02:00, benh@kernel.crashing.org Export init_mm, some modules need that ChangeSet@1.1337.1.15, 2003-10-11 15:53:56+02:00, benh@kernel.crashing.org Export mol_trampoline and mmu_hash_lock for MOL (missing from a previous cset) ChangeSet@1.1337.1.14, 2003-10-11 15:51:14+02:00, benh@kernel.crashing.org coff images bootloader reserves more memory for the kernel, allow booting of "standard" configs on oldworld macs ChangeSet@1.1337.1.13, 2003-10-11 15:49:45+02:00, benh@kernel.crashing.org Fix call to Open Firmware "map" call, parameters were flipped causing the coff image to randomly fail ChangeSet@1.1296.73.12, 2003-10-10 18:35:59-07:00, jbarnes@sgi.com [PATCH] ia64: nable SN2 in generic builds Now that it works, we can enable sn2 in generic builds. This should not only allow generic kernels to work on sn2, but also fix the build problems people have been seeing with the qla1280 driver. I tested a generic kernel built with this patch on zx1 and it worked. ChangeSet@1.1296.73.11, 2003-10-10 16:53:34-07:00, tony.luck@intel.com [PATCH] ia64: fix register numbers in MCA save/restore This corrects the save/restore code in mca_asm.S which was written long ago, before the assembler understood mnemonic names for 'cr' and 'ar' registers (in fact it appears to have been written pre-silicon, some of the control register numbers don't match with what actually got built). There were other goofs too (like using 0, 1, 2, etc. for region register subscripts). ChangeSet@1.1296.73.10, 2003-10-10 16:19:38-07:00, jbarnes@sgi.com [PATCH] ia64: fix NUMA boot Now that the ACPI table parsing stuff has been fixed we can move find_memory() back where it belongs--after the SRAT table has been parsed. ChangeSet@1.1296.73.9, 2003-10-10 16:17:14-07:00, davidm@tiger.hpl.hp.com ia64: Patch by Jesse Barnes: This patch fixes the combination of CONFIG_DISCONTIGMEM and CONFIG_VIRTUAL_MEM_MAP so that generic kernels will work on all ia64 platforms, including sn2, and also makes sn2 specific kernels work (which I think is a first). I've cleaned this patch up heavily based on feedback from yourself, Christoph and others. I've tested sn2, zx1, and dig (thanks Xavier!) specific configurations, as well as a generic configuration that allows the same binary to boot on zx1, dig, and sn2. ChangeSet@1.1296.73.8, 2003-10-10 16:14:31-07:00, jbarnes@sgi.com [PATCH] ia64: 2nd step to fix GENERIC builds: split contig and discontig paging_init functions ChangeSet@1.1296.68.6, 2003-10-10 23:06:33+01:00, rmk@flint.arm.linux.org.uk [ARM] Add missing exports for Integrator logic module drivers. This adds a couple of missing symbol exports for lm_driver_register and lm_driver_unregister. ChangeSet@1.1296.68.5, 2003-10-10 22:59:29+01:00, rmk@flint.arm.linux.org.uk [ARM] Remove no_action function from CLPS7500 code. no_action is implemented by generic code; no need for machine class code to implement it as well. ChangeSet@1.1337.3.4, 2003-10-10 14:59:18-07:00, greg@kroah.com [PATCH] I2C: fix i2c-dev class release function bug. There was no release function, that was the bug :) It caused bad messages to show up in the syslog whenever a i2c driver was removed, and could easily oops. ChangeSet@1.1296.64.19, 2003-10-10 22:24:13+01:00, davej@redhat.com [CPUFREQ] Kill longhaul warnings (Blah about unused variables). This code still won't be used, as its still not tested/debugged properly on a Nehemiah. ChangeSet@1.1337.3.3, 2003-10-10 14:11:04-07:00, amalysh@web.de [PATCH] I2C: i2c-sis630 driver fixes attached you can find a patch that should fix i2c-sis630 driver for 2.6.0-X kernel. With i2c-sis630 from stock 2.6.0-X we have oops and driver was not correct registered against i2c-core. Changes: 1) fixed a oops while modprobing 2) added check for buffer overflow for i2c block data read transaction 3) added 'force' modprobe parameter. It's allow more easily testing for not yet supported SiS chips. ChangeSet@1.1296.73.7, 2003-10-10 14:00:18-07:00, schwab@suse.de [PATCH] ia64: fix misnamed syscalls This fixes a misnomer of some syscalls in 2.6.0-test[567]. Glibc wants them without the sys_ infix. ChangeSet@1.1296.73.6, 2003-10-10 13:59:13-07:00, jbarnes@sgi.com [PATCH] ia64: fix SN2 interrupt allocation Patch from Christoph. Fixes interrupt allocation code for sn2. ChangeSet@1.1296.73.5, 2003-10-10 13:57:41-07:00, arun.sharma@intel.com [PATCH] ia64: Fix unaligned faults in IA-32 putstat64 This seems to be introduced by recent changes in 2.6.0-test series. ChangeSet@1.1296.64.18, 2003-10-10 20:57:10+01:00, davej@redhat.com [CPUFREQ] Fix longhauls speed calculations. We got half multipliers horribly wrong, which made us think we could clock the CPU much higher than we actually could. ChangeSet@1.1296.64.17, 2003-10-10 20:45:31+01:00, davej@redhat.com [CPUFREQ] refix EBLCR FSB only works on Samuel1. Now that longhaul=1 matches more than 1 CPU, this broke. ChangeSet@1.1296.64.16, 2003-10-10 20:02:19+01:00, davej@redhat.com [CPUFREQ] Make VIA longhaul work on Samuel2 & Ezra again. These CPUs are actually only longhaul v1 compliant. This was catastrophic, as the MSRs moved between v1 and v2. There was also massive confusion in the documentation regarding Ezra. It's not another variant, so 'v2' never existed. Renamed v3 (Powersaver) to v2 as a result of this. ChangeSet@1.1337.4.4, 2003-10-10 05:50:35-07:00, davem@nuts.ninka.net [SPARC64]: Fix mixed declarations and code in flush_dcache_page_all. ChangeSet@1.1337.4.3, 2003-10-10 05:49:14-07:00, davem@nuts.ninka.net [SPARC64]: Fix __bzero_noasi declaration. ChangeSet@1.1337.4.2, 2003-10-10 01:43:32-07:00, davem@nuts.ninka.net [SPARC64]: Update defconfig. ChangeSet@1.1337.2.11, 2003-10-10 00:11:08-07:00, davem@nuts.ninka.net [NET]: Delete skb_shared() checks from loopback driver transmit. This code is from ancient history when TCP did not used SKB cloning. ChangeSet@1.1337.2.10, 2003-10-10 00:04:46-07:00, shemminger@osdl.org [WAN]: Incorrect comparison for register_netdev in cosa.c ChangeSet@1.1337.2.9, 2003-10-10 00:04:04-07:00, shemminger@osdl.org [IRDA]: Fix memory leak in sa1100_ir.c ChangeSet@1.1337.2.8, 2003-10-09 23:57:49-07:00, david@gibson.dropbear.id.au [NET]: Fix initialization sequence in SunGEM driver. ChangeSet@1.1337.2.7, 2003-10-09 23:57:09-07:00, ak@muc.de [ATM]: Mark unclean drivers as not-64BIT. ChangeSet@1.1337.2.6, 2003-10-09 23:45:30-07:00, khc@pc.waw.pl [WAN]: Fix transmitted headers with generic HDLC + Cisco encap. ChangeSet@1.1337.4.1, 2003-10-09 23:20:48-07:00, davem@nuts.ninka.net [SPARC64]: Squelch bogus gcc warning in unaligned.c due to bad flow analysis. ChangeSet@1.1337.2.5, 2003-10-09 23:05:08-07:00, davem@nuts.ninka.net [VLAN]: kfree(skb) --> kfree_skb(skb). ChangeSet@1.1296.73.4, 2003-10-09 18:13:34-07:00, arun.sharma@intel.com [PATCH] ia64: fix ia32 epoll emulation warnings ChangeSet@1.1296.73.3, 2003-10-09 17:19:19-07:00, peterc@chubb.wattle.id.au [PATCH] ia64: drop stale check for GAS_HAS_LOCAL_TAGS GAS_HAS_LOCAL_TAGS was removed a long time ago, but uaccess.h never got updated. Without this fix, bad syscall args may cause a SEGFAULT instead of failing gracefully. ChangeSet@1.1296.73.2, 2003-10-09 16:09:56-07:00, davidm@tiger.hpl.hp.com Merge tiger.hpl.hp.com:/data1/bk/vanilla/linux-2.5 into tiger.hpl.hp.com:/data1/bk/lia64/to-linus-2.5 ChangeSet@1.1217.4.44, 2003-10-09 16:02:14-07:00, kenneth.w.chen@intel.com [PATCH] ia64: fix NUMA hugetlb support Here is a patch that adds numa support for hugetlb page on ia64. It is taken from x86 numa implementation. The low level hugetlb page pre-allocation is done in round robin fashion on each numa node and allocation for user level code is node local aware. ChangeSet@1.1337.2.4, 2003-10-09 15:13:56-07:00, torvalds@home.osdl.org Revert the process group accessor functions. They are buggy, and cause NULL pointer references in /proc. Moreover, it's questionable whether the whole thing makes sense at all. Per-thread state is good. Cset exclude: davem@nuts.ninka.net|ChangeSet|20031005193942|01097 Cset exclude: akpm@osdl.org[torvalds]|ChangeSet|20031005180420|42200 Cset exclude: akpm@osdl.org[torvalds]|ChangeSet|20031005180411|42211 ChangeSet@1.1217.4.43, 2003-10-09 13:59:30-07:00, jbarnes@sgi.com [PATCH] ia64: deal with lack of SRAT in GENERIC kernels n platforms without an SRAT (e.g. zx1), the cpu_to_node_map will get built incorrectly without this fix, making generic kernels fail when they try to alloc_pages_node() from a nodeid of -1. ChangeSet@1.1217.4.42, 2003-10-09 13:53:55-07:00, jbarnes@sgi.com [PATCH] ia64: early SN setup fix Small fix to build early_sn_setup even if early printk is turned off. ChangeSet@1.1217.4.41, 2003-10-09 13:51:05-07:00, jbarnes@sgi.com [PATCH] ia64: fix is_headless_node() for systems w/<64p I didn't realize that any_online_cpu() wouldn't work for is_headless_node(), so this patch reverts the function back to using the node_to_cpu_mask[] array, fixing sn2 for systems with less than 64p. ChangeSet@1.1217.4.40, 2003-10-09 13:39:48-07:00, jbarnes@sgi.com [PATCH] ia64: fix SN2 code for GENERIC builds Don't try to use the sn2 I/O code if we're not on sn2 or we may get into trouble. Only makes a difference for generic kernels. ChangeSet@1.1337.3.2, 2003-10-09 13:35:09-07:00, khali@linux-fr.org [PATCH] I2C: correct some errors in i2c/chips/Kconfig ChangeSet@1.1337.3.1, 2003-10-09 13:33:03-07:00, khali@linux-fr.org [PATCH] I2C: Chip driver initialization fixes fixes all chip drivers by moving the initialization before any sysfs entry is created. ChangeSet@1.1337.1.9, 2003-10-09 13:17:49-07:00, noah@caltech.edu [PATCH] USB: Make Ethernet Gadget depend on CONFIG_NET Previously, one could configure a kernel that wouldn't link by doing a 'make allnoconfig' and then a 'make menuconfig' and enabling CONFIG_EXPERIMENTAL, CONFIG_PCI, CONFIG_USB_GADGET, and CONFIG_USB_ETH. ChangeSet@1.1337.1.8, 2003-10-09 13:17:37-07:00, noah@caltech.edu [PATCH] USB: Make ISD-200 USB/ATA Bridge depend on BLK_DEV_IDE This usb driver needs ide_fix_driveid from drivers/ide/ide-ops.c, which needs BLK_DEV_IDE ("Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support") to get built. Without this patch, you can configure an un-linkable kernel by doing make allnoconfig, make menuconfig, and setting CONFIG_PCI, CONFIG_USB, CONFIG_USB_STORAGE, and CONFIG_USB_STORAGE_ISD200 only. ChangeSet@1.1337.1.7, 2003-10-09 13:17:21-07:00, Dax@GuruLabs.com [PATCH] USB: Handspring Treo 600 id I've got a new toy. This obviously correct 4 liner patches the two files: ChangeSet@1.1337.2.3, 2003-10-09 12:33:22-07:00, lethal@linux-sh.org [PATCH] net/sunrpc/clnt.c compile fix net/sunrpc/clnt.c does not compile if RPC_DEBUG is not enabled, due to the fact that tk_pid is protected by RPC_DEBUG (which in turn depends on CONFIG_SYSCTL). The printk's that use it don't actually need to print it out at all, the rpc_task tag isn't really interesting here. Acked by Trond Myklebust. ChangeSet@1.1337.2.2, 2003-10-09 11:25:22-07:00, willy@debian.org [PATCH] Build fixes for zoran on PA-RISC The Zoran driver doesn't include and thus won't compile on architectures where that doesn't get implicitly included through some other path. Add the proper includes. ChangeSet@1.1337.2.1, 2003-10-09 11:23:31-07:00, ak@muc.de [PATCH] Prefetch workaround for Athlon/Opteron This is the latest iteration of the workaround for the Athlon/Opteron prefetch erratum. Sometimes the CPU would incorrectly report an exception on prefetch. This supercedes the previous dumb workaround of checking for AMD CPUs in prefetch(). That one bloated the kernel by several KB and lead to lots of unnecessary checks in hot paths. Also this one handles user space faults too, so the kernel can effectively isolte the user space from caring about this errata. Instead it handles it in the slow path of the exception handler (the check is only done when the kernel would normally trigger seg fault or crash anyways) All the serious criticisms to the previous patches have been addressed. It checks segment bases now, handles vm86 mode and avoids deadlocks when the prefetch exception happened inside mmap_sem. This includes review and fixes from Jamie Lokier and Andrew Morton. Opcode decoder based on code from Richard Brunner. ChangeSet@1.1296.73.1, 2003-10-09 10:39:34-07:00, jbarnes@sgi.com [PATCH] ia64: fix NUMA page table allocation to get memory from the right node ChangeSet@1.1337.1.6, 2003-10-09 10:30:54-07:00, david-b@pacbell.net [PATCH] USB: make more driver names match module names This resolves a bug in osdl bugtraq (#1261) by making some more driver names match their module names. Such mismatches are bad because scripts often need to add special cases, handling multiple names for drivers. ChangeSet@1.1337.1.5, 2003-10-09 10:30:40-07:00, oliver@neukum.org [PATCH] USB: remove stupid check for NULL in devio.c usually this would be too trivial, but is so obviously stupid that people might think that there's some hidden trick in there. We should not check for NULL _after_ following a pointer. Consider it a small tiny step towards cleaning up this code. ChangeSet@1.1337.1.4, 2003-10-09 10:30:27-07:00, paulus@samba.org [PATCH] USB: Fix USB suspend in 2.6.0-test6 In drivers/usb/core/hcd-pci.c, the code forgets to set hcd->state to USB_STATE_SUSPENDED on suspend. The effect is that on resume, the code refuses to wake the HCD up, and instead prints a message saying the interface hasn't been suspended. The patch below fixes this. It is against 2.6.0-test6. With this patch I can suspend and resume my Apple PowerBook G4, and the USB works after resuming. ChangeSet@1.1337.1.3, 2003-10-09 10:30:10-07:00, adobriyan@mail.ru [PATCH] USB: Fix two typos in drivers/usb/README ChangeSet@1.1337.1.2, 2003-10-09 10:29:53-07:00, adobriyan@mail.ru [PATCH] USB: Correct module names in drivers/usb/*/Kconfig Module names in Kconfig help texts should match those in Makefiles. Please apply. ChangeSet@1.1337.1.1, 2003-10-09 10:26:58-07:00, david-b@pacbell.net [PATCH] USB: minor net2280 cleanup This holds minor net2280 cleanups: - Cleaner handling for cases where dma_alloc_coherent() must be used instead of kmalloc(). (Kmalloc is more memory-efficient for the "small buffers" case.) Both MIPS cases should work, as well as others. - Prefetch cachelines on PIO paths. The first of those gets rid of one usage, no longer useful now that 2.4 and 2.6 versions have forked. ChangeSet@1.1337, 2003-10-09 08:02:15-07:00, cminyard@mvista.com [PATCH] IPMI fixes for 2.6.0-test7 This fixes some problems with timing calculations (primarily for ia64) and adds an operation to send panic strings to the IPMI event log on a panic. ChangeSet@1.1336, 2003-10-09 08:02:07-07:00, mikpe@csd.uu.se [PATCH] ftape linkage error Since 2.6.0-test6, ftape can't be configured as a built-in driver. test6 changed ftape-init.c to call ftape_proc_destroy() also in the non-MODULE case; however, ftape_proc_destroy() is only defined when the driver is built as a module. The result is a linkage error. This fixes this by deleting the #if MODULE around ftape_proc_destroy()'s definition. ChangeSet@1.1335, 2003-10-09 07:53:14-07:00, torvalds@home.osdl.org Revert floppy driver dependence on CONFIG_ISA. The thing exists on lots of PCI-only setups that have no ISA anywhere. ChangeSet@1.1334, 2003-10-09 07:51:06-07:00, hunold@linuxtv.org [PATCH] Update the AV7110 DVB driver - add vbi device handling for dvb-c cards with analog module - fix error handling upon device initialization - fix DD1_INIT handling of DVB-C w/ analog module installed. (Jon Burgess) ChangeSet@1.1333, 2003-10-09 07:50:57-07:00, hunold@linuxtv.org [PATCH] Misc. fixes for AT76C651 DVB frontend driver - fixed some return values in device attach functions - allow private data to be associated with frontend devices here, too - misc bugfixes and performance improvements (endianess, function split up) ChangeSet@1.1332, 2003-10-09 07:50:49-07:00, hunold@linuxtv.org [PATCH] Misc. fixes for ALPS TDLB7 DVB frontend driver - applied latest changes by Juergen Peitz (great work!) o as a workaround for the lockup problem the data valid signal is checked after every channel switch. If it is not set FEC parameters are set again. o disabled autoprobing if FEC settings are known (from sp887x). o added support for FE_READ_UNCORRECTED_BLOCKS (from sp887x). o added support for FE_SLEEP (from sp887x). o bit error rate is now not only read from register 0xC07 but also from 0xC08 (from sp887x). o I2C feedthrough to the tuner is now only enabled when needed (from sp887x). o Added FE_CAN_QAM_AUTO and FE_CAN_HIERARCHY_AUTO to dvb_frontend_info. o Removed obsolete setting of default frontend parameters in sp8870_init. o Removed obsolete module parameter 'loadcode' because changes in the saa7146 driver made firmware loading very fast. ChangeSet@1.1331, 2003-10-09 07:50:40-07:00, hunold@linuxtv.org [PATCH] Fix DVB network device handling - simplify and sanitize add/del handling for dvb net devices ChangeSet@1.1330, 2003-10-09 07:50:32-07:00, hunold@linuxtv.org [PATCH] Add private data pointer to DVB frontends - allow private data to be associated with dvb frontend devices (Andreas Oberritter) - fixed fe_count countint in nxt6000 frontend driver (Andreas Oberritter) ChangeSet@1.1329, 2003-10-09 07:50:23-07:00, hunold@linuxtv.org [PATCH] Fix vbi handling in saa7146 core driver - add some debug and safety checks for video/vbi capture buffer handling - add new flag SAA7146_USE_PORT_B_FOR_VBI, so we can distinguish on which video port to apply the vbi workaround - add del_timer(...) for vbi capture queue and vbi_read timers, prevents oopses on vbi usage ChangeSet@1.1328, 2003-10-09 07:50:15-07:00, hunold@linuxtv.org [PATCH] New DVB frontend driver ves1x93 (obsoletes alps_bsrv2) - replace alps_bsrv2 driver by generic ves1893 & ves1993 driver (Andreas Oberritter) ChangeSet@1.1327, 2003-10-09 07:49:17-07:00, ak@muc.de [PATCH] Fix 64bit bug in trident frame buffer driver Fix another 64bit bug, this time in the trident frame buffer driver When storing the ioremap_nocache() return in a integer the variable must be long not int. ChangeSet@1.1326, 2003-10-09 07:42:12-07:00, rusty@rustcorp.com.au [PATCH] More barriers in module code. Paul McKenney convinced me that there's no *guarantee* that all archs will refuse the speculate the atomic ops above the state test, eg: CPU0 (stopref_set_state) CPU1 (stopref) atomic_set(&ack, 0); if (state == XXX) wmb(); atomic_inc(&ack); state = XXX; Certainly Alpha needs a rmb() inside stopref to guarantee it sees the same ordering. ChangeSet@1.1325, 2003-10-09 07:42:03-07:00, rusty@rustcorp.com.au [PATCH] ipt_limit fix for HZ=1000 The range that the iptables limit extension can specify depends on HZ. This means that rules which worked i386 2.4 (100 HZ) won't work on 2.6. The solution is to adjust the precision based on the HZ value (keeping the range of possible values the same). For extra geek cred, this is done by calculating a power-of-two constant below the maximum multiplication factor, which gcc then turns into a simple shift. ChangeSet@1.1324, 2003-10-09 07:41:54-07:00, trivial@rustcorp.com.au [PATCH] Fix pcmcia_tcic.c if PCMCIA_DEBUG is defined. From: Stephen Hemminger Compile errors in the pcmcia/tcic driver if PCMCIA_DEBUG is defined. Looks like simple debug code bitrot, this fixes it. ChangeSet@1.1323, 2003-10-09 07:34:09-07:00, torvalds@home.osdl.org Manual merge of sound config ChangeSet@1.1321, 2003-10-09 07:23:30-07:00, paulus@samba.org [PATCH] Fix compile on PPC At the moment the aty128fb and matroxfb frame buffer drivers don't compile on PPC. In both cases the error is pretty trivial. This patch is the minimum change to fix the problems. The _IOR() type problem fix in aty128fb.c depends on the fact that the size of a pointer is the same as "size_t", so we don't have to use _IOR_BAD() to keep the ioctl number the same. ChangeSet@1.1296.41.73, 2003-10-09 16:44:52+10:00, paulus@samba.org PPC32: Export a couple of symbols (csum_partial and init_task). ChangeSet@1.1320, 2003-10-08 20:47:40-07:00, torvalds@home.osdl.org disable_irq() should synchronize with irq handler only if one exists. Noted by Al Viro: if no handler exists (and we have IRQ_INPROGRESS set because of an earlier irq that got through), synchronize_irq() will end up waiting forever. ChangeSet@1.1319, 2003-10-08 18:59:24-07:00, jamie@shareable.org [PATCH] futex bug fixes This fixes two serious bugs in the futex code. One is a race condition which results in list corruption when FUTEX_REQUEUE is used. It is due to the split locks change introduced in 2.6.0-test6, and oopses when triggered. The other is a security hole. A program can use FUTEX_FD to create futexes on mms or inodes which don't reference them, and when those structures are reused by a different mm or inode, the addresses match. The effect is that a malicious or flawed program can steal wakeups from completely unrelated tasks, causing them to block (or worse if they are counting on the token passing property). These are the specific changes: 1. Each futex_q retains a reference to its key mm or inode. 2. The condition for a futex_q to indicate that it's woken can usually be interrogated lock-free. 3. futex_wait calls the hash function once instead of three times, and usually takes the per-bucket lock once too. 4. When a futex is woken, the per-bucket lock is not usually taken, so that's one less cache line transfer during heavy SMP futex use. 5. The wait condition and barriers in futex_wait are simpler. 5. FUTEX_REQUEUE is fixed. The per-bucket lock juggling is done in such a way that there are no race conditions against the tests for whether a futex is woken. This patch is an combination of patches previously sent to the list. An equivalent patch has been in Andrew Morton's tree for a while, with no failure reports. Also I have been running it on my own SMP box for a while. Conversely, we have received an oops report for the 2.6.0-test6 code, so the fix is needed. ChangeSet@1.1318, 2003-10-08 18:59:16-07:00, jamie@shareable.org [PATCH] set sigio target to current->pid and only if not already set 1. send_sigio() sends to a specific thread, _not_ a process. (It can also send to a process group, but that's not relevant here). This is useful, and should stay as it is. Therefore it makes _no sense_ to call f_setown() with current->tgid. Presently the kernel is inconsistent about it, with some places using current->pid and some others using current->tgid. This patch changes f_setown() calls to use current->pid. 2. In some places, f_setown() is called not at the user's direct request, but as a side effect of another function. Specifically: dnotify and file leases. It is good to allow a program the flexibility to specify a different pid than the default, using F_SETOWN. Presently they can do this after the dnotify or lease call, but there is a small time window when it will be temporarily set to current->tgid (which as pointed out above, is not always right). The window is avoidable if the program can use F_SETOWN prior to the dnotify or lease call. This is exactly what the "force" argument to f_setown() is for, and this patch changes it to zero in those callers. This change is not likely to affect any existing programs. ChangeSet@1.1317, 2003-10-08 18:51:51-07:00, trond.myklebust@fys.uio.no [PATCH] NFS: Enable NFS_DIRECTIO support Enable NFS_DIRECTIO support now that it has been fixed... ChangeSet@1.1316, 2003-10-08 18:51:42-07:00, trond.myklebust@fys.uio.no [PATCH] NFS: Fix O_DIRECT code - Support synchronous directio only. Defer asynchronous directio until it can be made safe. - If read/write exits due to an error, return number of bytes read/written prior to occurrence of the error. - Make sure we mark read pages as dirty in case we're doing zero-copy tricks. Export set_page_dirty_lock() for use by NFS directio. - Ensure we revalidate stale attribute info. ChangeSet@1.1315, 2003-10-08 18:51:33-07:00, trond.myklebust@fys.uio.no [PATCH] NFS: synchronous NFSv3/v4 COMMIT Add support for synchronous calls to the NFSv3/v4 COMMIT functions. ChangeSet@1.1314, 2003-10-08 18:51:24-07:00, trond.myklebust@fys.uio.no [PATCH] NFS: remove broken O_DIRECT wait code It is in any case no longer needed. ChangeSet@1.1313, 2003-10-08 18:51:15-07:00, trond.myklebust@fys.uio.no [PATCH] NFS: fix the synchronous READ/WRITE bugs - Use correct credentials in the NFSv4 synchronous read/write code. - Return correct number of read bytes in the NFSv4 synchronous read code. - SunRPC XDR fix: NFSv4 reads when caller requests a non-word aligned number of bytes was broken. ChangeSet@1.1217.4.39, 2003-10-08 17:45:05-07:00, janetmor@us.ibm.com [PATCH] ia64: sys_ia32.c fix for epoll I ran into some bugs testing epoll in ia32-emulation mode on ia64. The attached patch fixes the problems and is well tested. Here is a summary of the changes: Changes to sys32_epoll_ctl() and sys32_epoll_wait(): - changed epoll_event32.data to an array (this is subjective, but seems to make the code more readable) Changes to sys32_epoll_wait(): - added call to __get_free_pages if kmalloc(epoll_event array) fails. This provides needed scalability and fixes the -ENOMEM failure during epoll-pipetest. - deleted copy-in of epoll_event array since this is not a user-inputsyscall - changed to check numevents > 0 as indicator of success on call to sys_epoll_wait. - changed to loop on numevents not maxevents when copying out to userspace. ChangeSet@1.1311, 2003-10-08 14:33:39-07:00, mochel@kernel.bkbits.net Merge bk://linux.bkbits.net/linux-2.5 into kernel.bkbits.net:/home/mochel/linux-2.5-power ChangeSet@1.1296.41.70, 2003-10-08 15:55:44-07:00, ak@muc.de [PATCH] Disable non 64bit clean drivers for x86-64 This just disables some drivers which are clearly not 64bit clean from the configuration for CONFIG_64BIT hosts. Partly from Arnd Bergmann. ChangeSet@1.1296.41.69, 2003-10-08 15:55:33-07:00, ak@muc.de [PATCH] Fix x86-64 build with separate object tree From Arnd Bergmann. ChangeSet@1.1296.41.68, 2003-10-08 15:55:24-07:00, ak@muc.de [PATCH] APIC fixes for x86-64 Various APIC/ACPI fixes for x86-64. This brings us closer to working out of the box on the now popular VIA and NVidia Nforce3 based Athlon64 and Opteron boards. To be really good we would need more ACPI changes (still waiting for that to be all merged through the usual channels). With this we mostly work with acpi=off at least. Also it syncs us up with bugfixes done in 2.4. - Disable IO-APIC by default on non SMP VIA/NVidia boards. This is a bit of a hack, but needed to work around ACPI bugs. Can be overwriten with "apic". - Add acpi=ht, meaning run ACPI boot setup, but do not enable the interpreter. Same as i386. - Stop MADT parsing early when local APIC or IO-APIC are disabled - Add more option parsing early enough to actually change the boot process - Update documentation for command line options ChangeSet@1.1296.72.1, 2003-10-08 15:16:29-07:00, trini@kernel.crashing.org Merge kernel.crashing.org:/home/trini/work/kernel/pristine/linux-2.6 into kernel.crashing.org:/home/trini/work/kernel/pristine/for-linus-ppc ChangeSet@1.1296.41.65, 2003-10-08 14:43:15-07:00, benh@kernel.crashing.org [PATCH] add insert_resource() helper function This allows PPC to insert resource descriptors later on after boot. ChangeSet@1.1296.52.14, 2003-10-08 14:39:37-07:00, trini@kernel.crashing.org PPC32: Update 'make help'. Mostly from Sam Ravnborg . ChangeSet@1.1296.52.13, 2003-10-08 14:29:33-07:00, trini@kernel.crashing.org PPC32: Fix the ns1655x uart driver in the bootwrapper. ChangeSet@1.1296.52.12, 2003-10-08 14:27:26-07:00, trini@kernel.crashing.org PPC: Change how we export some Openfirmware device nodes. From Ethan Benson . ChangeSet@1.1296.59.2, 2003-10-08 22:08:11+01:00, bjorn.helgaas@com.rmk.(none) [SERIAL] ACPI serial fix Patch from Bjorn Helgaas Intel 870 firmware reports an extra zero-length IO port range, which is bogus, as far as I can tell. Ignore it. ChangeSet@1.1296.57.10, 2003-10-08 16:34:35-04:00, len.brown@intel.com Merge ChangeSet@1.1296.41.62, 2003-10-08 14:41:16-05:00, lord@jen.americas.sgi.com More uio changes, add code attribution ChangeSet@1.1296.41.61, 2003-10-08 14:40:13-05:00, lord@jen.americas.sgi.com Change the way XFS implements the invisible I/O mechanism used by the online backup tools. ChangeSet@1.1296.41.60, 2003-10-08 14:28:31-05:00, lord@jen.americas.sgi.com Revert from using __kernel_fsid_t to fsid_t since ia64 now defines this correctly ChangeSet@1.1296.41.59, 2003-10-08 14:25:28-05:00, lord@jen.americas.sgi.com [XFS] Match up minor formatting changes between SGI and Linus trees ChangeSet@1.1296.60.29, 2003-10-08 12:20:09-07:00, torvalds@home.osdl.org Linux 2.6.0-test7 TAG: v2.6.0-test7