Summary of changes from v2.6.0-test7 to v2.6.0-test8 ============================================ ppc64: siginfo fix from Stephen Rothwell ppc64: remove some old irq balance related code ppc64: Fix for empty memory nodes when NUMA is enabled ppc64: IDE fixes from Linas Vepstas ppc64: Add paca export, from Sridhar Samudrala ppc64: slabify ppc64 pagetables, from Bill Irwin [kobject] export kset syms for module use From John Rose The patch below exposes some kset functions for use by modules. In the development of a PPC64 pci hotplug drv, we have found it necessary to use ksets of different types under a single subsystem. After discussing with GregKH, we agreed that this change makes this possible. ppc64: add in hugetlb quota fixes ppc64: add missing include [driver model] Add device_unregister_wait(). For those times when you need to wait for a device to unregister, before you continue on, this is device_unregister_wait(). It will block until all the references to the device go away, including references held by open sysfs files. This is probably most useful for modules that add and remove devices when they are loaded and unloaded. They must be sure that the devices that they have declared or allocated are completely torn down before the module is removed, lest unfreed memory get referenced or called. [kobject] Fix memory leak in kobject_set_name(). If kobject_set_name() is called when the kobject already has a name that was dynamically allocated (too long for the static array), then we must free that memory. Noticed by Jon Corbet. [power] Clean up ACPI STR assembly. - do_suspend_lowlevel() and do_suspend_lowlevel_s4bios() do not need parameters, since they are called only once. - Don't keep extra copy of saved registers. One is enough. - Share register handling code bewteen those two functions. - Use outl to port 0x80 for delays. - Only set segment registers once. - No need to specify %ds when storing memory, it's implicit, and that only slows things down.. ALSA CVS update D:2003/09/26 15:29:05 C:USB generic driver A:Takashi Iwai F:usb/usbmixer.c:1.23->1.24 L:probe units even under a selector unit which is marked as ignored or has L:only a single selector. ALSA CVS update D:2003/09/29 08:31:25 C:PCI drivers A:Jaroslav Kysela F:pci/Kconfig:1.8->1.9 L:Removed GAMEPORT dependency (already handled in drivers) ALSA CVS update D:2003/09/29 19:16:18 C:ALSA<-OSS emulation A:Jaroslav Kysela F:core/oss/pcm_oss.c:1.50->1.51 F:include/pcm_oss.h:1.7->1.8 L:Fixed oops in oss_sync() routine. ALSA CVS update D:2003/09/30 08:54:19 C:ALSA<-OSS emulation A:Jaroslav Kysela F:core/oss/pcm_oss.c:1.51->1.52 L:Fixed compilation for the sync code commited by mistake. L:Fixed possible race in sync1 code (schedule call) and used schedule_timeout. ALSA CVS update D:2003/09/30 09:58:53 C:Generic drivers A:Jaroslav Kysela F:drivers/dummy.c:1.25->1.26 L:Added emu10k1 emulation by Takashi ALSA CVS update D:2003/09/30 10:28:26 C:Control Midlevel,HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel C:Timer Midlevel,ALSA<-OSS emulation,ALSA sequencer,EMU8000 driver C:Digigram VX222 driver,USB generic driver A:Jaroslav Kysela F:core/control.c:1.37->1.38 F:core/hwdep.c:1.21->1.22 F:core/init.c:1.38->1.39 F:core/pcm_lib.c:1.43->1.44 F:core/pcm_native.c:1.81->1.82 F:core/rawmidi.c:1.37->1.38 F:core/timer.c:1.46->1.47 F:core/oss/pcm_oss.c:1.52->1.53 F:core/seq/seq_lock.c:1.7->1.8 F:include/rawmidi.h:1.10->1.11 F:isa/sb/emu8000_patch.c:1.6->1.7 F:isa/sb/emu8000_pcm.c:1.10->1.11 F:pci/vx222/vx222_ops.c:1.2->1.3 F:usb/usbaudio.c:1.65->1.66 L:Revised schedule() and set_current_state() calls. L:Replaced need_resched() with cond_resched() call. ALSA CVS update D:2003/09/30 11:12:09 C:VIA82xx driver A:Takashi Iwai F:pci/via82xx.c:1.52->1.53 L:- fixed the detection of VIA8233A (it was overridden by dxs_support L: option). ALSA CVS update D:2003/09/30 11:15:44 C:RawMidi Midlevel A:Takashi Iwai F:core/rawmidi.c:1.38->1.39 L:fixed typos (open_lock -> open_mutex). [driver model] Remove unneeded error check. From Daniele Belucci. [power] Fix some typos. From Pavel Machek JFS: Make sure journal records get flushed to disk A performance enhancement that reduced the number of partial-page journal writes resulted in some journal records staying in cache indefinately. We need to make sure that these records are written in a timely fashion. ppc64: merge some changes from the ameslab tree ppc64: remove last bits of traceback tables [power] swsusp Update From Pavel Machek - Add license statement. - Check arch_prepare_suspend() and don't allow suspend to continue if it fails. - Make software_resume() return an int and make it an initcall so it gets called on boot. PPC32: Always print the processor number in /proc/cpuinfo. Fix from Dan Burcaw . [XFS] Fix remount,ro path SGI Modid: 2.5.x-xfs:slinx:159444a [XFS] Implement deletion of inode clusters in XFS. SGI Modid: 2.5.x-xfs:slinx:159536a [XFS] Document ikeep mount option SGI Modid: 2.5.x-xfs:slinx:159536b [ACPI] Summary of changes for ACPICA version 20031002: Fixed a problem with Index Fields where the index was not incremented for fields that require multiple writes to the index/data registers (Fields that are wider than the data register.) Fixed a problem with all Field objects where a write could go beyond the end-of-field if the field was larger than the access granularity and therefore required multiple writes to complete the request. An extra write beyond the end of the field could happen inadvertently. Fixed a problem with Index Fields where a BUFFER_OVERFLOW error would incorrectly be returned if the width of the Data Register was larger than the specified field access width. Completed fixes for LoadTable() and Unload() and verified their operation. Implemented full support for the "DdbHandle" object throughout the ACPI CA subsystem. Implemented full support for the MADT and ECDT tables in the ACPI CA header files. Even though these tables are not directly consumed by ACPI CA, the header definitions are useful for ACPI device drivers. Integrated resource descriptor fixes posted to the Linux ACPI list. This included checks for minimum descriptor length, and support for trailing NULL strings within descriptors that have optional string elements. Fixed a problem where the SMI_CMD register could be written even if it was not supported on the platform (when FADT.SMI_CMD is zero) [swsusp] Don't free buffer when going to sleep. From Pavel Machek: Causes random oops, and since we're going to sleep, it shouldn't matter anyway. PPC32: Remove CONFIG_DCACHE_DISABLE, as it's not all that useful. The only board that really used this was an preproduction board with buggy hardware. PPC32: Fix a typo. [ACPI] fix acpi_asus module build (Stephen Hemminger) [ARM] Fix LART build. Patch from Yves Rutschle. This cset allows LART to build again. [ARM] Update LART default configuration [ARM] Clean generated files in "clean" rather than "mrproper" [ARM] Add ARM specific ignores to BK ignore file [XFS] switch xfs to use linux imode flags internally SGI Modid: 2.5.x-xfs:slinx:159631a JFS: Improved error handing This patch replaces many assert statements, which caused a BUG(), with improved code to mark the superblock dirty and then proceed as specified by the errors= mount flag (as ext2 and ext3 do). JFS's default for the errors option is "remount-ro" in order to prevent addition data corruption when a problem is found. These asserts are usually triggered by on-disk data corruption. By marking the superblock dirty, fsck will perform a complete check on the file system and correct the problems, rather than simply replaying the journal, inviting later trouble. Submitted by Karl Rister & Dave Kleikamp [XFS] Match up minor formatting changes between SGI and Linus trees Revert from using __kernel_fsid_t to fsid_t since ia64 now defines this correctly Change the way XFS implements the invisible I/O mechanism used by the online backup tools. More uio changes, add code attribution [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. PPC: Change how we export some Openfirmware device nodes. From Ethan Benson . PPC32: Fix the ns1655x uart driver in the bootwrapper. PPC32: Update 'make help'. Mostly from Sam Ravnborg . [PATCH] add insert_resource() helper function This allows PPC to insert resource descriptors later on after boot. [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 [PATCH] Fix x86-64 build with separate object tree From Arnd Bergmann. [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. [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. [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. [PATCH] NFS: remove broken O_DIRECT wait code It is in any case no longer needed. [PATCH] NFS: synchronous NFSv3/v4 COMMIT Add support for synchronous calls to the NFSv3/v4 COMMIT functions. [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. [PATCH] NFS: Enable NFS_DIRECTIO support Enable NFS_DIRECTIO support now that it has been fixed... [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. [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. 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. PPC32: Export a couple of symbols (csum_partial and init_task). [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. [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. [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. [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. [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. [PATCH] New DVB frontend driver ves1x93 (obsoletes alps_bsrv2) - replace alps_bsrv2 driver by generic ves1893 & ves1993 driver (Andreas Oberritter) [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 [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) [PATCH] Fix DVB network device handling - simplify and sanitize add/del handling for dvb net devices [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. [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) [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) Revert floppy driver dependence on CONFIG_ISA. The thing exists on lots of PCI-only setups that have no ISA anywhere. [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. [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. [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. [PATCH] USB: Correct module names in drivers/usb/*/Kconfig Module names in Kconfig help texts should match those in Makefiles. Please apply. [PATCH] USB: Fix two typos in drivers/usb/README [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. [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. [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. [PATCH] ia64: fix NUMA page table allocation to get memory from the right node [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. [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. [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. [PATCH] USB: Handspring Treo 600 id I've got a new toy. This obviously correct 4 liner patches the two files: [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. [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. [PATCH] I2C: Chip driver initialization fixes fixes all chip drivers by moving the initialization before any sysfs entry is created. [PATCH] I2C: correct some errors in i2c/chips/Kconfig [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. [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. [PATCH] ia64: early SN setup fix Small fix to build early_sn_setup even if early printk is turned off. [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. 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 [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. [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. [PATCH] ia64: fix ia32 epoll emulation warnings ppc64: disable_irq fix from x86 [VLAN]: kfree(skb) --> kfree_skb(skb). [SPARC64]: Squelch bogus gcc warning in unaligned.c due to bad flow analysis. [WAN]: Fix transmitted headers with generic HDLC + Cisco encap. [ATM]: Mark unclean drivers as not-64BIT. [NET]: Fix initialization sequence in SunGEM driver. [IRDA]: Fix memory leak in sa1100_ir.c [WAN]: Incorrect comparison for register_netdev in cosa.c [NET]: Delete skb_shared() checks from loopback driver transmit. This code is from ancient history when TCP did not used SKB cloning. [SPARC64]: Update defconfig. [SPARC64]: Fix __bzero_noasi declaration. [SPARC64]: Fix mixed declarations and code in flush_dcache_page_all. [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. [CPUFREQ] refix EBLCR FSB only works on Samuel1. Now that longhaul=1 matches more than 1 CPU, this broke. [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. [PATCH] ia64: Fix unaligned faults in IA-32 putstat64 This seems to be introduced by recent changes in 2.6.0-test series. [PATCH] ia64: fix SN2 interrupt allocation Patch from Christoph. Fixes interrupt allocation code for sn2. [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. [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. [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. [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. [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. [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. [PATCH] ia64: 2nd step to fix GENERIC builds: split contig and discontig paging_init functions 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. [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. [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). [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. Fix call to Open Firmware "map" call, parameters were flipped causing the coff image to randomly fail coff images bootloader reserves more memory for the kernel, allow booting of "standard" configs on oldworld macs Export mol_trampoline and mmu_hash_lock for MOL (missing from a previous cset) Export init_mm, some modules need that The POWER4 support merged previously was incomplete, add the missing bits so that the kernel boots at least on POWER4 and G5 CPUs Fix RAMDAC detection on some IMS TwinTurbo video cards ("Mac" cards only), without this, you get no display on machines with those cards 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 Fix timebase hardware sync on SMP PowerMacs (both oldworld dual 604s and core99 dual G4s). 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 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 ! 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 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. Fix jffs2 memory leak on mount error [IPV4]: ip_copy_metadata must copy the nfcache field. [WAN]: Fix register_netdev() return value check in hostess_sv11.c [NET]: Fix register_netdev() return value check in synclink_cs.c [IPX]: ipx_proc.c needs linux/init.h even when PROC_FS is not enabled. [ATM]: Kill PROC_FS ifdef around includes. [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. EDD: reads to raw_data return binary data, not hexdump by request of gregkh other minor cleanups [ARM] Add missing csum_partial export. 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. [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. 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). [PATCH] Fix software suspend compilation on x86-64 From Pavel Machek. Make software suspend compile again on x86-64 [PATCH] Kernel thread signal handling. - add disallow_signal() to complement allow_signal(), rather than having different subsystems try to do it by hand. - add a version of dequeue_signal() which does the necessary locking on its own, again to avoid having modules have to care. - let allow_signal() to actually allow signals other than SIGKILL. Currently they get either converted to SIGKILL or silently dropped, according to whether your kernel thread happens to have sa_handler set for the signal in question. (Barf alert: we do this by just installing a dummy handler) - make jffs2 use the cleaned up infrastructure [PATCH] M68k export csum_partial M68k: Export missing symbol csum_partial [PATCH] Sun-3 compile fix Sun-3: Add missing include (needed because of __attribute_used__ in ) PCI: fix up probe functions for agp drivers Can not be marked __init, must be marked __devinit or not at all. If it is marked __init, then oops can happen by a user writing to the "new_id" file from sysfs. PCI: fix up probe functions for synclink drivers Can not be marked __init, must be marked __devinit or not at all. If it is marked __init, then oops can happen by a user writing to the "new_id" file from sysfs. PCI: fix up probe functions for OSS drivers Can not be marked __init, must be marked __devinit or not at all. If it is marked __init, then oops can happen by a user writing to the "new_id" file from sysfs. [PATCH] Fixing mlockall & PROT_NONE This is the minimal change to make "mlockall()" not complain about the occasional PROT_NONE area. PROT_NONE is commonly used on x86-64, and is no reason to not lock in the rest of the mappings into memory. [PATCH] I2C: remove unneeded MOD_INC and MOD_DEC calls. CHAR: Remove unneeded MOD_INC and MOD_DEC calls. OSS: fix up MOD_INC and MOD_DEC usages to remove compiler warnings. [PATCH] avoid crashes due to unaligned stacks This fixes the stack end detection properly, and verifies that the stack content printing does not overflow into the next page even partially. This is required especially for x86 BIOSes that misalign the stack, together with the page access debugging that unmaps unused kernel pages to check for valid accesses. Architectures with special needs (eg HPPA with stacks that grow up) can override the kernel stack end test with __HAVE_ARCH_KSTACK_END if they ever enable the anal slab debugging code. [IPIP]: Decapsulate after checking policy. [IPVS]: Fix IPVS sync state check. Patch from Horms Since both the primay and the backup sync daemon can be started in a box at a time, we must just check if the MASTER bit is set in the sync state. [PATCH] I2C: sensors/w83781d.c creates useless sysfs entries Jindrich Makovicka ha scritto: > here is a trivial fix for Winbond sensor driver, which currently creates > useless entries in sys/bus/i2c due to missing braces after if statements > - author probably forgot about the macro expansion. IMHO it's better to fix the macro: [IPVS]: Fix to set the statistics of dest zero when bound to a new service [NET]: Fix syncppp wan device regression. In 2.6.0-test6, I put in a patch which fixed sealevel driver, but broke all the other wan devices because it got rid of one level of indirection. This puts back the indirection, and hopefully prevents others from misreading it the same way. The SPPP drivers expect that netdev->priv points to device local structure whose first element is a pointer to the ppp device. [NET]: Fix sealevel regression. My earlier change broke the if_ptr assumption used by SPPP drivers. This makes sealevel driver do if_ptr like it used to. [EBTABLES]: Add ebt_among match. [NET]: Resolve device probe difference. [PATCH] ia64: infinite loop in ia64_mca_wakeup_ipi_wait This bugfix has been hiding inside the MCA TLB patches. There is an infinite loop in ia64_mca_wakeup_ipi_wait() because the compiler optimizes away the test at the bottom of the while loop. It does this because IA64_MCA_WAKEUP_VECTOR is 0xf0, so irr_bit is known to be the constant 0x30, a.k.a. 48 in decimal. So when the compiler looks at the expression: It observes that 1' as unsigned long. [PATCH] ia64: cannot convert region 5 address to physical by clearing bits 63:61 Another no-brainer bug fix snipped out of the quagmire of the MCA/TLB patch. This one is for 2.6 only, we must use the new LOAD_PHYSICAL() macro to get the physical address of the code label that we want to jump to, the INST_VA_TO_PA() macro just clears the region bits, which only works for region 7 addresses. [PATCH] USB: fix visor driver to work with Palm OS 4+ devices For some reason, they do not like the reset_config calls anymore. [PATCH] USB: ehci-hcd, misc bugfixes This fixes some bugs observed in the EHCI code: - Byte-order confusion caused the wrong address to be set on big-endian hardware (reported last week on PPC and SPARC). That bug's been there for about a year, with no problem reports ... hmm. - Used the wrong bitmask to determine max packet size for interrupt transfers, so they were limited to 1023 bytes (not 1024 bytes) at high speed. - Because those two problems related to the masking, I sanity checked it and moved more of byteswapping to compile time. - Removes some oopsing in the (debug) periodic schedule dump, seen with patches that add more interesting behaviors (which folk are finally trying...). - Removed some now-pointless usage [PATCH] USB: ohci-hcd PM fixes This patch primarily fixes PM-related bugs in the OHCI driver. It gets rid of some flags that duplicated state between usbcore and the HCD. The duplication wasn't correct, and wasn't tested correctly ... this fixes both issues. So now the driver avoids writing to hardware when it's suspended (as required by older PowerBook hardware) or halted, and treats all non-running states the same (as required by all hardware). This includes the last generic parts of a patch sent a while back by Benjamin Herrenschmidt, which weren't at that time testable on a x86 kernel because the generic PM code was in flux (and broken). There may still be some PMAC-specific issues to resolve. With this patch, and a device_resume() deadlock fix, I've seen OHCI suspend/resume work on hardware it's not worked on since the PM changes started to merge into the 2.6.0-test kernels. Revert recent SMP timer changes - they cause deadlocks Cset exclude: mingo@elte.hu[torvalds]|ChangeSet|20031012025453|05000 Mark timer as running in the timer base _before_ we clear the pending flag (and order it on SMP), so that del_timer_sync() always sees the timer either pending or running if it is active. ppc64: clear IRQ_INPROGRESS in setup_irq and enable_irq Avoid unnecessary floating point usage in av7110 DVB driver Avoid unnecessary floating point calculations in amd8111e net driver Make x86 do_div() macro evaluate its "base" argument only once. [PATCH] Fix dvb_net network subsystem usage This restores the changes to the dvb_net code done by , which were wiped out by my last patchset. [netdrvr xircom_cb] fix race in statistics pointer setting by converting to use alloc_etherdev. [PATCH] Fix pcnet_cs network hotplug pcnet_cs registers the network device too early. The effect of this is that the networking hotplug scripts are unable to bring the device up automatically. There are two issues: - we were registering the net device before we finished setting up the device (eg, reading the MAC address.) - we were using DEV_CONFIG_PENDING to block the net device "open" callback, and as we know the other methods may be called prior to open. My only concern with this patch is that we set info->node.dev_name after we register the net device, so use of cardctl during the hotplug scripts may give unexpected results. However, I am not aware of anyone using cardctl to read the device name in network hotplug scripts. Please review and merge. Thanks. [TCP]: Fix missing connections in /proc/net/tcp [TCP]: Fix numbering of lines in /proc/net/tcp [IPV4]: ip_fragment should not reassemble if all frags do not have owner [PATCH] ethtool_ops eeprom stuff Finally got around to adding ethtool_ops to e100-3.0.x. I found a bug with get_eeprom() and it seems to work best if we add get_eeprom_len() to the ops list. Also moved check for offest + len < size into ethtool.c. I was able to test [GS]EEPROM, PHYS_ID, GSTATS, GSTRINGS, and TEST, and everything looks good. Should I send same for 2.4? [EBTABLES]: Print size_t type properly in ebt_among.c [hamradio scc] fix probe function fix for the probe function of the scc driver which now uses an uninitialised scc struct for requesting an io region. [hamradio bpqether] fix ancient debug line removes a verry old debug line from the bpqethernet driver that only fills logs. [PATCH] Mark non 64bit clean network drivers This marks some net drivers which are clearly not 64bit (judging from the warnings) as !64BIT. -Andi [PATCH] Fix warnings in hp100 Fix some harmless integer/pointer size mismatch warnings in hp100.c on 64bit compiles [PATCH] Fix warnings in defxx.c Fix harmless 64bit warnings in defxx.c [PATCH] hang on ZEROCOPY/TSO when hitting no-Tx-resources * Critical bug fix: under heavy Tx stress using ZEROCOPY or TSO, if we ran out of Tx descriptors, we didn't calculate for the context descritor used as the first of the ZEROCOPY/TSO send, nor do we clean up the context desriptor bits in the case where the send isn't going to fit, where we need to undo the mappings. This bug was introduced with the 5.2.16 patch set which included a workaround for a hang on 82544 over PCI-X. This workaround cause the check for no-Tx- rosource logic to change, and this bug slipped in. [netdrvr 8139too] add pci id contributed by "JaReK" and Donald Becker. [netdrvr 8139too] another new PCI ID Contributed by Josh Litherland, Donald Becker, and others. [PATCH] - atmel wireless driver 1) Remove "#include " which was not needed and added bad extra compile dependencies. 2) Fix typo in module description. 3) Make card detection code cope with buggy SMC CIS entries. [netdrvr tulip] add pci id Contributed by Ken Zalewski. [netdrvr natsemi] fix ring clean Too much copy&paste in a call to pci_unmap_single. [PATCH] b44 enable interrupts after tx timeout (2.6-test version) Resending the patch I sent some time ago for b44.c that nukes the 2.4 compatibility cruft as well. I'll do one for 2.4.23pre6 ASAP, hopefully being able sync the driver fully with the one in 2.6 (free_netdev() etc.). [NET]: Mark dev_alloc as deprecated. [IPV4/IPV6]: Clear security path for tunnel packets. [PATCH] I2C: fix more define problems in w83781d driver [ARM] Fix div64 implementation. Our do_div implementation can't correctly handle divisors with the top bit set. This cset fixes this up with a minimal change. [PATCH] USB: Conflicting definitions in keyspan driver There's a small issue with drivers/usb/serial/keyspan_usa90msg.h The definition for MSR_RI conflicts with some PowerPC CPU definition (MSR is the Machine State Register on PPC and processor.h defines MSR_RI globally). This definition doesn't seem to be used in any .c in drivers/usr/serial though, so I beleive it could be easily renamed to something a bit less prone to conflict ;) Changing the PPC definition would be a lot nastier. [PATCH] USB: default input core support to y It's quite easy to accidentally miss this option out. I think it makes sense to default it to yes if HID support is enabled. [SPARC]: Audit inline asm. Check all inline asms for common bugs and things that prevent gcc-3.3 builds from working, in particular: 1) Missing memory or cc clobbers. 2) Do not clobber registers explicitly assigned to input variables. 3) extern __inline__ --> static inline. Also try to make the formatting more consistent so that future audits are a bit easier. Based upon work done by Keith W. and Meelis Roos. [SPARC64]: Update defconfig. [SPARC]: Fix types in ext2/minix bitops. [PATCH] ia64: Another MCA fix The definition of the pal_process_state_info_s structure misses out some useful pieces (e.g. the "mi" bit which indicates whether we should call PAL_MC_ERROR_INFO to get more details). Worse yet, some of the bits are in the wrong places (cc/tc/bc). See Volume 2 of "Intel Itanium Architecture Software Developer's Manual". (In the Rev 2.1 October 2002 edition, p. 2:268 and 2:276). [PATCH] ia64: SN2 module fix Because we're the only platform with seperate in, out, and read routines, we have to include the file that defines them in our machvec header so that users of the functions will get the right defines and not use the non-inline function variants (which are only necessary for generic kernels). [PATCH] ia64: drop bogus "now < last_tick" message itc_get_offset() has a consistency check which is no longer valid now that xtime_lock is a seq_lock. Drop the bogus check. [SPARC]: Provide foo_p aliases for I/O port ops. [SPARC]: Fix IRQ op build problems. Defining disable_irq et al. as macros is asking for trouble especially since some parts of the kernel uses structures with members having these same names. So use inline functions instead. [SPARC]: Make io.h macros more resiliant. Several drivers do things like undefine inb et al. in order to switch between using I/O and MEM operations. The Sparc io.h macros did not cope with this well, so fix that up. [PATCH] ia64: force on appropriate generic options Make sure that generic kernels actually build by forcing on the necessary options. With this patch I was able to build a generic kernel out of the to-linus-2.5 tree. ia64: Fix __delay() to do The Right Thing. In practice, this may cause BogoMIPS to drop to half the clock-speed with current versions of GCC, but this just shows that GCC doesn't generate very good code for single-cycle loops. Perhaps it will motivate someone to improve GCC in this area (though it's hardly of practical value, other than for producing large BogoMIPS values). [PATCH] number of threads in /proc Having the number-of-threads value easily available turns out to be very important for procps performance. The /proc/*/stat thing getting reused has been zero since the 2.2.xx days, and was the seldom-used timeout value before that. [PATCH] ia64: correct ino_t to be 64 bits wide This brings the kernel in sync with glibc (and all other 64-bit platforms other than Alpha and S390x). This fixes ustat() and breaks nfsctl_export, but the latter is a deprecated interface anyhow (newer versions of nfsutils use "exportfs" instead). [PATCH] ia64: fix serial port naming Now that the serial driver fully supports discovery via ACPI, we can get rid of all the legacy junk in asm-ia64/serial.h. This keeps the serial driver from blindly probing I/O port space. This also fixes a long-standing serial device naming issue: ttyS0-ttyS3 were always reserved for the compiled-in COM ports, even if they weren't present in the box. Any additional PCI or ACPI ports appeared starting at ttyS4 (except for the special case of things described in the HCDP). Now we'll just name ttyS devices in the order they're discovered, without any holes for non-existent devices. This is a little bit ugly for serial console because the HCDP is currently the only way we learn about serial ports before the actual ACPI discovery. All HP firmware implements HCDP, but Intel firmware does not. So in the absence of an HCDP, we have to probe for legacy COM ports. Otherwise, the serial console wouldn't work until the serial driver discovers the port via ACPI. [PATCH] update to microcode update driver This contains the following changes: a) changes from Intel to support the new microcode data format (backward compatible of course) b) changes from me to remove the no longer needed features of the driver, namely we don't need to keep a copy of applied microcode in kernel memory. This feature was hardly useful in the days of regular devfs /dev/cpu/microcode file and now it is completely useless so I removed it (after taking into account all the feedback on linux-kernel I received since the announcement of the intention to do this) These are rather critical because otherwise we can't really say Linux fully supports the very latest Intel cpus (which require microcode in the new format). ia64: Fix __delay() even more: it's just not safe to inline the delay- loop because, e.g., the compiler might decide to unroll the loop when passed a constant, etc. [PATCH] ia64: a little more documentation in fsys.txt Attached is a suggestion for a small addition to fsys.txt about how userspace can use fast system calls. If people think this is totally wrong, or that something like this might be more appropriate in our WiKi, that's fine. [PATCH] fix support for PIO modes w/o IORDY flow control hwif->ide_dma_on() was is in the wrong place in the mode tuning helper and was also called for devices which do not support IORDY flow control (such as CompactFlash cards). ia64: Important security fix for fsyscalls. Without this patch, the McKinley E9 workaround caused fsyscalls to return with the wrong privilege level. This patch also adds fsys_rt_sigprocmask(), which happens to be a good test-case for this bug. Only McKinley systems using fsyscalls are affected. Merced and Madison are OK. Fix APIC address handling at bootup and restore. Don't assume the APIC is at the power-on default address, since the BIOS can have moved it somewhere else without really ever telling us (ie we have an MP table or ACPI that fixes it for us, but those are not always available) merge some irq.c fixes from x86 [PATCH] Enable interrupts in faults from VM86 mode vm86 mode does a copy_to_user from the general protection fault handler to update the process' vm86 state. The problem is that the full GFP handler runs with interrupts off currently and that trips the might_sleep() test in copy_to_user(). This happens very often in dosemu and once in a while while the X server does its vm86 magic with the VGA bios. See http://bugzilla.kernel.org/show_bug.cgi?id=1339 for details This patch fixes this by enabling interrupts when the original code ran with interrupts on or ran in vm86 mode (vm86 can clear the IF flag) ppc64: Fix for sym2 problem (first place that checked pci_set_mwi return code) [NET]: Fix get_random_bytes() call in sunhme.c:get_hme_mac_nonsparc(). [TCP/IPV4]: Fix tcp_tw_bucket accessed as a sock in tcp_bind_conflict(). [NET]: Grab RTNL semaphore in init_netdev() if we call dev_alloc_name(). ppc64: nuke a bunch of warnings, from akpm ppc64: Use kmalloc for kernel stacks, like x86 (makes usage easy to track via slabinfo) ppc64: remove old comment, copy_tofrom_user zeros destination on a load fault ppc64: arguments to mlockall and msync dont need sign extending [PATCH] drivers/block/initrd.c removal From: viro@parcelfarce.linux.theplanet.co.uk * drivers/block/initrd.c gone * chunk of memory where the current tree would look for intird image is checked for being a valid initramfs image first; then, it is either unpacked (in addition to normal built-in image) or, if it wasn't a valid image, copied into a regular file on rootfs called /dev/initrd. Then memory is freed. Result: a) we can put initramfs image in place of initrd one and kernel will DTRT. b) initrd images still work as usual; code that shoves the thing to ramdisk, etc. doesn't care whether it reads from a block device or regular file. c) initrd.c is gone, so is fake block device and a lot of irregularities with it. It has been in -mm for almost two weeks with no reported problems. [PATCH] Add missing sjcd uaccess checks From: Felipe W Damasio Check the return of copy_from_user in a few places to not use buggy structures if copy_from_user != 0. Found by smatch. [PATCH] Fix early __might_sleep() calls From: Roger Luethi __might_sleep prints warnings only after jiffies wrap (typically after 5 minutes of uptime). [PATCH] SELINUX: add policyvers to selinuxfs From: James Morris This patch adds a file to the root selinuxfs directory which returns the security policy version associated with the currently running kernel. Its purpose is to allow scripts to determine which version of policy to load. [PATCH] Correct case sensitivity in make mandocs From: Michael Still The attached patch corrects case sensitivity in the mandocs make target. XML is case insensitive, and a bunch of the kernel-doc assumes this. The makeman and splitman scripts incorrectly cared about case. This patch also updates the Docbook DTD version which the script generates. [PATCH] Don't swap to files which do not implement readpage From: Zwane Mwaikambo The swapon code uses read_cache_page() to access the swap header, so the filesystem had better implement it. [PATCH] reiserfs documentation URL fixes From: Yury Umanets Fix the reiserfs Kconfig URLs. [PATCH] silence smp_read_mpc_oem() declared static but never defined warning From: William Lee Irwin III The forward static declaration in a header is a) weird and b) generates a warning if the inline function which needs it is not expanded. Move these things from .h into .c [PATCH] ext3: i_disksize locking fix From: Alex Tomas The setting of i_disksize can race against concurrent invokations of ext3_get_block(). Moving this inside i_truncate_sem fixes it up. [PATCH] applicom: fix LEAK, unwind on errors From: "Randy.Dunlap" Fix a permanent resource leak and also some resource leaks on error paths. [PATCH] ext2/ext3 acl signedness fixes From: "Alexey Dobriyan" , Andreas Gruenbacher Make local variable `count' an integer so the subsequent test for negativeness makes sense. [PATCH] saa7134-core.c compile fix for old gcc It is using token pasting in ways which confuse gcc-2.9x. [PATCH] current_is_kswapd() is a function From: William Lee Irwin III So call it rather than testing its address... [PATCH] ide-floppy IOMEGA ZIP fix From ramon_garcia_f@yahoo.com: "I am experiencing lost interrupts when writting (but not when reading) to an IOMEGA Zip drive with the ATAPI floppy driver. The driver seems to be aware of the problem and has a workaround for it. Unfortunately my drive is not detected as an IOMEGA drive. The reason is that the model of my drive is "IOMEGA ZIP 100 ATAPI Floppy" instead of "IOMEGA ZIP 100 ATAPI", that is what the driver expects. " [PATCH] reiserfs/procfs.c fix Fix breakage in reiserfs/procfs.c iterator. Nikita had ACKed the patch. [PATCH] Eicon ISDN driver: use work_struct instead of tasklet for dpc. [PATCH] H8/300 support update - fix semaphore problem - document update and config fix [ARM PATCH] 1684/1: Add uImage build target rule Patch from George G. Davis This adds an `make uImage` build target rule to create boot images for targets which use u-Boot firmware. This build target already exists for the PPC architecture. [ARM PATCH] 1685/1: Fix bootpImage build target Patch from George G. Davis The boopImage build target rule is currently broken. This is the quick fix. [ARM PATCH] 1686/1: Fix params-phys typos Patch from George G. Davis This fixes a couple of params-phys typos [ARM PATCH] 1687/1: Add {params,initrd}_phys vars to enable bootpImage support on SA1100 Patch from George G. Davis Basically just adds a couple of missing vars so I can build bootpImages for SA1100. Allow Turtle Beach sound drivers to be compiled modular when STANDALONE is set, since the firmware is only required for the built-in case. [PATCH] ia64: MCA min_state area must be uncacheable Software Developer's Manual page 2:270, section 11.3.2.3 says that the processor min-state save area must be in an uncacheable region ... but current MCA recovery code allocates the min-state area "ia64_mca_min_state_save_info" in regular kernel data/bss. This patch re-uses the same min-state area that the PAL/SAL used to report the error to Linux ... which mostly requires deleting code and declarations (some of which were wrong, MIN_STATE_AREA_SIZE ought to have been 58). The real "work" is copying the pointer to the min-state area from the sal_to_os handoff structure into the os_to_sal structure. [PATCH] ia64: perfmon-2 fixes - remove PFM_FL_UNSECURE support because broken - remove instrumentation code for syswide ctx update (5% speedup) - integrated cleanups from John Levon - remove references to pmu_conf.ovfl_val from loops, use local variable - updated pfm_bad_permissions() - support reset values for non-counting pmds - serialization of PFM_RESTART - added support for restart_active in per-task mode - remove potential deadlock caused by calling pfm_overflow_handler() from pfm_load_regs() - fix invalid check in perfmon_mckinley() for PMC13 [PATCH] ia64: fix perfmon typo that broke Itanium build [NET]: Mark init_etherdev() as deprecated. [IPV6]: MIB fix, provide timestamps in ifa_cacheinfo. [IPV6]: Fix typo in addrconf.c [NET]: Fix socket test in dev_queue_xmit_nit(). [NET]: Catch buggy net drivers changing getstats op after registry. [ATM]: sdh should be off by default. [ATM]: Change ifdef in lanai_ioctl [ATM]: Remove vcc reference on outstanding SKBs [ATM]: Minor cleanup for vcc_hash conversion [NET]: Convert sunlance away from init_etherdev. [NET]: Convert sunbmac away from init_etherdev. [NET]: Delete bogus unregister_netdev() call in sunbmac. [NET]: Convert myri_sbus away from init_etherdev. [NET]: Delete comment reference to init_etherdev which the driver does not even use. [NET]: Convert sk98lin away from init_etherdev. [PATCH] fix ide-floppy IOMEGA logic The original change turned out to be too restrictive, it catches devices that don't need the work around. This fixes that, thanks to Bart for informing me of the screwup. [PATCH] fix ServerWorks PIO auto-tuning If PIO mode should be auto-tuned xferspeed argument for svwks_tune_chipset() is equal to 255 (0xFF). It is then passed to ide_rate_filter() which matches desired mode with chipset capabilities. Since 255 is greater than any of the values used for transfer modes, ide_rate_filter() will always return the highest mode supported by both device/chipset (which sometimes should not be used ie. when host is a simplex one) and the wrong mode will be set. Thanks to Torben Mathiasen and Tomas Szepe for testing it. [PATCH] remove "biostimings" boot options They were added by Torben to workaround ServerWorks driver problems (fixed by previous patch), but depending on BIOS can be dangerous on other chipsets and it is always better to fix specific driver. Removal of these options was acked by Torben. Linux 2.6.0-test8