Summary of changes from v2.6.0-test5 to v2.6.0-test6 ============================================ [Bluetooth] Send correct RPN response for accepted values This patch fixes another bug in rfcomm_recv_rpn(), which do not respond with the correct values for accepted settings. [Bluetooth] Set EA bit for V.24 signals parameter This patch always sets the EA bit along with the V.24 signals value in rfcomm_send_msc(). [Bluetooth] Handle bit rate in remote port negotiation This patch adds handling of the bit rate to rfcomm_recv_rpn(). Bluetooth: RFCOMM must send MSC when DLC was opened by SABM [Bluetooth] Fix RFCOMM C/R and Direction bits handling. MCC C/R bit does not depend on connection state. Direction bit must be set for DLCs located on the initiator. [Bluetooth] Add support for SO_LINGER to L2CAP, RFCOMM and SCO sockets. This is required to pass qualification testing. [Bluetooth] Quirk for devices with no ISOC endpoints This patch checks the existence of ISOC endpoints before it starts the URB for them. [Bluetooth] Make READ_TRANSMIT_POWER_LEVEL available for normal users This makes the HCI command READ_TRANSMIT_POWER_LEVEL available for normal users. [Bluetooth] Support for inquiry with unlimited responses This patch handles the special case if the number of responses is set to zero, which means unlimited responses. [Bluetooth] Handle command complete event for inquiry cancel The command complete event of the inquiry cancel command must clear the HCI_INQUIRY flag and finish the HCI request. [Bluetooth] Update the maintainer entries for the Bluetooth subsystem This patch puts a little bit more detailed information about the maintainers of the Bluetooth subsystem into the MAINTAINERS file. [Bluetooth] Add tiocmget() and tiocmset() routines to RFCOMM TTY This patch adds the routines tiocmget() and tiocmset() to the RFCOMM TTY layer for setting and retrieving the modem status. Adrian Bunk: Postfix an NTFS constant that is too big for an int with ULL. [Bluetooth] Add support for FCon and FCoff flow control commands This patch adds flow control support using FCon and FCoff commands to fulfil the requirements of the Bluetooth specification. Kconfig: Update NTFS-related options and help. NTFS: Update documentation for Linux kernel 2.6. ppc64: make install target from Dave Hansen ppc64: Remove find_pci_device_OFnode prototype, from Nathan Lynch ppc64: iseries soft disable and do_page_fault fixes from Ben Herrenschmidt ppc64: xics fix for I/O slot deconfigure, from Linda Xie ppc64: fixes for pci_name() changes ppc64: Fix NUMA compile after cpu bitmasks merge ppc64: remove broken xmon h option [XFS] Change xlog_verify_iclog() to use idx as zero based instead of 1 based index into array. Nathan tried this change out on some benchmarks and it seems to help - stop the assert from happening. SGI Modid: 2.5.x-xfs:slinx:156160a [XFS] Fix a case where we could issue an unwritten extent buffer for IO without it being locked, an instant BUG trigger in the block layer SGI Modid: 2.5.x-xfs:slinx:156304a [XFS] Fix a harmless typo - we were using a pagebuf flag not a bmap flag here; fortunately they have the same value (2). SGI Modid: 2.5.x-xfs:slinx:156143a [XFS] Tweak last dabuf fix, suggested by Steve, no longer uses bitfields but uchars instead SGI Modid: 2.5.x-xfs:slinx:156269a [XFS] Use the rounded down size value for all growfs calculations, else the last AG can be updated incorrectly SGI Modid: 2.5.x-xfs:slinx:155936a [Bluetooth] L2CAP qualification spec mandates sending additional config request if we receive config response with unacceptable parameters error code. So we now send dummy request to keep tester happy. [power] Fix sysfs state reporting. [power] Make sure console level is high when suspending. [power] Fix up sysfs state handling. [power] Move i386-specific swsusp code to arch/i386/power/ [power] swsusp Cleanups - do_magic() - Rename to swsusp_arch_suspend(). - Move declaration to swsusp.c - arch_prepare_suspend() - Return an int - Fix x86 version to return -EFAULT if cpu does not have pse, instead of calling panic(). - Call from swsusp_save(). - do_magic_suspend_1() - Move body to pm_suspend_disk() - Remove. - do_magic_suspend_2() - Rename to swsusp_suspend() - Move IRQ fiddling to suspend_save_image(), since that's the only call that needs it. - Return an int. - do_magic_resume_1() - Move body to pm_resume(). - Remove - do_magic_resume_2() - Rename to swsusp_resume(). - Return an int. - swsusp general - Remove unnecessary includes. - Remove suspend_pagedir_lock, since it was only used to disable IRQs. - Change swsusp_{suspend,resume} return an int, so pm_suspend_disk() knows if anything failed. [SERIAL] Add new port numbers. This adds the new port numbers which are in use in MAC and PARISC trees (so other people know they're taken.) [power] Fix device suspend handling - Handle -EAGAIN in device_suspend() properly: keep going, with error reset to 0. - Call dpm_resume() if we got a real error, instead of device_resume(), which would deadlock. [XFS] fix up xfs_lowbit's use of ffs SGI Modid: 2.5.x-xfs:slinx:156655a [power] Fix handling of pm_users. - Actually decrement on device_pm_release() - Call from device_pm_remove(). [power] Separate suspend-to-disk from other suspend sequences. - Put in kernel/power/disk.c - Make compilation depend on CONFIG_SOFTWARE_SUSPEND (should probably be renamed to CONFIG_PM_STD or some such). [SERIAL] Rename core.o and 8250_cs.o core.ko is a bad name for a module - make it serial_core.ko 8250_cs.ko continues to cause people compatibility problems with older kernels, so rename that back to serial_cs.ko [PATCH] PCI hotplug: fix up a bunch of copyrights that were incorrectly declared. It needs to be "Copyright (C)" not "Copyright (c)" according to the lawyers who know these things... [PATCH] I2C: added new id for Radeon driver. As requested by kronos@kronoz.cjb.net [PATCH] I2C: i2c-isa functionality The "functionality" return was incorrectly removed for i2c-isa.c when porting to 2.5. A driver that does nothing must return a 0 or else i2c-core assumes 0xffffffff (all functionality). [PATCH] DEVICE_NAME_SIZE/_HALF removal (I2C stuff) [PATCH] DEVICE_NAME_SIZE/_HALF removal (I2C related, but v4l stuff) [PATCH] DEVICE_NAME_SIZE/_HALF removal (I2C related, but fb stuff) [power] Make sure devices get added to the PM lists before bus_add_device(). - Prevents ordering issues when drivers add more devices ->probe(). [acpi] Move register save closer to call to enter sleep state. - By moving acpi_{save,restore}_state_mem() into acpi_pm_enter(), implying after interrupts have been disabled and nothing else is running on the system, S3 is able to resume properly. ppc64: semaphore fixes based on report by ever watchful Olaf Hering [PATCH] ia64: oprofile support I have revised the oprofile patch for ia64 to provide just the basic timer interrupt mechanism to avoid interferring with the perfmon 2.0 support. I have verified the oprofile ia64 patch applies cleanly and build a working kernel with the 2.6.0-test4 kernel and the linux-2.6.0-test4-ia64-030826.diff.bz2 patch. More work is required to get oprofile to work with the perfmon 2.0. However, the patch as it is currently implements should not cause problems for the perfom 2.0 support. [PATCH] ia64: clean up acpi_boot_init() I was confused about this bit of code in acpi_boot_init(): smp_boot_data.cpu_count = available_cpus; if (available_cpus == 0) { printk(KERN_INFO "ACPI: Found 0 CPUS; assuming 1\n"); available_cpus = 1; /* We've got at least one of these, no? */ } smp_build_cpu_map(); because it first saves available cpus in smp_boot_data, then potentially modifies available_cpus. This looked at first like a bug, but I think actually works out correctly, because smp_boot_data.cpu_count is only used in smp_build_cpu_map(), and if cpu_count is zero, it prevents us from looking at smp_boot_data.cpu_phys_id[0], which hasn't been initialized. This should only happen with really buggy firmware, so I'm not even sure it's worth doing more than panicking, but if we're going to deal with it, I propose the following patch to avoid even the appearance of a bug. This just does what acpi_parse_lsapic() would have done if the firmware tables were correct. [PATCH] ia64: fix PM config option CONFIG_PM is set without a menu entry to turn it on/off. [PATCH] ia64: Fix "nosmp" breakage from cpumask patch. Patch should be self-explanatory. [PATCH] ia64: trim.bottom trims the wrong entry efi_memmap_walk() repeatedly trims the same entry, instead of trimming each of the entries in the granule. [PATCH] ia64: perfmon2 update This patch:- added support for the fake HP simulator PMU. Most of the code provided by Ian Wienand. Allows a kernel compiled for the simulator and with CONFIG_PERFMON enabled to boot. - cleaned up all CTX_*() macros for the context state changes. - relaxed constraint for system-wide session by allowing all task with access to the context's file descriptor to manipulate the context as long as they run on the CPU the context is attached to. [swsusp] Minor cleanups in read_suspend_image() - Make resume_bdev global to file, so we don't have to pass it around (we always use the same one, so it shouldn't make a difference). - Allocate cur in read_suspend_image(), since it's the only function that uses it. - Check all errors and make sure we free cur if any happen. - Make sure to return errors from the functions called, not our own. - Free the pagedir if we hit an error after we allocate it. [swsusp] Use BIO interface when reading from swap. - bios are the preferred method for doing this type of stuff in 2.6. The __bread() uses bio's in the end anyway. - bios make it really easy to implement write functionality, so we are able to reset the swap signature immediately after checking it during resume. So, if something happens while resuming, we will still have valid swap to use. - Thanks to Jens for some help in getting it working several months ago. [swsusp] Restore software_suspend() call. - Allows 'backdoor' interface to swsusp, as requested by Pavel. - Simply a wrapper to pm_suspend(), though guaranteeing that swsusp is used, and system is shutdown (and put into low-power state). - Call in sys_reboot() changed back to call to software_suspend(). [acpi] Replace /proc/acpi/sleep - Bad to remove proc file now, even though it's nearly useless. Reinstated in the name of compatibility. - Restored original semantics - if software_suspend() is enabled, then just call that (and never go into low-power state). Otherwise, call acpi_suspend(). - acpi_suspend() is simply a wrapper for pm_suspend(), passing down the right argument. This is so we don't have to do everything manually anymore. - Fixed long-standing bug by checking for "4b" in string written in to determine if we want to enter S4bios. ppc64: remove interrupt stacks which broke when the thread info stuff went in ppc64: defconfig update ppc64: remove some unused entries in the paca ppc64: make install fixes from Dave Hansen ppc64: fix gcc 3.3 compile ppc64: Fix 3rd and 4th serial port from Olof Johansson ppc64: add missing IPC_64 mask, from sparc64 and add some compat types ppc64: Fix some error return paths in sys_ipc ppc64: add might_sleep() to uaccess functions. ppc64: register_ioctl32_conversion defined twice, fix from Olaf Hering ppc64: rtas rtc fixes from Todd Inglett ppc64: export node_data and numa_memory_lookup_table ppc64: defconfig changes ia64: Drop unnecessary fadvise64_64() bloat (it isn't needed on 64-bit platforms). ppc64: discard exit sections ppc64: fix bogus NR_CPUS*2 struct in xics.c [PATCH] I2C: Fix conversion from milli volts in store_in_reg() for w83781d.c I am not sure if it was a later patch from me that fixed in_* to display milli volts in sysfs, or if it was a patch from Jan Dittmer, but the conversion in the store_in_*() functions is wrong, and cause something like: [power] Whitespace fixes. From the -test4-mm5 tree. PPC32: Rework signal code and add a swapcontext system call. The main thing here is that the signal delivery/return code for real-time signals has been changed so that the layout of the registers corresponds with the new ucontext_t definition being used by glibc. The old ucontext_t didn't have space to actually store the registers, just a pointer to them, which made it impossible to implement set/getcontext et al. The new ucontext_t includes a mcontext_t which actually contains space to store all of the general, floating pointer and vector registers. We now also save the altivec registers on signal delivery and restore them on return from the signal if the process has ever used altivec (since the last exec). Finally this adds a swapcontext system call. Swapcontext really needs to be done in the kernel since on PPC, only privileged code can set all three of CTR, LR and NIA (next instruction address) to arbitrary values. Also the kernel know if the process currently owns the FP and altivec units and can optimize in the case where it doesn't. PPC32: Provide proper siginfo information on various exceptions. This also includes a change so that if an instruction is being single-stepped and it turns out to need to be emulated (e.g. because of an alignment exception, or because we are emulating floating-point instructions), then we need to deliver a SIGTRAP after successfully emulating the instruction and advancing NIP. PPC32: Bitmap operands to find_first/next_bit functions are const. PPC32: Fix for highmem on PPC 440 PPC32: Update the alignment exception handler for POWER4 processors ia64: Document the typo that made it into the definition of MINSTKSZ (last two numbers got transposed). Thanks to Arun Sharma for finding this. New glibc's will have the value corrected, but we leave the kernel at the old (bogus) value to retain backwards- compatibility (and while a strange value, the old value works just fine). [PATCH] ia64: perfmon2 update This patch fixes the following: - correct a bug in pfm_close() which was causing some per-process sessions to not unreserve on exit. - changed the permission checking to load a context to allow more flexibility, modeled after ptrace_attach(). ia64: Finnish adding ECC support. Based on patch by Suresh Siddah. ia64: Fix asm-ia64/acpi.h typo & name-collision. ia64: Direct sys_fadvise64() to sys_fadvise64_64(). [AGPGART] Mention Intel 875 support in Kconfig. [PCMCIA] kill flush_stale_links following Dave's guide it's replaced by calling foo_detach in foo_release if the links is stale. Note that I killed DEV_STALE_LINK aswell as DEV_STALE_CONFIG isn't ever cleared so we don't need two flags. Also some dead codepathes related to DEV_STALE_* are killed. [PCMCIA] kill dead DEV_STALE_* codepathes in non-networking drivers I guess there was some overzealous copy & pasting going on.. [PCMCIA] RL5C4XX_16BIT_MEM_0 was wrong. [PCMCIA] Remove SS_DEBOUNCED. We don't need to handle the debouncing of card insertion events anymore, so we can kill SS_DEBOUNCED. [PCMCIA] Remove a set of unused definitions. SOCKET_SHUTDOWN_PENDING, SOCKET_RESET_PENDING, SOCKET_IO_REQ and pcmcia_socket's real_clients member are all unused. ppc64: Update unhandled irq code to match x86 ppc64: start using kallsyms now its compiled in by default [PCMCIA] Drop level argument from pcmcia_socket_dev_* calls. The driver model changed recently, and instead of providing per-driver suspend/resume functionality, it now provides it on a per-bus basis. It also dropped the "level" argument. Unfortunately, platform device drivers suspend and resume methods are no longer called by the driver model, so socket drivers using platform devices won't work correctly. However, we fix them up as best we can. (hd64465, i82365, sa1100, tcic) This cset drops the `level' argument from the PCMCIA suspend/resume functions since it is now meaningless. [PCMCIA] Remove incorrect/misleading/old comments from cardbus.c ppc64: convert xmon to use kallsyms now its compiled in by default. ppc64: ppc64 Hugepage support from David Gibson ppc64: forgot to add the guts of hugetlb support ppc64: hugetlb fixes for LPAR and numa hugetlb support [PCMCIA] Remove editor droppings. PPC32: Add _IO{R,W,WR}_BAD and update _IO{R,W,WR}. [PATCH] ia64: remove unused sn2 header files This patch eliminates two unused SN2 header files: include/asm-ia64/sn/klclock.h and include/asm-ia64/sn/ioc3.h. ia64: Fix things so that they compile with the latest GCC 3.4, which optimize away static variables with no compiler-visible use. ia64: Drop unnecessary version check in sba_iommu.c. [AGPGART] Fix ATI GART for IGP9100/R300 From the folks at ATI. Some chips hang with this flush. [PATCH] ia64: misc. sn2 updates Fix a couple of sn2 files. [PATCH] ia64: fix current usage in sn2 code For some reason, we had a structure field called 'current'. This patch fixes that. [power] Simplify error handling in pm_suspend_prepare(). [power] Make sure we restore interrupts if device_power_down() fails. [power] Add support for refrigerator to the migration_thread. - The PM code currently must signal each kernel thread when suspending, and each thread must call refrigerator() to stop itself. This patch adds support for this to migration_thread, which allows suspend states to work on an SMP-enabled kernel (though not necessarily an SMP machine). - Note I do not know why the process freezing code was designed in such a way. One would think we could do it without having to call each thread individually, and fix up the threads that need special work individually.. [swsusp] Make sure we call restore_processor_state() when suspending. - Added unconditionally to exit path of swsusp_arch_suspend(). This is done to call kernel_fpu_end() to reset the preempt count on suspend. - Note that we must preserve %eax across that call. [PATCH] ia64: fix typo in spinlock.h [power] Fix swsusp with preempt and clean up. In order to snapshot memory, interrupts must be disabled. However, in order to write the saved image to disk, interrupts must be re-enabled and devices resumed. Previously, both actions were called from swsusp_arch_suspend(). This patch separates those two actions has only the snapshotting routine called from swsusp_arch_suspend(). swsusp now handles it's own disabling of interrupts only for the time required. This is now handled from swsusp_save() and swsusp_write() now handles writing the image only (called with interrupts enabled). swsusp_save_image() was renamed to swsusp_suspend() (and the old incarnation deleted since it was simply a wrapper). [PATCH] ia64: MINSIGSTKSZ on ia32 MINSIGSTKSZ is defined differently for i386 and ia64. This patch improves compatibility with apps which use sigaltstack(2) with sizes between MINSIGSTKSZ_IA32 and MINSIGSTKSZ. [PATCH] sym53c8xx driver 2.1.18 Yes, there's a lot of changes here. I've been busy :-P - Delete linux/version.h include as it's not necessary - Delete compatibility with ncr53c8xx configuration options - Convert to C99 initialisers - Delete the options: pci_parity, scsi_parity, min_sync, max_wide, max_offs, max_lun and pci_fix_up. Some were unused, some are now unused. - Delete all the default settings from sym_conf.h that were unused. - Delete host_lock abstractions. - Replace custom jiffy handling with standard ones. - Replace u_long with unsigned long - Inline scsi_data_direction() - Use ioremap directly instead of indirecting through pci_map_mem. - Delete typedefs: bus_addr_t, ucmd_p, vm_offset_t, stcb_p, slcb_p, sccb_p, shcb_p, sym_device and sym_slot. - Use min() instead of MIN() - Use memcpy() instead of bcopy(). - Delete code dependent on SYM_CONF_PCIQ_BROKEN_INTR as it's never defined. - Simplify the locking in sym_eh_handler(). - Make the eh handlers static. - Use ctype.h instead of custom variants. - Use SYM_CONF_IOMAPPED and SYM_OPT_NO_BUS_MEMORY_MAPPING in a more consistent manner. - Remove check_region() and use pci_request_region instead. - Mark sym_detach() as __devexit. - Move many includes from sym_glue.h to sym_glue.c - Stop using Scsi_Cmnd. - Stop using ../hosts.h. - Simplify *_raw definitions. - Move PA-RISC specific code into its own function. [PATCH] ia64: unwind.c fix for spinlock-debug compilation If you try to compile 2.6.0-test[45] with spinlock debugging on, then unwind.c won't compile, because it uses a #define magic that hides the variable in the spinlock debugging code (also called magic). [AGPGART] Remove unreferenced extern [SERIAL] Drop "level" argument from serial PM calls. Since the driver model has transitioned away from using multi-level device suspend/resume, we also drop the multi-level support from the serial layer. Update the 8250 and sa1100 drivers for this change. [SERIAL] Convert serial config deps to select statements The dependencies for CONFIG_SERIAL_CORE / CONFIG_SERIAL_CORE_CONSOLE were becoming very messy. This cset converts the dependencies to use "select" statements instead. [SERIAL] Fix another missing irqreturn_t (clps711x.c) [SERIAL] Introduce per-port capabilities. This allows us to maintain quirks or capabilities on a per-port basis, so we can handle buggy clones more effectively. [PATCH] compilation fix ufs Don't use C++ "argument declarations anywhere" in the kernel, even if newer versions of gcc accept it. [PATCH] sparse fix sysctl [PATCH] sparse fix eventpoll [PATCH] sparse fix cpufreq [PATCH] sparse fix xattr [PATCH] sparse fix kcore [PATCH] sparse fix ext2_readlink [PATCH] sparse fix reboot [PATCH] sparse fix for proc/misc [PATCH] sparse fix for fat/file.c [PATCH] sparse fix for kmsg [PATCH] sparse fix for proc/generic [power] Fork swsusp. The cloned implementation is in kernel/power/pmdisk.c. [power] Move PM options into kernel/power/Kconfig. - Add option for CONFIG_PM_DISK (suspend-to-disk functionality). - Other arch's should include this, instead of defining their own options. Will fixup any problems with that.. [PATCH] Fix netdev close This should fix the "ifconfig down ... ifconfig up" problems some people have seen. [PATCH] Add SEQ_START_TOKEN #define to seq_file.h Code that includes seq_file.h uses a magic pointer "(void*)1" to start a header seq_printf. This patch adds a #define, so that people can start writing more readable code. [PATCH] Fix blk_stop_queue bug Benh saw some bugs where the queue would end up being in an invalid state, and this could certainly explain one of them. We must not have a stopped queue on the plug list, and blk_plug_device() right now will happily plug a stopped queue. We don't need to have it plugged either, blk_start_queue() will make sure that request_fn gets run. [PATCH] Fix typo in fs/Kconfig [PATCH] RxRPC update Here's a patch to update the RxRPC driver. Most of it is CodingStyle fixes, but it also includes a few miscellaneous bug fixes. stdint types are also turned into C99 forms (eg: u32 -> uint32_t). [PATCH] AFS update [PATCH] ia64: cpumask_t fixes This patch coverts a few spots to use cpumask_t instead of unsigned long. [PATCH] IDE: Fix request handling with ide-default & ATAPI This fixes a bug that happens when a request gets to the IDE layer for a drive using ide-default (that is with no subdriver attached), like a Power Management request. In this case, the core will wait for the device status to match drive->read_stat, but that field contains by default a value that is not suitable for ATAPI devices. This patch fixes it. [PATCH] IDE: Fix Power Management request race on resume The current IDE Power Management code I wrote has a race on wakeup when the master device got resumed, it may take a request. At this point, a PM resume request to a slave device of the same hwgroup would clear hwgroup->rq and cause an Oops when the master device request completes. This patch fixes it. Due to the context in which PM resume requests are sent, just not clearing hwgroup->rq for these is enough. I also removed a useless debug message in the PM code that was actually misleading (people though it indicated a problem while it didn't, it's really useless) and fix a typo in a comment. dmasound update from Christoph Hellwig [PATCH] eicon ISDN driver: memory attach Access to cards memory now uses macros to attach to the correct memory area of the card. [PATCH] eicon ISDN driver: capi code fix Fix application memory allocation, module locking, building in-kernel, use new internal debug api. [PATCH] eicon ISDN driver: debug Module now can be build without debug code, necessary if the module is built-in the kernel. Fixed spelling typos. [PATCH] eicon ISDN driver: list handling Fixed internel list handling for modules built-in kernel. [PATCH] eicon ISDN driver: endianess fixed endianess errors in common code part. [PATCH] eicon ISDN driver: Kernelconfig Main divas modules now may be build in-kernel. 4BRI cards are configured together with BRI cards. [PATCH] eicon ISDN driver: C comments changed // comments to /* */ [PATCH] eicon ISDN driver: update Use different var-names if they are non-static, configure 4BRI like BRI cards, fixed new /proc entries, inline declarations for common helper functions. [PATCH] stable AGP pci_device_id tables This should fix all the AGP drivers. pci_device_id tables can not and must not be marked discardable. They are used for as long as the driver is registered. [PATCH] More buggy pci drivers This should fix all the remaining pci drivers which mark the pci device ID tables as being discardable at run time. ppc64: catch bad ioctl size at compile time, from x86 [CPUFREQ] Merge speedstep-smi driver. From: Hiroshi Miura Intel SpeedStep driver using a BIOS SMI call. Quoting his original announcement: "This driver is based on the information from 1. Microsoft Windows XP Document. we can get the SMI interface values from ax=E980/int15 BIOS call. 2. Intel SpeedStep Applet Document.(from HP.com) http://h18007.www1.hp.com/support/files/evonotebook/us/download/10631.html " Adds code to request transition ownership when processing the system critical resume message. When a critical hibernate occurs, the Applet does not receive any system level notification. The change forces the Applet to re-acquire transition ownership upon resume from a critical hibernate. " This is informative. This saied that something 'ownership' call is needed on SMI interface first. 3. Grover, Andrew's int 15h patch posted to cpufreq ml Message-ID: code which call BIOS to get SMI values. I included it. 4. Malik Martin's rev engineering results. call is made with BX, CX, EDI register values. and need signature 'ISG' when call. find function values. bx=1(get) and bx=2(set) 5. Marc Lehmann's 'speedstep' utility, sample of assembler code to call SMI. 6. My work. find function to return max/min freq which system supportd. (bx=4) more values are gotten, but I cannot understand... find 'ownership' function value(bx=0, which is other than 1 2 4..). ToDo(in pregress) support governor "auto" and using smi_event call, imprement auto freqchange feature. test on 440BX/ZX platform. Memo module parameters are override result of an int 15h/eax=E890h call. these parameter value are gotten from Windows XP registory." Also includes some bugfixes, updates and workarounds from me. NB: A lot of BIOS out there are buggy. You might want to try this driver also with Intel's default values -- smi_cmd = 0x82 and smi_port = 0xb2 [PATCH] ATM Ambassador no longer BROKEN_ON_SMP Chas Williams fixed the compilation on SMP, so we can remove the Kconfig annotation now and let people select it in the build again. [PATCH] PA-RISC update for 2.6.0-test5 PA-RISC updates for 2.6.0-test5. Contributions from Paul Bame, James Bottomley, Randolph Chung, Helge Deller, Grant Grundler, LaMont Jones, Matthew Wilcox [CPUFREQ] remove $Id$ tags, update filenames [CPUFREQ] add cpufreq_update_policy() Add a new cpufreq_update_policy call: Certain cpufreq policy notifers have different needs at different times. Thus it needs to be possible to re-evaluate an already set cpufreq policy. Note that the cpufreq policy should only be set by one person: the user. Not any other in-kernel code [with one exception, of course: during booting]. [PATCH] Fix CONFIG_PCMCIA_WL3501 with older compilers We only support named initializers with one leval of naming, ie that .foo.bar = baz, thing should go. gcc-2.95 doesn't handle it (neither does sparse, I think). Replace such initializers with .foo = { .bar = baz, }, instead. [power] Make pmdisk compilable and usable. - Fork arch/i386/power/swsusp.S into arch/i386/power/pmdisk.S - Change name of all externally visible swsusp_* functions to pmdisk_* - Make pm_suspend_disk() call pmdisk_ functions. - Make sure pmdisk.o is compiled if the config option is set. - Add CONFIG_PM_DISK_PARTITION option, which allows user to compile in default resume partition. - Add pmdisk= setup option, which allows user to override or disable default resume partition. - Change name of global names in pmdisk that conflict with those in swsusp. ppc64: Give us a generic local.h until we have atomic64 [PATCH] fix cpu_test_and_set() on UP cpumask_up.h is broken. It tries to access the "mask" member although that cpumask_t is an ulong on UP. This breaks archs which uses cpumask functions even on UP such as s390. [PATCH] Get rid of Intermezzo warning There is a leftover MOD_DEC_USE_COUNT intermezzo, with no matching _INC_ anywhere. Since it sets owner on the file system operations there should be no need for explicit module manipulation. [PATCH] Fix modularization of Siemens line discipline Convert SIEMENS R3964 tty line discipline on 2.6.0-test5 to use tty_ldisc owner instead of explicit MOD_INC/DEC. And fix the initializer to be a much more readable C99 one. [power] Make pmdisk compile when CONFIG_SOFTWARE_SUSPEND=n. [power] Revert swsusp to 2.6.0-test3 state. - From Pavel (mostly, though with some fixups). - Note that I would never publically admit to putting such code into the kernel. - Someone ought to really review this patch some day. [swsusp] Fix software_suspend() inline return value when SOFTWARE_SUSPEND=n. [PATCH] Use SEQ_START_TOKEN in drivers/net/* [1/3] [PATCH] Use SEQ_START_TOKEN in include/net/* [2/3] [PATCH] Use SEQ_START_TOKEN in include/net/* [3/3] Make rxrpc use SEQ_START_TOKEN. [PATCH] wl3501 with old compiler Fix the ## handling to work with old gcc versions (spaces around the ',' to make token boundaries work). [PATCH] ia64: update Kconfig comment for NR_CPUS From Stephen Hemminger: we were trying to cast an "unsigned short" to a pointer. That was a typo. Ack'ed by Al Viro. Fix ray_cs for new interrupt handling. Damn 16-bit PCMCIA layer has no type checking. Complete crap. [PATCH] s/spin_lock_irqrestore/spin_unlock_irqrestore From: Vinay K Nallamothu Fix a couple of cut-n-paste errors. (Why on earth is a scsi driver poking at the RTC hardware?) [PATCH] calibrate_tsc() fix and consolidation From: "Pallipadi, Venkatesh" CONFIG_TIMER_CYCLONE doesn't build at present because calibrate_tsc() was made static. The patch fixes that up and moves all calibrate_tsc functions into a common file, avoiding the current code duplication. [PATCH] Initialise devfs_name in various block drivers From: Andrey Borzenkov Various block drivers are currently devfs-unaware. Andrey's patch attempts to give them reasonable representations in devfs. "The attached patch suggests some possible names for non-floppy devices based on reading driver source. I have to ask if these make sense. At least for cciss Mandrake devfsd patch expects different names but it seems to be mistake (it assumes single controller always) "For floppy it is not as simple. Floppy cannot use genhd and must create names manually; but I do not know what names are appropriate or expected. "For acsi the target/lun name may have problem of creating compat names (if any) by devfsd. "Please note that none of them created any devfs name under 2.4 as well. So it is not a regression ..." [PATCH] monolitic_clock, timer_{tsc,hpet} and CPUFREQ From: Dmitry Torokhov I noticed that although timer_tsc registers cpufreq notifier to detect frequency changes and adjust cpu_khz it does not set cyc2ns_scale. [PATCH] dac960 devfs_name initialisation fix From: Andrey Borzenkov DAC960.c does it incorrectly (at least in 2.6.0-test4). It will create _directory_ /dev/rd/cNdM making it impossible to create compat block device entry with the same name. The right thing it to create separate directory for each controller/target as in attached trivial patch (untested due to lack of hardware). You will need devfsd support for this but then you will need it for cciss or cpqarray as well and possibly for others. Which returns us to the problem of devfsd maintenance ... [PATCH] compiler warning fixes for DAC960 on alpha From: Dave Olien This patch is forwarded from Jay Estabrook at HP. I've compiled the patch on ia32 and ia64 machines and it's good. I also recreated the patch so it would apply to mm5 without fuzzy offsets. Here's Jay's summary of the patch: Here's a very small set of patches against 2.6.0-test4 that help the DAC960 driver compile cleaner (gets rid of warnings on Alpha) and help it to work on some old OEM'ed DAC960 cards that were sold in our older Alphas. The warnings are all concerned with "conversions to different size without cast", as pointers and longs are same size (8-bytes) but ints are 4-bytes, on Alpha. I don't believe the change to (long) from (int) will affect any 32-bit architectures, but those using LP64 like Alpha, ie SPARC64 and prolly IA64, will have the warnings go away. The change to make the oldest acceptable firmware version 2.70 instead of 2.73 is made spcific to Alpha, since it is only those cards that DEC OEM'ed from Mylex that would have such (as explained a bit better in the patch itself). [PATCH] Move ikconfig to /proc/config.gz From: "Randy.Dunlap" The SuSE kernels place their ikconfig info at /proc/config.gz: in a different place, and compressed. We thought it was a good idea to do it that way in 2.6 as well. - gzip the /proc config file, put it in /proc/config.gz; - Based on a SuSE patch by Oliver Xymoron , which was derived from a patch by Nicholas Leon - change /proc/ikconfig/built_with to /proc/config_build_info; - cleanup ikconfig init/exit entry points (static, __init, __exit); - Makefile help from Sam Ravnborg; DESC ikconfig cleanup EDESC From: Stephen Hemminger Simplify and cleanup the code: - use single interface to seq_file where possible - don't need to do as much of the /proc interface, only read - use copy_to_user to avoid char at a time copy - remove unneccesary globals - use const char[] rather than const char * where possible. Didn't change the version since interface doesn't change. [PATCH] reiserfs direct-IO support From: Oleg Drokin This patch implements DirectIO support for reiserfs v3. This is mostly a port from 2.4. Thanks to Mingming Cao from IBM for some clues in porting. [PATCH] Fix imm.c again From: Adrian Bunk Earlier patch wasn't correct especially in the !CONFIG_SCSI_IZIP_EPP16 case, reading all uses of this array (IMM_MODE_STRING is used to print the corresponding string in printks). If I'm not misunderstanding it, CONFIG_SCSI_IZIP_EPP16 means "use 16bit even when 32bit is requested". It seems the right solution is static char *IMM_MODE_STRING[] = { [IMM_AUTODETECT] = "Autodetect", [IMM_NIBBLE] = "SPP", [IMM_PS2] = "PS/2", [IMM_EPP_8] = "EPP 8 bit", [IMM_EPP_16] = "EPP 16 bit", #ifdef CONFIG_SCSI_IZIP_EPP16 [IMM_EPP_32] = "EPP 16 bit", #else [IMM_EPP_32] = "EPP 32 bit", #endif [IMM_UNKNOWN] = "Unknown", }; [PATCH] make selinux enable param config option, enabled by From: James Morris This patch against current bk makes the recently added SELinux boot parameter feature a configurable option, and enables SELinux by default when selected. These changes were made following feedback including discussion on the SELinux list. The rationale for the changes is to allow SELinux to be be configured and enabled unconditionally. If the boot parameter option is selected, then SELinux is now enabled unless selinux=0 is specified at the kernel command line. [PATCH] sound: remove duplicate includes From: "Randy.Dunlap" remove duplicate #includes in sound/ [PATCH] remove duplicate includes in kernel/ From: "Randy.Dunlap" remove duplicate #includes in kernel/ [PATCH] Handle NR_CPUS overflow From: john stultz Don't try to support more than NR_CPUS cpus: things overflow. Also, increase the default in config for some architectures. (Dave Hansen). [PATCH] ppp devfs oops fix From: Christoph Hellwig PPP leaves the chardev registered even if we're going to fail the modprobe. [PATCH] d_delete-d_lookup race fix From: Maneesh Soni d_delete() calls dentry_iput() after releasing the per dentry lock. This can race with __d_lookup and lead to situation where we can make dentry negative with ref count > 1. The following patch makes dentry_iput() to hold per dentry lock till d_inode is NULL and dentry has been removed from d_alias list. [PATCH] ia32 idle using PNI monitor/mwait From: "Nakajima, Jun" Attached is a patch that enables PNI (Prescott New Instructions) monitor/mwait in the kernel idle handler. [PATCH] remap file pages MAP_NONBLOCK fix From: Rajesh Venkatasubramanian The remap_file_pages system call with MAP_NONBLOCK flag does not install file-ptes when the required pages are not found in the page cache. Modify the populate functions to install file-ptes if the mapping is non-linear and the required pages are not found in the page cache. Patch is for test4-mm6. Compiles and boots. Patch tested using the programs at: http://www-personal.engin.umich.edu/~vrajesh/linux/remap-file-pages/ [PATCH] install_page pte use-after-unmap fix From: Rajesh Venkatasubramanian Don't deref the pte pointer after having kunmapped the memory it points at. [PATCH] really use english date in version string From: Andrey Borzenkov LANG is not always enough to force date to english. [PATCH] tidy up lib/inflate.c error messages From: Andre McCurdy There is some inconsistency within lib/inflate.c and its users about whether the error message text or the error() function should provide the '\n'. This patch tries to make everyone consistent - by removing the newline from all message texts, and adding one to the only error() function which did not provide it (in init/do_mounts_rd.c). [PATCH] ext3: remove debug code ext3 has fancy test harness code which allows you to simulate crashes (for testing recovery). It will make the underlying disk start ignoring writes a specified number of seconds after the mount. It's inoperative without an additional offline patch anyway, and it's doing hacky things which scared Al. So kill it; I'll maintain it in the separate ext3 debug patch. [PATCH] mwave locking fixes From: Manfred Spraul The mwave driver uses a user space daemon for some modem operations. The user space daemon calls ioctl(,IOCTL_MW_GET_IPC), and the driver returns after an interrupt arrived. The actual wait used interruptible_sleep_on(), which can lead to lost wakeups. A local spinlock on the stack is used to close that race, but this is broken on SMP, perhaps even with preempt. The attached patch fixes that by switching to the normal add_wait_queue/test_if_race_occured/schedule/remove_wait_queue sequence. [PATCH] fix Summit srat.h includes From: Dave Hansen I was compiling for my plain 'ol PC, and was getting unresolved symbols for get_memcfg_from_srat() and get_zholes_size(). The CONFIG_NUMA definition right now allows it to be turned on for plain old X86_PC. Does anyone know why this is? depends on SMP && HIGHMEM64G && (X86_PC || X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI && !ACPI_HT_ONLY)) In any case, the summit code incorrectly assumes in at least 2 places that NUMA && !NUMAQ means summit. Someone was evidently trying to cover the generic subarch case, but that's already taken care of by the lovely config system and CONFIG_ACPI_SRAT. This patch fixes those assumptions and adds a nice little warning for people that try to #include srat.h without having srat support turned on. [PATCH] Reduce random driver lock contention From: Matt Mackall The new locking in the random driver is consuming 60% of CPU resources in Anton's monster power5 boxes. Basically, when the primary pool is 7/8th full, we shut off the firehose and go into a trickle mode to keep the pool fresh. Saves CPU for everyone and should make the contention drop off the charts too (though the trickle factor might need adjusting again for Origin-class machines). [PATCH] sys_fadvise needs asmlinkage [PATCH] CPU scheduler CAN_MIGRATE fix From: Andrew Theurer This change: http://linux.bkbits.net:8080/linux-2.5/diffs/kernel/sched.c@1.202 does not seem to make sense: #define CAN_MIGRATE_TASK(p,rq,this_cpu) \ ((!idle || (jiffies - (p)->last_run > cache_decay_ticks)) && \ !task_running(rq, p) && \ cpu_isset(this_cpu, (p)->cpus_allowed)) It should be just the opposite; an idle cpu should be able to have a more aggressive steal, and a busy cpu should not. [PATCH] get rid of warning in gscd From: Stephen Hemminger Compiler warning due to missing equal sign. [PATCH] blk API update (and bug fix) to CDU535 cdrom driver This is a lot better than what is there know. From: Felipe W Damasio - cli-sti removal - blk API update - set_current_state - Remove 'panic' line. .. and we can now remove the BROKEN_ON_SMP Kconfig annotation. [power] Fix ACPI sleep handling with swsusp. [PATCH] Fill in ELF OSABI in ELF headers This fills in the ELF EI_OSABI field. This doesn't matter for most architectures, but PA-RISC uses the Linux flavour of the ABI (since HPUX uses the None flavour). Patch by Randolph Chung. [PATCH] Eicon ISDN driver: removed __devinitdata from pci_device_id. pci_device_id can not be marked __devinitdata, was re-added with last update by accident. [PATCH] Remove modules.txt Thanks to Stephen Hemminger for pointing out how obsolete modules.txt is. modules.txt contains mainly ancient information which is replicated in the kconfig help message, README, makefile.txt or the modprobe manual page. The only part which is not covered elsewhere is the "building external modules" which is still being debated (and belongs under the kbuild docs). kmod.txt reference removed from index, too. [PATCH] fix oops in hvc_console tty_register_driver already calls tty_register_device so there is no need to do it in hvc_console. Besides, it oopses when we do that. [PATCH] Fix initramfs permissions on directories and special files Set correct permissions on initramfs directories and special files. We dont want to obey the umask here, so do the same thing we do on normal files - call sys_chmod. [PATCH] quieten initramfs and fix /dev permissions Dont print the contents of the initramfs, for any decent sized cpio it will overflow the kernel ring buffer. Also relax permissions on /dev (755 not 700). [PATCH] 1GB stack size limit on PA-RISC This patch introduces a 1GB stack size limit for stack-grows-up (ie PA-RISC), as discussed previously. [PATCH] fs/exec.c whitespace cleanups Whitespace cleanup (mostly deleting trailing whitespace). [PATCH] interrupt.h needs kernel.h uses barrier() but does not include . kbuild: Save relevant parts of modules.txt The out-dated modules.txt were deleted from the kernel, save the kbuild related bits in Documentation/kbuild. It needs more updates, but for now this is better than nothing [ARM PATCH] 1653/1: Simpad Flash Partition resubmit Patch from Holger Freyther This the the resubmit of the flash partition changes for SIMpad. Two versions one for cramfs one for all jffs2 and also the SIM has two banks instead of one even if they're next to each other... bk: Ignore scripts/bin2c bin2c is used by ikconfig [ARM PATCH] 1654/1: Simpad PCMCIA resubmit Patch from Holger Freyther This fixes initialization of PCMCIA for the SIMpad unsigned long now user for the flag [ARM PATCH] 1656/1: Simpad board update to make it work Patch from Holger Freyther Make it work ;) kconfig: Allow architectures to select board specific configs This patch introduces the framework required for architectures to supply several independent configurations. Three architectures does this today: ppc, ppc64 and arm. The infrastructure provided here requires the files to be located in the following directory: arch/$(ARCH)/configs The file shall be named _defconfig To select the configuration for ppc/gemini simply issue the following command: make gemini_defconfig This will generate a valid configuration. ppc and ppc64 already comply to the above requirements, arm needs some trivial updates. kbuild: Build minimum in scripts/ when changing configuration From: Ricky Beam , me With the increasing amount of programs located in scripts/, several of which is dependent on the kernel configuration, it makes sense to avoid building these too often. With this patch only fixdep is build, the minimal requirement for running any *config target kbuild: Remove cscope.out during make mrproper From: "Nathan T. Lynch" The attached patch fixes the toplevel Makefile to remove cscope.out during make mrproper. The default name for the database that cscope creates is cscope.out, and this is what the cscope rule in the makefile uses. Currently, mrproper will leave cscope.out behind, which can make for interesting diffs... kbuild/ppc*: Remove obsolete _config support [PATCH] Fix SEQ_START_TOKEN typo My fault. Fix for broken aarp.c which got an extra closing parenthesis. [PATCH] Eicon ISDN driver: remove old devfs_handle devfs_handle is not used any more. PPC32: Allow for boards to flush / disable L2 / L3 in the bootwrapper. [power] pmdisk cleanups - Get rid of silly DEBUG flags. - Change PRINTK to standard pr_debug(), - Get rid of MDELAY - Change many printk()s to pr_debug()s, and add 'pmdisk:' prefix. - Remove option to mark_swapfiles() on resume, since it's handled implicitly. [ARM] Update SA1111 Combine the two initialisation functions, allow SA1111 to be built as a module, and remove a redundant SA1111 function prototype. [PATCH] another keyboard problem solved A colleague reported that the keyboard of his brandnew laptop is dead under 2.6 while 2.4 works. Now I once wrote In order to avoid interference between scancode sequences or mouse packets and the reponses given to commands, the keyboard or mouse should always be disabled before giving a command that requires a response, and probably enabled afterwards. Some keyboards or mice do the disable automatically in this situation, but still require an explicit enable afterwards. (http://www.win.tue.nl/~aeb/linux/kbd/scancodes-9.html) This is what happens on this laptop. The routine atkbd_probe() probes for a keyboard, and after detecting it, enables it. But immediately afterwards the routine atkbd_set_3() reads the current scancode set and sets the desired set, and as a side effect of these commands, the keyboard gets disabled again. Thus, the keyboard enable must be moved after all command sending has been done. Now that I patch this area anyway: we are almost always in scancode set 2 but send the ATKBD_CMD_SETALL_MB command that only works in scancode set 3. At best this is useless. At worst it confuses the keyboard. So, I put this command in a separate routine and call that only when we really are in scancode set 3. kbuild: Separate output directory Separate output directory support enables the following (at least): o Building several configurations from the same SRC base, and in parrallel o Building from a RO media o More efficient build if files are retreived via NFS (files stored locally) Usage is simple: cd /path/to/kernel/src mkdir ~/build/kernel make O=~/build/kernel [Make options] Please note: The O= syntax must be used for ALL invocations of make. As an alternative you may set KBUILD_OUTPUT to the directory where to put the output files. The patch works for me, and I have tried with various configurations, including allnoconfig and defconfig. How it works: If the O= option is used, or KBUILD_OUTPUT is set then a second invocation of make happens in the output directory. The second invocation of make uses VPATH to tell make where to locate the files. Furthermore include options for gcc is modifyied to point both in the directory where the kernel src is located, and in the directory where the output files are located. The latter is used for generated .h files. When building the kernel the asm symlink is created. To support this a new 'include2' directory is created. Within include2/ asm is a symlink to the asm-$(ARCH) directory in the kernel src. Also when building the kernel the asm-offset.h file is created, and located in the include/asm-$(ARCH) directory, but included via . Therefore within include/ another asm symlink is created pointing to the asm-$(ARCH) directory located in the output directory. In Makefile.build the output directory is created if not already present. This was needed to support xfs, and oprofile. The patch is loosly based on ideas from Kai G. Roman Zippel introduced support for this in kconfig long time ago [PATCH] ps2esdi broken The PS/2 ESDI driver has some problems: a couple of typos on the modular side and misuse of module_init(): [PATCH] Badness in as_completed_request warning Thish fixes Suparna's fsx and aio-stress and Dave Olien's concurrent mke2fs problems. It moves the hash adding into as_add_request. This fixes a small bug where a request could be added to the merge hash after being put on the dispatch list. It also moves responsibility for handling rbtree aliases (requests with the same start sector) out of as_add_arq_rb and into its caller. This cleans up a layering problem which was causing the state machine to go silly. Now instead of forcing the alias out onto the dispatch list, we chain the new request behind it, and they get sorted out at dispatch time. [bonding 2.6] fix 802.3ad long fail over with high UDP Tx stress [bonding 2.6] fix load balance problem with high UDP Tx stress [bonding 2.6] fix ARP monitoring bug [bonding 2.6] fix kernel panic when optional feature used [bonding 2.6] fix change active command [bonding 2.6] fix OOPS in bonding driver, when removing primary [bonding 2.6] embed stats struct inside bonding private struct [bonding 2.6] fix error handling in init code [bonding 2.6] make each bond device use its own /proc entry [bonding 2.6] misc fixes: missing include, typos, comments [e1000] new 82541/5/6/7 hardware support * Added 82545 (rev3), 82546 (rev3), and 82541/7 (rev2) support - new device IDs - internal SERDES support for 82545/6 (rev3) - don't apply MMRBC workaround for 82545/6 (rev3) - don't use IO mapping for reset for 82545/6 (rev3) [e1000] 82544 PCI-X hang fix + TSO updates * Bug fix: 82544 hang with PCI-X: if outgoing Tx buffers terminate within evenly-aligned dwords, and the device is sharing the bus segment with another PCI-X device, 82544 can hang the bus on a split-completion transaction. Fix is to split buffer into two buffers with the first one not terminating within evenly-aligned dword address, and the second one being 4-bytes, which goes as a non-split-conpletion PCI-X transaction. * 8254x controllers that support TSO do an internal calculation to make sure there is enough FIFO space to handle the overhead of each TSO segment before DMA'ing TSO data from host memory. The internal calculation is dependent on the mss of the TSO (defines the number of segments), but the reserved space is a constant, so we need to adjust the maximum size of each buffer queued to the hardware to hold the equation and not overrun the FIFO. This is per TSO because the mss can change from one send to the next. [e1000] Turn off ASF support on Fiber nics * Turn off ASF support on fiber nics. Wasn't tested and isn't known to work, so disable before someone hurts themselves. [e1000] read correct bit from EEPROM for getting WoL settings * Bug fix: read the correct bit from the EEPROM that controls the initial setting for WoL after a reset. [e1000] add ethtool flow control support * Add ethtool flow control support [e1000] make function our of setting media type * Consolidate code and make function out of setting media type. [e1000] cleanup error return codes * clean up error return code propagation and eliminate redundant DEBUGOUT statements. [e1000] move static to table from .h to .c * Move static table from hw.h to hw.c to avoid creating a copy of table everytime hw.h is included.in .c. [e1000] Add PHY master/slave #define override * Add PHY master/slave #define override to address link issues with 82541/7 (rev2) against some low-end switches. Forcing master will improve the time-to-link against these switches. [e1000] misc whitespace cleanup, changelog * misc whitespace cleanup, changelog [PATCH] tr/olympic probe: remove #warning, improve error handling This patch to 2.6.0-test5 removes the #warning in tokenring/olympic.c and improves error handling in the probe function. [PATCH] slip.c: current state cleanup [PATCH] fix build of cosa The cosa driver definition of ioctl's either conflicts or was not picked up in the last round of _IOR redefinition (on 2.6.0-test5). The following makes it build, have no idea if it still works on real hardware. [PATCH] (1/4) sdla - move out of Space.c Patch against 2.60-test5 to move sdla driver out of Space.c for initialization in non-module case. Since this driver doesn't come up until the device has been configured with an ioctl (set_config); there is no way it can have startup order problems. [PATCH] (2/4) get rid of register_frad The sdla and dlci drivers have a callback interface which only stores a name in a table, but doesn't do anything useful. Looks like an interface which has lost it's usefulness and can be safely removed. Tested on 2.6.0-test5 by exercising the higher layer (dlci) without real hardware. [PATCH] (3/4) dlci locking and registration changes Change the locking for the dlci device list and registration. - use RTNL instead of a private lock (needed for net notifier in next patch). - reorder the checks in the dlci_add to avoid complicated unwinds - use dev->destructor to free - hold RTNL around deassoc to protect callback from races [PATCH] (4/4) dlci netdevice event handling Since dlci device is a pseudo device built on top of sdla, change it to handle unregister events and delete itself. [PATCH] (5/4) dlci netdevice event handling One more patch, found this in testing -- need to delete device from list when unregistered because of callback. [PATCH] (1/4) sdla - move out of Space.c Apply on top of 2.6.0-test5-bk1 + Stephen sdla patches. Compiles fine. free_netdev() patrol. drivers/net/wan/sdla.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) [PATCH] PCI: make new_id rely on CONFIG_HOTPLUG > > These either need to be marked __devinit and make "new_id" dependant on > > CONFIG_HOTPLUG Patch below moves all the new_id code under CONFIG_HOTPLUG. Tested with both CONFIG_HOTPLUG enabled and disabled. No significant code changes, merely code moving, and in 2 cases, stub functions added. [PATCH] PCI: remove compiler warning from previous new_id patch Also change the #define functions into inline functions to help catch any future paramater mis-matches. And clean up a few minor style issue... PCI: fix up some pci drivers that had marked their probe functions with __init This also required some other functions and variables to be marked as __devinit [NET]: Various /proc/net/* files may drop some data. [NET]: /proc/net/if_inet6 may drop some data. [NET]: Clean up /proc/net/{anycast6/igmp6}. [CRYPTO]: Add alg. type to /proc/crypto output. [NETFILTER]: Clear nf_debug in ipsec tunnel case. [ATM]: Remove unnecessary GFP_ATOMIC allocation (from levon@movementarian.org) [ATM]: Fix build failure with ATM_BR2684_IPFILTER enabled. [NETFILTER]: Fix typoe in ip_nat_tftp.c [NET]: Remove some unnecessary proc_fs.h includes [NET]: Convert packet scheduler API to seq_file. [NET]: Kill unneded version.h in net/sched. [IPV4]: Fix wrong IP address in icmp.c error message. [XFRM]: Fix ALLOC_SPI for IPCOMP. [NET]: Remove spurious TASK_RUNNING setting after schedule_timeout(). [NET]: Use proc_net_fops_create() and proc_net_remove() in net/core. [NET]: Use proc_net_fops_create() and proc_net_remove() in net/ipv4. [NET]: Use proc_net_fops_create() and proc_net_remove() in net/ipv6. [BRIDGE]: Clear hw checksum flags when bridging. [SPARC64]: Fix VT/VT_CONSOLE Kconfig for headless operation. [ATM]: seq_file for /proc/net/atm (devices) [1/8] (from romieu@fr.zoreil.com) seq_file conversion for proc/atm/devices: - code inspired from seq_file use in net/core/dev.c; - atm_dev_lock taken/released in atm_dev_seq_{start/stop}; - add a helper CREATE_SEQ_ENTRY() similar to CREATE_ENTRY() (both are removed once conversion is done). - atm_dev_seq_{start/stop/next} done in net/atm/resource.[ch] to ease future handling of atm_devs and locking structure (per Chas suggestion) [ATM]: seq_file for /proc/net/atm (vc utils) [2/8] (from romieu@fr.zoreil.com) Helpers for seq_file conversion of proc/atm/{pvc/svc/vc}: - struct vcc_state keeps 1) the struct sock from which the current struct atm_vcc is deduced 2) the family to which must belong the vcc (PF_ATM{SVC/PVC/any}) 3) the availability of clip module - vcc_seq{start/stop} are responsible for vcc_sklist locking - __vcc_seq_open and vcc_seq_release take care of get/put for the clip module. Chas's suggestions applied since last version: - atm_vc_xxx renamed to vcc_xxx - atm_vc_common_seq_open renamed __vcc_seq_open (future name clashes avoidance) [ATM]: seq_file for /proc/net/atm (pvc) [3/8] (from romieu@fr.zoreil.com) seq_file support for /proc/net/atm/pvc: - pvc_info(): seq_printf/seq_putc replaces sprintf; - atm_pvc_info() removal; - the vc helpers (vcc__seq_xxx) do the remaining work. Chas's suggestions applied since last version: - atm_pvc_xxx renamed to pvc_xxx - atm_seq_pvc_fops renamed to pvc_seq_fops [ATM]: seq_file for /proc/net/atm (svc) [4/8] (from romieu@fr.zoreil.com) seq_file support for /proc/net/atm/svc: Exactly same comments as pvc. Just s/p/s/ [ATM]: seq_file for /proc/net/atm (vc) [5/8] (from romieu@fr.zoreil.com) seq_file support for /proc/net/atm/vc: Same comments as for pvc and svc. Extra Chas's suggestion applied since last version: - atm_vc_xxx renamed to vcc_xxx. [ATM]: seq_file for /proc/net/atm (arp) [6/8] (from romieu@fr.zoreil.com) seq_file support for /proc/net/atm/arp: - svc_addr/atmarp_info(): seq_printf/seq_putc replace sprintf and friends; - arp_getidx/arp_vcc_walk() take care of the usual seq_file cursor positionning: they both return NULL until the cursor has reached its position. struct atm_arp_state is updated accordingly; - arp_seq_{stop/start} are responsible for clip_tbl_hook (un)locking; - module refcounting is done in arp_seq_open()/arp_seq_release(); - atm_lec_info() is removed. Chas's suggestions applied since last version: - atm_arp_xxx renamed to arp_xxx; - atm_seq_arp_fops renamed to arp_seq_fops. Chas didn't ask for it but I renamed arp_vc_walk to arp_vcc_walk. [ATM]: seq_file conversion of /proc/net/atm [7/8] seq_file support for /proc/net/atm/lec: - lec_info(): seq_printf/seq_putc replaces sprintf; - traversal of the lec structure needs to walk: -> the lec interfaces -> the tables of arp tables(lec_arp_tables); -> the arp tables themselves -> the misc tables (lec_arp_empty_ones/lec_no_forward/mcast_fwds) Sum up of the call tree: atm_lec_seq_start()/atm_lec_seq_next() -> atm_lec_get_idx() -> atm_lec_itf_walk() (responsible for dev_lec/dev_put handling) -> atm_lec_priv_walk() (responsible for lec_priv locking) -> atm_lec_arp_walk() -> atm_lec_tbl_walk() -> atm_lec_misc_walk() -> atm_lec_tbl_walk() Each of the dedicated functions follows the same convention: return NULL as long as the seq_file cursor hasn't been digested (i.e. until < 0). Locking is only done when an entry (i.e. a lec_arp_table) is referenced. atm_lec_seq_stop()/atm_lec_itf_walk()/atm_lec_priv_walk() are responsible for getting this point right. - module refcounting is done in atm_lec_seq_open()/atm_lec_seq_release(); - atm_lec_info() is removed. Chas's suggestions applied since last version: - atm_seq_lec_fops renamed to lec_seq_fops; - change in state handling: it wasn't correctly set to its reset value after a complete interface walk; - lec_arp_get_status_string() bugfix. [ATM]: seq_file conversion of /proc/net/atm [8/8] (from romieu@fr.zoreil.com) - introduction of the struct array 'atm_proc_ents': - removal of code duplication in atm_proc_cleanup(); - removal of code duplication in atm_proc_init(); - removal of the macros CREATE_SEQ_ENTRY() and CREATE_ENTRY(); - /proc/net/atm/vcc returns to /proc/net/atm/vc; - credits at the top of the file; - replaced proc_dev_atm_operations by proc_atm_dev_ops; - atm_proc_dev_register: removal of tasteless "fail0/fail1" labels. [ATM]: exporting llc_oui[] isn't worth it (from mitch@sfgoth.com) [SPARC32]: Non-controversial gcc-3.3 build fixes. [IPV6]: Fix non-CONFIG_PROC_FS build. [SPARC32]: Ignore btfixups in .text.exit [BLUETOOTH]: Fix bug in set_sk_owner() changes. [SPARC64]: BUG on positive addresses in vga.h [NETFILTER]: MASQUERADE target for mostly-static IP addresses. Herve Eychenne noted that many ADSL connections get the same address when the interface comes back up, so some users use SNAT instead of masquerade. The answer is that MASQUERADE should only drop connections when the interface comes up, and then only if the interface address has actually changed. [NETFILTER]: REJECT nonlinear fixes after sync with 2.4 Harald synced up ipt_REJECT.c from 2.4 route fixes, but it had changed a fair bit because of the nonlinear fixes. This repairs it. 1) Copying of tcp header onto stack. 2) ...which also checks length requirement. 3) Skip checksum check: requires linear packet. [SPARC64]: Update defconfig. [Bluetooth] Convert BNEP protocol to dynamic allocation of network devices. This will allow fixing races with rmmod and sysfs access. Patch from Stephen Hemminger [PATCH] Fix imm.c again From: Adrian Bunk Earlier patch wasn't correct especially in the !CONFIG_SCSI_IZIP_EPP16 case, reading all uses of this array (IMM_MODE_STRING is used to print the corresponding string in printks). If I'm not misunderstanding it, CONFIG_SCSI_IZIP_EPP16 means "use 16bit even when 32bit is requested". drivers/scsi/imm.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) [PATCH] serialize bus scanning Change scsi_scan_mutex from global to per host, which is needed for parallel SCSI probe. gr16_work-anton/drivers/scsi/hosts.c | 2 ++ gr16_work-anton/drivers/scsi/scsi_scan.c | 15 ++++----------- gr16_work-anton/include/scsi/scsi_host.h | 6 ++++++ 3 files changed, 12 insertions(+), 11 deletions(-) [PATCH] enable aha152x to build when AHA152X_DEBUG is defined patch_name: aha152x_debugon.patch patch_version: 2003-09-10.11:02:09 author: Randy.Dunlap description: enable aha152x to build when AHA152X_DEBUG is defined; product: Linux product_versions: 260-test5 maintainer: James Bottomley diffstat: = drivers/scsi/aha152x.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) [PATCH] sym53c8xx 2.1.18b This patch fixes two bugs in sym 2.1.18. - 40-bit addressing doesn't fit into 32-bits, so PciDmaMask needs to be an ULL. - Add terminating entries to pci_device_id tables. Bug spotted by Matt Domsch. [PATCH] in2000 warning Passing the address of a `long' as the `flags' parameter of check_setup_args() causes a warning. But apparently this parameter isn't used at all, so remove it. [PATCH] zalon & ncr53c8xx cleanups I don't actually have a zalon machine to test these on, but they seem right to me, and compile fine. Some cleanups for ncr53c8xx & zalon: - Inline zalon.h into zalon.c - Rationalise (a little) ncr53c8xx.c's includes - Remove all the version checks - Stop using remap_pci_mem & unmap_pci_mem & delete their definitions. - Use mb() instead of custom inline asm for MEMORY_BARRIER. PPC32: Remove trailing blanks from PPC32 files. PPC32: Two minor bootwrapper fixes on PReP, from Hollis Blanchard . PPC32: Merge MPC8260 board selection with other 'classic PPC' boards. This will make things like 'allyesconfig' and 'allmodconfig' produce a much more sane config file. It didn't really make sense to split these boards out anyhow, as they aren't 'radically different' like the 8xx boards that this distinction was styled on. PPC32: Fix the udelay implementation in the bootwrapper. It's lis rX,var@ha \n lwz rX,var@l(rX), not lis rX,var@h \n ... From Hollis Blanchard . PPC32: Make include/asm-ppc/processor.h more readable. PPC32: Fix the dependancies on CONFIG_ISA. From Hollis Blanchard . [PATCH] I2C: remove some usages of i2c_adapter.id as they are not used. Seems i2c_adapter.id is only used in some video drivers, will work on cleaning up that mess later... [NET]: Make netdevice.h more userspace friendly. [NETFILTER]: Fix typo in recent ip_input.c changes. [NET]: Better proc_net macros for non-procfs case. [IPV6]: Export devconf device settings via netlink. [SPARC64]: Make sure cpu_data[0].udelay_val gets setup on non-SMP (found by bde@nwlink.com). [NETFILTER]: Use u16 for port numbers. [CPUFREQ] CodingStyle fixes for speedstep-smi [CPUFREQ] Don't print out speedstep stuff on non-Intel CPUs. [CPUFREQ] use PFX macro in common printk's [CPUFREQ] Fix up debug printk formatting string in speedstep-smi [AGPGART] Fix silly logic bug in modular AMD64 GART driver. We found a device, and then claimed we couldn't find one due to a silly thinko. agpgart: Detected AMD 8151 AGP Bridge rev B2 agpgart: Maximum main memory to use for agp memory: 816M agpgart: AGP aperture is 64M @ 0xe0000000 No supported AGP bridge found. You can try agp_try_unsupported=1 PPC32: Fix another incorrect asm statement. From Scott Anderson . PPC32: Move all register definitions to include/asm-ppc/reg.h [XFS] remove doubly-included header files SGI Modid: 2.5.x-xfs:slinx:157933a [XFS] Implement several additional inode flags - immutable, append-only, etc; contributed by Ethan Benson. SGI Modid: 2.5.x-xfs:slinx:158362a [XFS] Re-work xfs stats macros to support per-cpu data SGI Modid: 2.5.x-xfs:slinx:156453a [XFS] Add inode64 mount option; fix case where growfs can push 32 bit inodes into 64 bit space accidentally - both changes originally from IRIX SGI Modid: 2.5.x-xfs:slinx:157935a [XFS] Separate the big filesystems macro out into separate big inums and blknos macros; fix the check for too-large filesystems in the process. SGI Modid: 2.5.x-xfs:slinx:158361a [XFS] IRIX sets KM_SLEEP to 0 but the support routines sets KM_SLEEP to 1. So somebodys shortcut on irix is incorrect on linux and results in the sleep behaviour not being set. SGI Modid: 2.5.x-xfs:slinx:157773a [XFS] Alternate, cleaner fix for the ENOSPC/ACL lookup problem SGI Modid: 2.5.x-xfs:slinx:157531a [XFS] Change dm_send_namesp_event to take vnode ptrs rather than bhv ptrs. SGI Modid: 2.5.x-xfs:slinx:157475a [XFS] Fix from Christoph gcc 3.3 complains about this and indeed it can only trigger if someone magically enlarges __uint8_t :) SGI Modid: 2.5.x-xfs:slinx:157731a [PATCH] I2C: add the i2c-sis5595 i2c bus driver This is based on the lmsensor cvs version of the driver, but is cleaned it up and ported it to 2.6. PPC32: Audit uses. [PATCH] ia64: turn off SLIT debugging This code works pretty well now, so we don't need to dump all this stuff at boot time (esp. on 128 node systems). [PATCH] ia64: protect PAL mapping printk with EFI_DEBUG Having this print out for every CPU on a large system was a pain, so protect the printk with EFI_DEBUG. ia64: Re-enable /proc/sal support. Bug reported by Stephane Eranian, patch by Jesse Barnes. [PATCH] ia64: minor perfmon2 patch This patch fixes a typo in pfm_write_pmcs() in the test for the default value. The code was using the lop index instead of the register index in the PMC_DFL_VAL() macro. This was causing valid values for some PMCs to be rejected. [UDP]: In udp_{v6_}flush_pending_frames, reset up->len too. [power] pmdisk write path cleanups. - Change partition signature to desginate pmdisk partition only (so there is no cross-confusion with swsusp). - Make fill_suspend_header() return void, since it can't fail. - Split write_suspend_image() into write_data(), write_pagedir() and write_header(). - Check errors on each, recover gracefully in each case. - Free swap entries used by data and pagedir. - Remove 4 panic()s. - Make sure pagedir is initialized to 0 when allocated. - Remove 4 useless BUG()s (that checked for constant size differences). [power] Fix platform devices. From Russell King. [power] Remove last panic() from pmdisk. [IPV4]: Convert /proc/net/pnp to seq_file. [NET]: Use proc_net_fops_create() for /proc/net/wireless [BLUETOOTH]: Add missing owner to bnep_sock_family_ops. [NET]: Increase ethernet tx_queue_len to 1000. [PATCH] I2C: add the i2c-sis630 i2c bus driver This is based on the lmsensor cvs version of the driver, but is cleaned it up and ported it to 2.6. [NET]: Make pfifo_fast actually report statistics. [ATM]: [clip] Fix race between modifying entry->vccs and clip_start_xmit(). [IPVS]: Convert to seq_file. [PATCH] I2C: add the i2c-via i2c bus driver This is based on the lmsensor cvs version of the driver, but is cleaned it up and ported it to 2.6. [PATCH] I2C: clean up the i2c bus Kconfig menu and help texts. [PATCH] I2C: turn off debugging on the new sis i2c bus drivers. Forgot to do this before... [PATCH] I2C: New PPC4xx I2C driver This updates the current 2.6 PPC 4xx driver to the rewritten version we have in the PPC development tree. It is cleaner, has less bugs, and has more features. [PATCH] I2C: drivers/i2c version.h cleanup remove unnecessary version.h from drivers/i2c. test compiled with 2.6.0-test5-bk2 on x86. [AGPGART] Missing prefixes in printk's o LLC: introduce llc_type_handlers This is the start of the split of LLC into a core part and the bigger, not needed by ipx, token ring, appletalk, etc, LLC2 stack. o LLC: move llc_decode_pdu_type to llc_mac And also rename it to llc_pdu_type and make it return the type, this is to make llc_mac more and more autonomous of the rest of the llc code, to the point where it will be a separate loadable module. o LLC: move llc_conn_handler and llc_sap_handler out of llc_mac o LLC: remove another silly net 4.0 banner Also add a prototype for llc_conn_rcv, that will move away in the next changesets. but for now is needed to kill a warning. [NET]: Tiny af_packet.c cleanup. JFS: Fix rampant data corruption A recent change causes pervasive data corruption by over-writing inode metadata with a word of garbage. The field, di_rdev, should only be set for a device inode. [ARM] Remove compiler warning in sa1111-pcipool.c o LLC: move the connection related functions to llc_conn [XFS] Automatically set logbsize for larger stripe units SGI Modid: 2.5.x-xfs:slinx:157534a [power] Clean up snapshot path in pmdisk - Split count_and_copy_pages() into count_pages() and copy_pages(), which each use helper saveable() to determine whether we should save a page. - Split allocation and freeing of page directory and snapshot pages into separate functions. Make sure we fail gracefully and cleanup if something goes wrong. - Report error back from pmdisk_suspend(). - Remove parameters from pagedir functions, since we're using globals anyway. - Minor cleanups in pmdisk_suspend(). o LLC: move sap functions to llc_sap o LLC: move the sockets release function outside of llc_sap_close [PATCH] USB: fix oops when trying to suspend and resume. Thanks to Pavel for the original version of this patch. [PATCH] USB: fix oops in ipaq driver Should fix bug number 1227 o LLC: move llc_build_and_send_ui_pkt to llc_sap [PATCH] USB speedtouch: use multiple urbs by default [PATCH] USB: New email address for duncan [PATCH] USB speedtouch: neater sanity check Biscuit for Greg. [PATCH] USB speedtouch: bump the version number [PATCH] USB: Drop debounce printout for 2.6 This seems to work well enough, we do not need the printout anymore. [PATCH] USB: usb/gadget/Kconfig, use right PXA2xx symbols I just noticed that Linus' tree is using the wrong CONFIG_* symbols for kicking in the PXA 2xx support (except for "gadgetfs"). It should use USB_PXA2XX not USB_PXA250, since it handles PXA 255, PXA 210, PXA 263, and others. o LLC: move llc_lookup_dgram to llc_sap Also move llc_save_primitive to llc_sap, almost untangling the LLC2 stack from the core. [PATCH] USB: make pdfdocs problem The `make pdfdocs' target still fails for me on the `writing_usb_drivers' document. There's one small bug in it, and one problem I haven't figured out yet. There is a malformed blah sequence, where the closing tag is instead an opening tag. Patch for that below. [PATCH] USB: fix up missing in usb documentation. This fixes build problem. [ARM] Update ARM CPU support. Move ARM CPU configuration to arch/arm/mm. Seperate out the selection of the abort, cache handling, optimised page copying and TLB handling from the Makefile, and move it into the configuration system. This allows us to select the correct files in arch/arm/mm and pick the appropriate definitions in include/asm-arm/* based upon a config symbol rather than a bunch of configuration symbols. Also add ARM1020E, ARM1022 and ARM1026 CPU support. o LLC: move the pdu routines needed by the upcoming llc_core to llc_pdu.h Making them inline, as they are small enough and some very seldomly used. [PATCH] USB: Use num_altsetting in usbnet and usbtest This patch fixes usbnet and usbtest. When checking endpoints, they iterate through all interfaces out to intf->max_altsetting, but they should only go up to intf->num_altsetting. The max_altsetting value refers to the amount of space _allocated_ for usb_host_interface structures, not the number that are really in use. [ARM] Detect and fix up CPUs with non-coherent write buffers. Jamie Lokier's cache testing program discovered a problem which seems to be present in some CPU write buffers. This cset allows the kernel to detect the flaw and activate a workaround to restore the user space expectations. [ARM] Provide __HAVE_ARCH_BCOPY This squashes another compiler warning. [ARM] Add newly discovered CR register function. [ARM] Fix gcc3 multi-line string literal build error. [ARM] Remove CONFIG_KBDMOUSE from arch/arm/Kconfig [ARM] Kill gcc preprocessor warning. [ARM] Fix name of "cache format" cpuinfo description. [PATCH] Coda updates [1/5] - Remove unused functions and variables. - Be a bit more strict with the definition of various types that are shared between kernel and userspace. - Included a couple of cleanups from Maximilian Attems and Stephen Hemminger. [PATCH] Coda updates [2/5] Use a global 'epoch' counter to invalidate cached permissions instead of traversing a racy linked list of all known Coda inodes. [PATCH] Coda updates [3/5] Both userspace and the kernel are testing only the fsuid part of the coda_creds credentials structure. Nothing else is really used, so we now match the code with the actual usage by only passing fsuid around. The kernel-userspace API is kept compatible (for now). [PATCH] Coda updates [4/5] The ViceFid structure is really a Coda server datatype and the kernel really shouldn't have to know its internal structure. Replace all instances with struct CodaFid with opaque members. [PATCH] Coda updates [5/5] Introduce a new kernel-userspace interface that uses 128-bit file identifiers instead of the previously used 96-bit fileids. We also replacing the coda_creds structure with only the fsuid. This new API has been used by for a couple of months now, people had to patch their kernels whenever they want to run a current Coda release. A new Kconfig option is added to fall back on the old API for older Coda clients and other userspace filesystems that might use our protocol. [power] Clean up pmdisk page freeing - Fix small buglet when freeing image pages on resume where we were only freeing the first (1 << pagedir_order) (e.g. 16) pages, instead of all of them. - Make sure we save the page directory, which requires an update of the total number of pages to save, and requires that we don't mark those pages as unsaveable. - Restore __GFP_COLD flag to allocations. [AGPGART] Fix missing/bogus includes. [CPUFREQ] Add missing config.h includes [PATCH] use seq_lock for monotonic time Monotonic clock code uses reader/writer lock which is prone to same starvation problems as we saw with xtime. This patch changes it to seq_lock which is faster and won't starve writers in face of lots of readers. o LLC: implement llc_add_pack/llc_remove_pack o LLC: split llc into llc_core and llc2 modules For this some more functions had to be moved around, now one doesn't have to explicitely select LLC to have access in the menu to ipx, appletalk, token ring, etc. This is not yet as good as I want it to be, but at least makes it easier for the hordes of users to select stuff, making it look more like how it was in 2.4. In the next changesets I'll fix the fact that CONFIG_TR is a bool and makes psnap, p8022 and llc_core to be built statically even tho the token ring drivers are being build as modules. [ARM] Provide bus type and support for logic modules. The IMPD-1 is a logic module (a stackable module) - rather than trying to abuse platform devices, create our own bus type to handle these. [ARM] Clean up PCI error reporting. Don't try to clear PCI status on devices which are no longer present. Only clear PCI status bits which we're interested in. Use pci_name to report the device name. [XFS] Some tweaks to the additional inode flags, suggested by Ethan Benson SGI Modid: 2.5.x-xfs:slinx:158493a [ARM] Dynamically allocate SA1111 component devices. [ARM] Update machine types list. [ARM] Ensure that MM initialisation warnings are reported as bugs. PPC32: Fix a rounding error in the bootwrapper udelay. From Milton Miller. [XFS] fix build for gcc 3.2 SGI Modid: 2.5.x-xfs:slinx:158511a [PCMCIA] Fix bug in PCMCIA resource management memory probing This prevents us from probing past the memory areas which cardmgr passes us, and also allows us to correctly remove areas which we decide are not available for PCMCIA use. PPC32: Re-arrange arch/ppc/Kconfig, from Hollis Blanchard PPC32: Make the IBM 4xx options menu depend on 4xx, from Hollis Blanchard PPC32: Make CONFIG_DEBUG_INFO default to n, always. [AGPGART] Add HP AGP 8x bridge and fix ACPI claim The following patch to the HP ZX1 GART driver - adds recognition of the "HWP0007" device (an AGP 8X bridge) - fixes the use of acpi_get_devices() The problem with acpi_get_devices() is that it always returns AE_OK, except when the callback (zx1_gart_probe()) returns a failure. That means agp_hp_init() cannot use the status from acpi_get_devices() to distinguish between (1) an AGP bridge was found and successfully initialized, and (2) no AGP bridge was found at all. [PATCH] USB: Remove modules.txt: usb_media, usb_input [PATCH] USB: Remove modules.txt: usb serial & storage Support for POWER4 & GPUL (G5) CPUs [PATCH] update credits Update CREDITS with new contact info. [PATCH] Add LSM maintainer entry Add LSM maintainer entry [PATCH] LSM comment fixup From: John Levon LSM: Update comments in register_security to reflect reality [PATCH] root_plug fixup From: bert hubert LSM: To recap, this patch allows root_plug to work again. It needs functions that used to reside in capability.c but linking in capability.c, disabled root_plug from loading, as a security module is already present then. This patch splits out the functions root_plug needs from capability.c. [PATCH] AS documentation The as-iosched.c source code has said this is here for a long time but it kept getting lost. [PATCH] smbfs module unload and highuid I haven't been doing much smbfs work recently, but here are some bugfixes: - Fix module unload (Angus Sawyer). - Fix the smbfs error handling if kernel_thread() should fail. - Allow high uids/gids to be used as the fake uid smbfs sets as file owner. [PATCH] ide-cd capacity "bug" From Daniel Pittman Using the lra (last recorded address) isn't always reliable on some drives, so use the regular TOC if it returns 0 capacity. [PATCH] shared block queue tag map This implements the possibility for sharing a tag map between queues. Some (most?) scsi host adapters needs this, and SATA tcq will need it for some cases, too. [PATCH] WM9712 suspend/resume nopop From: Liam Girdwood This patch eliminates pop noises when doing a PM suspend/resume with the WM9712 AC97 codec. [PATCH] Make /proc/kcore configurable This allows /proc/kcore to be entirely disabled and dropped out of the kernel - we already select between a.out and ELF. Right now it only drops /proc/kcore out of the kernel for ARM. [PATCH] ACPI maintainer change This updates the maintainer entry for ACPI. Len has already assumed most of this responsibility, as other projects demand my attention. My team will continue to maintain the OS-independent ACPI CA release, but Len will be responsible for pulling ACPI CA updates into the Linux release, and the rest of Linux-specific code in general. o LLC: add some unlikely wrappings in llc_mac Also rename fix_up_incoming_skb to llc_fixup_skb, to be more namespace friendly. Ah, make it inline too. [PATCH] drivers/char/misc -- use list() macros Use list macros for misc_device list. [PATCH] drivers/char/misc -- seq_file Use seq_file for /proc/misc [PATCH] USB: Debug code fixes for vicam When compiling vicam with debug info, a compile error occurs. I presume this is because this part of the code has not been updated since the 2.4 kernels. This patch fixes this. [PATCH] USB: Debug code fixes for usblp When compiling usblp with debug info, a compile error occurs. I presume this is because this part of the code has not been updated since the 2.4 kernels. This patch fixes this. I also enhanced the debug output a little, as suggested by Randy Dunlap. [PATCH] [PATCH] drivers/usb version/include cleanup Remove unneeded version.h and doubley included header. Test compiled on 2.6.0-test5-bk3. [PATCH] USB: Changes to core/config.c (1 of 9) This first patch makes only trivial changes. Excess whitespace at the end of lines is removed and return codes are altered from -1 to symbolic error values. The only significant difference is that in one spot a valid return is changed to an error return, when a descriptor does not have the correct type. - Remove excess whitespace at the ends of lines. - Change return codes to symbolic values. - Return an error when an invalid endpoint descriptor is found. [power] Clean up pmdisk image reading code. - Split read_suspend_image() into: - check_sig() - check_header() - read_pagedir() - read_image_data() - Use specific data type and casts when possible, no more masking everything via a 'union diskpage' - Remove two BUG()s; replace with error handling. [PATCH] USB: make sure we never reference a usbserial port after it has been unregistered. [PATCH] USB: Debug code fixes for dabusb [PATCH] USB: psdocs fails for usbgadget It updates the "gadget" kerneldoc, removing some (new) warnings, and showing some fields it hadn't previously been showing (due to limitations in docproc). Plus it adds a bit of information about recent changes (new drivers). [PATCH] USB: Changes to core/config.c (2 of 9) This patch fixes the most blatant problems that can happen when an error is encountered during descriptor parsing. The struct device embedded within a struct usb_interface is initialized as soon as the structure is allocated, so that when put_device() is called it will contain valid data. put_device() is not called for unallocated interfaces. The pointers in config->extra are freed when the struct usb_host_config is freed. rawdescriptor pointers are initialized to 0 so that they can be freed without error. Partially parsed configurations are remembered so that they will be deallocated when the entire struct usb_device is freed. [PATCH] USB: Changes to core/config.c (3 of 9) This patch includes a bunch of little local improvements to the code, listed in the patch comments. There are only two notable changes. If a device has more configurations than our maximum, the code doesn't reject the device but simply parses as many configurations as it can and ignores the rest. Likewise, if a configuration contains too many interfaces, the code parses as many as it can and skips the excess. That way such devices will be at least partially useable. Since these limits are arbitrary and set by the implementation (not part of the USB spec), it doesn't make sense to reject a device that violates them. Numerous local programming improvements: Don't initialize to 0 fields in structures that have been memset to 0. Don't constantly keep track of how many bytes are parsed. Use local variables to hold unwieldy values. Remove redundant tests. Allow devices to have more configurations or interfaces than we can handle. [PATCH] USB: Changes to core/config.c (4 of 9) Although it's hard to tell from reading the patch, this just moves one section of code to a slightly different spot. Currently the code that skips over the extra class- and vendor-specific configuration-related descriptors is part of the loop that parses interface descriptors. The patch moves it outside, immediately before that loop -- where it belongs. [PATCH] USB: Changes to core/config.c (5 of 9) This patch centralizes the error checking for invalid descriptor lengths and unexpected descriptor types. Instead of doing it in three different places -- while parsing configuration, interface, and endpoint descriptors -- the new code does it all at once. Not surprisingly, this yields a net savings in code size. [PATCH] USB: Changes to core/config.c (6 of 9) This patch removes the home-brewed resizeable arrays used to store altsetting structures, along with the now-unneeded max_altsetting field. Since we are already making a preliminary pass through all the descriptors to check their lengths, we take the opportunity to also count the number of altsetting descriptors for each interface. Then exactly the right number can be allocated all at once. This also moves the code that allocates the altsettings outside the usb_parse_interface() routine. Though not important now, this change will come in handy in the next patch. [AGPGART] Fix module alias. From OGAWA Hirofumi ia64: In , do not include outside the #ifdef __KERNEL__ bracket. Doing so pollutes the user- level namespace. Bug report & proposed fix by GOTO Masanori. o LLC: create llc_output and move lan_hdrs_init to it Renaming lan_hdrs_init to llc_mac_hdr_init and making all places check if it fails. [CPUFREQ] Read MSRs before trying to use them in powernow-k7 Very silly bug spotted by Ducrot Bruno [power] Get rid of unneeded variables. ia64: Control /proc/bus/mckinley/zx1 via separate SBA_PROC_FS macro and turn SBA_PROC_FS off by default (it's too much of a scalability bottleneck). [PATCH] ia64: small sn2 cleanup Attached is a small cleanup patch for the sn2 header files which removes some cases of excessive header file inclusion. [PATCH] ia64: pass si_isr for a few more signal sources This patch changes the kernel such that si_isr gets setup for hardware breakpoints, single-step, and taken-branch traps. This is useful, e.g., to determine what kind of hw breakpoint triggered the signal. [PATCH] ia64: sn2 header file cleanup This patch removes a ton of pointless big endian defines for some registers on SN2 and cleans up the #include hierachy making it include some really big header files only when they are really needed. [PATCH] ia64: include/asm-ia64/sn/router.h cleanup Minor cleanup. [PATCH] ia64: fix for include/asm-ia64/acpi.h asm/acpi.h relies on struct pci_vector_struct which is defined in asm/system.h. [PATCH] ia64: trivial sba_iommu patch I'm aligning the 2.4 and 2.5 versions of arch/ia64/hp/common/sba_iommu.c and found a couple nits in the 2.5 version. No functional change, just whitespace, comment, and parameter name changes (and I made one function static). [CPUFREQ] We need to set SGTC when we change powernow-k7 voltage. [CPUFREQ] Work around buggy powernow-k7 BIOSes with low settling times. [CPUFREQ] Powernow-k7 latency timer needs to be in values of 10ns. We were 'slightly' off in our calculations. This increased settling time might actually increase the stability of some setups. [CPUFREQ] Explicitly disable scaling we don't need in powernow-k7 The VIDC/FIDC controls could have been left at 1 from a previous call to one of the scaling routines. Make sure we set them back to 0 to avoid writing garbage into the scaling registers. [power] Optimize pmdisk assembly. - No need to save %ebx, since we replace it with saved version after we restore image. - No need to use long long for the loop counters, since they can't conceivably exeed 32 bits. We can then fit them in general registers, and don't actually have to write them back after each iteration. - Use rep ; movsl to copy each page, instead of copying a byte at a time. This actually makes a noticable improvment when restoring the saved image. This also relieves register pressure by using %esi and %edi, which allows us to kill the loop variables altogether. - Call {save,restore}_processor_state() from the pmdisk C functions. We need to make sure all the counters are set appropriately before and after each path, and we don't _have_ to call them from assembly. [PATCH] USB: unusual device fixup for the Y-E floppy drive. [PATCH] USB: Changes to core/config.c (7 of 9) This patch changes the usb_parse_interface() routine so that it only handles a single interface/altsetting descriptor at a time, rather than trying to handle all the altsettings for an interface at once. Besides shrinking the code slightly, this has the advantage of not requiring the interfaces to be listed in order or all the altsetting descriptors for an interface to be contiguous. While there probably aren't any devices that have _discontiguous_ altsetting descriptors, there's no harm in allowing it -- particularly since doing so provides an overall simplification. This is another of those hard-to-read patches. It moves most of the body of the usb_parse_interface() function out of a loop, thereby changing the indentation level without actually altering the code. [PATCH] USB: Changes to core/config.c (8 of 9) This patch adds some extra error checking. The patch-comments list most it. Particularly worth noting is the check on the endpoint addresses. Since these addresses are used as indexes for the epmaxpacketin and epmaxpacketout arrays, illegal values could result in overwriting unrelated areas of memory. Other noteworthy checks involve interface and alsetting numbers. Since the old code ignored those values, of course it didn't bother to check them. Here we make sure that the numbers lie in the proper ranges and that there are no "missing" entries. Add error checking and improved error messages: Check for invalid endpoint descriptors and invalid endpoint addresses. Check for duplicate interface/altsetting descriptors. Check for invalid configuration descriptors. Check for missing interface/altsetting descriptors. [PATCH] USB: Changes to core/config.c (9 of 9) This patch implements the change discussed last weekend. Rather than allocating separate memory areas for the "extra" descriptors and copying the descriptor contents, it simply makes the "extra" pointers refer to memory within the rawdescriptor arrays. o LLC: create a register interface for llc_station_rcv [PATCH] io scheduler barrier fix From: Nick Piggin This should be the last piece to ensure correct barrier handling for AS and DL? [PATCH] fix keycode for rctrl in scancode set 3 By mistake the keycode for right control in scancode set 3 was the same as that for right alt. This fixes that. [XFS] Fix initialization of inode flags from xfs inode fields. synaptics.c, psmouse-base.c: input: Restore synaptics pad mode on module unload. input.c: input: Don't set autorepeat times in core if already set by driver. atkbd.c: input: Automatic forced release of keys if keyrelease gets lost db9.c: input: Fix Sega Saturn pad support. Input: Big Synaptics update: Restore synaptics pad mode on module unload. Support Synaptics touchpads with multiple buttons. Make Synaptics touchpad support optional. Add passthrough support for Synaptics touchpads. [Dmitry] Add support for old Synaptics protocol. Set mode byte correctly for old Synaptics pads. Fix multibutton support of Synaptics pads. psmouse-base.c: Fix resume of PS/2 mouse. Uses old PM interface at the moment. psmouse-base.c: Change the name od the Synaptics protocol to SynPS/2 psmouse-base.c: Make sure psmouse->pktcnt is zero after passing a byte to be processed by synaptics code. input.h, keyboard.c, evdev.c: Fix the INPUT_KEYCODE macro and its usage. psmouse-base.c: Enlarge the timeout for PS/2 mouse full reset. iforce-usb.c, iforce-packets.c: Fix I-Force sleeping issues. serio.c: claim serio early in serio_open() [ARM] Massive rename of default configuration files. This renames all 48 (800K-ish of) ARM default configuration files, as required by Sam's latest default configuration file system. [ARM] Remove private %_config makefile rule [ARM] Correct comments for abort handler parameters. input: Fix Set3 keycode for right control in atkbd.c input: Fix a warning in input.c when CONFIG_PROC_FS is not set. input: Remove a not necessary #ifdef CONFIG_PROC_FS/#endif in input.c input: Fix memory leak in hiddev.c found by Stanford Checker. input: Fix Kconfig KEYBOARD_ATKBD when SERIO is modular. [XFS] Fix some compile warnings and errors from some long-forgotten 2.4 mods SGI Modid: 2.5.x-xfs:slinx:158642a [ARM] Fix abort handler typo affecting Xscale CPUs. [ARM] Place initial data/code in assembly into the correct section We were mixing some data and code in the processor support assembly files. Place the correct objects into their respective sections. [ARM] Optimise io-readsb for CPUs with delay slots after ldr. [ARM PATCH] 1528/1: big endian support for io-readsb/io-writesb Patch from Nicolas Pitre [ARM] Optimise io-writesl for cpus with ldr result delays. [ARM] Fix AMBA keyboard/mouse driver. Fix the AMBA kmi driver which got broken when the name field was removed from struct device. Change the name used to claim resources to "kmi-pl050". Fix resume method. [ARM] Update mach-types with latest version. [ARM] Update bootp kernel+initrd loader. Drop support for old param struct method, and clean up code. o LLC: rename llc_mac.c to llc_input.c, net/llc_mac.h to net/llc.h Next step: to have llc_build_and_send_ui_pkt in llc_output.c, not using the silly sap state machinery. [power] Cleanup pdmisk header. - Create struct pmdisk_header, which can overlay a union suspend_header, but keeps the swap entry of the suspend header just before the signature (so we can use the full 10 bytes for a signature and don't have to worry about getting too cramped in there). - We also keep a field for the orignal signature. We don't need to change our signature based on what version of swap we're using, we just need to make sure that we reset it correctly. - Get rid of union diskpage::swh, and all ugly casts to get the swap entry for the header. [XFS] Make xfs_ichgtime call mark_inode_dirty_sync instead of mark_inode_dirty makes the just the inode look dirty, and not the inode and the data. SGI Modid: 2.5.x-xfs:slinx:158670a [power] Cleanup pmdisk header info. - Create struct pmdisk_info to hold image metadata (instead of struct suspend_header). - Put swp_entry_t to hold the beginning of the page directory, so we don't have to reserve the last 4/8 bytes at the end of a page for it. - Get rid of union diskpage::sh and all casts to get at it. [power] Clean up pmdisk pagedir "linking". - Remove union diskpage, and replace all casts with explicit casts to 'struct link *' [XFS] Update sysctls - use ints, not ulongs, and show pagebuf values in jiffies like everybody else SGI Modid: 2.5.x-xfs:slinx:158665a [PATCH] Fix a warning in input.c when CONFIG_PROC_FS is not set [PATCH] Remove a not necessary #ifdef CONFIG_PROC_FS/#endif in input.c [PATCH] Fix memory leak in hiddev.c found by Stanford Checker Added "user64" versions of the user access functions that allow modification of 64-bit data. [PATCH] USB: ethtool_ops and ax8817x fixes for usbnet This is a resend of all of my recent usbnet additions which center on adding ethtool_ops support. All have been re-diffed against the latest usbnet from BK. Changes: * Add ethtool_ops support to usbnet * Add GPIO bit toggling upon initialization of ax8817x devices so that xmit works properly * Add Wake-On-Lan and eeprom dump support for ax8817x devices (this only adds the config support for WOL, actual operation is more of a USB/Power Management function) * Change ax8817x_set_multicast to not kmalloc for the filter since there was no clean way to free the memory after URB submit. Instead, we make use of the 20 byte dev->data. o LLC: trim down llc_core to the very basic support needed by IPX et all Renaming the basic support module to llc.ko and introducing llc_core.c, that has just the basic output path for llc_build_and_send_ui_pkt. Next step will be to rename llc_main.c to llc_station.c, then consolidate all the llc station code in this file, removing all the not needed llc_station parameters and killing struct llc_station altogether, no sense in having it as there is just one station, always. BTW in this changeset parts of llc_main_station was already moved to llc_core.c, namely the sap list and lock. o LLC: rename llc_main.[ch] to llc_station.[ch] First step at coalescing the station handling into just one file, killing some useless headers in the process. o LLC: reorganize llc_station.c to kill useless static prototypes o LLC: consolidate the LLC station component into llc_station.c Deleting llc_actn.[ch], llc_evnt.[ch] & llc_stat.[ch], now it is clearly separated from the rest and lots of previously externally visible thru headers stuff is nicely restrained in this file. Also remove the silly passing around of pointers to llc_main_station, use it directly. o LLC: llc_station.h is not useful anymore, kill it Some defines had no place in this header, moved to llc_conn.h, the struct llc_station, that probably will disappear in the near future, is used only in llc_station.c, so remove one more file from the include forest. [IPV4]: In tcp_diag.c, use static, const, and void *, as appropriate. [WAN]: Remove multi-line string literal. [WAN]: Convert taskqueues to workqueues. [NET]: SEQ_START_TOKEN for af_netlink.c [IRDA]: Eliminate skb_linearize() from irda. [IPV4]: Use cpu_relax() in ipconfig.c [IRDA]: proc/net/irda files using seq_file [IRDA]: Convert ircomm to seq_file [WAN]: Use module_exit() in sdladrv. [NET]: More const in skbuff.h [NET]: Remove unneeded includes (tokenring). [SPARC]: One more multi-line string, from Rob Radez. [SPARC]: Down with P3's in srmmu.c [NET]: Remove unneeded includes (skfp). [NET]: Remove unneeded includes (sk98lin). [NET]: Remove unneeded includes (wan, from Randy Hron). [NET]: Remove unneeded includes (hamradio, from Randy Hron). [NET]: Remove unneeded includes (wireless, from Randy Hron). [NET]: Remove unneeded includes (wanrouter, from Randy Hron). [SPARC]: Remove unneeded includes (from Randy Hron). [IPV4]: Fix skb leak in igmp.c [IPVS]: Get rid of register declarations. [IPVS]: Get rid of SEQ_START_TOKEN define. [IPVS]: Use list_for_each_entry macro. [IPVS]: Use time_before/after. [NET]: Deprecate dev_get(). [NET]: Fix bug in dev_get() deprecation patch. [ARM] Fix up includes Remove duplicate includes, ensure that linux/config.h is included where necessary, and linux/config.h isn't included where it isn't needed. kbuild: Escape "'" in cmd macro Building drivers/eisa were broken in non-verbose mode. This has been fixed by escaping "'" for cmd. It was used in $(call cmd,eisaid). Escaping "'" is already done by if_changed, so this brings cmd in line with if_changed [PATCH] depca update I finally found some time to hack the depca driver, in basically the same way I did with the de4x5 driver. The patch is quite big (shuffles a lot of code around, removes lots of global variables), mainly in order to use the driver model on every bus supported by this driver. I also removed the probing from Space.c, so the usual warning about device renumbering applies. Tested on alpha (DE422, EISA) and i386 (two DE201, ISA), built-in and modular. The MCA part is completly untested, since I lack the hardware (no, I do not own every single piece of junk hardware out there... ;-). [PATCH] Unneeded memory barrier in net/irda code [PATCH] replace sppp_of macro with inline Replace macro with inline and get some type checking. [PATCH] janitor: remove unneeded includes (tokenring) From: Randy Hron [PATCH] janitor: remove unneeded includes (sk98lin) From: Randy Hron [PATCH] janitor: remove (or add) unneeded includes From: Randy Hron [PATCH] janitor: remove unneeded includes (skfp) From: Randy Hron [PATCH] janitor: remove (or add) unneeded includes (wireless) From: Randy Hron [PATCH] janitor: remove unneeded includes (hamradio) From: Randy Hron [PATCH] janitor: remove (or add) unneeded includes (drivers/net/) From: Randy Hron [netdrvr] use cpu_relax() in busy loop, or mdelay instead of busy loop Replace busy loop nop with cpu_relax(), and just use mdelay where it's better. [PATCH] get rid of old IRDA drivers. According to Jean the toshoboe and old smc ircc drivers are no longer needed. This patch removes them from 2.6.0-test5 [PATCH] janitor: insert a missing iounmap() From: Leann Ogasawara Subject: [Kernel-janitors] [PATCH] insert missing iounmap() Patch inserts a missing iounmap(). [PATCH] janitor: ns83820 error handling Subject: Re: [Kernel-janitors] [PATCH] insert missing free_irq and fix cleanup path From: Leann Ogasawara On Thu, 2003-09-04 at 13:17, Benjamin LaHaise wrote: > The if()s before free are redundant, turf them and it's good. [IrDA] irda-usb -- dev_alloc cleanout Update irda-usb for 2.6.0-test5 - use alloc_netdev (but can't use dev->priv area cause that is allocated elsewhere). [IrDA] w83977af -- dev_alloc cleanout Yet another irda driver cleanup for 2.6.0-test5 - replace dev_alloc with alloc_netdev - use private data allocated with alloc_netdev - use free_netdev [IrDA] donahoboe -- dev_alloc cleanout Fixes for donauboe for 2.6.0-test5 - replace dev_alloc with alloc_netdev - error unwind cleanup [IrDA] nsc-ircc -- dev_alloc cleanout Cleanup nsc-ircc driver for 2.6.0-test5 - replace dev_alloc with alloc_netdev - use private data allocated with alloc_netdev - error unwind cleanup [IrDA] via-ircc -- dev_alloc cleanout Convert via-ircc 2.6.0-test5 - use alloc_net_dev not dev_alloc - allocate private data at same time - cleanup error unwinds - call free_netdev. Builds and loads, but don't have real hardware. [IrDA] ali-ircc -- dev_alloc cleanout Convert ali-ircc driver to: - use alloc_net_dev not dev_alloc - allocate private data at same time - cleanup error unwinds - call free_netdev. Builds and loads, but don't have real hardware. [PATCH] sealevel wan driver Update sealevel driver to match current net_device interface: - dynamically allocate netdevice and private data. - get rid of MOD_INC/DEC - if_ptr not used - bugfix: not all of board structure was being zeroed. Note: this driver still doesn't probe() correctly since it just assumes that if loaded the hardware is there! Since I don't have one of these boards... tested it by #ifdef'ing out all the bits that touch actual hardware. [PATCH] update arcnet/pcmcia driver Redo of earlier patch to get rid of MOD_INC/DEC and use alloc_netdev. This is against 2.6.0-test5 bk latest. [PATCH] [bonding 2.6] consolidate change_active operations [PATCH] [bonding 2.6] fix assign_current_slave [PATCH] [bonding 2.6] Decouple promiscuous handling from multicast mode setting [PATCH] [bonding 2.6] Add support for changing HW address and MTU [PATCH] [bonding 2.6] Add support for changing HW address in ALB/TLB modes [PATCH] [bonding 2.6] Consolidate /proc code, add CHANGENAME handler [PATCH] [bonding 2.6] Enhance netdev notification handling [PATCH] [bonding 2.6] Add missing free_netdev() [PATCH] [bonding 2.6] Fix ipx_hdr compile error [PATCH] e1000 bug Rick Lindsley wrote: > > since it's been out for a while you probably already know, but the patch > for e1000_main.c has a bug in it. Looks like it will fail at line 1550 if > compiled with NETIF_F_TSO defined. > So it will. I blame the gcc developers. 25-akpm/drivers/net/e1000/e1000_main.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) [PATCH] fix sbni.c compile with gcc 3.3 sbni.c in 2.6.0-test5 fails to compile with gcc 3.3 with the following error: <-- snip --> ... CC drivers/net/wan/sbni.o ... drivers/net/wan/sbni.c: In function `calc_crc32': drivers/net/wan/sbni.c:1568: error: asm-specifier for variable `_crc' conflicts with asm clobber list make[3]: *** [drivers/net/wan/sbni.o] Error 1 <-- snip --> Below is the patch by Margit Schubert-White to fix this issue (it is already in 2.4). cu Adrian [PATCH] [bonding] Convert /proc to seq_file This patch converts /proc/net/bondX/info into /proc/net/bonding/bondX using the seq_file interface. This is based on Stephen's recent patch, but slightly modified to work with the propagation patch set and with some locking changes to make it simpler. The patch applies both on 2.4 (after the sync set from earlier today) and on 2.6 (after the propagation set from 2003/11/9). Amir kbuild/rpm: Fix 'make rpm' and enable use of 'make O=dir rpm' Simplify 'make rpm' a bit, and enable use of rpm in combination with separate output directory. Also added kernel.spec to ignore list [PATCH] hamradio/scc - Update hamradio/scc for 2.6.0-test5 - use seq_file for /proc - get rid of dev_get() - use alloc_netdev Don't have hardware, but can load/unload the module fine. [tokenring] fix breakage in proteon, skisa this one fixes both drivers. They have been broken since the reorganization in June. Unfortunately, my major build platform (alpha) had some issues with later 2.5.X kernels (cache problems causing all kind of funny behaviour), so i waited until these problems had been resolved by the alpha gurus :-/... In the mean time i also upgraded pine. I hope the patch corruption issue is resolved by now. o LLC: use list_for_each_entry in llc_sap_find [wireless airo] fix PCI probe [wireless airo] Fix MIC support with CryptoAPI [PATCH] Road Runner HIPPI driver (rrunner) Small clean up, to use current APIs. kbuild: modpost, corrected check of mmap() From: Kristian Høgsberg Corrected typo in modpost.c. Check the pointer returned, not the pointer to the mmap funtion Avoid type warning for bit operation in atkbd.c [sound/oss i810_audio] sync with 2.4 * increase length of wait for analog-ready * fix printk prefix (cosmetic) * bail out for pure MMIO interfaces, instead of attempting to use it via PIO and hanging the system. [docbook] fix embedded filename in kernel-api docbook doc [docbook] fix docbook build, by closing several unclosed tags [BK] "bk ignore" a ton of docbook-generated output [BK] "bk ignore" generated files that appeared during "make allyesconfig" Don't ask about SERIO selection - let Kconfig select it automatically as needed. [ARM] Avoid using clone syscall from kernel_thread() Don't issue a system call from kernel_thread(), but call do_fork() directly. This avoids all the unnecessary syscall overhead. Fix cputable.c build (missing commas) [PATCH] Move EISA_bus When I change the setting of CONFIG_EISA, everything rebuilds. This is because EISA_bus is declared in which is implicitly included by just about everything. This is a silly place to declare it, so this patch moves it to include/linux/eisa.h. While I'm at it, I also move the variable definition to drivers/eisa/eisa-bus.c. The rest of this patch is fixing up the fallout from having to include if you use EISA_bus. Disable forced keyrelease in atkbd driver. It breaks modifier keys. [PATCH] fix for hidden-task problem It's bad to make (CLONE_THREAD | CLONE_DETACHED) tasks be _completely_ hidden. Resource consumption is hard to track down if a user can hide a task from /bin/ps. This patch, supported by the procps-3.1.13 release, gives admins the ability to search for such tasks. The top-level /proc directory remains uncontaminated. [PNPBIOS] compilation fix for pnpbios without proc support Here's an updated patch that will correct the compile error when PROC FS is disabled. It also introduces better proc error recovery and moves the local proc functions to the local include file. Thanks to Daniele Bellucci for finding the problem and contributing to this patch. [PNP] release card devices on probe failure When a driver's probe routine fails, it may not release all of the card devices it requested. This patch allows the pnp layer to ensure that all devices claimed by the failing driver are released properly. [PNPBIOS] move detection code into core.c This patch moves the detection code to a more appropriate file. [PNP] remove DMA 0 restrictions The original argument for blocking DMA 0 was to avoid conflicts with "memory refresh" but such configurations are only found on very old 8-bit systems that are likely not supported by the linux kernel. This patch allows dma 0 to be assigned to PnP devices by default. If for whatever reason dma 0 cannot be used, one can avoid allocating it by setting the pnp_reserve_dma= kernel parameter. [PATCH] janitor: remove unneeded includes (isapnp) From: Randy Hron [ISAPNP] remove unused isapnp_allow_dma0 modparam It looks like this option has been moved from isapnp to resource.c, but the MODULE_PARM line is still there: patch from: Gerald Teschl [PNPBIOS] return proper error codes on init failure [PNPBIOS] move some more functions to local include file This patch moves some unnecessary global functions to the local pnpbios include file. [PCMCIA] Fix deadlocks caused between PCMCIA card fix and device model The problem was that the semaphore which prevents ds interfering with the sleepy card initialisation (skt_sem in pccardd) is blocking insmod of the socket driver. However, the socket driver is being called with the PCI bus semaphore held by the driver model. pccardd in turn discovered a cardbus card (with skt_sem held), so it is trying to add the PCI devices to the PCI bus, and this requires the driver model to grab the PCI bus semaphore, but its already locked. We move the class device register into pccardd so we get a natural ordering between the ds socket initialisation and pccardd trying to detect inserted cards. We also fix a potential use-after-free caused by rmmod'ing the socket driver before ds has shut down. [PATCH] procfs build fix for older gcc - declarations come first - fix bizarre coding style. [PATCH] ECC support From: "Nakajima, Jun" Split the increasingly messy compiler.h file into per-compiler files and also add support for non-gcc compilers. With the current implementation: include/linux/compiler.h defines the compiler-dependent abstractions which can be overwritten by per-compiler definitions. include/linux/compiler-gcc.h contains the common definitions for all gcc versions. include/linux/compiler-gcc[2,3,+].h contains gcc major version specific definitions. include/linux/compiler-intel.h contains intel compiler specific definitions." [PATCH] real-time enhanced page allocator and throttling From: Robert Love - Let real-time tasks dip further into the reserves than usual in __alloc_pages(). There are a lot of ways to special case this. This patch just cuts z->pages_low in half, before doing the incremental min thing, for real-time tasks. I do not do anything in the low memory slow path. We can be a _lot_ more aggressive if we want. Right now, we just give real-time tasks a little help. - Never ever call balance_dirty_pages() on a real-time task. Where and how exactly we handle this is up for debate. We could, for example, special case real-time tasks inside balance_dirty_pages(). This would allow us to perform some of the work (say, waking up pdflush) but not other work (say, the active throttling). As it stands now, we do the per-processor accounting in balance_dirty_pages_ratelimited() but we never call balance_dirty_pages(). Lots of approaches work. What we want to do is never engage the real-time task in forced writeback. [PATCH] Fix setpgid and threads From: Jeremy Fitzhardinge I'm resending my patch to fix this problem. To recap: every task_struct has its own copy of the thread group's pgrp. Only the thread group leader is allowed to change the tgrp's pgrp, but it only updates its own copy of pgrp, while all the other threads in the tgrp use the old value they inherited on creation. This patch simply updates all the other thread's pgrp when the tgrp leader changes pgrp. Ulrich has already expressed reservations about this patch since it is (1) incomplete (it doesn't cover the case of other ids which have similar problems), (2) racy (it doesn't synchronize with other threads looking at the task pgrp, so they could see an inconsistent view) and (3) slow (it takes linear time with respect to the number of threads in the tgrp). My reaction is that (1) it fixes the actual bug I'm encountering in a real program. (2) doesn't really matter for pgrp, since it is mostly an issue with respect to the terminal job-control code (which is even more broken without this patch. Regarding (3), I think there are very few programs which have a large number of threads which change process group id on a regular basis (a heavily multi-threaded job-control shell?). Ulrich also said he has a (proposed?) much better fix, which I've been looking forward to. I'm submitting this patch as a stop-gap fix for a real bug, and perhaps to prompt the improved patch. An alternative fix, at least for pgrp, is to change all references to ->pgrp to group_leader->pgrp. This may be sufficient on its own, but it would be a reasonably intrusive patch (I count 95 instances in 32 files in the 2.6.0-test3-mm3 tree). [PATCH] reiserfs: large file 32/64-bit truncation fix From: Oleg Drokin Fix trucation-induced large file corruption in reiserfs. [PATCH] Overflow check for i386 assign_irq_vector From: James Cleverdon Some very large systems overflow the array and corrupt memory. A BUG_ON will at least flag the problem until dynamic irq_vector allocation is added. [PATCH] mtrr warning fix w/o proc_fs From: Stephen Hemminger Get rid of warnings (and dead code) if MTRR is compiled without /proc [PATCH] NLS: Remove the nls modules for only alias From: OGAWA Hirofumi This does the following, 1) This removes the nls modules for only alias. For backward compatible, this adds ->alias, and ->alias provides alias of charset. 2) For autoloading the module by the alias, use MODULE_ALIAS mechanism. 3) From changelog of module-init-tools, looks like MODULE_ALIAS needs module-init-tools 0.9.10 or later. So change the "Documentation/Changes". [PATCH] NLS: remove emacs metadata From: OGAWA Hirofumi This elisp was obsolete on recently emacs's cc-mode. And this should be personally set. [PATCH] scheduler infrastructure From: Ingo Molnar the attached scheduler patch (against test2-mm2) adds the scheduling infrastructure items discussed on lkml. I got good feedback - and while i dont expect it to solve all problems, it does solve a number of bad ones: - test_starve.c code from David Mosberger - thud.c making the system unusuable due to unfairness - fair/accurate sleep average based on a finegrained clock - audio skipping way too easily other changes in sched-test2-mm2-A3: - ia64 sched_clock() code, from David Mosberger. - migration thread startup without relying on implicit scheduling behavior. While the current 2.6 code is correct (due to the cpu-up code adding CPUs one by one), but it's also fragile - and this code cannot be carried over into the 2.4 backports. So adding this method would clean up the startup and would make it easier to have 2.4 backports. and here's the original changelog for the scheduler changes: - cycle accuracy (nanosec resolution) timekeeping within the scheduler. This fixes a number of audio artifacts (skipping) i've reproduced. I dont think we can get away without going cycle accuracy - reading the cycle counter adds some overhead, but it's acceptable. The first nanosec-accuracy patch was done by Mike Galbraith - this patch is different but similar in nature. I went further in also changing the sleep_avg to be of nanosec resolution. - more finegrained timeslices: there's now a timeslice 'sub unit' of 50 usecs (TIMESLICE_GRANULARITY) - CPU hogs on the same priority level will roundrobin with this unit. This change is intended to make gaming latencies shorter. - include scheduling latency in sleep bonus calculation. This change extends the sleep-average calculation to the period of time a task spends on the runqueue but doesnt get scheduled yet, right after wakeup. Note that tasks that were preempted (ie. not woken up) and are still on the runqueue do not get this benefit. This change closes one of the last hole in the dynamic priority estimation, it should result in interactive tasks getting more priority under heavy load. This change also fixes the test-starve.c testcase from David Mosberger. The TSC-based scheduler clock is disabled on ia32 NUMA platforms. (ie. platforms that have unsynched TSC for sure.) Those platforms should provide the proper code to rely on the TSC in a global way. (no such infrastructure exists at the moment - the monotonic TSC-based clock doesnt deal with TSC offsets either, as far as i can tell.) [PATCH] sched_clock() for ppc, ppc64, x86_64 and sparc64 Ingo's CPU scheduler update (in -mm kernels) needs a new sched_clock() function which returns nanoseconds. The patch provides implementations for ppc, ppc64, x86_64 and sparc64. The x86_64 version could have overflow issues, the calculation is done in 32bits only with an multiply. But I hope it's good enough for the scheduler The ppc64 version needs scaling: it's only accurate for 1GHz CPUs. [PATCH] CPU scheduler balancing fix From: Nick Piggin The patch changes the imbalance required before a balance to 25% from 50% - as the comments intend. It also changes a case where the balancing wouldn't be done if the imbalance was >= 25% but only 1 task difference. The downside of the second change is that one task may bounce from one cpu to another for some loads. This will only bounce once every 200ms, so it shouldn't be a big problem. (Benchmarking results are basically a wash - SDET is increased maybe 0.5%) [PATCH] CPU scheduler interactivity changes From: Con Kolivas Interactivity scheduler tweaks on top of Ingo's A3 interactivity patch. Interactive credit added to task struct to find truly interactive tasks and treat them differently. Extra #defines included as helpers for conversion to/from nanosecond timing, to work out an average timeslice for nice 0 tasks, and the effective dynamic priority bonuses that will be given to tasks. MAX_SLEEP_AVG modified to change dynamic priority by one for a nice 0 task sleeping or running for one full timeslice. CREDIT_LIMIT is the number of times a task earns sleep_avg over MAX_SLEEP_AVG before it is considered HIGH_CREDIT (truly interactive); and -CREDIT_LIMIT is LOW_CREDIT TIMESLICE GRANULARITY is modified to be more frequent for more interactivetasks (10 ms for top 2 dynamic priorities and then halving each priority belowthat) and less frequent per extra cpu. JUST_INTERACTIVE_SLEEP logic created to be a sleep_avg consistent with giving a task enough dynamic priority to remain on the active array. Task preemption of equal priority tasks is dropped as requeuing with TIMESLICE_GRANULARITY makes this unecessary. Dynamic priority bonus simplified. User tasks that sleep a long time and not waking from uninterruptible sleep are sought and categorised as idle. Their sleep avg is limited in it's rise to prevent them becoming high priority and suddenly turning into cpu hogs. Bonus for sleeping is proportionately higher the lower the dynamic priority of a task is; this allows for very rapid escalation to interactive status. Tasks that are LOW_CREDIT are limited in rise per sleep to one priority level. Non HIGH_CREDIT tasks waking from uninterruptible sleep are sought to detect cpu hogs waiting on I/O and their sleep_avg rise is limited to just interactive state to prevent cpu bound tasks from becoming interactive during I/O wait. Tasks that earn sleep_avg over MAX_SLEEP_AVG get interactive credits. On runqueue bonus is not given to non HIGH_CREDIT tasks waking from uninterruptible sleep. Forked tasks and their parents get sleep_avg limited to the minimum necessary to maintain their effective dynamic priority thus preventing repeated forking from being a way to get highly interactive, but not penalise them noticably otherwise. CAN_MIGRATE_TASK cleaned up and modified to work with nanosecond timestamps. Reverted Ingo's A3 Starvation limit change - it was making interactive tasks suffer more under increasing load. If a cpu is grossly overloaded and everyone is going to starve it may as well run interactive tasks preferentially. Task requeuing is limited to interactive tasks only (cpu bound tasks dont need low latency and derive benefit from longer timeslices), and they must have at least TIMESLICE_GRANULARITY remaining. HIGH_CREDIT tasks get penalised less sleep_avg the more interactive they are thus keeping them interactive for bursts but if they become sustained cpu hogs they will slide increasingly rapidly down the dynamic priority scale. Tasks that run out of sleep_avg, are still using up cpu time and are not high or low credit yet get penalised interactive credits to determine LOW_CREDIT tasks (cpu bound ones). [PATCH] might_sleep diagnostics might_sleep() can be triggered by either local interrupts being disabled or by elevated preempt count. Disambiguate them. [PATCH] Move slab objects to the end of the real allocation From: Manfred Spraul The real memory allocation is usually larger than the actual object size: either due to L1 cache line padding, or due to page padding with CONFIG_DEBUG_PAGEALLOC. Right now objects are placed to the beginning of the real allocation, but to trigger bugs it's better to move objects to the end of the real allocation: that way accesses behind the end of the allocation have a larger chance of hitting the (unmapped) next page. The attached patch moves the objects to align them with the end of the real allocation. Actually it contains 4 seperate changes: - Do not page-pad allocations that are <= SMP_CACHE_LINE_SIZE. This crashes. Right now the limit is hardcoded to 128 bytes, but sooner or later an arch will appear with 256 byte cache lines. - cleanup: redzone bytes are not accessed with inline helper functions, instead of magic offsets scattered throughout slab.c - main change: move objects to the end of the allocation - trivial after the cleanup. - Print old redzone value if a redzone mismatch happens: This makes it simpler to figure out what happened [single bit error, wrong redzone code, overwritten] [PATCH] Remove Documentation/smp.tex Hopelessly out of date [PATCH] AGP warning fix agp_setup() is unreferenced if it's a module. [PATCH] mwave char/Kconfig fix From: Angus Sawyer The mwave driver requires [un]register_char from 8250.c Make sure 8250.c gets compilied. [PATCH] any_online_cpu fix From: William Lee Irwin III any_online_cpu() is required to and with cpu_online_map before attempting to find an online cpu somewhere in the map; this patch adds that logic to the implementation(s) of any_online_cpu(). [PATCH] allow x86 NUMA architecture detection to fail From: Dave Hansen As described in this bug: http://bugme.osdl.org/show_bug.cgi?id=653 , if you enable Summit support and NUMA Discontigmem support but boot on a non-Summit box, the kernel will fail to boot. The problem is that the Summit code can not correctly get the NUMA memory configuration of a flat box. The code to do that is in get_memcfg_numa_flat(), but it never gets called. This patch implements a fallback to the generic NUMA code in get_memcfg_numa_flat() if the Summit detection fails. The patch also adds the necessary bits to the Summit code so that it *knows* when it fails. [PATCH] misc fixes - Remove dead declaration from elevator.h (Nick Piggin) - Fix the scheduler selection boot-time message. "Using anticipatory scheduling io scheduler" is not grammatical. - Remove last use of __SMP__ (Randy Dunlap) [PATCH] reiserfs: add checks from 2.4 into 2.5 From: Oleg Drokin This patch adds more consistency checks to reiserfs (check that transaction is not bigger than journal, check that we reply blocks not beyond fs and check that fs fits the block device). Similar patch was included into 2.4 some time ago. [PATCH] remove duplicate SOUND_RME96XX option From: Adrian Bunk sound/oss/Kconfig in 2.6.0-test5 includes two SOUND_RME96XX entries. [PATCH] istallion: use schedule_work From: "Krishnakumar. R" A missing schedule_task -> schedule_work conversion. [PATCH] file locking memory leak From: Matthew Wilcox This patch fixes a memory leak in the file locking code. Each attempt to unlock a file would result in the leak of a file lock. Many thanks to Martin Josefsson for providing the testcase which enabled me to figure out the problem. [PATCH] fix incorrect argv[0] for init From: Erik Andersen When someone specifies "init=" to select an alternative binary to run instead of /sbin/init, argv[0] is not set correctly. This is a problem for programs such as busybox that multiplex applications based on the value of argv[0]. For example, even if you specify init=/bin/sh" on the kernel command line, busybox will still receive "/sbin/init" as argv[0] and will therefore run init rather than /bin/sh... [PATCH] ens1370 PCI driver naming fix From: Patrick Mochel Two drivers are #including the same .c file. Use them both and we get a sysfs naming clash. [PATCH] Summit sub-arch: Make logical IDs independent of BIOS numbering scheme From: James Cleverdon In forthcoming IBM x445 systems, the physical APIC ID will not follow the simple rule laid out by Intel and encoded into xapic_phys_to_log_apicid. (The BIOS code that sets IDs doesn't work right above 16 CPUs if HT is turned on, so for > 16-way the BIOS will disable HT and repack the physical CPUs into APIC clusters.) Anyway, it's a good idea to make the APIC code more independent of any particular BIOS numbering scheme. This patch allocates logical IDs based on how many CPUs have already been onlined in a particular APIC cluster. [PATCH] wanXL serial card driver From: Krzysztof Halasa This is a driver for SBE Inc. wanXL 4-port sync serial card, second version. [PATCH] floppy cleanup timers/resources on unload From: Zwane Mwaikambo The floppy driver currently can leave pending timers after unloading itself. This bug has a corresponding bugzilla entry at; http://bugme.osdl.org/show_bug.cgi?id=1061 [PATCH] remove /proc/config_build_info From: Zwane Mwaikambo The same info is already available in /proc/version. [PATCH] access_ok is likely From Manfred While trying to figure out why sysv msg is around 30% slower than pipes for data transfers I noticed that gcc's autodetection (3.2.2) guesses the "if(access_ok())" tests in uaccess.h wrong and puts the error memset into the direct path and the copy out of line. So tell the compiler that access_ok() is likely to be true. [PATCH] Update Documentation/block/biodoc.txt From: Nick Piggin This brings biodoc.txt a bit more up to date with recent elevator changes. [PATCH] Fix typo in scripts/postmod.c From: Kristian Hogsberg There's a small typo in scripts/postmod.c [PATCH] Export new char dev functions From: Jonathan Corbet Nobody told me that the failure to export these (like their block counterparts) was anything but an oversight; modules will not be able to use larger device numbers without them. So...this patch exports the new char device functions. [PATCH] hangcheck compile fix From: john stultz Since monotonic_clock() is not defined on every arch yet, this patch insures the hangcheck-timer module (currently the only user of monotonic-clock) is not built where it will not compile. I know, I know. Ideally monotonic_clock() would be implemented on all arches, but I've just not had the time. If any of the non x86/x86-64 folks feel bored, drop me a line. It'd be a fairly easy project. [PATCH] NCR5380 timeout fix From: Wagner_Volanin I have an old Genius Colorpage-SP2 SCSI scanner. It is shipped with a MS-PNR 8bit ISA non-pnp proprietary SCSI card from Microtek. Although its chipset is a NCR53c400a, it wouldn't work with the appropriate driver, always accusing timeout, whatever settings I passed to it. Today I messed a little with the NCR5380.c file in drivers/scsi which is included by the g_NCR5380 driver and I couldn't understand one thing: Why the function NCR5380_poll_politely() returned the value 'r' on success if this value should be '0' case everything went ok... So I changed "return r;" to "return 0;" and after that my scanner worked fine, and was easily detected by SANE, without a single error message. :) I have not the time to delve into the problem further, but I wanted to report this. I couldn't find any counter-effects caused by changing these return values. (Acked by Alan) [PATCH] Incorrect value for SIGRTMAX From: Corey Minyard I was having a problem with signals with POSIX timers, and it turns out that the value of SIGRTMAX is incorrect. Remember that there is no signal 0, so the signals should go from 1-_NSIG. However, SIGRTMAX is defined as (_NSIG-1) in all architectures. The following patch fixes this. This define is only used in drivers/usb/core/devio.c and kernel/posix-timers.c, and both are incorrect without this fix. There's also no check for zero in posix-timers.c, that fix is part of the diff. Also, shouldn't do_sigaction() use this value instead of _NSIG? It's not a big deal, but some architectures have different values for _NSIG and SIGRTMAX. [PATCH] x445: setup_ioapic_ids_from_mpc fix From: James Cleverdon 32-way IBM x445s will have I/O xAPICs with IDs greater than 0xF (0x8 to 0xE isn't enough). This breaks the code in setup_ioapic_ids_from_mpc. However, the entire unique ID check is unnecessary. Only I/O APICs using the serial APIC bus need the unique numbers. Those sending messages through the system bus simply don't use them. [PATCH] deadline insert_here fix From: Nick Piggin Fix fallout from Jens' insert_here removal. Without it its possible that a request on the dispatch list is on the merge hash as well which is bad. I don't _think_ this would happen in any code paths, but I haven't looked too closely. It makes the API a bit less fragile anyway. [PATCH] bio_dirty_fn() page leak fix bio_dirty_fn() needs to drop its ref against each remaining page in the BIO before releasing the BIO. [PATCH] Speed up direct-io hugetlbpage handling This patch short-circuits all the direct-io page dirtying logic for higher-order pages. Without this, we pointlessly bounce BIOs up to keventd all the time. [PATCH] Handle init_new_context failures From: Anton Blanchard If init_new_context fails we definitely do not want to call mmput, because that will call destroy_context against an uninitialised context. Instead we should back out what we did in init_mm. Fixes some weird failures on ppc64 when running a fork bomb. [PATCH] Fix sem_lock deadlock From: Anton Blanchard I saw a lockup where 2 cpus were stuck in sem_lock(). It seems like we can loop back to retry_undos with the lock held. That path takes the lock so we will deadlock. [PATCH] zoran driver documentation fix From: Ronald Bultje the zoran kernel driver is called 'zoran.o' in its CVS (historical thing, I don't know why), and it's called zr36067.o in the kernel tree. The documentation in the kernel tree refers to zoran.o, though, which is (in the kernel tree) the driver for zr36120-based cards, rather than the driver for zr360x7-based cards. The attached patch fixes the documentation and makes it refer to zr36067.o instead. [PATCH] AS oops fix From: Nick Piggin If a request is merged with another, it sometimes has to be repositioned on the rbtree - you just do a delete then an add. This is a quite uncommon case though. I changed the way adding works, so collisions must be handled by the caller instead of being dumbly fixed by the add routine. Unfortunately the uncommon callers weren't handling it properly. [PATCH] kill superflous kdev_t.h inclusions From: Christoph Hellwig now that kdev_t is gone very few places needs this still, the only header of those beeing fs.h [PATCH] move some more initializations out of drivers/char/mem.c From: Christoph Hellwig keeping init order the same.. [PATCH] rio.c: remove TWO_ZERO From: Adrian Bunk Three drivers under drivers/char/ in 2.5.72 use TWO_ZERO for compatibility code with ancient 2.0 kernels. The patch below removes this #ifdef'd code. [PATCH] mlock error handling fix make_pages_present() can fail: propagate that failure back. Spotted by Bill Irwin. [PATCH] fix cciss memory leaks From: Felipe W Damasio Fix a few error-path leaks in the cciss block driver. Bug found by smatch checker. [PATCH] floppy I/O error handling => Oops bad_flp_intr() in floppy.c can cause an Oops if the I/O request is freed but still points into the I/O request block. Get the error count out of the request block before ending the IO. bad_flp_intr() oopsen reports: Andrey: http://marc.theaimsgroup.com/?l=linux-kernel&m=105837886921297&w=2 John: http://marc.theaimsgroup.com/?l=linux-kernel&m=106303650007125&w=2 Barry: http://bugme.osdl.org/show_bug.cgi?id=1033 [PATCH] fix CONFIG_SECURE trouble in thread-aware procfs This fixes the thread-aware /proc for CONFIG_SECURE. [NETFILTER]: Fix parisc64 alignment problems in ipt_physdev.c [IPVS]: Make __ip_vs_svc_lock local and use __user tags. [NETROM]: Timer code cleanup. [ATM]: [eni] Correct way to prevent module unload (from shemminger@osdl.org). [ATM]: [firestream] Allow module refcounting. [ATM]: [idt77252] Get rid of MOD_INC/MOD_DEC. [ATM]: [lanai] Get rid of MOD_INC/MOD_DEC (from shemminger@osdl.org). [ATM]: [uPD98402] Convert to new-style module. [ATM]: [uPD98402] Exported symbols should not be marked __init. [ATM]: [zatm] Correct way to prevent module unload (from shemminger@osdl.org). [NETFILTER]: Use net/checksum.h instead of asm/checksum.h Remove incorrect and unnecessary definition of "errno" that causes link-time duplicate symbol errors. [LLC]: llc_core.c needs linux/init.h o LLC: remove unneeded EXPORT_SYMBOLs from llc_sap Now all is in llc2.ko, so no need for exporting those symbols. Also llc_build_and_send_ui_pkt is now in llc_output.c, where it is being exported. [PATCH] use CLONE_KERNEL This uses CLONE_KERNEL in place of the individual flags, only changing the places where it is an exact match. I strongly suspect that CLONE_KERNEL ought to be used in many more places, but they require a more careful examination. [PATCH] I2C: add the i2c-i810 i2c bus driver This is based on the lmsensor cvs version of the driver, but is cleaned it up and ported it to 2.6. [PATCH] I2C: add the i2c-savage4 i2c bus driver This is based on the lmsensor cvs version of the driver, but is cleaned it up and ported it to 2.6. [PATCH] I2C: add the i2c-voodoo3 i2c bus driver This is based on the lmsensor cvs version of the driver, but is cleaned it up and ported it to 2.6. I2C: clean up the i2c chips Kconfig logic and help information I2C: clean up the drivers/i2c/Kconfig file [PATCH] ia64 sched_clock() implementation. From David M-T. [PATCH] misc fixes - bio_release_pages() should have file-local scope. - don't use spaces in slab names in device mapper, enforce this henceforth in kmem_cache_create(). - Fix alpha header leftover from cpumask_t conversion [PATCH] smbfs NLS fix strut nls_table was changed, but smbfs uses it and was not updated. [power] pmdisk Cleanups - Use statically allocated header and info structures. - Make sure they're packed and page-aligned. - Make read_swapfiles() return an error if we don't find a valid swap device. - Store pagedir swap entries in pmdisk_info, eliminating need for linked-list at the end of each pages. Greatly simplifies code paths for reading/writing. - Remove several passed-around swap entries. - Add full utsname struct to pmdisk_info. - Add some better header checking and debugging information. [power] Remove unused structure in pmdisk. [PATCH] I2C: move i2c-prosavage.c driver to drivers/i2c/busses where it belongs. [PATCH] I2C: clean up i2c-prosavage.c driver Remove direct memory accesses and link up device in the proper place in the sysfs tree. [PATCH] I2C: fix up dependancies in the i2c/busses/Kconfig file [PATCH] I2C: move the i2c-philips-par driver to drivers/i2c/busses [PATCH] shared signals require shared VM Elimination of this nonsense allows for the assumption that a task group shares VM. This lets procps run faster. [PATCH] I2C: clean up i2c-philips-par.c driver a bit Fix bug when registering the i2c_adap as the structure was not set to 0. [PATCH] I2C: move i2c-elv.c driver to drivers/i2c/busses [PATCH] I2C: clean up the i2c-elv.c driver a bit I2C: move i2c-elektor.c driver to drivers/i2c/busses/ [PATCH] I2C: move i2c-velleman driver to drivers/i2c/busses [PATCH] I2C: move the scx200* drivers to drivers/i2c/busses [PATCH] I2C: move the remaining i2c bus drivers to drivers/i2c/busses [PATCH] I2C: remove check_region usage and warning from i2c-sensor [PATCH] I2C: sysfs sensor nameing inconsistency > That's what you are going to have to set the name file to in the > i2c_client structure, much like your patch did. Then look at the > different name files in each device directory to see what kind of device > it is (chip, subclient, etc.) OK attached patch sets all names to just chip name for chips themselves and "chipname subclient" when subclient ios registered. [PATCH] ia64: bail out of sba_init() if no hardware found This patch against 2.5 gets rid of the following annoying but harmless messages when booting a generic kernel on a non-ZX1 box: No IOC for PCI Bus 0000:00 in ACPI No IOC for PCI Bus 0000:01 in ACPI ... We just forgot to bail out of the SBA IOMMU init function if it didn't find any SBA hardware. [PATCH] I2C: remove I2C_VERSION and I2C_DATE as they make no sense in the kernel tree. [PATCH] Memory leak in ixj_pcmcia driver Found by checker (David Yu Chen @Stanford) PPC32: Minor cleanups. PPC32: Move PowerPC Book E (and IBM 40x) register definitions to their own fil e. ia64: Based on patch by Jess Barnes: split up memory-initialization from kernel/setup.c into two separate files: mm/{dis,contig}.c to handle contiguous vs. discontiguous memory layouts. [PATCH] md: Don't setup make_request_fn for md array until *after* it has been started Also revert to md_fail_request before stopping an array. The ->stop method can never fail, so there is not point checking it. [PATCH] md: MODULE_ALIAS for md From: Rusty Russell [PATCH] md: change 'or' to 'plus' in raid1 Silly typo. [PATCH] knfsd: Fix cmsg setup for sock_sendmsg in svc_sendto From: Trond Myklebust ... see the code in ip_sockglue.c + the macros in socket.h.... AFAICS the control messages have wierd alignment requirements. [PATCH] knfsd: NFS4XDR get rid of warning There is a warning because of calling return with an argument on a void function. The root cause is putting a return statement in a macro (evil side effect). Change ENCODE_SEQID_OP_TAIL to be a more proper macro, change all calling functions to return void. [PATCH] knfsd: idempotent replay cache for OPEN state This implements the idempotent replay cache need for NFSv4 OPEN state. each state owner (open owner or lock owner) is required to store the last sequence number mutating operation, and retransmit it when replayed sequence number is presented for the operation. I've implemented the cache as a static buffer of size 112 bytes (NFSD4_REPLAY_ISIZE) which is large enough to hold the OPEN, the largest of the sequence mutation operations. This implements the cache for OPEN, OPEN_CONFIRM, OPEN_DOWNGRADE, and CLOSE. LOCK and UNLOCK will be added when byte-range locking is done (soon!). [PATCH] knfsd: nfsdv4 byte range locking - prepatation From: "William A.(Andy) Adamson" This renames some structures and functions that can be used for byte-range locking as well as for the exiting open share locks, and does some cleanup. [PATCH] knfsd: nfsd byte range locking - LOCK From: "William A.(Andy) Adamson" This implements the nfsv4 LOCK operation. [PATCH] knfsd: nfsdv4 byte range locking - LOCKT From: "William A.(Andy) Adamson" This implements the LOCKT operation. [PATCH] knfsd: nfsdv4 byte range locking - LOCKU From: "William A.(Andy) Adamson" This implments the LOCKU operation. These all pass the connectathon lock test suite against the solaris nfsv4 client. [PATCH] dm: Use new format_dev_t macro Use the format_dev_t function for target status functions. [PATCH] dm: Drop extra table ref-count When multiple load ioctls are issued the reference count on older 'new_tables' wasn't being dropped. [Christophe Saout] [PATCH] dm: Move retrieve_status function Move retrieve_status up so dev_wait() can use it. [PATCH] dm: Return table status for dev_wait dev_wait was meant to return table status not dev status. [Alasdair Kergon] [PATCH] dm: Message fix in dm-linear Fix error message when linear targets gets handed more than 2 arguments. [Alasdair Kergon] [PATCH] dm: Support arbitrary number of target params Support an arbitrary number of target parameters. [Alasdair Kergon] [ATM]: [he] Possibly using corrupted structure (from felipewd@terra.com.br) [IPVS]: Fix errors in list_for_each changes. [NET]: rtnetlink -- rtattr_strcmp const args. [NET]: rtnetlink -- RTA_PUT unlikely. [NET]: rtnetlink -- ASSERT_RTNL and BUG_TRAP. Change ASSERT_RTNL and BUG_TRAP - unlikely to occur - tag message as error - dump_stack in ASSERT_RTNL to aide finding code path - make all format's which a smart compiler can optimize [I2C]: Several drivers forget to include asm/io.h [ARM] Add sched_clock() (comments by rmk, patch from Holger Schurig) sched_clock() needs to be provided by all architectures - this cset adds support for ARM. [PATCH] x86-64 merge - Fix -funit-at-a-time compilation and enable it when possible - Remove -finline-limit as it should not be needed anymore. - Update defconfig - Fix Makefile bug that caused a recompilation of vsyscall.so on every make (thanks to Sam Ravnborg) - Add beginning of asm/dwarf2.h to support assembler CFI directives (not complete yet) - Remove old PDAREF macro from entry.S - Remove clever and buggy code in sys_ioperm/set_bitmap and replace it by simple and working code - Don't make acpi_disabled __initdata. It is referenced after boot. - Fix TLB size reporting in /proc/cpuinfo - Cleanup oops printing a bit - Add "executive summary" at end of oopses - Reenable interrupts on oopses before calling do_exit - Remove some unneeded prefetches. Just two are enough to kickstart the hardware prefetcher. - Add prefetch workaround (based on code from Richard Brunner) - Clean up signal checking in do_page_fault - Don't allow modify_ldt to set 64bit codesegments - Readd SIGEV_PAD_SIZE (Stephen Rothwell) - Add some likelys to uaccess.h (idea from Manfred Spraul) [PATCH] Minor K8 fix for oprofile K8 can run with a 32bit kernel too. If that's the case we have to tell user space about it. Remove the unneeded ifdef. In that case the CPU is called "x86-64/hammer" even on 32bit. This is not strictly true on i386, but it's the named used by the current oprofile user space for K8 performance counters and it would complicate things to use different names between 32bit and 64bit. s/Dell Computer Corporation/Dell Inc./ Necessary due to company name change. [NET]: No need for alloc_divert_blk in Space.c [NET]: Fix inaccurate comments in Space.c [NET]: Fix boot param string setup in Space.c [ATM]: If CLIP is not enabled, try_atm_clp_ops() should always fail. [PATCH] prepare for 32-bit dev_t: reiserfs/procfs.c fs/reiserfs/procfs.c made sane. It used to store dev_t of filesystem in the proc_dir_entry->data (which is void *) and played very odd games after that. Switched to seq_file, stores pointer to superblock, uses sget() to validate it, avoids use of dev_t completely. [PATCH] prepare for 32-bit dev_t: drm debugging printks added old_encode_dev() in drm debugging printks, so they won't change when we go for bigger dev_t. [PATCH] prepare for 32-bit dev_t: XFS sanitized dev_t use in debugging printks in XFS, switched their bhash to use of struct block_device, added old_encode_dev() in XFS statfs() (it had stored dev_t in ->fs_id[0]) [PATCH] prepare for 32-bit dev_t: tty usage tty->device had been used only in a couple of places and can be calculated by tty->index and tty->driver. Field removed, its users switched to static inline dev_t tty_devnum(tty). [PATCH] prepare for 32-bit dev_t: NFS NFS made dev_t-agnostic. Aside of minor fixes in debugging printks, and adding old_encode_dev()/old_decode_dev(), the main part is in handling of exports with large dev_t. New fhandle format introduced, fh_verify(), fh_compose() and exports cache taught to deal with it. Format is used when ->s_dev of exported fs doesn't fit into 256:256; in that case we put major and minor in separate words in fhandle; ->fh_fsid_type is set to 2. [PATCH] prepare for 32-bit dev_t: JFS Added missing old_encode_dev() in JFS. [PATCH] prepare for 32-bit dev_t: jffs2 cleanups Minor cleanup of jffs2 fill_super. [PATCH] prepare for 32-bit dev_t: md.c cleanups Minor cleanups in md.c + added old_decode_dev() on ioctl argument in there. [PATCH] prepare for 32-bit dev_t: dm-ioctl-*.c Added old_encode_dev()/old_decode_dev() in dm-ioctl-*.c [PATCH] prepare for 32-bit dev_t: misc cleanups [PATCH] prepare for 32-bit dev_t: mknod()/ustat() Changed sys_mknod() prototype to have unsigned int passed to it instead of current dev_t. Added old_decode_dev() in sys_mknod() and made sure that its callers are passing it old_encode_dev() Switched sys_ustat() and its variants from dev_t to unsigned (and added old_decode_dev()). Took care of assignments to ROOT_DEV - again, old_decode_dev(). Late-boot search in devfs (call sys_newstat() and compare with st_rdev) also updated. [PATCH] prepare for 32-bit dev_t: loop.c Added old_encode_dev() in loop.c [PATCH] prepare for 32-bit dev_t: CODA Added old_encode_dev()/old_decode_dev() in CODA code - on assignments to/from ->va_rdev. [PATCH] prepare for 32-bit dev_t: stat() Added old_encode_dev() to assorted stat() variants. Fixed bug in s390 emulation on s390x: stat64() should never truncate UID and GID. Ditto for i386 emulation on x86_64. Replaced dev_t in various struct stat with explicit integer type. Replaced __kernel_dev_t with __old_kernel_dev_t in dm-ioctl-v1.h Now we are free to change dev_t in any way we want - on all boundaries we have explicit conversions. Took __kernel_dev_t definition to linux/types.h and changed it with __u16. We are ready to proceed to 32bit now. [PATCH] 32-bit dev_t: internal use Starting the conversion: * internal dev_t made 32bit. * new helpers - new_encode_dev(), new_decode_dev(), huge_encode_dev(), huge_decode_dev(), new_valid_dev(). They do encoding/decoding of 32bit and 64bit values; for now huge_... are aliases for new_... and new_valid_dev() is always true. We do 12:20 for 32bit; representation is compatible with 16bit one - we have major in bits 19--8 and minor in 31--20,7--0. That's what the userland sees; internally we have (major << 20)|minor, of course. * MKDEV(), MAJOR() and MINOR() updated. * several places used to handle Missed'em'V dev_t (14:18 split) manually; that stuff had been taken into common helpers. Now we can start replacing old_... with new_... and huge_..., depending on the width available. MKDEV() callers should (for now) make sure that major and minor are within 12:20. That's what the next chunk will do. [PATCH] 32-bit dev_t: switch-over Real conversion to 32bit dev_t. Expansion to: * mknod() - 32 * newstat() - 32 on 64bit platforms * stat64() - 32 on mips, 64 on everything else (mips has weird struct stat64 and can't get more than 32 bits). Note that right now the difference is purely theoretical - we don't have internal values above 32 bits, so huge_... vs. new_... only marks the places where 64bit conversion will need extra work. * arch-dependent stat variants - depending on width available. * ustat et.al. - 32 * filesystems that can handle 32 bits right now - 32 * ext2 and ext3 - 32, with large dev_t inodes having 0 in the first element of i_data[] (where we store dev_t value for small device numbers) and keeping the value in the second element. * nfsd - 32; it can be driven to 64, but we'll get several issues with NFSv2 support. * RAID - 32 * devmapper - with v1 it's still 16 (nothing to do here), with v4 it's 64. * loop - 64 * initramfs - 32 * do_mounts code - 32. Parts that scan devfs tree are using newstat() on 64bit platforms and stat64() on the rest (IOW, the latest stat variant on given platform). * old_valid_dev()/new_valid_dev() added where needed (stat variants, mostly - we fail with -EOVERFLOW if values do not fit). [SPARC]: Make atomic_read() take const. PPC32: Cleanup of SPR handling in ppc_htab.c [PATCH] ide-cd cgc command bug From Szombathelyi György This fixes a problem where the residual data count isn't being set correctly. [PATCH] cdrom memory leaks From Szombathelyi György This fixes a memory leak in the uniform cdrom layer. ia64: Improve comment for reserve_memory(). ia64: Mark access_ok() as likely to succeed (as is done in x86 tree). [PATCH] I2C: remove the isa address check alltogether. [PATCH] I2C: move the i2c algorithm drivers to drivers/i2c/algos [LLC]: llc_output.c needs linux/trdevice.h [PATCH] I2C: add eeprom i2c chip driver. This is based on the i2c cvs driver, but ported to 2.6 and rewritten to use the sysfs binary file interface. [PATCH] 3ware driver update This fixes several things including fixing the character ioctl polling to use wait_event_interruptible_timeout() instead of interruptible_sleep_on_timeout() and several other fixes. These changes were already applied to 2.4.22. PPC32: Further cleanups to the ppc_htab code. [PATCH] USB: Remove setting TASK_RUNNING after schedule_timeout in /drivers/usb/ [PATCH] USB scanner driver: use static declarations Use static declarations for usb_scanner_init/usb_scanner_exit (Daniele Bellucci). [PATCH] USB scanner driver: report back return codes Report back return codes of usb_register and usb_usbmit_urb instead of -1 or -ENONMEM (Daniele Bellucci). [PATCH] USB scanner driver: balancing usb_register_dev/usb_deregister_dev Balancing usb_register_dev/usb_deregister_dev in probe_scanner when a fail condition occours (Daniele Bellucci). [PATCH] USB scanner driver: new device ids Added vendor/product ids for Canon, HP, Microtek, Mustek, Siemens, UMAX, and Visioneer scanners. [PATCH] USB scanner driver: added USB_CLASS_CDC_DATA Added test for USB_CLASS_CDC_DATA which is used by some fingerprint scanners. [PATCH] USB: improve debugging logging during suspend and resume Here's a simple patch to improve logging during suspend and resume. [PATCH] USB: Minor cleanups in usb_serial_probe - on "probe" failure report back its return code rather than -ENODEV [PATCH] USB: Memory Leaks on Error Paths of usb-midi [PATCH] USB: usb "ether" net gadget Minor updates: - Reduce memory utilization in two ways: * Dynamically, by pre-allocating all the usb_request objects that will be used; if the pre-allocated ones are in use, then tx will throttle down. This behaves better under heavy load. * Statically, by pre-allocating fewer such requests in the typical "no DMA queueing" case ... the best we can do is make sure that when the next completion IRQ fires, the controller already has a transfer ready. Having queues deeper than two elements only helps if the CPU doesn't need to start each transfer by hand (as with net2280). - Diagnostics look more like other network driver diagnostics; they use the network interface name. [PATCH] USB: usb gadgetfs updates Some small updates: - Sometimes read requests can be satisfied directly from the OUT fifo. This fixes a bug where the return code from usb_ep_queue() overwrite the transfer status, which in that case was set _before_ that call returned. (Synchronous behavior; not the usual async completion.) - In the same vein, usb_ep_dequeue() doesn't need to be synchronous -- though so far most controller drivers have implemented it that way. So drop the spinlock before the wait_event() sleep. - Some debug messages are more useful AFTER the event than before. - The only descriptor fetches user mode drivers will need to handle are for string descriptors. Stall all other requests, like ones for other-speed configs on single-speed devices. [NET]: Unlink qdiscs in qdisc_destroy even when CONFIG_NET_SCHED is not enabled. [PATCH] 32-bit dev_t fixups Argh. A couple of places where we needed ..._encode_dev() had been lost in reordering the patchset - the most notable being ctty number in /proc//stat. Fix follows: [PATCH] slab: hexdump structures when things go wrong From: Manfred Spraul - Remove cache_alloc_one_tail and cache_alloc_listfixup - there is no reason for their existance. - Print a bit more debugging info when slab corruption is detected. [PATCH] Try harder in IRQ context before falling back to ksoftirqd From: "David S. Miller" It's from Ingo Molnar. ksoftirqd kicks in way too early, so do more work in interrupt context before falling back. We can probably sysctl this thing, that way everyone gets what they want probably... (has been in -mm since 2.5.71 and I haven't heard a peep). [PATCH] mark devfs obsolete From: Christoph Hellwig Richard hasn't touched it for about a year and since then only bugfixes and my changes to the kernel interface went in. No one has stepped up to maintain it and with udev we have a proper replacement now. I will do some more work before 2.6 (mainly trying to implement Al's refcounting scheme to avoid stale entries), but that's it. [PATCH] kill some leftovers from the big sysrq syncing rewrite From: Christoph Hellwig Some junk which was needed before we did the big cleansweep for the sysrq syncing stuff. [PATCH] add -Wdeclaration-after-statement From: John Levon Not that many people are going to be using GCC 3.4 currently, but it might help a bit to prevent compilation bugs like that just witnessed in procfs. (And it consolidates the check_gcc implementation nicely) [PATCH] disallow utime{s}() on immutable or append-only files From: Ethan Benson Currently Linux allows the use of the utime() and utimes() syscalls on immutable or append-only files, this is incorrect. utime{s}() is not supposed to work if you lack write access to a file, in the case of an immutable file NOBODY has write access. for an append-only file it only makes sense to be able to update its time to present, not the past. I have checked BSD, and they implement the behavior I propose, for immutable files utime() and utimes() fail. for append-only files they fail if the time argument is not NULL. [PATCH] switch remaining serial drivers to initcalls From: Christoph Hellwig All drivers that compile on ppc with CONFIG_ISA set (= all but some m68-only drivers), I looked at the compile warnings very closely and there are no new warnings or even errors this time :) drivers/char/Makefile needed to be reordered big time to keep the intialization order the same. [PATCH] misc fixes - modules need blk_rq_prep_restart() (Florian Schanda ) - Remove unneeded inclusions from configs.c (Randy Dunlap) - The agp_setup() ifdef was backwards (Stephen Hemminger ) - makefiles.txt typo fix (Paolo Ornati ) [PATCH] Hugetlb FS quota accounting problem From: "Chen, Kenneth W" We found a problem in hugetlbfs file system quota when using huge page via mmap. The mmap method in hugetlbfs_file_operation always takes quota for every mmap even for pages that are already allocated on that inode. This results in taxing the same hugepage multiple times and causing mmap to fail on existing file when quota mistakenly runs out. [PATCH] make CONFIG_HUGETLB_PAGE mirror CONFIG_HUGETLBFS At present you can set CONFIG_HUGETLB_PAGE and not CONFIG_HUGETLBFS, which give the kernel low-level hugepage support, but no userspace API with which to access it. And with the recent hugetlbfs-accounting fix, the low-level code needs functions which are in hugetlbfs, so CONFIG_HUGETLBFS=n, CONFIG_HUGETLB_PAGE=y doesn't even link. So we flip things around: CONFIG_HUGETLB_PAGE is set if CONFIG_HUGETLBFS is set and CONFIG_HUGETLB_PAGE is unset if CONFIG_HUGETLBFS is unset. The CONFIG_HUGETLB_PAGE option hence disappears from the per-arch configuration menus. [PATCH] setuid clearing fix From: Andries.Brouwer@cwi.nl jpcartal@free.fr writes: I noticed that contrary to what was happening with 2.4.x kernel, suid root files don't loose their suid bit when they get overwritten by a normal user (see example below) Is this the intended behaviour or a bug ? Example : [root@localhost test]# chown root ~cartaljp/test/suid_test [root@localhost test]# chmod 4775 ~cartaljp/test/suid_test [root@localhost test]# exit [cartaljp@localhost test]$ cp /bin/ls suid_test [cartaljp@localhost test]$ ls -l total 72 -rwsrwxr-x 1 root cartaljp 67668 Sep 19 07:56 suid_test <- Suid bit is still set whereas with 2.4.x kernel it was reset. Yes. Here 2.4 had the terrible code mode = (inode->i_mode & S_IXGRP)*(S_ISGID/S_IXGRP) | S_ISUID; while 2.6 does things via notify_change(). However, in 2.6 notify_change() does not allow removal of the SUID bit because you are not owner of the file :-). So, we have to convince inode_change_ok() to do it anyway. [PATCH] remove CONFIG_SERIAL_21285_OLD From: Adrian Bunk CONFIG_SERIAL_21285_OLD depends on the non-existent option CONFIG_OBSOLETE, IOW it's not selectable, and the help text says "This is obsolete and will be removed during later 2.5 development.". [PATCH] DAC960: remove redundant (and uninitialized) From: Dave Olien this patch fixes a bug that appeared only on Alpha hardware with DAC960 controllers. The Command->PciDevice structure member was never initialized. This was passed to the pci scatter/gather functions. This didn't cause a problem for x86 platforms because the scatter/gather funtions never really used that information. Alpha platforms do use that pointer. The Command->PciDevice field was also redundant with the Controller->PCIDevice field, which IS initialized properly. So, eliminating the redundant structure member and substituting the Controller's member fixes the bug. [PATCH] wanxl compile and warning fixes From: Krzysztof Halasa Fix wanxl for older gcc's, and fix a couple of warnings. [PATCH] use "normalized" syntax for lgdt/lidt From: "Randy.Dunlap" Use common (normalized) asm syntax for lidt/lgdt, specifying that the operand is an input value instead of output. [PATCH] asm/softirq.h is dead From: Christoph Hellwig Still three arches keep an unused copy around and quite a few places refer to it in comments still. Two of the two arches also include it in their _ksyms.c file, but given that softirq.h only contains macros (which are in hardirq.c as well) that's just a leftover as well. [PATCH] SELinux leak fixes From: Stephen Smalley I believe that the patch below fixes the legitimate leaks in the SELinux code. In some cases, it rearranges the code (moving the allocation later to reduce the need for further cleanup or linking the object into a containing structure earlier so that the policydb_destroy will handle it upon any subsequent errors). [PATCH] 32-bit dev_t fallout: mips/kernel/sysirix.c Fix for typo in arch/mips/kernel/sysirix.c (spotted by Milton Miller) [PATCH] 32-bit dev_t: md fallout This fixes a NULL ptr dereference in md_probe() noted by Helge Hafting. It even gets the things slightly better than they used to be, but late-boot magic in md.c is certainly a mess. Oh, well... It's _ugly_. md_probe() is misused there big way. The minimal fix is to revert the cleanup in md_probe() - replace int unit = *part; with int unit = MINOR(dev); However, that is crap solution. The problem is that md_probe() is called directly with bogus arguments - not only part is NULL (which triggers the oops), but dev (which is supposed to be dev_t value) is actually mdidx(mddev). Cleaner fix follows, but we really need to get the situation with gendisk allocations into the sane shape there. Sigh... PPC32: Add a uImage boot target. [netdrvr sk98lin] Remove useless configure options here is a new version of the sk98lin driver (v6.18) with some changes for kernel 2.6.0-test4. This is a diff between the latest patched kernel version with sk98lin driver v6.17. Patch 1/3 * Remove bogus config stuff [netdrvr tlan] netif_carrier_* support sd.c: be more cautious in asking for mode page 8 data, sanity-checking the information more carefully. The old code basically just used a random-number approach to determine how much to read. [PATCH] USB: Remove modules.txt drivers_usb_net_Kconfig [PATCH] USB: Remove modules.txt drivers_usb_host_Kconfig [PATCH] USB: Remove modules.txt drivers_usb_image_Kconfig [PATCH] USB: Remove modules.txt drivers_usb_misc_Kconfig [PATCH] USB: Remove modules.txt drivers_usb_class_Kconfig [PATCH] USB: ftdi_sio - new vid/pid for OCT US101 USB to RS-232 converter Here are a couple of patches against a copy of Greg's usb-2.4 and usb-2.5 bk trees to add a VID/PID for Omnidirectional Control Technology's US101 USB to RS-232 converter. This has also been rebadged by Dick Smith Electronics (New Zealand) as a XH6361 USB to serial converter. Thanks to Donald Gordon for the info, which I have verified by checking the Windows INF files. [PATCH] I2C: remove unneeded #defines in the eeprom chip driver. [PATCH] Avoid /proc/{ioports,iomem} truncation The current seq_file code for resource handling will truncate the output if it overflows the seq_file buffer (one page). That's because it tries to traverse the resource tree in one big blob. So change that to instead traverse the resource tree one entry at a time and have a real iterator, and clean it up a bit. DRI CVS merge: add DRM(calloc)() function, and remove unnecessary TLB flush after vmap. DRI CVS merge: whitespace cleanups for i810_dma.c DRI CVS merge: r128 driver private function cleanup DRI CVS merge: radeon driver update This cleans up the PCI vs AGP GART handling, and turning the PCI GART hardware on and off. [PATCH] USB: usb_set_configuration() rework (v2) This is the latest update of the patch resolving bugs in how device configurations were reflected in the driver model. It addresses the last significant problems I know about in that area. - Moves code around so that usb_set_configuration() updates sysfs to reflect the current configuration. Previously, that only worked right for the initial configuration chosen by khubd. * Previous interfaces are inaccessible. The code to handle this moved from usb_disconnect() into usb_disable_device(), which is now called both on disconnect and set_configuration paths. * There are new interfaces. The code to handle this moved from usb_new_device() into usb_set_configuration(). * Resolves a double-refcount problem with USB interfaces, by not getting the extra reference in the first place and switching to use device_del() to disable interfaces. * Comments a similar double-refcount problem with usb devices (not interfaces). Its kerneldoc is updated appropriately. The main point being that calling usb_set_configuration() in driver probe() methods is even more of a no-no, since it'll self-deadlock. - Sysfs names for USB interfaces now include the configuation number, so that user mode code can't get as easily confused. Old style: "3-1:0" for configs 2 and 3 (interface zero). New style: "3-1:2.0" for config 2, "3-3:3.0" for config 3. - Moves usb_new_device() code around a bit, so that the device is visible in sysfs before usb_set_configuration() is called. (Before the devices for that config's interfaces appear.) - Makes the bConfigurationValue be writable through sysfs, so device configurations can be easily changed from user mode. (Or devices can be de-configured, by setting config 0.) There are devices that can benefit from this functionality; notably, cdc-acm modems need it right now, so that they can be told to use the non-proprietary configuration. (Since the old "change config in probe callback" trick won't work.) [PATCH] USB: remove misleading FIXME comment added by previous patch. [PATCH] do_brk() bounds checking check that the brk value lies in bounds. [PATCH] Kconfig fixes for modules.txt Kconfig cleanup megapatch from Nicolas Kaiser . modules.txt no longer exists, and the common wording used to refer to it sucks. This is all by Nicolas Kaiser's: at Randy and Matthew's request, "say M" changed to "choose M" (more sense for graphical front ends, too). [PATCH] Futex lock division From: "Hu, Boris" Andrew reminded me of this. Simple change to split the futex lock into a per-hashchain lock. Don't bother cacheline aligning: Jamie points out that increasing FUTEX_HASHBITS would have more payoff. Ulrich Drepper reports 6% improvement in on a 4way futex-thrashing benchmark. [PATCH] Futex hash improv and minor cleanups Minor changes to Jamie & Hugh's excellent futex patch. 1) Remove obsolete comment above hash array decl. 2) Clarify comment about TASK_INTERRUPTIBLE. 3) Andrew Morton says spurious wakeup is a bug. Catch it. 4) Use Jenkins hash. 5) Make hash function non-inline. [PATCH] Pad statvfs in compat layer glibc assumes that the padding in statvfs() is zeroed. Do this in the compat layer too for future safety. PPC32; Added "user64" versions of the user access functions that allow modification of 64-bit data. [NET]: Kill a dead extern in net/core/dev.c [IPV4]: Fix GRE tunnel device init. [NETFILTER]: Eliminate duplicate definition in ip_nat.h [NET]: Add and use PKT_CAN_SHARE_SKB instead of (void *) 1. ALSA CVS update D:2003/08/25 08:53:37 C:ALSA Core A:Jaroslav Kysela F:core/info.c:1.39->1.40 L:Jeff Muizelaar L:The attached patch cleans up the usage of the size variable and removes size1. ALSA CVS update D:2003/08/27 17:04:36 C:AC97 Codec Core A:Takashi Iwai F:pci/ac97/ac97_patch.c:1.18->1.19 L:- define AD198x bits. L:- enable AD-compatible mode on AD1985. ALSA CVS update D:2003/08/27 17:05:36 C:Documentation A:Takashi Iwai F:Documentation/OSS-Emulation.txt:1.4->1.5 L:added descriptions for whole-frag and no-silence commands. ALSA CVS update D:2003/08/27 17:12:03 C:Documentation,VIA82xx driver A:Takashi Iwai F:Documentation/ALSA-Configuration.txt:1.15->1.16 F:pci/via82xx.c:1.46->1.47 L:- use dxs_support=3 (48k fixed) as default, since there are so many problems L: with dxs_support=0. L:- added kernel boot parameter for dxs_support option. ALSA CVS update D:2003/08/27 17:17:31 C:AC97 Codec Core A:Takashi Iwai F:include/ac97_codec.h:1.31->1.32 F:pci/ac97/ac97_codec.c:1.101->1.102 F:pci/ac97/ac97_local.h:1.1->1.2 F:pci/ac97/ac97_patch.c:1.19->1.20 L:- added the support for stereo mute switches on AD198x. L:- clean up of creation routines of normal stereo controls. ALSA CVS update D:2003/08/27 17:44:23 C:PPC PMAC driver,PPC Tumbler driver A:Takashi Iwai F:ppc/pmac.c:1.23->1.24 F:ppc/tumbler.c:1.22->1.23 L:- initialize tumbler/snapper audio via gpio before i2c initialization. L:- enabled capture on snapper. don't know whether it works :) ALSA CVS update D:2003/08/28 16:07:26 C:Documentation,VIA82xx driver A:Takashi Iwai F:Documentation/ALSA-Configuration.txt:1.16->1.17 F:pci/via82xx.c:1.47->1.48 L:- added the check of DXS supports (so far, empty). L: the default value of dxs_support is again 0. L:- fixed the description. ALSA CVS update D:2003/08/28 16:36:44 C:AC97 Codec Core A:Takashi Iwai F:include/ac97_codec.h:1.32->1.33 F:pci/ac97/ac97_codec.c:1.102->1.103 F:pci/ac97/ac97_patch.c:1.20->1.21 L:- added the detection of revision of ALC650 chip by L: James Courtier-Dutton L:- fixed the patch_alc650() to refer to the detected revision. L:- detect the availability of stereo mute bits in snd_ac97_cmute_new(). ALSA CVS update D:2003/08/29 10:22:27 C:EMU10K1/EMU10K2 driver A:Takashi Iwai F:include/emu10k1.h:1.30->1.31 F:pci/emu10k1/emu10k1.c:1.20->1.21 F:pci/emu10k1/emufx.c:1.37->1.38 F:pci/emu10k1/emupcm.c:1.21->1.22 L:Peter Zubaj : L:- Added the support of AC3 passthrough on Audigy. L: L:James Courtier-Dutton : L:- Use different driver name for Audigy2. ALSA CVS update D:2003/08/31 20:47:16 C:PCM Midlevel A:Jaroslav Kysela F:core/pcm_native.c:1.78->1.79 L:get_page() fix ALSA CVS update D:2003/09/01 10:20:56 C:ICE1712 driver A:Takashi Iwai F:pci/ice1712/aureon.c:1.2->1.3 L:fixed the SPDIF bit on aureon boards. L:spdif out should work now. ALSA CVS update D:2003/09/01 10:53:26 C:AC97 Codec Core A:Takashi Iwai F:include/ac97_codec.h:1.33->1.34 F:pci/ac97/ac97_patch.c:1.21->1.22 F:pci/ac97/ac97_proc.c:1.1->1.2 L:James Courtier-Dutton : L:- enabled SPDIF input of ALC650. ALSA CVS update D:2003/09/02 15:02:34 C:PPC DACA driver A:Takashi Iwai F:ppc/daca.c:1.9->1.10 L:Frank Murphy : L: L:fixed left-right balance inversion on powermac DACA. ALSA CVS update D:2003/09/02 19:06:12 C:Trident driver A:Takashi Iwai F:pci/trident/trident_main.c:1.46->1.47 L: Clemens Ladisch : L: L:- reduces stack usage in snd_trident_mixer() ALSA CVS update D:2003/09/02 19:06:40 C:USB generic driver A:Takashi Iwai F:usb/usbquirks.h:1.21->1.22 L:Clemens Ladisch : L: L:- adds a quirk for the Midiman Ozone ALSA CVS update D:2003/09/02 19:07:31 C:Intel8x0 driver A:Takashi Iwai F:pci/intel8x0.c:1.89->1.90 L:- set 48k only for the sample rate of SPDIF on nForce. ALSA CVS update D:2003/09/03 14:43:40 C:Memalloc module,PCM Midlevel,ALSA Core,ALSA<-OSS emulation C:Generic drivers,RME9652 driver A:Jaroslav Kysela F:core/memalloc.c:1.15->1.16 F:core/pcm_native.c:1.79->1.80 F:core/sound.c:1.47->1.48 F:core/oss/pcm_oss.c:1.46->1.47 F:drivers/dummy.c:1.24->1.25 F:pci/rme9652/rme9652.c:1.36->1.37 L:Felipe W Damasio L:kill of not-required version.h inclusion ALSA CVS update D:2003/09/04 10:09:21 C:IOCTL32 emulation A:Jaroslav Kysela F:core/ioctl32/ioctl32.c:1.17->1.18 L:Removed duplicated include ALSA CVS update D:2003/09/04 18:46:56 C:EMU10K1/EMU10K2 driver A:Takashi Iwai F:pci/emu10k1/emufx.c:1.38->1.39 L:fixed the buffer overlap on FX8010 PCM. ALSA CVS update D:2003/09/04 19:12:30 C:HWDEP Midlevel A:Jaroslav Kysela F:core/hwdep.c:1.18->1.19 L:Karsten Wiese L:Fixed hwdep hotplug problem ALSA CVS update D:2003/09/04 19:45:26 C:HWDEP Midlevel A:Jaroslav Kysela F:core/hwdep.c:1.19->1.20 L:Use try_module_get() and module_put() to block the toplevel module L:Fixed returned error code in the release() callback ALSA CVS update D:2003/09/05 18:46:42 C:Intel8x0 driver A:Takashi Iwai F:pci/intel8x0.c:1.90->1.91 L:- check CIV register to sync the current index position. L: this may fix the noisy output on machines with sloppy interrupts. ALSA CVS update D:2003/09/08 08:14:17 C:ALSA<-OSS emulation A:Jaroslav Kysela F:core/oss/pcm_oss.c:1.47->1.48 L:Added handling for -EPIPE and -ESTRPIPE error codes in get_ptr and get_space L:functions. ALSA CVS update D:2003/09/08 10:32:23 C:VIA82xx driver A:Takashi Iwai F:pci/via82xx.c:1.48->1.49 L:- added device mask bits to DXS channel check. L:- added an entry for DXS channel check. ALSA CVS update D:2003/09/08 11:58:07 C:ALSA Core A:Takashi Iwai F:include/asound.h:1.31->1.32 L:- added hwdep entry for usb-us428 driver. ALSA CVS update D:2003/09/10 14:51:30 C:ALSA<-OSS emulation A:Jaroslav Kysela F:core/oss/pcm_oss.c:1.48->1.49 F:include/pcm_oss.h:1.6->1.7 L:Fixed comments in pcm_oss.h L:Fixed sync() routine for the partial playback transfers ALSA CVS update D:2003/09/10 17:26:26 C:ICE1724 driver A:Takashi Iwai F:pci/ice1712/ice1724.c:1.16->1.17 L:use SIZE register to get the current DMA position. L:this register seems more reliable than BASE register. ALSA CVS update D:2003/09/10 19:01:16 C:ICE1724 driver A:Takashi Iwai F:pci/ice1712/ice1724.c:1.17->1.18 L:fixed the rate locking bug: the rate locking couldn't be changed any more L:once if iec958 input is chosen. ALSA CVS update D:2003/09/11 10:34:48 C:Serial BUS drivers,ICE1724 driver A:Takashi Iwai F:i2c/other/ak4xxx-adda.c:1.5->1.6 F:pci/ice1712/revo.c:1.3->1.4 L:- fixed the reset of AK4355 codec. L: the surround sounds on m-audio revo 7.1 should work now. L:- write to only the register image instead of i/o writing in L: change the clock mode on AK codecs of revo board. L:- fixed the non-cleared memory. ALSA CVS update D:2003/09/15 08:38:00 C:ENS1370/1+ driver A:Jaroslav Kysela F:pci/ens1370.c:1.48->1.49 L:Distinguish the ENS1371+ and ENS1370 cards for pci_driver ALSA CVS update D:2003/09/15 17:19:42 C:IOCTL32 emulation A:Takashi Iwai F:core/ioctl32/pcm32.c:1.14->1.15 L:added missing SND_PCM_IOCTL_TSTAMP ioctl. ALSA CVS update D:2003/09/16 07:55:18 C:USB generic driver A:Jaroslav Kysela F:usb/usbaudio.c:1.63->1.64 L:Clemens Ladisch L:All AUDIO_FORMAT_PCM formats are signed, even 8 bits. ALSA CVS update D:2003/09/16 07:57:34 C:PCI drivers A:Jaroslav Kysela F:pci/Kconfig:1.7->1.8 L:Replaced SOUND_GAMEPORT -> GAMEPORT ALSA CVS update D:2003/09/16 16:09:35 C:VIA82xx driver A:Takashi Iwai F:pci/via82xx.c:1.49->1.50 L:don't restrict the capture sample rate even with dxs 48k fixed is given. ALSA CVS update D:2003/09/16 17:34:48 C:ALSA<-OSS emulation A:Takashi Iwai F:core/oss/pcm_plugin.c:1.16->1.17 F:core/oss/pcm_plugin.h:1.5->1.6 L:- fixed the debug print for the recent gcc. L:- fixed the missing initialization of the recording frame size through L: plugin. the problem of zero-size read with the rate plugin should L: be fixed now. ALSA CVS update D:2003/09/17 13:42:05 C:VIA82xx driver A:Takashi Iwai F:pci/via82xx.c:1.50->1.51 L:- allow VAR for multi-channel stream. L:- use 48k only for DXS #3 on VIA8233A. ALSA CVS update D:2003/09/17 14:34:33 C:Documentation,ES1968 driver A:Takashi Iwai F:Documentation/ALSA-Configuration.txt:1.17->1.18 F:pci/es1968.c:1.52->1.53 L:- added enable_mpu option to enable/disable MPU401. L:- added the blacklist for MPU401. L:- removed the obsolete codes. ALSA CVS update D:2003/09/23 15:17:21 C:CS4236+ driver,PC98(CS423x) driver A:Takashi Iwai F:isa/cs423x/cs4236.c:1.35->1.36 F:isa/cs423x/pc98.c:1.4->1.5 L:fixes by Uros Bizjak : L: L:- fixed the wrong DMA channel check in card->longname string L: composition. ALSA CVS update D:2003/09/23 15:31:44 C:Intel8x0 driver,VIA82xx driver,AC97 Codec Core,CS46xx driver A:Takashi Iwai F:pci/intel8x0.c:1.91->1.92 F:pci/via82xx.c:1.51->1.52 F:pci/ac97/ac97_patch.c:1.22->1.23 F:pci/cs46xx/cs46xx_lib.c:1.63->1.64 F:pci/cs46xx/dsp_spos.c:1.21->1.22 L:added ac97 quirks: L: L:- Dell Precision 530 and Dimension 8300 (by Simon Munton ) L:- HP onboard ALSA CVS update D:2003/09/24 14:12:50 C:USB generic driver A:Takashi Iwai F:usb/usbaudio.c:1.64->1.65 F:usb/usbmixer.c:1.22->1.23 L:- don't create controls from selector units with a single content. L:- suppress the error if async-out or adaptive-in has only one EP. L: don't create a sync pipe in this case. ALSA CVS update D:2003/09/24 17:47:04 C:Digigram VX Pocket driver A:Takashi Iwai F:pcmcia/vx/vx_entry.c:1.2->1.3 L:remove timer and clean up for 2.6 kernel. [PATCH] PROT_GROWSDOWN/PROT_GROWSUP flags for mprotect There is currently no clean and efficient way to apply mprotect to all of a program's stack, i.e. to the moving edge of a GROWSDOWN or GROWSUP mapping. Some processes want to change these protections, particularly to set or clear the PROT_EXEC bits on stack space. As it is, an mprotect done to cover the precise edge page of the mapping will have the desired effect of changing the protection for existing pages and having that new protection carried over to new pages grown later. But there is no very reasonable way of ascertaining where the edge of the mapping is if it might have grown in the past beyond the usage at the moment. An mprotect call that doesn't cover the edge page splits the mapping and doesn't do what we need. This patch adds flags that can be OR'd into the protection bits in an mprotect system call. PROT_GROWSDOWN means the memory lies in a GROWSDOWN mapping and the start address of the region to be changed should be extended down to the current low page of that mapping. Similarly, PROT_GROWSUP means the pages lie in a GROWSUP mapping and the length of the region to be changed should be extended up to include its highest page. These flags also explicitly request the (already implicit) behavior that the protection change applied to the lowest/highest page of a growing mapping is passed on to new pages grown later. There are no other changes to the mprotect behavior; in particular, the boundary in the non-growing direction (the end address computed from the start+len arguments in the GROWSDOWN case, and the start argument in the GROWSUP case) is as given by the arguments to the system call. This is desireable in the use of this call by a process on its stack, so it can change the protections of the growing mapping used for program stack distinctly from the protections on the arguments, environment, and AT_* data from exec. DRI CVS merge: SiS driver updates from Eric Anholt. Major whitespace cleanups and fix a potential oops. The driver can now run with or without FB support. DRI CVS merge: portability defines They are fairly ugly, but this will make it easier to merge DRI in the future by minimizing unnecessary differences. [PATCH] fixes an ide-scsi oops in 2.6-test5 The attached patch cleans up the ide-scsi driver model code and fixes the oops described below which is caused when doing a rmmod on the driver. [PATCH] PATCH: (as84) Small fixup for SCSI proc code The updated SCSI proc directory code that I sent you a few months ago has a small mistake -- the error path fails to release a semaphore. This patch fixes it; please apply. [PATCH] janitor: remove unneeded includes (/scsi/) From: Randy Hron linux-260-test5-kj-rddunlap/drivers/scsi/53c700.c | 1 - linux-260-test5-kj-rddunlap/drivers/scsi/BusLogic.c | 1 - linux-260-test5-kj-rddunlap/drivers/scsi/aha152x.c | 1 - linux-260-test5-kj-rddunlap/drivers/scsi/dmx3191d.c | 1 - linux-260-test5-kj-rddunlap/drivers/scsi/i60uscsi.c | 1 - 5 files changed, 5 deletions(-) [PATCH] janitor: sg_register error handling From: Daniele Bellucci handle register error, call unregister; linux-260-test5-kj-rddunlap/drivers/scsi/sg.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) [PATCH] change sdev.access_count to an atomic_t For various reasons (e.g. the .my_devices lockdown) it's undesirable to have scsi_device_{get,put} blocking. Change .access_count to an atomic_t to avoid the driver model r/w semaphore. Sideeffects: - possible module reference leak in scsi_device_get when get_device fails fixes. - the access_count attribute is gone. We already have this exposed to userspace in too many places given that this whole second refcount will go away once Al fixes the block layer. [PATCH] kill highmem_io leftover Jens' missed this in his cleanup. [PATCH] kill use_blk_tcq template flag The flag isn't checked ever as drivers using the block layer tcq code do so by themselves, without any interaction to the scsi midlayer. [PATCH] kill scsi_cmnd.flags This was only used by the old error handling, the new code uses .eh_state and .eh_eflags instead. [PATCH] bring lost 2.5 changes to qla1280 back [PATCH] tiny zalon cleanups Rename zalon_scsi_callback to the more sensible zalon_probe and fix a few tiny indentation issues. [PATCH] helper for device list traversal This patch adds shost_for_each_device(). It's used to abstract out scsi_host.my_devices traversal. The next step will be to replace the current simple implementation with one that's fully locked down an reference counted. [PATCH] kill last users of the ScsiLun typedef everyone else uses struct scsi_lun already. [PATCH] small lasi700 update - move the struct parisc_driver down like in most drivers, avoids two forward-declarations - give lasi700_scsi_tbl and lasi700_driver_callback sensible names - properly return -ENOMEM instead of 1 on kmalloc failure - check scsi_add_host return value [PATCH] move some constants around We should try to keep all constants in include/scsi/scsi.h instead of drivers/scsi/scsi.h. Also tidy up include/scsi/scsi.h a bit. [PATCH] add back the missing ->slave_destroy call Looks like the merge error still isn't fixed.. [PATCH] handle failure when starting the eh thread And while at it also fix the scsi_error_handler() prototype. [PATCH] don't set underflow for REQ_BLOCK_PC I got underflow warnings and failures when sending an INQUIRY page 0x83 via the SG_IO REQ_BLOCK_PC interface. The underflow field should only be set if we know for certain the size of the data being transfered, so fix this by leaving it at zero for scsi REQ_BLOCK_PC cases. [PATCH] switch command completion queue to per-cpu data - DEFINE_PER_CPU works in modules now, use it - rename done_q to scsi_done_q - in the kernel we prefer descriptive prefixes even for statics.. [PATCH] Generalize 32bit emulation support in MPT fusion The mptctl module has had sparc64 32bit emulation support for some time. This patch generalizes it to use the generic compat infrastructure. This makes it work on x86-64 too. I also removed one special case for sparc in the locking that didn't make any sense to me. [PATCH] Kill off sym1 - Remove sym1 driver - Remove PCI stuff from sym53c8xx_comm.h - Remove PCI stuff from ncr53c8xx.c - Remove device_t typedef - Remove u_int32 and u_int64 - Remove first_host and the_template - Remove SPARC support (get back to me when someone puts a 720 in a Sparc :-P) Makefile | 1 NCR_Q720.c | 4 ncr53c8xx.c | 155 ncr53c8xx.h | 12 sym53c8xx.c |14543 ------------------------------------------------------- sym53c8xx.h | 82 sym53c8xx_comm.h | 666 -- sym53c8xx_defs.h | 52 zalon.c | 4 9 files changed, 76 insertions(+), 15443 deletions(-) .del-sym53c8xx.c~180cda83f20a4355: Delete: drivers/scsi/sym53c8xx.c [PATCH] Memory leak in scsi_debug found by checker If in the middle of loop a kmalloc failed, that means that the previous calls succeeded..so they must be also be freed (and removed from the dev_info_list). [PATCH] Memory leak in NCR_Q720 found by checker Patch frees a struct NCR_Q720_private before returning. [PATCH] USB: i was wrong, clean up some extra refcounts that are no longer needed. [PATCH] USB: Remove ax8817x driver This patch removes the ax8817x driver since all functionality has been incorporated into usbnet. [PATCH] USB: fix USB_MOUSE help text The USB_MOUSE help text was obviously copied from the USB_KBD help text. The patch below does a s/keyboard/mouse/g ALSA CVS update D:2003/09/25 19:55:42 C:RME HDSP driver,Sound Scape driver,ALSA Version A:Jaroslav Kysela F:include/hdsp.h:1.2->1.3 F:include/sscape_ioctl.h:1.1->1.2 F:include/version.h:1.23->1.24 F:isa/sscape.c:1.4->1.5 F:pci/rme9652/hdsp.c:1.43->1.44 L:- fixed firmware ioctls for sscape and hdsp drivers (ioctl out of range) L:- updated ALSA version to 0.9.7 [ARM] Fix page table spinlocking Patch from Kevin Welton. The initialisation routines in consistent.c and minicache.c both fail to put a spinlock in init_mm.page_table_lock when they should do. [PATCH] fix smc-mca cleanup breakage The latest set of smc-mca fixes broke the driver. Apparently, it wasn't realised that request_region() actually returns a pointer to the region you're requesting if it can. Without this fix, the smc-mca cannot attach to any device. [PATCH] fix MD "bio too big" errors This is pretty high on the puke-o-meter, but a zero means "infinity" for max_sectors. So we can't use "min()" to determine who has the smallest max_sector, and we'll have to use a special "min_not_zero()" compatison. Run away, run away. [ARM] Remove CONFIG_PCI_INTEGRATOR We can remove the CONFIG_PCI_INTEGRATOR hack, and instead make the "bool" on CONFIG_PCI depend on CONFIG_ARCH_INTEGRATOR. [ARM] Don't use pci_find_device in interrupt context. [PATCH] (1/8) arlan -- merge arlan-proc with main code The arlan driver tries to build it's /proc interface into a separate module, which leads to circular dependencies and other ugliness. This patch moves arlan.c to arlan-main.c and changes initialization builds one module arlan.o Patch is for 2.6.0-test5 [PATCH] (2/8) arlan -- get rid of some dead wood This code is littered with unused structure elements and globals. Eliminate some of the fields set and never used. More in later patches. [PATCH] (3/8) arlan -- get rid of unnecessary casts. Get rid of unneeded casts to cleanup readability. [PATCH] (4/8) arlan -- trailing semicolons. Get rid of extra trailing semicolons [PATCH] (5/8) arlan -- more set never used elements Still more places state is saved and never used. [PATCH] (6/8) arlan -- add spinlock Convert bogus test_and_set local wait, to a real spin_lock so it has a chance of working on an SMP. This also does the right thing and locks out interrupts while giving commands on UP; maybe the comment in Kconfig was because there was never a proper mutex... Don't have real hardware to try this, but it can't be worse than the previous code. [PATCH] (7/8) arlan -- more dead wood removal Still more driver data which was updated but never used. [PATCH] (8/8) arlan -- proper jiffies usage Add proper management of jiffies and time values, rather than punting and doing long long arithmetic on usecs. [netdrvr sk98lin] small updates Patch 1/5 (Update to version 6.17) * Add: Better parameter check * Add: UDP and TCP HW Csum changes * Add: Interrupt Moderation infos [netdrvr sk98lin] update readme, remove old changelog [netdrvr sk98lin] small fixes Patch 3/5 (Update to version 6.17) * Add: Removed SkNumber and SkDoDiv * Add: Counter output as (unsigned long long) [netdrvr sk98lin] bump version number [netdrvr sk98lin] fix leaks on error, and related cleanups [PATCH] Remove modules.txt drivers_net_appletalk_Kconfig From: Nicolas Kaiser [PATCH] Remove modules.txt drivers_net_tulip_Kconfig From: Nicolas Kaiser [PATCH] Remove modules.txt drivers_net_wireless_Kconfig From: Nicolas Kaiser [PATCH] Remove modules.txt drivers_net_arcnet_Kconfig From: Nicolas Kaiser [PATCH] Remove modules.txt drivers_net_hamradio_Kconfig From: Nicolas Kaiser Cheers, n. [PATCH] Remove modules.txt drivers_net_tokenring_Kconfig From: Nicolas Kaiser [PATCH] Remove modules.txt drivers_net_wan_Kconfig From: Nicolas Kaiser [PATCH] Remove modules.txt drivers_net_pcmcia_Kconfig From: Nicolas Kaiser Avoid warning about non-newline whitespace at end of file. [PATCH] lp.c module alias Trivial patch to use MODULE_ALIAS_CHARDEV_MAJOR macro. [PATCH] (1/4) Update baycom drivers for 2.6 Update baycom drivers for 2.6.0-test5 - get rid of MOD_INC/DEC (looked into hdlcdrv_ops and don't need to have owner field because baycom drivers unregister on unload). - use alloc_netdev instead of static device structures. - hdlcdrv_register returns device instead of getting passed one. - put private data in space allocated at dev->priv in alloc_netdev - shorten name of hdlcdrv_register_hdlcdrv to hdlcdrv_register I don't have actual baycom hardware, but driver builds and loads/unloads. Real hardware initialization doesn't happen until open. The first one is the important patch, the other three are just code review type cleanups. [PATCH] (2/4) baycom c99 initializers [PATCH] (3/4) baycom/hdlcdrv unregister If baycom driver has never been opened, it will attempt to free an IRQ that it never registered when removed. The problem is that hdlcdrv does not keep track of open/close state. [PATCH] ne2k-pci full duplex with RealTek [PATCH] ne2k_cbus tidy up [PATCH] Remove emacs cruft from 8390 drivers Include proper for chrdev alias [PATCH] - atmel wireless driver This does two things: 1) Fix alignment problem on PARISC64 (and maybe other 64bit archs.) 2) Add another couple of cards to the table. Cheers, Simon. [PATCH] saa9730 (minor revision) Don't know if the patch I released few days ago was still applied. This is a minor revision of that patch which converts saa9730 to spinlocks thus removing save_and_cli() and restore_flags() calls. Regards, Angelo Dell'Aera [PATCH] [PATCH 2.6.0-test1] remove check_region from drivers_net_3c509.c From: Domen Puncer [IPV4]: Convert ipmr to seq_file. [NET]: Remove attribute group when unregistering netdev from sysfs. [NET]: Consolidate ax25/isdn/bluetooth Kconfig inclusion. [ATM]: [ioctl][1/8] Move vcc_ioctl() to ioctl.c (from levon@movementarian.org) [ATM]: [ioctl][2/8] Add registration functions (from levon@movementarian.org) [ATM]: [ioctl][3/8] Use new code for pppoatm and br2684 (from levon@movementarian.org) [ATM]: [ioctl][4/8] Use new code for mpoa (from levon@movementarian.org) [ATM]: [ioctl][5/8] Change ncc clip info handling (from levon@movementarian.org) [ATM]: [ioctl][6/8] Move clip seq_file ops to clip.c (from levon@movementarian.org) [ATM]: [ioctl][7/8] Use new code for clip (from levon@movementarian.org) [ATM]: [ioctl][8/8] Use new code for atmtcp (from levon@movementarian.org) [ATM]: Move lan seq_file ops to lec.c [1/3] [ATM]: Use dev_get_by_name() instea of atm_lane_ops->get_lec() [2/3] [ATM]: Use new ioctl code for lane [3/3] [PATCH] Fix up initialisation of md devices Previously, we called blk_queue_make_request(q,mddev->pers->make_request) *before* calling mddev->pers->run(), but this left a hole in which the device could be accessed before it was initialised. So we moved blk_queue_make_request to *after* ->pers->run(), but now some of the initialisation done in ->run is over-written by blk_queue_make_request(), particularly limits like ->max_sectors. So now, we just open-code the one line of blk_queue_make_request that we need at this point. All the rest has been done by a separate called to blk_queue_make_request, either when the mddev was first allocated, or when a previous incarnation of the device was stopped. This fixes "bio too big" error that occured due to max_sectors being too large. [PATCH] Another x86-64 merge - make it boot again This fixes a few x86-64 issues that have crept in and broke bootup. - Disable -funit-at-a-time. It breaks symbol exports with gcc 3.3.1-hammer. - Fix sched_clock to not access HPET. The new scheduler uses it more extensively and it is not mapped early enough. I opted to just disable the HPET access, because even a slightly non monotonous TSC should be accurate enough for scheduling purposes. - Fixes for separate objdirs by Arnd Bergmann - Fix two warnings that have crept in [SPARC64]: Update defconfig. [SPARC64]: Handle WDISP19 relocations in modules. [BLUETOOTH]: Remove unneeded verify_area call (from domen@coderock.org) input: Revert synaptics->pktcnt change. New synaptics driver actually uses the variable. input: Fix multibutton handling in Synaptics.c (nExtBtn > 8 case) input: Synaptics code cleanups. input: Tidy up events reported by a Synaptics pad, add touchpad support to mousedev. input: Change AT keyboard to use hardware autorepeat and move untranslating to the AT keyboard driver as well. Lower PS/2 mouse default report rate. Fix repeat rate adjustment ioctls accordingly, and update other files to reflect the changes. This should fix most known keyboard problems in 2.6. input: Fix broken handling of rotated Synaptics touchpads. The infoRot180 and infoPortrait bits are for information only. The touchpad uses the same X/Y coordinate system regardless of the orientation, so the software shouldn't care about these bits. input: Add BTN_TOUCH to Synaptics pad driver. This fixes the joydev grabbing of the pads, as well as simplifies the mousedev driver. [ATM]: atmtcp.c needs linux/init.h [ATM]: Add struct net_bridge decl to net/atm/common.c [ATM]: Fix atm_mpoa_disp_qos() second arg to be ssize_t. [IPV4]: Use correct ptrdiff_t printf format in ipmr.c [IPVS]: Print out __u64 properly in ip_vs_ctl.c PPC32: Adjust ucontext to conform with historical practice and with glibc. This moves the uc_sigmask field back to where it was before. We now don't assume the registers are at a fixed offset in the ucontext, but instead access them through the uc_regs field as in the past. This corresponds with a recent change in glibc CVS. Fix up DRI CVS merge of sis driver with CONFIG_FB_SIS [PATCH] fix AS hangs Clears the next_arq cache if a request is repositioned and added as an alias behind another. Should fix the BUGs which Mary Edie Meredith has been reporting. Also, fixes a few random (but harmless) cases where last_merge was being set and causing warnings. When 2 requests are merged, and one is thrown away, move its alias list onto the merged request! This is likely to be the cause of Mary's hangs. [PATCH] fix AS crappy performance A while ago some guy complained that his server connections / sec was way down due to AS. The server would fork a process which would then read some tiny bit of random data and hang around for a while doing nothing. This defeated all AS's heuristics, and due to a new process being a good anticipation candidate by default, his performance went bad. The fix was just to treat new processes as being unsuitable for anticipation. Fixed. Unfortunately ls, cat, grep, small programs starting up, find | xargs, etc only submit a couple of requests, and they really want anticipation to be on. This patch keeps a simple goodness value per queue based on how successful anticipation has been for new processes. [PATCH] s390: arch fixes. - Fix cflags for z990 compiles. - Rename resume to __switch_to to avoid name clash. - Fix show_trace and show_stack. - Add alignments to linker script. - Add atomic64_t and related funtions. - Add include/asm-s390/local.h - Fix 31 bit get_user for 8 byte values. - Fix show_regs oops. - Add a couple of might_sleep() calls. - Fix loading of modules with a BIG symbol table. - Fix inline asm constraint in __get_user_asm_1 - Fix nested irq_enter bug on shutdown. - Add sched_clock function. [PATCH] s390: common i/o layer. - Remove initialization of device.name. - Don't do put_device after failed get_device in get_ccwdev_by_busid. - Fix read_dev_chars and read_conf_data. - Call interrupt function of ccw device if path verification has been started. - Replace atomic_return_add by atomic_add_return in qdio. - Use wait_event instead of homegrown wait loop. - Fix reestablish queue problem. - Add ungroup attribute to ccw_group devices and add links from each ccw device of a group to the group device. - Use BUS_ID_SIZE instead of DEVICE_ID_SIZE. - Delay path verification if a basic sense is required. - Move qdio shutdown code from qdio_free to qdio_shutdown. [PATCH] s390: 31 bit compat. - Fix emulation of sys_sysinfo and sys_clone. - Add code for -ERESTART_RESTARTBLOCK in signal emulation. - Fix ptrace peek/poke for 31 bit programs under a 64 bit kernel. - Fix typos in cp_stat64. [PATCH] s390: micro optimizations. - Put cpu number to lowcore. - Put percpu_offset to lowcore. - Put current pointer to lowcore. - Replace barrier() with cpu_relax(). [PATCH] s390: system tick misaccounting. Fix system tick misaccounting problem. [PATCH] s390: system call restart bug. Fix restarting of system calls done by use of the execute instruction. [PATCH] s390: sysfs_create_group. Make use of sysfs_create_group in s390 device drivers. [PATCH] s390: Kconfig. - Use common drivers/block/Kconfig instead of own config options, move s390 block device config options to drivers/s390/block/Kconfig and include it from drivers/block/Kconfig. - Fix configuration combination CONFIG_IPV6=m and CONFIG_QETH=y. - New default configuration. [PATCH] s390: xpram driver. - Make xpram work on 64 bit machines. - Use new-style module_param. [PATCH] s390: dasd driver. - Do add_disk even for unformatted devices to be able to format them. - Remove initialization of device.name. - Export some functions. [PATCH] s390: dasd partitions. Fix bug in CMS label recognition in ibm.c [PATCH] s390: tape driver. - Fix use of tape block request queue pointer. - Remove unnecessary includes. [PATCH] s390: ctc driver. - Add type attribute. - Remove initialization of device.name. - Remove unnecessary include. [PATCH] s390: iucv driver. - Move iucv bus and root device initialization from netiucv to iucv. - Fix race condition in iucv_connect. - Add 'user' attribute to netiucv driver. [PATCH] s390: lcs driver. - Add type and timeout attribute. - Create symlinks between netdev and groupdev. - Remove initialization of device.name. [PATCH] s390: qeth driver. - Create symlinks between netdev and groupdev. - Remove initialization of device.name. - Call qeth_free_card on removal. - Remove async hsi. - Remove contig memusage. - Add check for -EFAULT to copy_from_user/copy_to_user. - Inlining some functions to save kernel stack space. - vlan header fixes. - Replace atomic_return_sub with atomic_add_return. [PATCH] s390: vt220 console. Add support for vt220 console over sclp. [PATCH] s390: documentation. s390 documentation changes. [PATCH] s390: remove outdated code. Remove outdated ipl records from arch/s390/boot. They are now part of the s390-tools package. [PATCH] janitor: cleanup includes in dpt_i2o From: Randy Hron Remove doubled #includes. Add linux/version.h linux-260-t5bk12-kj-rddunlap/drivers/scsi/dpt/dpti_i2o.h | 7 +------ 1 files changed, 1 insertion(+), 6 deletions(-) [PATCH] janitor: cleanup includes in in2000 From: Randy Hron Remove unneeded version.h include. linux-260-t5bk12-kj-rddunlap/drivers/scsi/in2000.h | 2 -- 1 files changed, 2 deletions(-) [PATCH] jantior: sx: use get/put_user (remove verify_area) From: Domen Puncer Use get_user/put_user to check user addressing, don't need to use verify_area also. [PATCH] janitor: scsi/a3000: cleanup includes From: Randy Hron Remove unneeded version.h include. linux-260-t5bk12-kj-rddunlap/drivers/scsi/a3000.c | 1 - 1 files changed, 1 deletion(-) [PATCH] janitor: isdn: remove unneeded verify_area calls From: Domen Puncer Deleted unneeded verify_area calls. Also commented a label. [PATCH] janitor: cleanup includes in fs/ From: Randy Hron Remove duplicate #includes in fs/ Remove version.h includes where they aren't necessary. Test compiled on 2.6.0-test5-bk9. [PATCH] janitor: rio_linux: user get/put_user for errors (not From: Domen Puncer [PATCH] janitor: clean up newlines From: maximilian attems this patches catches obvious mistyping of new line: /n versus \n adds a printk loglevel to one of the erroneous lines [PATCH] jantior: coda: userspace error handling From: Domen Puncer Drop verify_area, using copy*user already (instead). Also user -EFAULT for error instead of -EINVAL. [PATCH] janitor: h8300: put_user for error handling From: Domen Puncer verify_area isn't needed. [PATCH] janitor: cleanup includes in tc/zs From: Randy Hron Remove unnecessary include of version.h in drivers/tc/ [PATCH] janitor: isdn: remove verify_area calls From: Domen Puncer The verify_area's are not needed. [PATCH] janitor: intermezzo: clean up #includes From: Randy Hron Remove duplicate #includes from fs/intermezzo. [PATCH] janitor: serial/tx3912: remove unneeded verify_area calls From: Domen Puncer [PATCH] janitor: cleanup includes in megaraid From: Randy Hron Remove unneeded version.h include in megaraid. linux-260-t5bk12-kj-rddunlap/drivers/scsi/megaraid.h | 1 - 1 files changed, 1 deletion(-) [PATCH] Another small x86-64 merge - Remove obsolete wrong do_magic prototype - Remove the dependency between ACPI_SLEEP and SOFTWARE_SUSPEND some people complained about. Works the same as i386 now. - Fix another gcc 3.3 warning in reboot.c - Default NMI watchdog to LOCAL_APIC because that works on more boxes [PATCH] janitor: cleanup includes in osst From: Randy Hron Remove unneccessary version.h #include. linux-260-t5bk12-kj-rddunlap/drivers/scsi/osst.c | 1 - 1 files changed, 1 deletion(-) [PATCH] janitor: cleanup includes in sym53c416 From: Randy Hron Remove unneeded version.h include. linux-260-t5bk12-kj-rddunlap/drivers/scsi/sym53c416.c | 1 - 1 files changed, 1 deletion(-) [PATCH] fix qla1280 compiles Duh! The scsi_cmnd.flags removal broke qla1280. It checked for the flags beeing 0, which it always was for a long time. It looks a bit fishy thus, so if someone wants to audit srb.flags audit please do so. Remove killed SCSI_IOCTL_TAGGED_{ENABLE|DISABLE} from compat_ioctl.h Avoid compiler warning by using the proper types in "min()". Mark PM_DISK_PARTITION as depending on PM_DISK, so as to avoid an annoying nonsense configuration question. ia64: Patch by Christoph Hellwig: Kill two SN headers never references in the current tree. ia64: Patch by Christoph Hellwig: None of the exported symbols is referenced by a module, even more the file doesn't compile when CONFIG_IA64_SGI_SN_DEBUG is set. ia64: Patch by Christoph Hellwig: SN2 stopped abusing devfs in 2.5, clean up the leftovers. [PATCH] ia64: kill SN kdba_io.c Keith shared my opionion that it's completly useless. Also everyone seems to favour keeping kdb stuff out of mainline. [PATCH] ia64: kill sn2 inventory stubs Just some crappy stubs that sneaked over from IRIX. [PATCH] ia64: kill dead SN code from ml_iograph.c More IRIX creepism ia64: Patch by Christoph Hellwig: kill .hcl entry in SN hwgfs. [PATCH] ia64: kill snia_pciio_* These strange mixups of Linux and IRIX PCI interfaces were used in SGI's 2.4 tree for their port of the IRIX scsi code. They have no business to stgay in 2.6. [PATCH] ia64: simplify and speedup SN2 dma mapping Currently the the SN2 dma mapping code uses a file systen lookup (cat /r/napali/tmp/p10 |diffstat -p1) to find the operation vector for the underlying dma mapping implementation. But not only there is exactly one of those implementation, also data structures from this lowlevel driver are used in the actual Linux dma mapping routines and quite a few assumption are made about it. So let's just call directly in the lowlevel code and give up this utter bullshit. [PATCH] ia64: sn_ML_intr.c is a freakin mess fed through Lindent and dead codepathes eliminated. [PATCH] ia64: simplify SN2 interrupt allocation Same issues as the dma mapping code, but as SN2 interrupt handling is totally static and all irqs are allocated on bootup an never freed it's not a speed issue. I really wonder what someone has to smoke to call a that expensive dispatcher just to cast the data structure back to the lowlevel one directly afterwards... [PATCH] ia64: remove CONFIG_PCI ifdefs in SN2 code It's not like it would compile without PCI support anyway, and these ifdefs are _really_ strange. [PATCH] sysfs dput crash fix This is a new patch that includes Martin's, and makes create_dir() return an int. That matches sysfs_create_file(), and saves a couple of conversions back and forth between pointer and error. [PATCH] scsi_mid_low_api.txt update From: Douglas Gilbert Attached is an update of the scsi_mid_low_api text document. The first attachment is a gzipped patch against lk 2.6.0-test4 and the second one is the file gzipped. Changes: - add "Calling context:" entry to interface functions - add "Might block:" entry to mid level functions - drop scsi_set_device_offline() + command() - change references to reflect transfer of headers to include/scsi/scsi_*.h - try to define what a "scsi host" is - typos + grammar Thanks to Randy Dunlap, Alan Stern amd Christoph Hellwig for their input. Comments welcome. [PATCH] fix kernel BUG using multipath Thanks Matt and Jens for the debug help on the multipath problem. This solves the problem and makes multipath work properly. There are two types of "flags" that are used in a block io request, bi_flags, and bi_rw. bi_flags is used for flags to the block level code, and bi_rw is used for flags to the low level device drivers. The code in the multipath driver used the wrong flag in the wrong field. In this case, the flag FASTFAIL (value 3) was being set to the bi_flags field. FASTFAIL is a hint to the low level driver that it should try to fail out quickly. Unfortunately, the value 3 is also BIO_SEG_VALID, which is a flag to the block subsystem that the segments shouldn't be recalculated. The result was that the wrong field was set, telling the block layer not to recalculate the segments resulting in phys and hw segments of 0. Not good. [PATCH] GCC 3.3.x/3.4 compatiblity fix in include/linux/init.h GCC 3.4 miscompiles the kernel because it silently optimizes away data placed in the .init.setup section by the __setup() macro. __attribute__((unused)) does only avoid the warning, but doesn't mark the data as being used. Since GCC 3.3, __attribute__((used)) should be applied to such variables. The __attribute_used__ macro from linux/compiler.h already takes care of compiler differences for us. In this patch, I've gone a step further and proactively fixed that in all places. PPC32: Fix up the CPU frequency scaling questions in arch/ppc/Kconfig. This is from Ben Herrenschmidt's tree. PPC32: Fix the definition of PMU_IOC_GRAB_BACKLIGHT. PPC32: Make scripts/mkuboot.sh executable [PATCH] select CRC32 Use "select CRC32" in Kconfig instead of makefile includes. [PATCH] ppc64 typo fix (kudos to Anton) *duh* [netdrvr sk98lin] build on smp fix There is no exported variable called smp_num_cpus! so this driver won't build on SMP. Since the local variable is never used anyway just get rid of it. This applies against 2.6.0-test5-bk13 which has the last vendor driver update. [netdrvr skge] handle proc_fs errors. Existing code does not - check if proc_fs functions return error. - use proc_mkdir to make the directory. Note pSkRootDir defined twice. [netdrvr sk98lin] use seq_file for /proc Replace proc_read with seq_file interface which is much cleaner. Also, instead of searching the list of devices looking for the name which is slow and would break if interface name changes; store a pointer to device in the proc entry, and retrieve it from the information saved by single_open. Formatting and other behaviours are retained. [e1000] flow control updates * handle ethtool force flow control * correctly set flow control hi/low watermarks based on size of Rx FIFO area. The size can change if doing Jumbo Frames or, in the case of 82547, is smaller to start with. * was not properly forcing flow control settings to fc_none if using strict IEEE flow control override. [e1000] force 1000/full on SERDES connected to back-plane * Bug fix: SERDES devices might be connected to back-plan switch that doesn't support auto-neg, so add the capability to force 1000/full. [e1000] better propagation of error codes * Better propagation of error codes during probe/open paths. {Janice Girouard (janiceg@us.ibm.com)] [e1000] misc * removed unused var, ASSERT macro * missed a free_netdev() in probe cleanup undo. [e100] PRO/10+ not configured properly * PRO/10+ (10 Mbps-only card) was not configured properly so it didn't pass traffic. [e100] h/w can't do IPv6 checksum offloading * Driver was advertising HW_CSUM, but hardware is only capable of IP_CSUM. [e100] trying to pci_alloc before pci_enable * Some archs don't like calling pci_alloc_consistent before calling pci_enable_device. (Imagine that). This corrects that. [PATCH] janitor: hermes: delete verify_area call Hi, Please apply to 2.6.0-test5-current. Thanks, -- ~Randy From: Domen Puncer IMO, that verify_area wasn't needed. linux-260-t5bk12-kj-rddunlap/drivers/net/wireless/orinoco.c | 4 ---- 1 files changed, 4 deletions(-) [PATCH] janitor: e100: cleanup #includes Hi, Please apply to 2.6.0-test5-current. Thanks, -- ~Randy From: Randy Hron Remove unneeded include of version.h. Test compiled against 2.6.0-test5-bk9. linux-260-t5bk12-kj-rddunlap/drivers/net/e100/e100.h | 1 - 1 files changed, 1 deletion(-) [netdrvr] build fixes For e1000 and baycom_epp. Contributed by Jeff Garzik. [netdrvr smc91c92_cs] select proper bank for MII registers [PATCH] sealevel -- syncppp startup fix The sealevel driver called sppp_attach before checking that board existed and never called detach in the error path. My change is to call sppp_attach from the netdev->init hook which happens later in the process, and call detach from the uninit hook. Also, changed the structure element 'netdev' to 'pppdev' to avoid confusion. Here is the fix against 2.6.0-test5 latest [PATCH] wan/z8530 deadlocks Existing code for drivers/net/wan/z8530 is riddled with self-deadlocks and irq flag confusion. For example: z8530_init -> do_z8530_init -> write_zsreg self deadlocks on the channel lock. Several places acquire both the channel and dma lock and then reuse the same irq flags variable - ouch. This code at least, correctly probes (for no device case) on SMP. Other paths verified by inspection. [PATCH] select MII The patch below switches MII to be select'ed instead of including it in the Makefile. Note that this patch requires a recent Linus' tree with the select CRC32 patch included. diffstat output: drivers/net/Kconfig | 11 +++++++++++ drivers/net/Makefile | 28 +++++++++++----------------- drivers/net/pcmcia/Kconfig | 1 + drivers/net/tulip/Kconfig | 1 + drivers/usb/net/Kconfig | 2 ++ drivers/usb/net/Makefile.mii | 6 ------ 6 files changed, 26 insertions(+), 23 deletions(-) Tangential to the patch I observed a small problem (not fixed in the patch): MII depends on NET_ETHERNET, but USB_PEGASUS and USB_USBNET depend only on NET. cu Adrian [PATCH] select ZLIB_{IN,DE}FLATE Similar to the patch Brian Gerst sent for CRC32, this patch changes ZLIB_{IN,DE}FLATE to be select'ed. The dependencies are much better maintainable that way. Revert NDEBUG move in NCR5380 - g_NCR5380 includes the file (ugh) and wants 'phases' Cset exclude: geert@linux-m68k.org|ChangeSet|20030912135245|42657 Linux 2.6.0-test6