Summary of changes from v2.6.4-rc2 to v2.6.4-rc3 ============================================ [IA32] VIA C3 crypto/RNG bits * Enable ACE (crypto) and RNG units on bootup. * Do not disable RNG unit when unloading hw_random module. * New bits listed in /proc/cpuinfo: rng_en, ace, ace_en * Add ACE-associated constants to cpufeature.h [SPARC32]: Small SMP build fixes ACPI URL update [ACPI] delete unnecessary dmesg lines, fix spelling [ACPI] include CONFIG_ACPI_RELAXED_AML code always add acpi=strict option to disable platform workarounds [ACPI] ACPICA 20040220 from Bob Moore Implemented execution of _SxD methods for Device objects in the GetObjectInfo interface. Fixed calls to _SST method to pass the correct arguments. Added a call to _SST on wake to restore to "working" state. Check for End-Of-Buffer failure case in the WalkResources interface. Integrated fix for 64-bit alignment issue in acglobal.h by moving two structures to the beginning of the file. After wake, clear GPE status register(s) before enabling GPEs. After wake, clear/enable power button. (Perhaps we should clear/enable all fixed events upon wake.) Fixed a couple of possible memory leaks in the Namespace manager. [ACPI] acpi_boot_init() cleanup suggested by Matt Wilcox HPET doesn't depend on IOAPIC [TIGON3]: tg3_phy_copper_begin() tweaks. - Zap wait_for_link arg, never set. - Decrease delay loop when forcing link down. [ACPI] Support for PCI MMCONFIG for PCI Express (Matt Wilcox) [ACPI] delete ACPI table parsing code from bootflags module [SPARC]: Kill sys_ioperm decl from unistd.h [SPARC64]: Update defconfig. [IRDA]: stir4200 update for 2.6.4-rc1 New revision of the Sigmatel irda driver. This version has much better performance and doesn't drop frames in FIR mode. Tested with both UHCI and EHCI/OHCI against nsc-ircc on laptop. Thanks to Martin for additional testing and feedback. * Receiver: - changed from interrupt to bulk URB. Queue's one bulk urb per USB tick (1ms). - FIR unpack now uses get_unaligned and cpu32_le instead of explicit shifts - FIR unpack copies small frames * Transmitter: - pack data into io buffer. Since irda is half duplex can use same buffer for transmit and receive. - use xchange and wait_event for synchronization * Other: - use USB format messages rather than IRDA (ugly) - clean up USB startup - reset device on network open to clear up stuck state - handle FIFO errors - disconnect cleanup (from viro) - don't DMA onto stack when reading fifo status [CRYPTO]: Add ARC4 module. [TIGON3]: Consolidate MMIO write flushing using tg3_f() macro. [SPARC64]: Update defconfig. [PATCH] d_alloc_root() fixes: gadgetfs gatgetfs fill_super: - double-free of inode on last two failure exits - leak on the last failure exit - touching addresses near 0 on last two failure exits [PATCH] d_alloc_root() fixes: adfs - leak of root inode if d_alloc_root() fails. [PATCH] d_alloc_root() fixes: afs - useless dput(NULL) on failure exit (would be a double-free if we ever got there with non-NULL dentry). [PATCH] d_alloc_root() fixes: autofs4 - oops if inode allocation fails. [PATCH] d_alloc_root() fixes: befs - inode leak if d_alloc_root() fails. [PATCH] d_alloc_root() fixes: coda - unchecked result of d_alloc_root() leading to oops in fs/super.c [PATCH] d_alloc_root() fixes: cramfs - inode leak on d_alloc_root() failure - unchecked result of d_alloc_root() leading to oops in fs/super.c [PATCH] d_alloc_root() fixes: efs - inode leak on d_alloc_root() failure [PATCH] d_alloc_root() fixes: ext2 - inode leak on d_alloc_root() failure [PATCH] d_alloc_root() fixes: ext3 - inode leak on d_alloc_root() failure [PATCH] d_alloc_root() fixes: freevxfs - inode leak on d_alloc_root() failure [PATCH] d_alloc_root() fixes: hfs - inode leak on d_alloc_root() failure [PATCH] d_alloc_root() fixes: hfsplus - inode leak on d_alloc_root() failure [PATCH] d_alloc_root() fixes: romfs - inode leak on d_alloc_root() failure - sanitized the cleanup logics [PATCH] d_alloc_root() fixes: hpfs - inode leak on d_alloc_root() failure [ARM PATCH] 1762/1: Fix typo in CONFIG_CPU_BIG_ENDIAN help text Patch from Deepak Saxena [ARM PATCH] 1764/1: Export __arch_strncpy_from_user for modules Patch from Ian Campbell __arch_strncpy_from_user needs to be exported if you build the framebuffer console driver as a module. [ARM PATCH] 1757/1: Allow building of LE kernels with BE-default toolchain Patch from Deepak Saxena The ARM makefile currently assumes that the compiler being used defaults to little-endian builds unless the big-endian options are provided. This may not always be the case (my toolchains default to BE since that's what I mostly work with) so this patch forces endianess options to be passed to the toolchain. W/O this, building without CONFIG_CPU_BIG_ENDIAN on a big-endian toolchain will still result in a big-endian kernel. [PATCH] Fix typo in radeonfb This fixes a typo in the list of PCI IDs in radeonfb, which in turn fixes detection of some mobility models. [FFB]: Force-disable cursor in ffb_switch_from_graph(). Fix ramdisk driver leak on module unload. Noticed by me, fixed by Jens. [PATCH] another rd.c leak Free the request queues on the rd_init() error recovery path. [SPARC]: Add stack usage instrumentation [SPARC]: Make parport_sunbpp compile again [PATCH] PnP BIOS exception fixes This fixes two errors in fixup_exception() for PnP BIOS faults: - Check for the correct segments used for the BIOS - Fix asm constraints so that EIP and ESP are properly reloaded [PATCH] kNFSd - Tidy up new filehandle type. nfsd uses several different mechanisms for identifying the filesystem from the filehandle. This patch: Marks type 2 as deprecated - it wastes space, and space in the filehandle is not unlimited Adds type 3 which handles new, large device number in 32bits of space Tidies up the code for determining which type to use in a newly created filehandle - the addition of type 2 broke this code. [Bluetooth] Send HCI_Reset for some Broadcom dongles This patch introduces a quirk flag for sending the HCI_Reset command. In general the HCI_Reset is not needed, but some Broadcom dongles uses this reset command to switch from HID to HCI mode. And it is not safe to send the HCI_Reset to every Bluetooth device, because the CSR firmware prior HCI 12.x will reset the host transport and this is wrong according to the Bluetooth specification. [Bluetooth] Add notify callback for host drivers This patch adds a notification callback to the hci_dev structure which is used by the HCI core to tell the driver about connection creation and clearing. It also notifies about changed voice setting. [Bluetooth] Dynamic allocation of the RFCOMM TTY devices Only allocate the RFCOMM TTY devices when they are really in use. This prevents the system from calling hotplug and udev 256 times to create or remove every device node. In fact this makes the loading and unloading of the RFCOMM module much faster. [SERIAL] Make serial console work for any port (take 2) The current serial console code only works for ports that are either defined in SERIAL_PORT_DFNS (and set up by serial8250_isa_init_ports()) or registered by early_serial_setup(). On ia64, SERIAL_PORT_DFNS is empty because we discover everything via ACPI and PCI. And we only use early_serial_setup() for one port described by the HCDP firmware table. This patch against 2.6.4-rc1 makes it work for any valid port. If we don't know about the port early, we just return -ENODEV from the setup() function, which leaves the serial console disabled. After the driver has found all the ports, we try to register the serial console again if it hasn't been enabled already. Keith Owens noticed that the first version of this patch broke some serial console setups because many early serial ports are registered with "type == PORT_UNKNOWN". So this version tests "port->ops" instead, and Keith has confirmed that this works for him. [SERIAL] Fix supprot for AFAVLAB 8port boards in 2.6.x I didn't yet use one of my AFAVLAB boards with 2.6.x until now. The upper 4 ports are not detected at all. I suppose the bug was introduced while porting the driver from 2.4.x. Please consider applying the following patch. It also adds support for a new 8 port board called P030. [SERIAL] Remove obsolete CLPS711x serial driver names. [SERIAL] Clear up comments concerning mapbase and membase. [SERIAL] Don't initialise port->mctrl before calling ->startup If a serial port is hung up using vhangup() with HUPCL cleared (so DTR isn't dropped), and then re-opened, we don't want to drop the DTR line. This occurs during the login process, and dropping DTR would cause a modem to hang up. [SERIAL] Correct Oxford Semiconductor 16PCI952 PCI type entry. WRT 2.4, Ed Vance put this fix into 2.4: According to the data sheet, the OX16PCI952 has port 0 in BAR0 and port 1 in BAR1. (unlike the OX16C954, BTW) The 921600 base baud value is your oscillator rate divided by the default oversample rate, 16. Since 2.6 PCI IDs have been updated to use the real device ID for this part, we really should include this fix as well. [QLOGIC]: Mark mbox_param[] as static to avoid namespace pollution. [IPV4]: Add sysctl for per-socket limit on number of mcast src filters. [SPARC]: Pass a real page into do_mount() a final arg. [PATCH] mismatched syscall protos. Sparse noticed a bunch of mismatched prototypes in the new syscalls.h file when compiling net/socket.c Whilst most of them are just missing __user tags, the last argument of sys_socketpair was completely different. [PATCH] High BAT initialization wrong The code initializing the "high" BATs on CPUs like the 750FX got broken when copied over from 2.4. This cause random problems with machines using those CPUs (iBook 2s typically). [PATCH] Add missing AFAVLAB P030 PCI ID [XFS] zero log buffer during initialization at mount time SGI Modid: xfs-linux:xfs-kern:167980a [XFS] Fix out-of-space deadlock when flushing delalloc data with pages locked under write. SGI Modid: xfs-linux:xfs-kern:167948a [PKT_SCHED]: Fix ipv6 ECN marking in RED scheduler. [SPARC32]: Avoid an oops if thread_info allocation fails [PATCH] hfsplus: symlink initialization fix This fixes a problem with creating symlinks, a few fields in the inode/dentry were left uninitialized. [PATCH] Fix knfsd filehandles... Here's a fix for an obvious typo in changeset neilb@cse.unsw.edu.au|ChangeSet|20040305155724|31191 that was causing ESTALE errors galore on my NFS testrig. [PATCH] svcauth_gss oops fix From: "J. Bruce Fields" I've done some testing with 2.6.4-rc1. It looks fine, except that one critical patch got dropped somewhere along the way, without which rpcsec_gss will oops. We've changed gss_get_mic to write mic in place instead of kmalloc'ing new memory for it; change must also be reflected in server side code. [PATCH] dm: remove v1 ioctl interface From: Joe Thornber Remove the version-1 ioctl interface. [PATCH] drivers/sbus/char/vfc_dev.c needs mm.h From: Jakub Bogusz drivers/sbus/char/vfc_dev.c: In function `vfc_mmap': drivers/sbus/char/vfc_dev.c:623: error: dereferencing pointer to incomplete type [PATCH] fastcall / regparm fixes From: Gerd Knorr Current gcc's error out if a function's declaration and definition disagree about the register passing convention. The patch adds a new `fastcall' declatation primitive, and uses that in all the FASTCALL functions which we could find. A number of inconsistencies were fixed up along the way. [PATCH] ppc64: Make xmon survive exit after soft reset From: Olof Johansson Below patch makes xmon survive a softreset invokation (and quite likely invocations because of other traps as well). [PATCH] ppc64: iSeries_vio_dev cleanup From: Stephen Rothwell This patch declares iSeries_vio_dev in an include file and includes it where necessary. It also fixes arch/ppc64/kernel/mf.c to use the generic dma API with iSeries_vio_dev. [PATCH] ppc64: iSeries virtual cdrom driver From: Stephen Rothwell This patch adds the virtual cdrom driver for PPC64 iSeries. [PATCH] ppc64: Convert mm_context_t to a struct From: David Gibson Converts the mm_context_t on ppc64 to be a struct. This lets us separate the low_hpages flag into a separate field rather than folding it into the actual context id. That makes things neater, since the flag is conceptually separate and has, for example, should be propogate across a fork whereas the context ID obviously isn't. The mm_context_id is the only place to put arch-specific information in the mm_struct. This patch will also make some interesting extensions to the hugepage support much easier, such as allowing dynamic resizing of the hugepage address space, or using special pagetables for hugepages. [PATCH] fix put_compat_timespec prototype From: Arnd Bergmann The wrong argument in put_compat_timespec is marked const, causing unnecessary compiler warnings. [PATCH] char/rio/rioctrl: fix ioctl return values From: "Randy.Dunlap" From: Tony Breeds It fixes 3 places where the ioctl returns positives instead of negatives. I've gotten feedback from the maintainer (Rogier Wolff (sp?) and he has no objections. [PATCH] Fix initrd Kconfig dependencies From: "Jim Gifford" Prevent initrd from being built if ram device is built as a module. [PATCH] c99 initializers for cs46xx_wrapper From: Arnd Bergmann This use of deprecated struct initializers was hidden behind macro magic and has appearantly not been noticed before. [PATCH] kill a dead function in lockd From: Christoph Hellwig sleep_on hurts my eyes and this offender is compltely unused, so.. [PATCH] serial_core.h needs sched.h In file included from drivers/misc/ibmasm/uart.c:27: include/linux/serial_core.h: In function `uart_handle_dcd_change': include/linux/serial_core.h:407: `TASK_INTERRUPTIBLE' undeclared (first use in this function) [PATCH] sb16 sample size fix From: Andreas Kies Fix improperly handled 16 bit sample size. If you use an odd number of bytes in 16 bit mode the driver fails to work. [PATCH] ext2/ext3 -ENOSPC bug From: Chris Mason find_group_other looks buggy for ext2 and ext3 in 2.6, it can cause -ENOSPC errors when the fs has plenty of free room. To hit the bug, you need a filesystem where: parent_group has no free blocks (but might have free inodes) Every other group with free inodes has no free blocks. That gets you down to the final linear search in find_group_other. The linear search has two bugs: group = parent_group + 1; means we start searching at parent_group + 2 because the loop increments group before using it. for(i = 2 ; i < ngroups ; i++) means we don't search through all the groups. The end result is that parent_group and parent_group + 1 are not checked for free inodes in the final linear search. ext3 has the same problem. [PATCH] add missing MODULE_LICENSEs From: Arjan van de Ven [PATCH] v4l1 compatibility module fix. From: Gerd Knorr This patch fixes a bug in the v4l1-compat module and makes it pass the correct buffer type to the v4l2 driver on VIDIOC_STREAM(ON|OFF) ioctls. [PATCH] i2o subsystem minor bugfixes From: Markus Lidel drivers/message/i2o/i2o_block.c: - corrected the initialization sequence of the request queues. - added initialization to queue spinlocks. - release device in i2o_scan because else the device could not be queried. - i2o_block event threads wait on signal KILL but signal TERM was sent. drivers/message/i2o/i2o_core.c: - set the HRT length to 0 at initialization, to avoid calling free on unallocated memory. - i2o_core event threads wait on signal KILL but signal TERM was sent. - added a limit of 3 tries to get the HRT from the controller. - removed the dpt parameter, which was used to force DPT controllers get handled by the i2o driver. Now all available i2o controllers will be handled by this driver. drivers/message/i2o/i2o_scsi.c: - beautifying of printk calls. - added scsi_unregister to properly clean up on module unload. drivers/message/i2o/Kconfig: - added help for i2o_block and i2o_scsi to describe the differences between the two drivers. include/linux/i2o-dev.h: - cleaned typo "tate" into "state". include/linux/i2o.h: - removed defines from i2o_block and insert it here. (Acked by Alan) [PATCH] fix oops in emu10k1_wavein_open() error recovery If a large pci_alloc_consistent() GFP_ATOMIC allocation fails this driver's recovery code will call emu10k1_wavein_close() far earlier than it should: it goes splat in emu10k1_timer_uninstall(). Fix it by simply removing that call: we haven't allocated any resources yet anyway. Note that one of the callers of emu10k1_wavein_open(), emu10k1_audio_read() will sit there stupidly retrying the open. But it has a sleep in there so something might eventually give way. [PATCH] CONFIG_LBD fixes From: Eric Sandeen Several functions in buffer.c are using unsigned long where they should be using sector_t. Also, use pgoff_t in several places so it is easier to tell what is beingused as a pagecache index, what is being used as a disk index and what is being used as an offset-into-page. [PATCH] Fix nobh_prepare_write() race Dave Kleikamp points out a race between nobh_prepare_write() and end_buffer_read_sync(). end_buffer_read_sync() calls unlock_buffer(), waking the nobh_prepare_write() thread, which immediately frees the buffer_head. end_buffer_read_sync() then calls put_bh() which decrements b_count for the already freed structure. The SLAB_DEBUG code detects the slab corruption. We fix this by giving nobh_prepare_write() a private buffer_head end_o handler which doesn't touch the buffer's contents after unlocking it. [PATCH] alpha ptrace race fix From: Aneesh Kumar KV We need to set the tasks's exit code prior to waking it, not afterwards. Acked by rth. [PATCH] Documentation/cdrom/ide-cd fix From: David Joerg Fix the description of the IO ports for the IDE primary and secondary interfaces. [PATCH] fix i2c compile warnings drivers/i2c/busses/i2c-elv.c: In function `i2c_bitelv_init': drivers/i2c/busses/i2c-elv.c:155: warning: unsigned int format, long int arg (arg 2) drivers/i2c/busses/i2c-elv.c:155: warning: unsigned int format, long int arg (arg 2) drivers/i2c/busses/i2c-velleman.c: In function `i2c_bitvelle_init': drivers/i2c/busses/i2c-velleman.c:141: warning: unsigned int format, long int arg (arg 2) drivers/i2c/busses/i2c-velleman.c:141: warning: unsigned int format, long int arg (arg 2) [PATCH] OSS Sound Driver Forte needs ac97_codec From: Marc-Christian Petersen OSS Sound Driver Forte needs ac97_codec. [PATCH] floppy oops fix From: Zwane Mwaikambo It looks like a block request snuck through before we had initialised the motor_off_timer timers. So I pushed the timer init earlier. [PATCH] arc4.c compile fix for older gcc's Declarations come before statements, please. Current gcc warns about this too, bless them: crypto/arc4.c: In function `arc4_crypt': crypto/arc4.c:65: warning: ISO C90 forbids mixed declarations and code [PATCH] add blk_queue_stopped() helper function The carmel driver will want to use this rather than muck around in queue internals directly. [PATCH] tulip printk cleanup From: Joe Perches Use %08llx for a dma_addr_t, not the recently-added %llx. [PATCH] missing setup for National DP83840 PHY rev b/c * Add National DP83840 PHY rev b/c setup. Only rev a was being setup. [PATCH] 2.6.x wanXL driver update The attached patch updates wanXL card driver. Please apply to Linux 2.6. Thanks. Changes: * fixed initialization kernel panic, introduced with recent alloc_netdev() wan patch, * wanxl_rx_intr() port# now checked before accessing port structure, * cleanups etc. -- Krzysztof Halasa, B*FH [PATCH] small iSeries cleanup This got missed in my cleanup if iSeries_vio_dev. [PATCH] xfs: filemap_flush() unresolved filemap_flush() needs exporting for modular XFS builds. [PATCH] blk_insert_request() buglet blk_insert_request() unconditionally calls q->request_fn(q) regardless of the plug state of the queue. This means that we could invoke request_fn with a plugged queue, which is an invalid state. Also fix a Jamesism style in there. JFS: setting xattr should update ctime [TIGON3]: Allow MAC address changing even when iface is up. JFS: warn users of inaccessible file names When no iocharset is specified, the default action is to trivially map each byte into the low order of the 16-bit unicode character. If an existing name exists that has a non-zero high order byte, the file will be inaccessible without remounting with iocharset set to a charset that supports the character. This patch will cause a warning to be issued to the syslog (no more than five times) suggesting that the volume be mounted with iocharset=utf8 in order to access the file. [TIGON3]: Always force PHY reset after major hw config changes. [TIGON3]: Update driver version and reldate. [NETFILTER]: In ip_route_me_harder, don't forget to set fl.proto [IPVS]: Code tidy up. Patch from Horms 1. The trailing '\n' was missing, it has been added 2. The protocol is already in host byte order, the ntohl() call has been removed [IPV4/IPV6]: Add sysctl limits for mcast src filters. [PATCH] fix blk_start_queue() Here's the second attempt at fixing blk_start_queue(). The only change since last version is using proper atomic bitops. If we moved the read/write full to a different variable, we could rely on the queue lock for plugging and stop/start of queue (by far the most used bit operations there) and skip the atomic bitops. [PATCH] proper error cleanup on security_acct hook Noted by Stephen Smalley: sys_acct does not properly clean up the open file when the security_acct hook returns an error. Fixed thus. JFS: Avoid incrementing i_count on file create Committing a transaction creating a file required insuring that the inode stayed in cache until the journal was written to. i_count was being incremented until the transaction was complete. However, incrementing i_count caused fcntl(S_SETLEASE) to fail. I reworked the transaction code so that the inode does not have to stay in-memory while the transaction is being committed. Thanks to Steve French for figuring out why setlease was failing. [PATCH] fix CONFIG_PDC202XX_FORCE/BURST for modular pdc202xx new/old drivers From: Jakub Bogusz Add missing QUEUE_FLAG_REENTER bit from Jens' blk_start_queue() fix. JFS: Add lots of missing statics and remove dead code Submitted by Christoph Hellwig [PATCH] update filemap_flush() comments It provides a best-effort, minimum-latency "get all the writeout underway" function. [PATCH] vma corruption fix From: Hugh Dickins Fixes bugzilla #2219 fork's dup_mmap leaves child mm_rb as copied from parent mm while doing all the copy_page_ranges, and then calls build_mmap_rb without holding page_table_lock. try_to_unmap_one's find_vma (holding page_table_lock not mmap_sem) coming on another cpu may cause mm mayhem. It may leave the child's mmap_cache pointing to a vma of the parent mm. When the parent exits and the child faults, quite what happens rather depends on what junk then inhabits vm_page_prot, which gets set in the page table, with page_add_rmap adding the ptep, but junk pte likely to fail the tests for page_remove_rmap. Eventually the child exits, the page table is freed and try_to_unmap_one oopses on null ptep_to_mm (but in a kernel with rss limiting, usually page_referenced hits the null ptep_to_mm first). This took me days and days to unravel! Big thanks to Matthieu for reporting it with a good test case. [PATCH] gcc-3.5 io_apic.c build fix From: Valdis.Kletnieks@vt.edu The send_IPI_self() in smp.c was fixed but the one in io_apic.c was not. [PATCH] stop_machine_run: Move Bogolock Code Out of module.c The "bogolock" code was introduced in module.c, as a way of freezing the machine when we wanted to remove a module. This patch moves it out to stop_machine.c and stop_machine.h. Since the code changes affinity and proirity, it's impolite to hijack the current context, so we use a kthread. This means we have to pass the function rather than implement "stop_machine()" and "restart_machine()". [PATCH] make module code use stop_machine.c Now we've moved the bogolock code out to stop_machine.c and generalized it a little, use it in module.c and delete the duplicate code there. [PATCH] Fix hp100 EISA probing >>>>> "Pawel" == Pawel Sokolowski writes: Pawel> This machine has RAM BIOS booted from floppy. I ran it and EISA Pawel> configure utility to check this once more. Card is enabled and not Pawel> locked. I added eisa_bus.enable_dev=2 parameter but it didn't help much. Pawel> I'm getting: Pawel> EISA: Probing bus 0 at eisa0 Pawel> EISA: Mainboard HWPC061 detected. Pawel> EISA: slot 2 : HWP1940 detected (forced enabled). Pawel> EISA: Detected 1 card. Pawel> I added this final entry you mailed but nothing changed. Still - module Pawel> loads and unloads cleanly and without any warnings on 2.6.4-rc1. But Pawel> does nothing - not a single line in logs/dmesg after it's loaded. Card Pawel> does not work after modprobe, I can't get interface up. Ok, found it. It really looks like the new EISA probing code in hp100 never got tested, since a precious offset has disappeared during the rewriting process. Please note that you still need to enable the device by hand, since your BIOS (or maybe the EISA CFG file, since I'm seeing the exact same problem on a Compaq machine here) doesn't properly enable the card. Here is what I'm getting on my test system : EISA: Probing bus 0 at 0000:00:0f.0 EISA: Mainboard CPQ0541 detected. EISA: slot 1 : DEC4250 detected. EISA: slot 2 : UNB0048 detected. EISA: slot 3 : HWP1940 detected (forced enabled). hp100: Using (slow) programmed i/o mode. hp100: at 0x3c38, IRQ 3, EISA bus, 128k SRAM (rx/tx 75%). hp100: Adapter is attached to 10Mb/s network (10baseT). EISA: slot 4 : NVL0701 detected. [PATCH] pcnet32 transmit hang fix The pcnet32 driver will hang after a few frames (<30) with the 79C971 (and probably the 79C972 though I don't have the hardware to prove it). By interrupting slightly more frequently the hang will not occur. [PATCH] sata vs suspend-to-ram The following patch is a very crude one to at least not make sata block suspend-to-ram entirely. Probably you want more powermanagement handling as well... but it's a start [libata] Include linux/suspend.h [libata ata_piix] Make sure annoying BIOSen don't disable our interrupts [libata sata_promise] provide proper SCSI completion function Promise driver uses a custom error handling function, so we need the fix that was applied to the libata core: the SCSI error handling thread requires that we complete commands using a special completion function, since the normal one doesn't work inside the error handling thread. [PATCH] introduce __drain_pages() to take a CPU number Extracts core of drain_pages() for hotcpu use. Trivial. Hotplug CPU needs to drain pages on a downed CPU (usually it's the current cpu). Introduce "__drain_pages", make the CPU an argument, and expose it if CONFIG_HOTPLUG_CPU as well as CONFIG_PM. [PATCH] minor cleanups for hotplug CPUs Note that without CONFIG_HOTPLUG_CPU, online cpus == possible cpus, so substitutions are a noop. - Changes show_stat to print out stats for every possible cpu, not just online CPUs. - Allocate mem in stat_open on possible, not online_cpus. - Add conventient macros to cpu.h: especially cpu_is_offline() for testing if a cpu is still online. - Add a num_possible_cpus() similar to num_online_cpus(), and define cpu_possible_mask for UP. - Allow printk on down cpus once system is running. - Mask cpumask with possible, not online cpus, for sys_getaffinity(). [PATCH] remove sparc64's num_possible_cpus() Levent Serinol found that the hotplug cpu patch broke Sparc64. I introduced a num_possible_cpus(), which Sparc64 already has. Remove the Sparc64 one. I also removed Sparc64's cpu_online() macro: it's in linux/cpumask.h already. [PATCH] minor slab cleanups for hotplug CPUs - Move free_block prototype, and ac_entry and ac_data functions up in file. - Use list_for_each_entry in cpuup_callback. - Remove unneccessary g_cpucache_up in cpuup_callback. - Make reap_timer_func take CPU number as data, and check if that is offline before rescheduing (noop without CONFIG_HOTPLUG_CPU). Fix bogon in slab hotplug cleanup from Rusty. [PATCH] Clean up hotplug slab some more This is a cleaner fix for the previous bogon fix. [PATCH] R128 DRI limits checking. This got fixed in 2.4, but somehow got missed in 2.6. [IRDA]: Move proc_irda export out of irsyms.c into irproc.c [IRDA]: Flush irtty symbols that were exported but never used. [IRDA]: Move hashbin exports out of irsyms and into irqueue. [IRDA]: Move irttp exports out of irsyms. [IRDA]: Move iriap routines out of irsyms, rename missing to irias_missing. [IRDA]: Move irlmp routines out of irsyms. Also, make get_{saddr,daddr} inline and rename lmp_reasons to irlmp_reasons. [IRDA]: Move async_wrap function exports out of irsyms. [IRDA]: Move crc16 exports out of irsyms. Also, make type __u16 rather than unsigned short to match input parameter. [IRDA]: Make irda_start_timer inline rather than exporting. [IRDA]: More irlap exports out of irsyms. [IRDA]: Make irda_get_mtt et al. inline and not defines for better type checking. irda_device_setup can now be static, only called from alloc_irdadev. [IRDA]: Move qos related exports out of irsyms. [IRDA]: Move irda_param related exports out of irsyms. [IRDA]: Move last of irsyms.c to irmod.c Original patch from Stephen Hemminger Move last bits of code out of irsyms and onto irmod.c where initialization happens. Move irda_debug parameter out of irsyms.c into irmod.c and make it a new style module parameter. [PATCH] Print function names during do_initcall debugging From Jan-Benedict Glaw [PATCH] pmac_zillog 1/2 : Cosmetic only, change "up" to "uap" to avoid collision This does cosmetic changes the pmac_zilog, changing the use of "up" as an identifier in favor "uap" to avoid collision with semaphores, use proper debug macros, and a few other cosmetic bits. [PATCH] pmac_zilog 2/2 : Fix various bugs This fixes possible lockups in pmac_zilog when beeing flooded with incoming data (not that other serial drivers share the same race, I told Russel about it already). It also fixes some SCC initialization problems, add some PM callback, and fix the irda setup code. Linux 2.6.4-rc3