Summary of changes from v2.6.1 to v2.6.2 ============================================ [SCTP] ADDIP: Support for processing ASCONF chunks and respond with ASCONF_ACK chunks. [SCTP] Remove the extra semicolon in sctp_cacc_skip_3_1(). [SCTP] ADDIP: Add sysctl parameter to enable/disable addip. [ACPI] If ACPI is disabled by DMI BIOS date, then turn it off completely, including table parsing for HT. This avoids a crash due to ancient garbled tables. acpi=force is available to over-ride this default. http://bugzilla.kernel.org/show_bug.cgi?id=1434 [ACPI] In ACPI mode, delay print_IO_APIC() to make its output valid. http://bugzilla.kernel.org/show_bug.cgi?id=1177 [SCTP] Fix to free associations in the accept queue of a one-to-one style listening socket that is closed. [SCTP] Fix the duplicate increment of checksum error counter and counting bad packet errors as checksum errors. [SCTP] Fix overflow in the macros JIFFIES_TO_MSECS/MSECS_TO_JIFFIES when used with large values. [ACPI] print_IO_APIC() only after it is programmed http://bugzilla.kernel.org/show_bug.cgi?id=1177 [ACPI] "acpi_pic_sci=edge" in case platform requires Edge Triggered SCI http://bugzilla.kernel.org/show_bug.cgi?id=1390 [ACPI] fix compiler warning (Andrew Morton) [ACPI] prevent ES7000 tweak from breaking i386 IOAPIC (Andrew de Quincey) [SCTP] ADDIP: Support for processing incoming ASCONF_ACK chunks. JFS: Avoid segfault when dirty inodes are written on readonly mount Writes to a device may cause a ->write_inode to be called during a read-only mount. JFS needs to check for NULL log in jfs_flush_journal. [ACPI] sync with 2.4.23 Re-enable IRQ balacning if IOAPIC mode http://bugzilla.kernel.org/show_bug.cgi?id=1440 Also allow IRQ balancing in PIC mode if "acpi_irq_balance" http://bugzilla.kernel.org/show_bug.cgi?id=1391 [ACPI] add warning to thermal shutdown (Pavel Machek) JFS: Fix broken return code checking in ACL code [ACPI] set APIC ACPI SCI OVR default to level/low http://bugzilla.kernel.org/show_bug.cgi?id=1351 [ACPI] replace multiple flags with acpi_noirq -- ala 2.4 [ACPI] revert two fixes in preparation for ACPICA merge [ACPI] update Linux to ACPICA 20031029 (Bob Moore) Fixed a problem where a level-triggered GPE with an associated _Lxx control method was incorrectly cleared twice. Fixed a problem with the Field support code where an access can occur beyond the end-of-region if the field is non-aligned but extends to the very end of the parent region (resulted in an AE_AML_REGION_LIMIT exception.) Fixed a problem with ACPI Fixed Events where an RT Clock handler would not get invoked on an RTC event. The RTC event bitmasks for the PM1 registers were not being initialized properly. Implemented support for executing _STA and _INI methods for Processor objects. Although this is currently not part of the ACPI specification, there is existing ASL code that depends on the init-time execution of these methods. Implemented and deployed a GetDescriptorName function to decode the various types of internal descriptors. Guards against null descriptors during debug output also. Implemented and deployed a GetNodeName function to extract the 4-character namespace node name. This function simplifies the debug and error output, as well as guarding against null pointers during output. Implemented and deployed the ACPI_FORMAT_UINT64 helper macro to simplify the debug and error output of 64-bit integers. This macro replaces the HIDWORD and LODWORD macros for dumping these integers. Updated the implementation of the Stall() operator to only call AcpiOsStall(), and also return an error if the operand is larger than 255. This preserves the required behavior of not relinquishing the processor, as would happen if AcpiOsSleep() was called for "long stalls". Constructs of the form "Store(LocalX,LocalX)" where LocalX is not initialized are now treated as NOOPs. Cleaned up a handful of warnings during 64-bit generation. Fixed a reported error where and incorrect GPE number was passed to the GPE dispatch handler. This value is only used for error output, however. Used this opportunity to clean up and streamline the GPE dispatch code. [ACPI] Update Linux to ACPICA 20031203 (Bob Moore) Changed the initialization of Operation Regions during subsystem init to perform two entire walks of the ACPI namespace; The first to initialize the regions themselves, the second to execute the _REG methods. This fixed some interdependencies across _REG methods found on some machines. Fixed a problem where a Store(Local0, Local1) could simply update the object reference count, and not create a new copy of the object if the Local1 is uninitialized. Implemented support for the _SST reserved method during sleep transitions. Implemented support to clear the SLP_TYP and SLP_EN bits when waking up, this is apparently required by some machines. When sleeping, clear the wake status only if SleepState is not S5. Fixed a problem in AcpiRsExtendedIrqResource() where an incorrect pointer arithmetic advanced a string pointer too far. Fixed a problem in AcpiTbGetTablePtr() where a garbage pointer could be returned if the requested table has not been loaded. Within the support for IRQ resources, restructured the handling of the active and edge/level bits. Fixed a few problems in AcpiPsxExecute() where memory could be leaked under certain error conditions. Improved error messages for the cases where the ACPI mode could not be entered. [ACPI] delete old _TRA code formerly used just by IA64. (Bjorn Helgaas) The current approach is to walk the _CRS in pcibios_scan_root() using acpi_walk_resources(). [ACPI] /proc/acpi files appear in /proc if acpi=off (Shaohua David Li) [ACPI] set acpi_disabled=1 on failure for clean /proc http://bugzilla.kernel.org/show_bug.cgi?id=991 [Bluetooth] Disable credit based flow control by default The credit based flow control must be disabled by default for compatibility with Bluetooth 1.0b devices. This patch makes CFC a session attribute, introduces CFC states and cleans up the CFC logic. [Bluetooth] Always use two ISOC URB's This patch modifies the USB Bluetooth driver to use two ISOC URB's per RX and TX transfer paths. This is needed for in time transfer of SCO audio packets over HCI. [Bluetooth] Add support for the Digianswer USB devices The Digianswer USB Bluetooth devices uses a bRequestType of 0x40 for HCI commands, but the Bluetooth specification says that the correct value is 0x20. This patch sets the needed value according to the vendor and product id's of the Bluetooth device. [Bluetooth] Add support for an old ALPS module This patch adds the specific vendor and product id's for an old ALPS module which don't uses the USB Bluetooth class id. [Bluetooth] Update HCI security filter This patch is a very big update to the HCI security filter. It consists of every forgotten commands/events from Bluetooth 1.1 and also the new parts from the Bluetooth 1.2 specification. [Bluetooth] Support inquiry results with RSSI The Bluetooth 1.2 specification defines a new event for returning inquiry results. This patch converts this event into the standard event and add its information to the inquiry cache. [Bluetooth] Remove USB zero packet option This patch removes the USB zero packet option from the HCI USB Bluetooth driver, because it is useless. It also corrects the config name of the SCO audio support. [Bluetooth] Support for AVM BlueFRITZ! USB This adds a driver for the AVM BlueFRITZ! USB devices. The devices from AVM do not follow the Bluetooth specification part H:2 and thus they need their own driver. [Bluetooth] Correct the module alias for the network family The module alias for PF_BLUETOOTH was placed in the BNEP module, but it has to be in the Bluetooth core module. [Bluetooth] Add module aliases for the Bluetooth protocols This patch adds the missing module alias definitions for the various Bluetooth protocols. [Bluetooth] Update the Kconfig entry for the BlueFRITZ! USB driver The BlueFRITZ! USB driver must use "select" to enable the firmware loader, because the option "enable" is deprecated. [Bluetooth] Add CAPI message transport protocol support This adds support for the CAPI message transport protocol (CMTP) to the Bluetooth subsystem. [Bluetooth] Add missing maintainer entries for the Bluetooth subsystem This patch adds the missing maintainer entries for the CAPI message transport protocol and the BlueFRITZ! USB drivers. [Bluetooth] Improve blacklist handling This patch uses the default ID list to ignore the Broadcom BCM2033 devices without firmware. If it not handles a device or a interface it now returns ENODEV to not fill the kernel log with unneeded errors. [Bluetooth] Support for Broadcom Blutonium This adds a driver for the the Broadcom Blutonium USB devices. The devices with Broadcom chips need a firmware loading sequence before they can work like any other Bluetooth H:2 USB device. [libata sata_sil] unmask interrupts during initialization Prudent in general, and needed for Adaptec BIOSes. [VIDEO]: kbuildify the promcons_tbl and logo source files [Bluetooth] Convert interrupt handlers to use irqreturn_t This patch changes the interrupt routines to make use of the irqreturn_t return values. [WATCHDOG] 2.6.0-rc1 - iminor(inode).patch get rid of unnecessary iminor(inode) code in watchdog's open and close functions. [WATCHDOG] 2.6.0-rc1 expect_close.patch Made the behaviour and syntax of expect_close the same for all watchdog-drivers [WATCHDOG] 2.6.0-rc1 i810-tco.c.nowayout.patch Fix nowayout handling to the way all other watchdog-drivers do it [WATCHDOG] 2.6.0-rc1 _is_open.patch Make _is_open code consistent for all watchdog-drivers [WATCHDOG] 2.6.0-rc1 cleanup-spaces-tabs.patch Cleanup of trailing spaces, tabs, ... [WATCHDOG] 2.6.0-rc1 -ENOIOCTLCMD.patch Make the default return value for the ioctl commands that don't exist = -ENOIOCTLCMD ia64: fix potential deadlocks due to printk() Remove all debug printk() for routines which are called with a runqueue lock held, since those could trigger a deadlock. [WATCHDOG] 2.6.0-rc1 ib700wdt-version-comment.patch remove "for Linux 2.4.x" in the ib700wdt.c driver [WATCHDOG] 2.6.0-rc1 amd7xx_tco.module_param.patch Made nowayout a module_parameter [WATCHDOG] 2.6.0-rc1 spelling-fixes-whether.patch Spelling fixes - whether ia64: Skip zero-length resources in PCI root bridge _CRS. This fixes some ugly messages that used to show up on Tiger and other Intel boxes: alloc 0xffffffff-0x0 from PCI mem for PCI Bus 0000:02 failed alloc 0xffffffff-0x0 from PCI mem for PCI Bus 0000:08 failed alloc 0xffffffff-0x0 from PCI mem for PCI Bus 0000:08 failed alloc 0xffffffff-0x0 from PCI mem for PCI Bus 0000:08 failed alloc 0xffff-0x0 from PCI IO for PCI Bus 0000:08 failed alloc 0xffffffff-0x0 from PCI mem for PCI Bus 0000:09 failed alloc 0xffffffff-0x0 from PCI mem for PCI Bus 0000:0f failed Many files: ia64: Cleanup EXPORT_SYMBOL usage This cleans up the use of EXPORT_SYMBOL in ia64_ksyms.c by moving most of them to the place where the symbol is defined. Ideally, only symbols defined in assembler sources should remain here, but there are some cases where an EXPORT_SYMBOL is missing outside the arch/ia64 tree. I did not change them for now. Also, EXPORT_SYMBOL_NOVERS is obsolete. [WATCHDOG] 2.6.0-rc1 amd7xx_tco.c-nowayout.patch Fix compile error in amd7xx_tco.c after latest nowayout change [PATCH] fix inia100 driver John W Fort helped me debugging the brown paperbag bugs, the patch below makes it work. [PATCH] Initio 9100u The attached patch adds the cpu_to_le32 calls just in case. It was built against my previous patch. 64 bit updates for Workbit NinjaSCSI driver From: GOTO Masanori Thanks for your report. I compiled and exactly I saw some warnings on amd64 machine. I checked all warnings, and these warnings are trivial, they can be easily fixed. I attached the patch to fix warnings. Nsp32 is PCI device driver, so it should also work on amd64 architecture. [libata sata_svr] fix DRV_NAME to reflect actual driver filename [libata sata_sil] add support for adaptec 1210sa, 4-port sii 3114 USB: add legotower driver to main usb makefile [PATCH] USB: add a new pl2303 device id. Thanks to Stefan Verkoyen for the information. [PATCH] USB: add goku_udc driver (Toshiba TC86C001 USB device) This patch implements the "USB Gadget" API using the "Goku-S" (TC86C001) full speed usb device controller. It's passed testing with Gadget Zero, g_ether (full CDC Ethernet support), gadgetfs, and most interestingly Alan Stern's "File Storage Gadget" (FSG, talking to Linux or Windows as a usb-storage device) to give the halt processing a good workout. Control-OUT works. Tested mostly on x86, with reported success on MIPS. As well as being directly useful with that hardware, I think this is small and simple enough to be useful as an example of how to write a USB controller driver. (There will be many more controller drivers than gadget drivers, I suspect ...) Please merge this to the next 2.6 release that takes new drivers. Corresponding updates for kbuild and the various gadget drivers will be coming (not in a flood). [PATCH] USB: fix kfree in usb-skeleton.c >> if (dev->bulk_in_buffer != NULL) >> kfree (dev->bulk_in_buffer); > > > Yes that one check can go away. Care to send me a patch? Actually all those checks should go away ... [PATCH] USB: fix bug in bMaxPower sysfs file, it should be * 2 Also cleaned up the string files. Thanks to Mark Smith for pointing this out. [PATCH] USB: add test for B4000000 to ir-usb driver to fix build issue on some archs USB: add gadget serial driver from Al Borchers [XFS] Remove debug source file from kernel tree; useless without kdb and dropping it cuts down on merge noise. Simplifies the Makefile too. [XFS] Rename pagebuf debug option (ie. pagebuf tracing) into a generic XFS tracing option for the other XFS trace code to use too (once fixed). SGI Modid: 2.5.x-xfs:slinx:159717a [XFS] Fix compiler warning after change to xfs_ioctl interface. SGI Modid: 2.5.x-xfs:slinx:159720a [XFS] Implement dm_get_bulkall SGI Modid: 2.5.x-xfs:slinx:159760a [XFS] Add some IO path tracing, move inval_cached_pages to a better home to help. SGI Modid: 2.5.x-xfs:slinx:160171a [XFS] Fix ktrace code - dont build unilaterally, and do earlier init for pagebuf use. SGI Modid: 2.5.x-xfs:slinx:160172a [XFS] Fix log tracing code so it is independent of DEBUG like other traces. SGI Modid: 2.5.x-xfs:slinx:160178a [XFS] Fix build fallout from reordering xfsidbg headers for tracing fixes. SGI Modid: 2.5.x-xfs:slinx:160225a [XFS] Rename the vnode tracing macro to be consistent with the other trace code SGI Modid: 2.5.x-xfs:slinx:160241a [XFS] Enable tracing in the quota code if requested SGI Modid: 2.5.x-xfs:slinx:160242a [XFS] Fix exports for tracing symbol access in idbg code. SGI Modid: 2.5.x-xfs:slinx:160243a [XFS] When tracing extended attribute calls, only access the buffer when it exists. SGI Modid: 2.5.x-xfs:slinx:160244a [XFS] Fix build with tracing enabled, couple of portability macros, move externs into headers. SGI Modid: 2.5.x-xfs:slinx:160245a [XFS] Enable the tracing options in XFS Makefiles. SGI Modid: 2.5.x-xfs:slinx:160246a [XFS] Dont build objects which are not linked into the kernel ever. SGI Modid: 2.5.x-xfs:slinx:160314a [XFS] Fix compiler warning due to mismatched types. SGI Modid: 2.5.x-xfs:slinx:160445a [XFS] Remove duplicate FILP_DELAY_FLAG macro SGI Modid: 2.5.x-xfs:slinx:160504a [XFS] Fix warnings when tracing enabled on 64 bit platforms SGI Modid: 2.5.x-xfs:slinx:160622a [XFS] Add a stack trace to _xfs_force_shutdown. SGI Modid: 2.5.x-xfs:slinx:160899a [XFS] Fix test for large sector_t when finding max file offset SGI Modid: 2.5.x-xfs:slinx:160900a [XFS] Fix an infinite writepage loop under a combination of low free space, and racing write/unlink calls to the same file. SGI Modid: 2.5.x-xfs:slinx:161773a [XFS] Fix error code sign on forced shutdown in iomap; sync iomap code up between 2.4 and 2.6 versions. SGI Modid: 2.5.x-xfs:slinx:161902a [XFS] Enable pagebuf lock tracking with debug config option. SGI Modid: 2.5.x-xfs:slinx:161903a [XFS] Cleanup the page buffers loop in writepage (no goto, like 2.4 variant). SGI Modid: 2.5.x-xfs:slinx:161999a [XFS] move the iomap data structures out of pagebuf SGI Modid: 2.5.x-xfs:slinx:162048a [XFS] Merge page_buf_locking routines in with the rest of page_buf. SGI Modid: 2.5.x-xfs:slinx:162155a [XFS] Switch to using the BSD qsort implementation. SGI Modid: 2.5.x-xfs:slinx:162158a [XFS] Change pagebuf to use the same ktrace implementation as XFS, instead of reinventing that wheel. SGI Modid: 2.5.x-xfs:slinx:162159a [XFS] Seperate the NFS reference cache code out from xfs_rw.c to simplify management of different kernel versions. SGI Modid: 2.5.x-xfs:slinx:162241a [XFS] Trivial/whitespace changes to sync up different trees a bit. SGI Modid: 2.5.x-xfs:slinx:162245a [XFS] Set proper device for realtime files in linvfs_get_block_core SGI Modid: 2.5.x-xfs:slinx:143006a [XFS] Remove assertion that we do not hold a lock - no lock ownership state available. SGI Modid: 2.5.x-xfs:slinx:162250a [XFS] Fix sysctl handlers to expect ints SGI Modid: 2.5.x-xfs:slinx:162288a [XFS] Move the stack trace wrapper into a kernel-version-specific location. SGI Modid: 2.5.x-xfs:slinx:162317a [XFS] Use iomap abstraction consistently. SGI Modid: 2.5.x-xfs:slinx:162327a [XFS] Abstract sendfile operation out, supporting multiple kernels more easily. SGI Modid: 2.5.x-xfs:slinx:162329a [JFS] allow resize option with no parameter The resize option is valid both with and without a parameter. When cleaning up the parsing code to use match_token(), the ability to specify resize without a parameter was lost. [XFS] Use xfs_statfs type to statfs operation, to support multiple kernels more easily. SGI Modid: 2.5.x-xfs:slinx:162331a [XFS] Fix some incorrect debug code after buftarg changes. SGI Modid: 2.5.x-xfs:slinx:162334a [XFS] Make kmem shaking interface consistent between kernel versions. No code change here, mainly symbol names. SGI Modid: 2.5.x-xfs:slinx:162379a [XFS] Fix comment in xfs_rename.c SGI Modid: 2.5.x-xfs:slinx:162760a [XFS] Prevent log ktrace code from sleeping in an invalid context. SGI Modid: 2.5.x-xfs:slinx:162768a [XFS] Use vnode timespec modifiers for atime/mtime/ctime, keeps last code hunk in sync. SGI Modid: 2.5.x-xfs:slinx:162783a [XFS] Update xfs_showargs to reflect all current mount options SGI Modid: 2.5.x-xfs:slinx:163102a [XFS] No need to initialise struct xfs_trans field to null after a zalloc. SGI Modid: 2.5.x-xfs:slinx:163115a [XFS] Remove some spurious double semi-colons. SGI Modid: 2.5.x-xfs:slinx:163116a [XFS] Fix async pagebuf I/O tracing at the bottom of pagebuf_get. SGI Modid: 2.5.x-xfs:slinx:163118a [XFS] Fix a small pagebuf memory leak and keep track of slab pages ourselves. SGI Modid: 2.5.x-xfs:slinx:163124a [XFS] Fix an XFS release_page case where unwritten extents may cause I/O incorrectly. SGI Modid: 2.5.x-xfs:slinx:163128a [XFS] Cleanup bdevname conditional code in xfs_buf headers. SGI Modid: 2.5.x-xfs:slinx:163365a [XFS] Rework some extended attributes code to make it more easily extended. SGI Modid: 2.5.x-xfs:slinx:163383a [XFS] Fix some inconsistent types SGI Modid: 2.5.x-xfs:slinx:155637a [XFS] Fix one more fsid_t type. SGI Modid: 2.5.x-xfs:slinx:155873a [XFS] Work around gcc 2.96 bug in _lsn_cmp. SGI Modid: 2.5.x-xfs:slinx:156280a [XFS] Trivial and whitespace changes to sync trees. Remove no-longer-used headers. [SPARC64]: In early bootup, BUG() if cannot find TLB entry for remapping. [SPARC]: Fix PMD masking in SRMMU code. [SPARC]: Use spinlock to protect IRQ action management. [NET]: Use size_t for size argument in {send,recv}msg callchain. [IPV4/IPV6]: Use size_t for size in {send,recv}msg. [BLUETOOTH]: Use size_t for size in {send,recv}msg. [PPPOE]: Use size_t for size in {send,recv}msg. [APPLETALK DDP]: Use size_t for size in {send,recv}msg. [ATM]: Use size_t for size in {send,recv}msg. [AX25]: Use size_t for size in {send,recv}msg. [IPX]: Use size_t for size in {send,recv}msg. [DECNET]: Use size_t for size in {send,recv}msg. [NETLINK]: Use size_t for size in {send,recv}msg. [ECONET]: Use size_t for size in {send,recv}msg. [IRDA]: Use size_t for size in {send,recv}msg. [LLC]: Use size_t for size in {send,recv}msg. [NETROM]: Use size_t for size in {send,recv}msg. [ROSE]: Use size_t for size in {send,recv}msg. [UNIX]: Use size_t for size in {send,recv}msg. [X25]: Use size_t for size in {send,recv}msg. [ATM]: br2684 incorrectly handles frames recvd with FCS (by Alex Zeffertt ) [NETFILTER]: Align nulldevname properly in ip_tables. [IRDA]: Proper calculation for F-timer. Improve interoperability. [IRDA]: Fix a potential dealock in sir-dev state machine. Also, make sir-dev locking compatible with irport. From Martin Diehl. [IRDA]: Fix sir-dev 'raw' mode for sir dongles that need it. From Martin Diehl. [IRDA]: Add module alias for IrCOMM pseudo serial device. From Martin Diehl. [IRDA]: Fix compiler warning in af_irda.c [SPARC64]: Add option to define default command line to kernel, ala PPC. [SPARC64]: Update defconfig. [AGPGART] The RadeonIGP 345M device ID is 0xcbb2, not 0xcbb Spotted by Matteo Croce [PATCH] USB: add new usb led driver. [XFRM]: SHA2-256 should be truncated to 96 bits, not 128. [ARM PATCH] 1712/1: pxa2xx_udc (1/5) add INIT_MACHINE Patch from David Brownell This adds a mechanism for a per-machine initcall, one that's guaranteed to run only to initialize a kernel running on that specific hardware. It's not strictly necessary, but it does eliminate the need for certain boilerplate in machine-specific support, to ensure it's only running on the right hardware: /* in arch/arm/mach-xxx/MYMACHINE.c */ ... static int __init init_MYMACHINE(void) { if (!mach_is_MYMACHINE()) // often forgotten!! return -EINVAL; ... declare and customize platform devices ... return 0; } arch_initcall(init_MYMACHINE); An init_MYMACHINE() call still exists, but it'd be declared as part of the machine definition. [ARM PATCH] 1710/1: pxa2xx_udc (2/5) mach-pxa/idp.c uses INIT_MACHINE Patch from David Brownell This just makes the IDP initialization code use this initcall, so that it won't run unless it's actually on IDP hardware. Depends on the INIT_MACHINE patch (#1 this series). [PATCH] qla1280 I am attaching the latest version of the qla1280 driver for inclusion in the next 2.6.x release. It is mostly based on Christoph's cleanup work and a couple of changes of my own. I don't know if it is too late for 2.6.1, but otherwise it would be nice to get it into 2.6.2. I have built and tested this using 2.6.0-test11 on an ia64, but I don't think there were any major SCSI changes since then. [PATCH] fix a few missing return value checks in scsi The attached patch adds a few error checks for the pci dma_mask setting routines, which after all can fail and thus need their return code checked. [PATCH] Call slave_destroy in scsi_alloc_sdev error path This patch fixes a potential memory leak in scsi_alloc_sdev. If slave_alloc kmallocs memory and the get_device() (around line 245) fails then we goto the error path. The error path never calls slave_destroy. [PATCH] Re: 2.6.1-rc1: SCSI: `TIMEOUT' redefined On Tue, Jan 06, 2004 at 07:33:25PM +0100, Adrian Bunk wrote: > On Wed, Dec 31, 2003 at 12:36:49AM -0800, Linus Torvalds wrote: > >... > > Summary of changes from v2.6.0 to v2.6.1-rc1 > > ============================================ > >... > > Patrick Mansfield: > > o consolidate and log scsi command on send and completion > >... > > This adds a #define TIMEOUT to scsi.h conflicting with a different > TIMEOUT #define in drivers/scsi/eata_generic.h: Sorry Adrian, here is a patch renaming TIMEOUT to TIMEOUT_ERROR. Still not a good name for the usage in SCSI core, but it does not conflict, and matches the other names for the IO completion results (SUCCESS, FAILED, etc., they and others should really be prefixed with at least SCSI). eata does not use the TIMEOUT it defines, but there are enough defines of TIMEOUT that it could be a problem in other drivers. Only compile tested for eata driver. SCSI: atp870u update From: Zwane Mwaikambo [PATCH] Kernel oops in 2.6.1 when loading aha152x_cs.ko Attached patch removed the references to the legacy stuff from the driver. I'm not sure if that is all that needs to be done though, and I could only test it for the non-pcmcia case, but that works here. [netdrvr 3c527] remove cli/sti Richard Procter and I worked to remove cli/sti to add proper SMP support (I did the original stuff and Richard did the actual current code :)). Besides that, Richard did a great jog improving the perfomance of the driver quite a bit: - Improve mc32_command by 770% (438% non-inlined) over the semaphore version (at a cost of 1 sem + 2 completions per driver). - Removed mutex covering mc32_send_packet (hard_start_xmit). This lets the interrupt handler operate concurrently and removes unnecessary locking. It makes the code only slightly more brittle Original post: http://marc.theaimsgroup.com/?l=linux-netdev&m=106438449315202&w=2 Since it didn't apply cleanly against 2.6.0-test6, I forward ported it. Patch attached. Jeff, please consider applying, Thanks. [netdrvr natsemi] janitor: insert missing iounmap(), add error handling From: Leann Ogasawara Patch inserts a missing iounmap(). Implements a cleanup path for error handling as well. [PATCH] smctr - get rid of MOD_INC/DEC Get rid of warning now that module refcounting now done by network code not drivers. Not tested on real hardware. [netdrvr 3c527] whitespace changes (sync up with maintainer) [netdrvr 3c527] fix race [netdrvr] Remove never-referenced 68360enet.c [netdrvr 3c527] applied missing pieces of Richard Proctor's 3c527 SMP update Minor stuff... remove unused constants, and mark non-experimental and non-broken in Kconfig. SCSI sg,st block layer TCQ fix Usually, the mid layer ends the block tag (if one was in use) early to release the resources. However, things like sg and st don't go through the code path that does the release, so put a fallback release in __scsi_release_request() for them. [PATCH] more ne2k-pci clone boards [netdrvr] add "forcedeth" driver for nVidia nForce NICs [wireless airo] Fix PCI registration [PATCH] get rid of MOD INC/DEC for farsync Get rid of leftover MOD INC/DEC in this driver. Ref counting now done by network core. Jeff, please apply to net-drivers-2.5-exp [PATCH] pc300 - get rid of MOD_INC/MOD_DEC Remove old style mod inc/dec from this WAN driver. [wan] add new pc200syn driver [PATCH] sk98lin-2.6: Kernel Update to Driver Version v6.21 Patch 1/4 (Update to version 6.21) * Add: Common module update * Add: New function for PCI initialization (SkGeInitPCI) * Add: Yukon Plus changes (ChipID, PCI...) * Add: Code for DIAG tool * Fix: Problems while unloading the linux driver * Fix: PrefPort=B not allowed on single NICs * Fix: Fixed Linux System crash when using vlans * Fix: Remove useless register_netdev * Fix: Initalize Board before network configuration * Fix: Modifications regarding try_module_get() and capable() [PATCH] sk98lin-2.6: Readme Update to Driver Version v6.21 Patch 2/4 (Update to version 6.21) * Fix: Readme changes [PATCH] sk98lin-2.6: Kconfig Update to Driver Version v6.21 Patch 3/4 (Update to version 6.21) * Add: Update of the Vendors list Cset exclude: shemminger@osdl.org|ChangeSet|20040110194048|37013 Revert skfp_probe patch... better patch coming. [wireless orinoco_pci] add Vaio PCI id [netdrvr starfire] remove dup include [SPARC]: Wrap some includes with __KERNEL__ check in asm-sparc/elf.h. aacraid warning fix From: Christoph Hellwig Fix: drivers/scsi/aacraid/aachba.c:1409: warning: `flag' might be used uninitialized in this function repair oops in aic7xxx_old proc_info From: "Randy.Dunlap" another aic7xxx_old proc fix from 2.6.1-mm2 [netdrvr forcedeth] alloc fixes [wireless atmel] various updates Below is a patch against 2.6.1-rc1 which has that fix and quite a few other components. viz: * Bumped version to 0.9 * Dmitry Torokhov's skb-leak and netif_carrier patches. * Added a couple of fields to /proc/driver/atmel * Fixed failure to call unregister_netdev in a couple of error-unwind paths. I think this fixes the unregister_netdevice: waiting for eth1 to become free. bugs, but I don't have definative proof. * Remove floating-point constants just in case the compiler doesn't. * Fixed bug in scanning. * Added firmware versioning, driver will search through different available versions of firmware 'till it finds an available one. * Changed firmware URL in configure help to a directory rather than a file, so I can release new named versions. * Added support for later releases of the firmware, which are WPA aware. Firmware verion is automatically detected, so users who upgrade their kernel but not their firmware won't have problems. The PCI support and possible WPA support will have to wait for another day. [PATCH] Mark IBM TR driver as not 64 bit clean This driver doesn't seem to be 64bit clean judging from the warnings on x86-64. Mark it as !64BIT. -Andi [tokenring olympic] use memset_io to fix certain platforms Prefer a single memset_io() to buggy writel/writew/writeb loops. Bug found and fixed by IBM. sym2 speed selection fix From: Alex Tomas without following patch I couldn't get 160MB from my disk. removed line restores previous clocking value (0 in my case). so, driver thinks disk isn't DT-capable ... Fix sym2 Ultra160 mode From: Anton Blanchard Update Mac ESP SCSI From: Geert Uytterhoeven Mac ESP SCSI: Update argument parsing (from Matthias Urlichs) Mac SCSI fixes (from Matthias Urlichs) From: Geert Uytterhoeven Mac SCSI fixes (from Matthias Urlichs): - Inline functions need to be defined before being used. - out_8() takes an address and a value, not the other way round. ncr53c7xx: Cleanup prototypes From: Geert Uytterhoeven ncr53c7xx: Cleanup prototypes for ncr53c7xx_init() BVME6000 SCSI: Fix typos From: Geert Uytterhoeven Amiga NCR53c710: Coalesce all configuration options into one From: Geert Uytterhoeven Amiga NCR53c710: Coalesce all Amiga NCR53c710 SCSI host adapter configuration options into one config option, as suggested by Matthew Wilcox. NCR53C9x SCSI: Kill bogus inline From: Geert Uytterhoeven [BK] add two helper scripts to Documentation/BK-usage cpcset: copy changset from one repository to another gcapatch: Generate GNU diff of local changes, versus latest upstream (well, GCA...) [NET] fix leak in sch_teql Also note the fact that we're calling functions that may block, while holding a local spinlock. [netdrvr forcedeth] kfree -> free_netdev [PATCH] qla1280.c doesn't compile On Wed, Jan 07, 2004 at 11:28:31PM -0800, Andrew Morton wrote: >... > Changes since 2.6.1-rc1-mm2: >... > -qla1280-update.patch > +qla1280-update-2.patch > > Updated qlogic patch >... I got the following compile error when trying to compile this driver statically into a kernel with hotplug enabled: <-- snip --> ... drivers/scsi/qla1280.c:4849: error: `qla1280_remove_one' undeclared here (not in a function) drivers/scsi/qla1280.c:4849: error: initializer element is not constant drivers/scsi/qla1280.c:4849: error: (near initialization for `qla1280_pci_driver.remove') make[2]: *** [drivers/scsi/qla1280.o] Error 1 <-- snip --> Since I don't see a good reason why qla1280_remove_one is #ifdef'ed out in the non-modular case the patch below fixes this problem by removing two #ifdef's. [SERIAL] request resources for ACPI & HCDP ports Patch from: Bjorn Helgaas This patch against 2.6.1-rc3 sets UPF_RESOURCES so the appropriate ranges will show up in /proc/ioports and /proc/iomem. ia64: add generic defconfig file Here's a generic_defconfig that works on all the ia64 platforms I'm aware of, and we can always update it if it's missing a driver or two. Compile tested 'make compressed' and 'make modules', and boot tested on sn2, and I think Alex boot tested on an HP machine. [PATCH] ia64: HP IOTLB startup msg This patch adds a little noise on the console. I like to see this info because it matches up with the AGPGART aperture info later on. [PATCH] ia64: sn2 defconfig update Just a quick update for the sn2_defconfig file now that some more config options have been added. [PATCH] ia64: __ia64_memcpy_fromio() may be missing from kernel When building a highly modular, non-generic kernel it can happen that arch/ia64/lib/io.o is not included in the image because nothing built-in needs __ia64_memcpy_fromio, etc., yet it may be called from a module. We should force it to be linked in. ia64: Minor fix for get_order() so it works even for insanely large arguments. ia64: Turn on CONFIG_EFI unconditionaly (even for HP Ski simulator). [PATCH] ia64: sba_iommu update This patch does a couple things: * Allows iommu page size different than PAGE_SIZE. This was largely done by Bjorn. The motivation for this is that sx1000 hardware officially only supports use of the iommu with a 4k page size. Thus the default is now 4k for sx1000 and PAGE_SIZE for zx1. * Cleanup the runtime statistics gathering such that we can turn it on for some info w/o impacting runtime performance. ia64: Avoid use of cast expressions as lvalues. They're ugly and may be dropped from GCC at some point in the future. [PATCH] variable number of dummy devices Uses the new module_params that nobody else uses now. ia64: Fix bad patch breakage: move generic-defconfig to where it belongs. Dosemu actually wants to do a zero-sized source mremap to generate the duplicate area at 0x0000 and 0x100000. There's no downside to it, so allow it even though it's a tad strange. [Bluetooth] Fix CMTP reference counting This patch fixes the module reference counting which was done wrong while porting this driver to the 2.6 kernel series. [Bluetooth] Use R2 for default value of pscan_rep_mode The only possible default value for pscan_rep_mode, if there is no entry in the inquiry cache, can be R2. [Bluetooth] Set disconnect timer for incoming ACL links In general a Bluetooth stack that creates an ACL link should also take care of its termination, but some Bluetooth devices think otherwise. The problem is that the Bluetooth specification don't defines an ownership of an ACL link and if nobody cares about it, two devices stay connected even if there is no need. To avoid leftover ACL links the disconnect timer must also be used for incoming connections, but it is set twice the default disconnect timeout so the other side get enough time to clean everything by itself. [SPARC64]: Disable PCI ROM address OBP sanity check for now. [COMPAT]: Mark SIOCSIFNAME as compatible ioctl. [Bluetooth] Fix reference counting for incoming connections The L2CAP reference counting must be increased by the RFCOMM module if an incoming connection is accepted. If this is not done, it will be decreased one time to often if the connection is terminated. [COMPAT]: Support wireless ioctls, with help from Clint Adams. [IPV4]: Check for netdev alloc failure in ipmr.c [IPV4/IPV6]: In MLD, add new filter first, then delete old one. [BRIDGE]: Use dev_base_lock while traversing netdev list. [NET]: Convert /proc/net/dev_mcast to seq_file. [NET]: Add SIOCSIGNAME wildcarding and name validation, with help from Jean Tourrilhes. [NETFILTER]: Add config help texts for IP_NF_ARP{TABLES,FILTER} [ATM]: [nicstar] convert to new style pci module (by "Jorge Boncompte [DTI2]" ) [NET]: When registering a new notifier, rebroadcast REGISTER and UP events. [IPV6]: Notifier replay changes Change IPV6 to handle the new case where netdev events are replayed on registration: * change code ordering so address configuration is ready before registration (this was actually a bug in existing code) * take out code that capture's existing devices, this is now done in the replay * make notifier code local to addrconf.c so it can be have smaller scope [X25]: Remove pre-existing device discovery loop Remove duplicate/conflicting code now that netdev_register_notifier replays the device registration events. [BPQETHER]: Remove pre-existing device discovery loop Remove duplicate/conflicting code now that netdev_register_notifier replays the device registration events. Reorder initialization to avoid having to simplify error unwind if /proc creation failed. [LAPBETHER]: Remove pre-existing device discovery loop Remove duplicate/conflicting code now that netdev_register_notifier replays the device registration events. [XFS] Remove a no-longer-used pagebuf source file. [IPCOMP]: Set x->km.state to XFRM_STATE_DEAD in ipcomp_tunnel_create(). Otherwise we can trigger the BUG trap in __xfrm_state_destroy() when xfrm_state_put() finds this is the last reference. [AF_KEY]: In pfkey_get(), do not dereference xfrm_state after it is put. [XFRM]: Fix two bugs in xfrm_lookup() - the found or allocated xfrm_states are not passed correctly to xfrm_bundle_create (and to the subsequent frees in case of create failing) if the first xfrm_tmpl_resolve failed and the second one succeeded. - error handling is wrong. [XFRM_USER]: xfrm_state_construct() needs to set x->km.state to XFRM_STATE_DEAD. Otherwise this can lead to the BUG_TRAP in __xfrm_state_destroy when xfrm_state_put() finds this is the last reference. [XFRM]: In xfrm_lookup(), schedule() before retrying template resolution. [PATCH] Re: Building sym 2.1.18f on linux/alpha On Tue, Jan 13, 2004 at 06:02:08PM +0300, Sergey Tikhonov wrote: > The final kernel could not pass linking stage with 2.1.18f version > (included into 2.6.1 kernel patch). > The linker complains that : > drivers/built-in.o(.init.text+0x8cec): In function 'sym2_probe': > : undfined reference to 'local symbols in discarded section .exit.text' > > I compared arch/alpha/kernel/vmlinux.lds.S with one from the i386 tree. > The '.exit.text' and '.exit.data' > sections were moved out of DISCARD attributes in the i386 version. I did > the same with alpha version > and it helped. Thanks for this report; you uncovered a real bug. Actually two real bugs; one is that parisc is not discarding the .init.text and .exit.text sections (so I didn't notice this bug) and the other is that sym_detach is marked __devexit, yet called from a __devinit function. [PATCH] ia64: header cleanup I fixed the code to compile with CONFIG_ACPI_NUMA and !CONFIG_DISCONTIG since it's actually possible to compile that configuration as well as cleaned up the #include usage a litte. [Bluetooth] Start inquiry if cache is empty If the inquiry cache is empty it makes no sense to return zero number of inquiry result even if the age of cache is not outdated. [PATCH] ia64: system type Kconfig cleanup Fix system type selection to workaround menuconfig bug (select "HP", get "HP-simulator"). [PATCH] I2C: module_parm fixes for i2c-piix4.c [PATCH] I2C: documentation update > > They should be converted. From module.h: > > /* DEPRECATED: Do not use. */ > > #define MODULE_PARM(var,type) \ > > ... > > Note that realistically, it's not going away in 2.6, so mass migration > doesn't really win anything. However, I never implemented mixing old > and new style in the same module, so if you're adding a parameter, it > makes sense to convert them all. OK, I don't have much time for a mass conversion anyway. Greg, could you please apply the following patch to the "porting-clients" document so that at least the new drivers don't need to be converted afterwards? ia64: Patch by Bjorn Helgaas: acpi_register_irq() must be exported to enable modular ACPI device drivers. [PATCH] I2C: Add ported sensor chip driver: asb100 This patch adds support for the ASB100 Bach sensor chip, which is found on some Asus mainboards. The port corresponds to lm_sensors CVS revision 1.5. The patch applies to and was tested against 2.6.1-rc1. [PATCH] I2C: link asb100 in the proper order * Jean Delvare [2004-01-09 22:58:58 +0100]: > Shouldn't the asb100 be listed first, the same way the w83781d is, since > it has subclients? I would even put asb100 before w83781d, since for now > the w83781d driver will try to handle ASB100 chips too, thus preventing > the asb100 driver from being used if both drivers are built-in. You're right, thanks * * * * * This patch fixes the link order for asb100 sensors chip driver. [PATCH] I2C: IBM IIC compile fix please apply this trivial one-liner. It fixes compilation of IBM IIC driver. [PATCH] I2C: saa7146.h doesn't need i2c.h [Bluetooth] Change maintainer role of the Bluetooth subsystem This patch updates the CREDITS and MAINTAINERS files to reflect the change of the maintainer role for the Bluetooth subsystem. [PATCH] ia64: move HCDP under serial console #ifdef Currently you can select HCDP independent of serial console. This doesn't seem very useful, and makes the setup_serial_hcdp() reference unresolved if the serial driver is built as a module. CONFIG_SERIAL_8250_CONSOLE is only selectable if the serial core is built in (SERIAL_8250=y), so this patch makes sure we don't try to call setup_serial_hcdp() unless it is actually built in to the kernel. (I think we should also make HCDP selection dependent on SERIAL_8250_CONSOLE=y in Kconfig; I'll send a separate patch for that since it's not ia64-specific.) [PATCH] I2C: Typo in i2c/busses/Kconfig Another simple patch for your collection. BTW I don't think that i2c-rpx can be used in 2.6 since it relies on an algorithm that hasn't been ported yet. [PATCH] I2C: i2c-rpx.c doesn't need ioports.h nor parport.h One more simple patch... These headers are useless as far as I can see. [PATCH] I2C: New parport bus drivers These are replacements for the i2c-philips-par, i2c-elv and i2c-velleman drivers, as well as for the i2c-old i2c-parport driver as found under drivers/media/video in linux 2.4. My reason for writing them, as already discussed on the sensors and linux-kernel mailing-lists, is that all these drivers basically do the same thing, so I thought it would be easier to maintain a single driver instead of four. As Simon Vogl pointed out that using a direct I/O access (as done in i2c-elv and i2c-velleman) could be prefered over clean parport access (as done in i2c-philips-par) on embedded devices, I finally wrote two drivers instead of one. But both drivers support all devices, it's just a matter of how they are accessed (and wether the driver depends on the parport driver). I made it so that the definition of the adapters (i.e. how to set and get SDA and SCL, basically) is completely separated from the code itself. Thus, adding support for a new adapter is simply adding a new set of data to the definition table, describing how the adapter works, in a single file. This means that all simple parallel port adapters are virtually supported. The i2c-pport driver we have in i2c CVS isn't supported yet because it works a bit differently, but I believe that extending the current driver(s) to support it should be possible (although it can be discussed wether it's worth it). You'll have to pass the type parameter that is correct for your board: 0 = Philips 2 = Velleman 3 = ELV 4 = ADM evaluation board I could only test with my ADM eval board, and it worked OK with both drivers. If they are confirmed to work, we could get rid of all other parallel port i2c drivers in 2.6. *** I think we should mark the i2c-philips-par, i2c-elv and i2c-velleman drivers as "deprecated" in i2c/busses/Kconfig. Is there a standard way to do so (like there is "&& EXPERIMENTAL" for new drivers)? Thanks. [PATCH] ia64: quiet down SMP boot messages This patch gets rid of some superfluous printk's which get tedious on machines with insane number of CPUs. The virtual/physical address bit info is already available via /proc/pal, so there is no need to print it at boot- time. [PATCH] I2C: New chip driver: lm90 This is my LM90/ADM1032 i2c chip driver ported to Linux 2.6 [PATCH] I2C: Fix w83781d temp This patch fixes the temperature handling in the w83781d driver: 1* Fix bad magnitude. 2* Use MMH's lm75.h. 3* Allow negative temperatures. [PATCH] I2C: Fix debug bug in lm83 driver The following patch fixes lm83 failing to compile if DEBUG is set. [PATCH] I2C: Kconfig cleanups This patch attempts to reduce the number of inappropriate questions being asked by menuconfig. [PATCH] USB: add support for the Clie PEG-TJ25 device Thanks to BOUCNIAUX Benjamin for the information. [IEEE1394]: Update OUI database as of Dec 31, 2003. [IEEE1394]: Spelling fix from Dominik Brodowski. [IEEE1394]: Convert to cdev API. Retire our char device dispatching logic. With the 2.6 cdev API we can register much smaller device number regions, so we use that instead. [IEEE1394]: Use the right length when deregistering raw1394 char device. [IEEE1394]: Fix compilation when CONFIG_COMPAT is enabled (32/64 systems). This was broken by the last commit for cdev stuff which removed the "int ret;" that these routines used. [IEEE1394]: Per-host address space patch from Steve. [IEEE1394]: Fix test in ohci_soft_reset(), and handle hot-unplugged cardbus cards better. input: Move keycode definitions around to get as close to 2.4 compatibility as we can at the moment. This also kills KEY_103RD, because PS/2 keyboards don't have it and everyone is expecting to get KEY_BACKSLASH anyway. Fix rawmode generation for PrintScreen key, too. [IEEE1394]: Rework highlevel list locking to avoid blocking under spinlocks. input: Add support for Logitech MX700 mouse. input: Expect only one character in interrupt in i8042.c, this eases the load on the controller (only one status read per interrupt). Also do polling only some time after an interrupt happened. [libata sata_sil] cleaner, better version of errata workarounds No longer unfairly punishes non-errata Seagate and Maxtor drives. [IEEE1394]: Sync file revisions. [libata sata_sil] add pci id for Silicon Image 3512 [libata sata_svw] cleanup, better probing * use fewer magic numbers * probe all 4 ports, using standard SATA SCRs * limit udma mask to 0x3f * clean up PPC-specific procfs stuff [NET]: net/flow.h needs asm/atomic.h [ATM]: better behavior for sendmsg/recvmsg during async closes [IRDA]: Migrate TIOCMGET and TIOCMSET ioctls in IrCOMM to the new TTY API. Patch from Russell King. [netdrvr forcedeth] include linux/interrupt.h Fixes build on some platforms. [ATM]: CLIP device discovery on init is not needed. [DECNET]: Fix initialization race. Decnet exposes itself to proc and packets before it has finished initializing. This was always a race, but the notifier replay might expose it worse. [NET]: dev_alloc_name() returns the number of the slot used, so comparison needs to be < 0 [IPV6]: Implement MIB:ipv6InterfaceTable [IPV6]: Add notification for MIB:ipv6Prefix events. [NET]: Fix uninlinable __sock_put call in net/sock.h g_NCR5380 - 2.6.0 - problem with reloading module From: "Randy.Dunlap" The problem is that the detect function requests an IO region of 16 bytes (at least when a command line override parameter is used) but the release function only tries to release 8 bytes, and this request isn't done because it doesn't match any allocated IO region. [NCR53C400 extensions are not enabled, so NCR5380_region_size is 8, not 16, but the request uses NCR5380_region_size regardless.] Fix: save the allocated region size in instance->n_io_ports and release that size only; Import qla2xxx driver From: "Andrew Vasquez" With additional changes from: "James Bottomley" , "Christoph Hellwig" This is the qlogic driver version 8.00.00b7 with the ioctl and failover code stripped out and a few associated fixes put in. input: Add informational printk()s to atkbd.c Fix qla2xxx Kconfig dependency problem [PATCH] ips 2/2: minor fixes This patch fixes two minor bugs. It allows zero length write commands through to devices. It also prevents the writing of any '\0' characters at the end of version numbers to ips's /proc/scsi files. [PATCH] ips fix for large mem 64bit machines This patch fixes DMA bugs on x86-64 and ia64 machines. The driver was using commands that only support 32bit addresses in places that could return 64bit addresses. One place was DMAing off the stack. The other place was causing problems on x86-64 machines by calling pci_map() functions on a region allocated by pci_alloc_consistent(). [PATCH] I2C: move the Kconfig "source..." out of the drivers/char/ location input: Add IBM GamePad to the BADPAD list. input: Add backslash and 102nd key to amikbd.c list of scancodes. input: i8042.c: Add exists=0 into an error path, change the mux/aux init order to make some of the probing code (second irq probe) unnecessary. [AF_PACKET]: Fix bind()/setsockopt(PACKET_RX_RING) bug and socket leak. This problem was the bug of packet_set_ring(). packet_set_ring() removes the hook for preparation of ring buffer, but it didn't restore. Also it's leaking the refcount of sk. input: Move devfs entries for joystick into /dev/input input: Fixes and updates of the USB ForceFeedback drivers. Added Logitech MOMO FF steering wheel ID. [ACPI] change hard-coded IO width to programmable width http://bugzilla.kernel.org/show_bug.cgi?id=1349 from David Shaohua Li and Venatesh Pallipadi [IPV6]: Allow per-device max addresses configurable via sysctl. [IPV6]: Do not change DEVCONF_xxx indexed based upon kernel config. [NET] remove both incorrect and unneeded spinlock from sch_teql The spinlock was held while calling functions that could block, while simultaneously being at all times inside the context of module init/exit. Thanks to DaveM. JFS: Creating large xattr lists may cause BUG The bug was caused by a flag being or'ed against an unitialized value, rather than setting the flag correctly. [ATM]: Kill unused declaration in clip.c [PATCH] I2C: remove CONFIG_ISA dependancy for I2C_ISA as x86_64 does not have CONFIG_ISA ia64: Replace unwcheck shell-script with a Python script which works correctly even on 32-bit hosts. As an added bonus, it's faster, too. Run "unwcheck" by default, but for now, don't let unwcheck errors cause the kernel build to fail. [netdrvr forcedeth] linux/interrupt wasn't enough :) include asm/irq.h too Thanks to DaveM. [PATCH] I2C: restore correct vaio handling in eeprom driver Here is a patch to the eeprom driver in 2.6.1 that changes the way Vaio eeproms are handled. In 2.6.1, the eeprom is readable only by root, which isn't consistent with the 2.4 driver which simple hides (i.e. fills it with zeroes) the first row (16 bytes) of the eeprom to regular users. The patch restores a similar behaviour in the 2.6 driver. ia64: If GAS can handle .align inside code, enable it via TEXT_ALIGN(). [PATCH] fix pdeath_signal SMP locking Obviously almost noone uses the pdeath_signal feature, since this has gone unnoticed for quite some time. This patch calls the function that does the right locking for the context of this call (inside exit_notify). The names of the signal.c entrypoints are a little confusing. input: Alt-arrow console switch is routinely dropped under high load. This patch fixes it: alt-arrow has to start from console _we want to switch to_, if switch is already pending. Cset exclude: mashirle@us.ibm.com|ChangeSet|20040115231022|51079 input: Added BUS_BLUETOOTH definition for BlueTooth HID devices. [ALPHA] Tidy ELF_HWCAP and ELF_PLATFORM. Provide all relevant platform identifiers up to ev67. [ALPHA] Tidy buglets in sigreturn paths: Don't pretend support for _NSIG_WORDS > 1. Don't verify_area on more memory than we actually care about. Don't fiddle stack_t in do_rt_sigreturn. [SCTP] ADDIP: Handle T4 RTO timer expiry. [SCTP] Fix bugs in byte order conversion while processing address related SCTP socket options. [QLOGICPTI]: Fix SMP locking, tested by Chris Ricker. [SERIAL] make HCDP dependent on serial console Patch from Bjorn Helgaas I propose the following HCDP Kconfig patch. It makes HCDP selectable only when serial console has been selected. One desirable side effect is that both are then available only when statically compiled in (i.e., not built as a module). The HCDP support doesn't actually depend on IA64, but I left that in for now because nobody else implements support for it and I don't want people confused by a selectable option that doesn't do anything. Maybe a "depends on EFI" or something will be useful eventually. [SERIAL] make ACPI serial module unload work Patch from Bjorn Helgaas This patch makes ACPI serial ports work right when the serial driver is built as a module. Previously, loading worked fine, but we didn't clean up on module removal. [PATCH] I2C: clean up ISA dependancies Quoting myself: > 1* Elektor depends on ISA. > 2* ELV and Velleman do not depend on ISA. > 3* i2c-isa is M by default, and has an additional help text > 4* via686a autoselects i2c-isa > 5* i2c-isa doesn't depend on ISA Here's the patch: [PATCH] I2C: i2c-i801 help [PATCH] I2C: speed up eeprom driver by a factor of 4 Basically, I divide the eeprom in 8 32-byte slices. Each of it has a "valid" boolean (combined together into a bitfield) and a jiffies counter. Eeprom_update_client() is added a new parameter to specify which slice to update. Code updated accordingly. Finally, the read function updates only slices that need to be. The code is heavily inspired from what was done in the CVS driver, of course. Three additional notes: 1* This fixes a bug in eeprom_update_client()'s refresh condition. We used to check jiffies before valid, although jiffies are not defined if valid isn't true. That was already fixed in our CVS driver but for some reason the fix did not go into 2.6 yet. 2* This also skips the update if the read if out of bounds. I think this is the thing to do. 3* It can be discussed wether eeprom_update_client() should take two slice parameters instead of one (start slice, end slice). This would make things slightly faster when consecutive slices are requested. Maybe the code would even be clearer. It wasn't done so far because the CVS driver wouldn't benefit from it (because the EEPROM's contents are split over several "output" files in that version of the driver) but I'll probably give it a try in 2.6. [PATCH] USB Storage: patch to unusual_devs.h for Pentax Optio 330GS camera I was unable to get my Pentax Optio 330GSrecognised by the 2.6.0 kernel until I applied the patch below that I found posted some months ago on the German Debian mailing list. I have attributred it to the original poster. [PATCH] USB storage: unusual_devs.h change On Tue, 23 Dec 2003, sledgedog wrote: > USB Mass Storage support registered. > hub 3-0:1.0: new USB device on port 2, assigned address 2 > usb-storage: This device (090c,1132,0100 S 06 P 50) has unneeded SubClass and Protocol entries in unusual_devs.h > Please send a copy of this message to Thank you for sending this in. Greg, here is the patch for unusual_devs.h, both 2.4 and 2.6. [PATCH] USB Storage: another unneeded unusual_devs entry On Fri, 2 Jan 2004, Oliver Neukum wrote: > Hi Alan, > > you seem to like them. Here it is: > > usb-storage 3-1:1.0: usb_probe_interface > usb-storage 3-1:1.0: usb_probe_interface - got id > usb-storage: This device (0686,4014,0001 S 06 P 50) has unneeded SubClass and Protocol entries in unusual_devs.h > Please send a copy of this message to > scsi1 : SCSI emulation for USB Mass Storage devices > Vendor: MINOLTA Model: DIMAGE CAMERA Rev: 1.00 > Type: Direct-Access ANSI SCSI revision: 02 Thanks Oliver. Interestingly, it looks as though the unneeded SubClass and Protocol values were the only reason for keeping this entry, so now it can be deleted in both 2.4 and 2.6. [PATCH] USB Storage: another unusual_devs entry On Fri, 2 Jan 2004, Eric Lussard wrote: > <5>usb-storage: This device (05e3,0701,0002 S 02 P 50) has an unneeded > Protocol entry > in unusual_devs.h > <4> Please send a copy of this message to > Yet another unusual_devs change! I really should stick to a policy of reading through all the new email before sending any replies... [PATCH] USB Storage: unusual_devs.h update On Wed, 14 Jan 2004, Marcin Juszkiewicz wrote: > After running "MS Import" on my Sony Clie SJ30 palmtop I got: > > hub 3-0:1.0: new USB device on port 2, assigned address 6 > usb-storage: This device (054c,006d,0100 S 05 P 00) has unneeded SubClass and Protocol entries in unusual_devs.h > Please send a copy of this message to Thanks for sending this. The updated information will appear in an upcoming kernel. [PATCH] USB: add another PID to ftdi_sio This patch adds a new product ID to the list of devices using the FTDI232BM chip. It applies cleanly against vanilla 2.6.0. [PATCH] USB: Missing patch for ftdi_sio.c On Sat, 2004-01-10 at 05:07, Greg KH wrote: > On Thu, Dec 18, 2003 at 10:28:24PM +0100, Rasmus Rohde wrote: > > I wrote to you earlier about a missing patch to ftdi_sio.c that appeared > > in > > > > http://www.kernel.org/pub/linux/kernel/people/gregkh/usb/2.5/usb-ftdi_sio-2.5.68.patch > > > > It has to do with the introduction tiocmset and tiocmget. > > This patch was dropped in > > > > http://www.kernel.org/pub/linux/kernel/people/gregkh/usb/2.5/usb-ftdi_sio-2.5.75.patch > > > > which unfortunately breaks the driver. > > Hm, sorry about that. Care to send me a patch to fix it up? [PATCH] USB: add Driver for Emagic A6-2 (formerly known as EMI 6|2m) this patch which applies against Linux-2.6.0 (and also 2.6.1) adds support for the Emagic A6-2 USB-Audio-Interface. Note that the selection of either MIDI or SPDIF is actually done by ifdefs in the driver, this behaviour should clearly be changed to MODULE_PARAM in the future. See for details. [PATCH] USB: fix up compiler warnings and other stuff in the emi62 driver. [PATCH] USB: update the cyberjack driver [PATCH] USB Storage: Old patches (as129 and as141) There's a couple of old patches floating around still that you might want to apply. I have reproduced them below. as129 handles the situation where a command error causes us to do a device reset, but the SCSI layer times out and aborts the command during the reset delay. It clears a flag that otherwise will prevent us from sending the clear-halt messages following the reset. as141 is the DMA buffer alignment patch. You asked me to remind you about it eventually. There shouldn't be any harm at all in applying it without waiting for the corresponding SCSI part of the patch to be applied. Without that other part, this will essentially do nothing. Alan Stern [PATCH] USB: usbnet on 2.6.0 -- needs ax8817x_ethtool_ops On Tue, 2003-12-23 at 22:49, David Brownell wrote: > > This patch should take care of it. Additionally, I had to fold one of > > my patches that's in the queue for 2.6.1 (ethtool link check fix) into > > this as the other would not apply due to changes. > > It looks fine, though it didn't apply against Greg's usb-devel-2.6 > tree ... which has a few more methods added. > > I guess I'll just add this one to my tree, and let you merge this > with those additional ax8817x changes. > > - Dave > Re-diffed against the usb-2.6-devel tree. [PATCH] USB: EHCI support on MIPS From Darwin Rambo, These get rid of 8 and 16 byte PCI access, which don't work on some MIPS platforms. [PATCH] USB: high speed iso maxpacket is 1024 not 1023 Someone sent this around mixed with an EHCI patch which should not be applied (there's a different patch on the way). I lost their name, sorry. It lets 1024 byte ISO packets be used. [PATCH] ia64: fix cast in irq_lsapic.c This patch just updates the cast in irq_lsapic.c to use the cpumask_t type for the noop cast assignment to smp_affinity. [PATCH] ia64: kill some more warnings Kills a warning and a false sense of safety by removing the volatile qualifier on cpu_to_node_map[] and node_to_cpu_mask[]. Also fix the printk for total processors since num_online_cpus() can return an int or a long depending on the value of NR_CPUS. [PATCH] USB: ehci update: 1/3, misc This is minor "obvious" fixes plus two tweaks to help later patches: - Interrupt QH has a link to the device, needed to implement schedule trees (like OHCI does today) that are TT-aware (essential for most keyboards and mice). - Export the macros that do high bandwidth packetsize stuff. They're also needed for high bandwidth ISO transfers. It also morphs some existing "too much debug info" urb tracing so it's kicked in by a manual #define EHCI_URB_TRACE. If some generic version of that gets added to usbcore, this sort of debug code can vanish (from all hcds). [PATCH] USB: ehci update: 2/3, microframe scanning This patch is needed to make high bandwidth ISO streams behave, but could resolve some other scanning glitches. Current users of periodic transfers (interrupt transfer modes for hubs, mice, and keyboards) shouldn't even notice this change. It makes the periodic schedule scan handle cases where a given frame's schedule slot reports completions in several different microframes. So far that's been uncommon, but it's typical for high bandwidth iso (or even with busier interrupt trees than this driver has supported yet). It also starts to remove the assumption that each ITD only uses one microframe; but most of those changes are in the next patch. And it fixes a bug where some status bits were mis-interpreted as significant bits in the ITD transfer length. [PATCH] USB: ehci update: 3/3, highspeed iso rewrite This is an updated version of a patch submitted to me from Michal Sojka , basically providing a much-needed rewrite of the highspeed ISO support. I updated the scheduling and made it a closer match to how OHCI works; and also tested it a bunch. So far it seems most of the requests for highspeed ISO support have been for realtime data collection -- custom apps, nothing a mainstream kernel would ship with. The USB Video class is now defined; highspeed video will also need these updates. Key changes: - Define an "iso_stream" head for iso endpoints. This acts enough like a QH that endpoint_disable() works. It holds the queue of ITDs, and the endpoint's current schedule state. And it's easy to find (spinlocked array access), no search. - Uses a temporary "itd_sched" while submitting each URB, with not-yet-linked ITDs and request-specific metadata. There's a per-stream cache of ITDs, so resubmitting ISO urbs (to achieve a "ring" of transfers) is typically cheap. - Scheduling for most URBs is almost a NOP: just a sanity check to make sure there's no need to reschedule, and then just link into the schedule at the current schedule slot. (The previous code was a gross hack that didn't even work reasonably with more than two URBs queued.) - Is a reasonable model to use with full speed ISO transfers. (They need additional TT scheduling hooks, most of which are already written but not merged.) - Handles several cases the previous code didn't, including high bandwidth transfers (loads up to 24 MByte/sec) - Has had more testing than the old code, including 20+ hour successful IN+OUT runs, more varied transfer intervals and maxpacket sizes. (Using net2280 and a gadgetfs driver.) So it's worth replacing the existing code with this; there aren't too many rough edges, and it's much more fixable than the previous version. p.s. Many thanks, Michal! [PATCH] USB: fix whiteheat problems > CC [M] drivers/usb/serial/whiteheat.o > drivers/usb/serial/whiteheat.c: In function `firm_setup_port': > drivers/usb/serial/whiteheat.c:1209: `CMSPAR' undeclared (first use in this function) > drivers/usb/serial/whiteheat.c:1209: (Each undeclared identifier is reported only once > drivers/usb/serial/whiteheat.c:1209: for each function it appears in.) [PATCH] USB: powermate-payload-size-fix.patch Thomas has a newer variant of this device, which sends more data. [PATCH] USB Storage: Remove non s-g pathway from subdriver READ/WRITE This patch does what you suggested. The read/write routines from the updated subdrivers are changed so they don't bother to differentiate between transfers that do or do not use scatter-gather. The low-level usb_stor_access_xfer_buf routine will Do The Right Thing regardless, and there probably won't ever be more than a few non s-g calls. (What about filesystem I/O requests to access metadata?) It turns out that in addition to removing some comments and a few tests, this change allowed me to remove the buffer and use_sg arguments passed to the read/write routines as well. So the simplification ended up being a bit bigger than I expected. While writing this patch, I noticed spots in several drivers that still need to be changed -- they slipped past me before. These drivers handle things like READ-CAPACITY or REQUEST-SENSE by copying the data directly to srb->request_buffer, which is obviously wrong if s-g is being used. I'll send in changes next week that convert them to use the usb_stor_set_xfer_buf function. Like you said, it's going to be handy in more places than originally intended! [PATCH] USB Storage: Scatter-gather fixes for non READ/WRITE in datafab These patch fixes the scatter-gather usage in the datafab driver for commands other than READ or WRITE. It also tidies up the MODE-SENSE handler considerably and reports more command failures correctly. [PATCH] USB Storage: Fix scatter-gather for non READ/WRITE in jumpshot These patch fixes the scatter-gather usage in the jumpshot driver for commands other than READ or WRITE. It also tidies up the MODE-SENSE handler considerably and reports more command failures correctly. [PATCH] USB Storage: Fix scatter-gather for non READ/WRITE in sddr09 This patch (from Alan Stern as157) fixes the non-READ/WRITE paths of the sddr09.c driver to be compliant to the requirements of scatter-gather. It also cleans up MODE_SENSE processing and reports errors a little better. This patch also makes MODE_SENSE_10 commands report an error. The old code claimed to support both 6- and 10-byte versions, but really only supported 6-byte. Bad data was returned for the 10-byte case, so it was removed. A patch to follow in a few minutes fixes this. [PATCH] USB Storage: Fix scatter-gather for non READ/WRITE in sddr55 These patch fixes the scatter-gather usage in the sddr55 driver for commands other than READ or WRITE. It also tidies up a few other commands. [PATCH] USB Storage: fix mode-sense handling for 10-byte commands This patch fixes sddr09 and sddr55 to suppor the MODE_SENSE_10 commands, which are the only variants used by sd.c [PATCH] USB Storage: add sysfs info attribute This patch adds a sysfs attribute to the usb-storage SCSI devices. This attribute (read-only) is basically a clone of the information available in /proc/scsi/scsi -- since that interface is going away, adding a new sysfs attribute seemed like a good idea. [PATCH] USB: W996[87]CF driver update This patch contains updates and one bug fix. input: Key 89 is RO, not ROMAJI. [PATCH] fix qla2xxx build for older gcc's drivers/scsi/qla2xxx/qla_def.h:1139: warning: unnamed struct/union that defines no instances drivers/scsi/qla2xxx/qla_iocb.c:440: union has no member named `standard' Older gcc's don't understand anonymous unions. aha152x PCMCIA fix From: Thomas Schlichter the attached patch fixes a link error of the kernel module 'drivers/scsi/ pcmcia/aha152x_cs.ko' because of two module_init() and two module_exit() functions. Now the module links but I did not test it further... [PATCH] MPT Fusion x86-64 boot fix [IEEE1394]: Fix highlevel reset, which was using the wrong list to iterate. [PATCH] Fix error path when adding sysfs attributes Stop adding sysfs attributes after we call scsi_remove_device() when we encounter an error. Also a small whitespace cleanup and removing a useless "return". [PATCH] scsi_eh_flush_done_q return status This patch fixes a bug in scsi_eh_flush_done_q when the allowed count has been exceeded and the command errored for a timeout. The bug is that the result will be left at zero and the command finished. patched-scsi-misc-2.7-andmike/drivers/scsi/scsi_error.c | 28 +++++++--------- 1 files changed, 13 insertions(+), 15 deletions(-) [IEEE1394]: Re-add init_hpsb_highlevel() call to highlevel_add_host. [ACPI] ACPICA 20040116 from Bob Moore The purpose of this release is primarily to update the copyright years in each module, thus causing a huge number of diffs. There are a few small functional changes, however. Improved error messages when there is a problem finding one or more of the required base ACPI tables Reintroduced the definition of APIC_HEADER in actbl.h Changed definition of MADT_ADDRESS_OVERRIDE to 64 bits (actbl.h) Removed extraneous reference to NewObj in dsmthdat.c input: Bugfixes in atkbd and psmouse-base probing. (use unsigned char param[] in atkbd_event, like everywhere else, use param[0] instead of *param at the same place, properly set serio->private to NULL if probe fails in both atkbd and psmouse, and fix preinitializing of the return buffer in *_command() funcitons.) input: Add support for HP PARISC keyboards to atkbd.c input: Always wait for hid request completion in hiddev before returning to the caller process. [PCMCIA] Add refcounting to struct pcmcia_bus_socket If you perform the following commands in order: # cardctl eject # rmmod yenta_socket # insmod drivers/pcmcia/yenta_socket.ko # killall cardmgr the rmmod ends up freeing the pcmcia_bus_socket while the wait queue is still active. The killall cardmgr cases the the select() to complete, and users to be removed from the "queue" - which ends up writing to freed memory. The following patch adds refcounting to pcmcia_bus_socket so we won't free it until all users have gone. We also add "SOCKET_DEAD" to mark the condition where the socket is no longer present in the system. Note that we don't wake up cardmgr when we remove sockets - unfortunately cardmgr doesn't like receiving errors from read(). Really, cardmgr should treat EIO from read() as a fatal error for that socket, and stop listening for events from it. [PCMCIA] Get rid of racy interruptible_sleep_on() ds.c uses interruptible_sleep_on() without any protection. Use wait_event_interruptible() instead. In addition, fix a bug where threads waiting for cardmgr events to complete were left waiting if cardmgr exited. [PCMCIA] Remove write-only socket_dev No need for a local pointer for the struct device, especially when it is only ever written. If necessary, the device can be accessed using s->parent->dev.dev [PCMCIA] Remove unused variable warnings. Remove unused variable 'i' in fops methods. Fix debug macros which were the sole consumers of this variable. [PATCH] cleanup IDE multicount PIO write code Noticed by Christophe Saout . This code has been dead since kernel 2.4.2 and it is bogus too. [PATCH] remove IDE packet taskfile placeholders This dead code was introduced in kernel 2.4.19 and hasn't been updated since. Fix minor bug in handling of compressed directories that fixes the erroneous "du" and "stat" output people reported. [PATCH] qla1280 update I am attaching the latest patch for qla1280, which includes Andrew's and James' patches (modulo the 64 bit enable part) as well changes to make it handle pci_set_dma_mask() correctly and switch to only use one of the two SCSI command issuing versions depending on whether the driver is compiled for 64 or 32 bit DMA. The old code effectively did this anyway, but with this change it is no longer compiling in the part not used. [PATCH] No LUNs detected with qla2xxx / qla2300 The problem is during the removal of the failover and IOCTL code from the scsi-qla2xxx-2.6 tree, one critical piece of code (a one-liner) was inadvertently removed that effectively disables the drivers ability to bind fcports (devices found in the loop or fabric) to the SCSI nexus (h/b/t/l). [PKTGEN]: Fix divide by zero and get integer precision at very short time intervals. ia64: arch/ia64/Kconfig URL update: www.linux-on-laptops.com [SUNRPC]: Handle copy_*_user and put_user errors [NET]: Fix linux-on-laptops URL in net driver Kconfig. [NET]: Include sysctl.h in neighbour.h regardless of config. [PATCH] SH Merge From: Paul Mundt Here's a rather large update for SH (this is a bit large mainly since a number of things have piled up, and Linus didn't want any of this during feature freeze time). All of these changes are specific to the SH platform, and as such, shouldn't effect any other platforms. [PATCH] kyrofb support From: Paul Mundt This patch adds support for the Kyro graphics boards (STG4000/PowerVR 3/etc= .) to 2.6. This is a direct port and substantial cleanup / rewrite of the 2.4 driver that's available in the sh64 tree at linux-sh.bkbits.net. Some of the overlay code and the STG4000 bits are still a bit ugly, so be forewarned. [PATCH] radeonfb line length fix From: Benjamin Herrenschmidt Fix the calculation of screenpitch and line lengths. [PATCH] loop: fix hard sector size From: Ben Slusky We need to set the hardsect_size of the loop device to that of the real device. The loop device advertises a block size of 1024 even when configured over a cdrom. When burning a ext2 on a cd, and mounting it directly, I get: blocksize=2048; when I losetup /dev/loop0 /dev/cdrom, and then try to mount, I get: blocksize=1024; and then misaligned transfer; this results in not being able to read the superblock. The loop device should be changed to export the same blocksize of the underlying device [PATCH] loop: fix file refcount leak - Fix an error-path file refcount leak - Remove unnecessary get_file()/fput() pair. - Clean up error handling a little [PATCH] bdev: open() changes The first of a series which move us toward blockdev hotplug support. After these we have achieved the following: a) For "normal" (not bdevfs) inodes of block devices we never look at ->i_mapping. b) For the same inodes we only look at ->i_bdev in bd_acquire() where it's used only as "here's what we'd found the last time" sort of cached value. If it's NULL, we just recalculate it. c) Lots of messy expressions had been trimmed down, while we are at it. (a) and (b) allow us to start doing proper block hotplug - we can destroy the association between inode and bdev at any time, unhash bdev in question and have new open() do everything from scratch, without waiting for old opened files to close. The goal is to be able to say "revoke everything over that gendisk"/"revoke that partition" and have it do the right thing. This patch: Where the old code called (block device) ->open(inode, file), use ->open(inode->i_bdev->bd_inode, file). Changes in drivers: * none to those that only used inode->i_bdev and inode->i_rdev in their ->open() (bdev->bd_inode->i_bdev == bdev, so we are OK) * floppy.c and floppy98.c used to call permission(inode, ...) in floppy_open(). Switched to permission(file->f_dentry->d_inode, ...) [PATCH] bdev: blkdev_put() cleanup From: viro@parcelfarce.linux.theplanet.co.uk Trivial cleanup in blkdev_put() - replace bdev->bd_inode->i_bdev with bdev. [PATCH] bdev: presto conversion From: viro@parcelfarce.linux.theplanet.co.uk presto_journal_close() switched to passing struct presto_file_data * instead of bogus struct file *. The only field of struct file we used to look at was file->private_data and most of the callers allocated on-stack struct file, assigned file.private_data and passed the sucker to presto_journal_close(). Idiocy removed. Looks like they started with case where the data they wanted all along was, indeed, in ->private_data of already available struct file, so they just passed pointer to struct file. And when they found that they need to call it in other places where there was no such struct file, they'd done it the dumb way instead of fixing the prototype... [PATCH] bdev: add file.f_mapping From: viro@parcelfarce.linux.theplanet.co.uk New field of struct file - ->f_mapping. We maintain the following: file->f_dentry->d_inode->i_mapping == file->f_mapping for all opened files. [PATCH] bdev: switch to f_mapping From: viro@parcelfarce.linux.theplanet.co.uk A lot of places used to use ->f_dentry->d_inode->i_mapping all over the place. Replaced with use of ->f_mapping. For now - just the places where we literally could do search-and-replace. [PATCH] bdev: use correct mapping's i_sem From: viro@parcelfarce.linux.theplanet.co.uk In a bunch of places we used file->f_dentry->d_inode->i_sem to protect fdatasync et.al. Replaced with corrent file->f_mapping->host->i_sem - the object we are protecting is address_space, so we want an exclusion that would work for redirected ->i_mapping. For normal files (not coda, not bdev) it's all the same, of course - there we have file->f_mapping->host == file->f_dentry->d_inode and change above is an equivalent transfromation. [PATCH] bdev: move i_mapping -> f_mapping conversions From: viro@parcelfarce.linux.theplanet.co.uk More uses of ->i_mapping switched to uses of ->f_mapping - stuff that was not caught by the earlier f_mapping conversion. [PATCH] bdev: generic_osync_inode() conversion From: viro@parcelfarce.linux.theplanet.co.uk generic_osync_inode() got an extra argument - mapping and doesn't calculate inode->i_mapping anymore. Callers updated and switched to use of ->f_mapping. [PATCH] bdev: bd_acquire() cleanup From: viro@parcelfarce.linux.theplanet.co.uk bd_acquire() made static, switched to returning the block_device it had found. Callers updated. [PATCH] bdev: generic_write_checks() cleanup From: viro@parcelfarce.linux.theplanet.co.uk generic_write_checks() had lost the first argument (inode) - it can be calculated from the second one (file). [PATCH] bdev: add I_BDEV() From: viro@parcelfarce.linux.theplanet.co.uk For bdevfs inodes (ones created along with struct block_device by fs/block_dev.c) we have inode->i_bdev equal to &BDEV_I(inode)->bdev (i.e. it's at the constant offset from inode). New helper added for such inodes (I_BDEV(inode)). A bunch of places (mostly in block_dev.c) switched to use of that helper. A bunch of places that used file->f_dentry->d_inode->i_bdev->bd_inode switched to file->f_mapping->host - those expressions are equal whenever the former is valid. [PATCH] cramfs: use pagecache better From: viro@parcelfarce.linux.theplanet.co.uk Patch switches cramfs_read() to direct use of pagecache and eliminates all messing with buffer_heads. Fixes the interaction with ramdisk (there set_blocksize() simply killed the ramdisk contents) and gets code less brittle overall. [PATCH] raw.c refcounting fix From: viro@parcelfarce.linux.theplanet.co.uk raw.c has a refcounting bug (patch attached). As for the theory... If you have a pathname - use filp_open() or open_bdev_excl() and be done with that. bdget() et.al. are OK only if you really have nothing better than device number and that's a situation that should be avoided unless you really have no choice. Said that, we have the following primitives: * lookup_bdev(): takes a pathname, returns a reference to block_device. * bdget(): takes a number, returns a reference to block_device. * blkdev_get(): takes a reference to block_device and opens it. If open fails - drops the reference to block_device passed to it. * blkdev_put(): takes a reference to block_device and closes it. The reference is dropped. * bdput(): drops a reference to block_device. Note that behaviour of blkdev_get() and blkdev_put() is such that it makes for minimal cleanup code. bd_claim()/bd_release() is the exclusion mechanism - that's what mount, swapon, open with O_EXCL, etc. are using to avoid stepping on each others toes. bd_claim() claims bdev for given owner; if it's already owned and not by the same owner you'll get -EBUSY. bd_release() reverts the effect of bd_claim(). Note that if you claim the thing N times (with the same owner, obviously), you'll need N bd_release() before it stops being owned. raw.c grabbed a reference to bdev only after blkdev_get(). If blkdev_get() failed (e.g. media being absent), you've got an unbalanced bdput(). [PATCH] Input: smooth out mouse jitter From: Dmitry Torokhov When calculating deltas for touchpads that generate absolute events use average over the last 3 packets to remove jitter [PATCH] mousedev PS/@ emulation fix From: Dmitry Torokhov correctly perform PS/2 (mousedev) emulation for touchpads generating absolute events (do not stop with the first client) [PATCH] input: i8042 suspend From: Dmitry Torokhov Add suspend methods to restore original controller state on suspend as some BIOS don't like the state we leave it in. Also synchroniously delete the polling timer on module exit. [PATCH] input: i8042 option parsing From: Dmitry Torokhov With Vojtech's approval adjusted i8042 option names by dropping i8042_ prefix. If i8042 is compiled as a module new option names are: direct, dumbkbd, noaux, nomux, reset, unlock. If i8042 is build in the kernel the prefix "i8042." is required in front of an option, like "i8042.reset" [PATCH] input: psmouse option parsing From: Dmitry Torokhov With Vojtech's approval adjusted psmouse option names by dropping psmouse_ prefix. If psmouse is compiled as a module new option names are: proto, rate, resetafter, resolution, smartscroll If psmouse is built in the kernel the prefix "psmouse." is required in front of an option, like "psmouse.proto" Also, since we are changing all names, killed psmouse_noext completely [PATCH] input: atkbd option parsing From: Dmitry Torokhov Convert atkbd to the new style of option parsing. If compiled as a module new option names are: set, softrepeat, reset. If built into the kernel options must be prepended with "atkbd." prefix, like "atkbd.softrepeat" [PATCH] input: missing module licenses From: Dmitry Torokhov Add missing MODULE_LICENSEs [PATCH] Kconfig Synaptics help From: Dmitry Torokhov Kconfig help section update - Suggest psmouse.proto=imps option to Synaptics users who do not want installing native XFree driver but want tapping work [PATCH] input: SiS AUX port From: Dmitry Torokhov Do not ignore AUX port if chipset fails to disable it (SiS seems to have trouble disabling AUX port, other than that the port works fine). [PATCH] Fix compile error in 98busmouse.c module From: Dmitry Torokhov Fix 98busmouse compile error - have interrupt routine return IRQ_HANDLED [PATCH] Convert mouse drivers to use module_param From: Dmitry Torokhov Convert the rest of mouse devices to the new way of handling kernel parameters and document them in kernel-parameters.txt [PATCH] Convert tsdev to use module_param From: Dmitry Torokhov Convert tsdev to the new way of handling parameters and document them in kernel-parameters.txt [PATCH] ppc64: clean up WARN_ON backtrace From: Anton Blanchard clean up WARN_ON backtrace [PATCH] ppc64: revert IRQ_INPROGRESS change From: Anton Blanchard revert IRQ_INPROGRESS change [PATCH] ppc64: Build the zImage by default From: Anton Blanchard Build the zImage by default [PATCH] ppc64: add automatic check for biarch compilers From: Anton Blanchard add automatic check for biarch compilers [PATCH] ppc64: ptrace.h PT_FPSCR fixup, from Will Schmidt From: Anton Blanchard ptrace.h PT_FPSCR fixup, from Will Schmidt [PATCH] ppc64: HvCall_writeLogBuffer called with too large of a buffer From: Anton Blanchard HvCall_writeLogBuffer called with too large of a buffer [PATCH] ppc64: support for ibm,phandle OF property, from Dave Engebretsen: From: Anton Blanchard Upcoming partition firmware requires the use of the ibm,phandle property for matching device nodes. Add a new field in device_node to contain this data. [PATCH] ppc64: New Open Firmware device tree API, from Nathan Lynch From: Anton Blanchard This is an adaptation of the new Open Firmware device tree traversal API from ppc32, originally written by Benjamin Herrenschmidt. This patch is against 2.6.0-test3, but should apply ok to the latest 2.5 ameslab tree. These functions are meant to be SMP-safe alternatives to the current set of query/traversal routines (find_devices, find_type_devices, et al). [PATCH] ppc64: Change to new OF device tree API, from Nathan Lynch From: Anton Blanchard Attached is a patch which replaces all the uses of the old device tree API in arch/ppc64. Patch is against 2.6.0-test5 (cset 1.1328) from ameslab bk, plus the patch from my previous message. I've tested this on a pSeries LPAR. [PATCH] ppc64: vty updates, from Hollis Blanchard From: Anton Blanchard vty updates, from Hollis Blanchard [PATCH] ppc64: hvc_console can only handle vty nodes compatible with "hvterm1", from Hollis Blanchard From: Anton Blanchard hvc_console can only handle vty nodes compatible with "hvterm1", from Hollis Blanchard [PATCH] ppc64: use device_is_compatible() instead of manual strcmp, from Hollis Blanchard From: Anton Blanchard use device_is_compatible() instead of manual strcmp, from Hollis Blanchard [PATCH] ppc64: Make IPI receivers survive a late arrival after the sender has given up waiting, from Olof Johansson From: Anton Blanchard Make IPI receivers survive a late arrival after the sender has given up waiting, from Olof Johansson [PATCH] ppc64: support for runtime updates of /proc/device-tree, from Nathan Lynch From: Anton Blanchard support for runtime updates of /proc/device-tree, from Nathan Lynch [PATCH] ppc64: base support for dynamic update of OF device, tree from Nathan Lynch From: Anton Blanchard base support for dynamic update of OF device, tree from Nathan Lynch [PATCH] ppc64: various trivial patches From: Anton Blanchard various trivial patches [PATCH] ppc64: Open Firmware device tree manipulation support, from Nathan Lynch From: Anton Blanchard Implementation of /proc/ppc64/ofdt, for manipulation of Open Firmware device tree (/proc/device-tree). Supports addition and removal of OF device nodes. [PATCH] ppc64: Mem-map I/O changes, from Mike Wolf From: Anton Blanchard Mem-map I/O changes, from Mike Wolf [PATCH] ppc64: extended flash changes, from Mike Wolf From: Anton Blanchard extended flash changes, from Mike Wolf [PATCH] ppc64: cputable update, from Dave Engebretsen From: Anton Blanchard Sync 2.4 & 2.6 cputable code. Adds 970 and Power5 processor support plus new firmware features. [PATCH] ppc64: cputable cleanup, from Dave Engebretsen: From: Anton Blanchard Formatting cleanup, fix for firmware_features init, use cpu_features to display processor names. [PATCH] ppc64: iSeries fixups, from Stephen Rothwel From: Anton Blanchard iSeries fixups, from Stephen Rothwel [PATCH] ppc64: Add some rtas calls, from John Rose From: Anton Blanchard Added functions for 3 RTAS calls get-power-level get-sensor-state set-indicator [PATCH] ppc64: rename the rtas event classes to avoid namespace collisions, from John Rose From: Anton Blanchard rename the rtas event classes to avoid namespace collisions, from John Rose [PATCH] ppc64: fix sign extension bug in NUMA code From: Anton Blanchard The ppc64 NUMA code has a sign extension problem. We would sign extend tmp1 when assigning it to start. Fix this by making tmp1 unsigned. [PATCH] ppc64: Add exports and change some __init to __devinit for dynamic OF and pci hotplug, from John Rose and Linda Xie From: Anton Blanchard Add exports and change some __init to __devinit for dynamic OF and pci hotplug, from John Rose and Linda Xie [PATCH] ppc64: Add _syscall6, from Olaf Hering From: Anton Blanchard Add _syscall6, from Olaf Hering [PATCH] ppc64: fix sched_clock, from Paul Mackerras: From: Anton Blanchard Currently the sched_clock implementation for PPC64 is bogus. It just reads the timebase register, which counts at some fixed rate, typically around 100MHz. This patch adds code to calculate a suitable multiplier from the timebase frequency, and use that in sched_clock(). [PATCH] ppc64: compat layer update, from Paul Mackerras, Olaf Hering and myself From: Anton Blanchard - Switch to using the new compat aio syscalls - add compat timer/clock syscalls - use compat_statfs64 - add compat fadvise64_64 [PATCH] ppc64: add rtas syscall, from John Rose From: Anton Blanchard Added RTAS syscall. Reserved lowmem rtas_rmo_buf for userspace use. Created "rmo_buffer" proc file to export bounds of rtas_rmo_buf. [PATCH] ppc64: shared processor support, from Dave Engebretsen From: Anton Blanchard Initial round of code to add shared processor support into 2.6. This adds h_call interfaces, paca/VPA fields, and vpa register. Add adds new idle loop code. [PATCH] ppc64: SMT processor support and logical cpu numbering, from Dave Engebretsen From: Anton Blanchard And SMT processor support & move back to a logical cpu numbering in support of DLPAR work. [PATCH] ppc64: UP compile fixes, from Paul Mackerras From: Anton Blanchard Minor fixes to make the UP case compile, export cpu_possible_map, fix up whitespace etc. [PATCH] ppc64: Add VMX registers to sigcontext, from Steve Munroe From: Anton Blanchard Add VMX registers to sigcontext, from Steve Munroe [PATCH] ppc64: one instruction fix for synchronization bug found during cpu DLPAR development, from Joel Schopp From: Anton Blanchard one instruction fix for synchronization bug found during cpu DLPAR development, from Joel Schopp [PATCH] ppc64: NVRAM error logging/buffering patch, from Jake Moilanen From: Anton Blanchard This is a port of the nvram buffering/error logging code from 2.4 to 2.6. It includes moving /proc/rtas to /proc/ppc64/rtas and making /proc/rtas a symlink to /proc/ppc64/rtas. It also splits up the /dev/nvram device read/write functions from the basic nvram access functions, and adds ppc_md fields for the nvram access functions. [PATCH] ppc64: preliminary iseries support, from Paul Mackerras From: Anton Blanchard Preliminary iSeries support. Still a bit hackish in parts but it does compile. The viodasd driver is almost completely untested so don't trust it with your data. [PATCH] ppc64: Add additional hypervisor call constants, from Dave Boutcher From: Anton Blanchard Add additional hypervisor call constants, from Dave Boutcher [PATCH] ppc64: iSeries fixes, from Stephen Rothwell From: Anton Blanchard iSeries fixes, from Stephen Rothwell [PATCH] ppc64: fix a couple small OF device tree bugs which were overlooked, from Joel Schopp From: Anton Blanchard fix a couple small OF device tree bugs which were overlooked, from Joel Schopp [PATCH] ppc64: Tidy up various bits of the iSeries code. No significant code changes, from Stephen Rothwell From: Anton Blanchard Tidy up various bits of the iSeries code. No significant code changes, from Stephen Rothwell [PATCH] ppc64: Small cleanups to iSeries virtual ethernet driver, from Dave Gibson From: Anton Blanchard Small cleanups to iSeries virtual ethernet driver, from Dave Gibson [PATCH] ppc64: add hcall interface From: Anton Blanchard add hcall interface [PATCH] ppc64: VIO support, from Dave Boutcher, Hollis Blanchard and Santiago Leon From: Anton Blanchard Add virtual I/O support. These routines provide the infrastructure needed by virtual SCSI, virtual ethernet, virtual serial on IBM pSeries servers [PATCH] ppc64: Get native PCI going on iSeries, from Paul Mackerras From: Anton Blanchard Get native PCI going on iSeries, from Paul Mackerras [PATCH] ppc64: add/forward port of lparcfg, from Will Schmidt From: Anton Blanchard add/forward port of lparcfg, from Will Schmidt [PATCH] ppc64: Update the surveillance boot parameter to allow all valid settings of the surveillance timeout, from Nathan Fontenot From: Anton Blanchard Update the surveillance boot parameter to allow all valid settings of the surveillance timeout, from Nathan Fontenot [PATCH] ppc64: fix POWER3 boot From: Anton Blanchard Binutils uses the recent mtcrf optimisation when compiling for a POWER4 target. Unfortunately this causes a program check on POWER3. We required compiling for POWER4 so the tlbiel instruction would be recognised. For the moment we hardwire the tlbiel instruction, longer term we can use the binutils -many flag. [PATCH] ppc64: VMX (Altivec) support & signal32 rework, from Ben Herrenschmidt From: Anton Blanchard VMX (Altivec) support & signal32 rework, from Ben Herrenschmidt [PATCH] ppc64: Fix {pte,pmd}_free vs. hash_page race by relaying actual deallocation with RCU, from Ben Herrenschmidt From: Anton Blanchard Fix {pte,pmd}_free vs. hash_page race by relaying actual deallocation with RCU, from Ben Herrenschmidt [PATCH] ppc64: __hash_page rewrite, from Ben Herrenschmidt From: Anton Blanchard Rewrite __hash_page function in assembly in such a way we don't need the page table lock any more. We now rely on a BUSY bit in the linux PTE on which we spin on when doing an update of the PTE [PATCH] ppc64: Tidy up the mf_proc code, from Stephen Rothwell From: Anton Blanchard Tidy up the mf_proc code, from Stephen Rothwell [PATCH] ppc64: prom_panic(), from Todd Inglett From: Anton Blanchard prom_panic(), from Todd Inglett [PATCH] ppc64: Check range of PCI memory and I/O accesses on iSeries, from Stephen Rothwell From: Anton Blanchard Check range of PCI memory and I/O accesses on iSeries, from Stephen Rothwell [PATCH] ppc64: Fix a compile error and a warning in the iSeries code, from Stephen Rothwell From: Anton Blanchard Fix a compile error and a warning in the iSeries code, from Stephen Rothwell [PATCH] ppc64: Use an atomic_t instead of a volatile unsigned long, from Stephen Rothwell From: Anton Blanchard Use an atomic_t instead of a volatile unsigned long, from Stephen Rothwell [PATCH] ppc64: Makefile fixes From: Anton Blanchard - remove old checks target, no longer used - add -mtraceback=none, we dont use traceback tables any more - add check for -mcpu=power4, older toolchains dont support this option [PATCH] ppc64: vmlinux.lds fixes, from Alan Modra From: Anton Blanchard - Remove a bunch of unnecessary sections - Always declare section labels inside the section (bug found on ppc32) - Rearrange sections to waste less space [PATCH] ppc64: setup_cpu must be called on boot cpu From: Anton Blanchard setup_cpu was being called for the boot cpu after all other cpus had been spun up. The init thread can sleep during secondary cpu spinup (eg migration thread init) and sometimes the init thread would switch to another cpu at this time. The end result was setup_cpu was called twice on one cpu and never on the boot cpu. The original fix called setup_cpu on the boot cpu before all others but that wont work for G5, so we now use cpu affinity calls to enforce it. [PATCH] ppc64: correct epoll syscall names From: Anton Blanchard correct epoll syscall names [PATCH] ppc64: cp_compat_stat should copy nanosecond fields From: Anton Blanchard Looks like glibc is using stat in some places, so we should modify it to copy the nanosecond fields. Also speed up stat by only checking the region once instead of each put_user call. [PATCH] ppc64: xmon breakpoint and single step on LPAR fixes from John Rose From: Anton Blanchard Xmon changes to make breakpoints and single-stepping work on pSeries LPARs. Also changed help text to reflect obsolete cmds. [PATCH] ppc64: Fixed rtas_extended_busy_delay_time() to calculate correct value, from John Rose From: Anton Blanchard Fixed rtas_extended_busy_delay_time() to calculate correct value, from John Rose [PATCH] ppc64: early BSS clear, from Ben Herrenschmidt From: Anton Blanchard Gone are the days of initialising stuff we touch in prom_init just to keep it out of the BSS. There are a few things the hypervisor writes to in the iseries case, hard code them into the data segment and add a comment. Remove the -fno-zero-initialized-in-bss hack, it was required when gcc got smart and put zero initialised stuff into the BSS [PATCH] ppc64: vio fixup From: Anton Blanchard vi fixup [PATCH] jffs: use daemonize() Use daemonize() rather than open-coding half of it. (I don't know if this has been tested - it has been in -mm for three months). [PATCH] Fix IO scheduler regression From: Nick Piggin Randy has just reported that this fixes up his regression. Its now as good as test5 in his tests with this patch. He is also seeing quite large increases (above test5) when IO scheduler barriers are disabled (this patch doesn't do that). Perhaps something is using them too liberally. Anyway, this reverts AS back to defaulting to not anticipate IO for a program that submits its first request (this really hurts find | xargs grep sort of things). I am working on something to fix this up properly. That can go in after 2.6.0 anyway. [PATCH] AS: request poisoning From: Nick Piggin I have tested this on my disks and cdroms, but they don't represent what all drivers might do. I have asked Jarkko Lehti with his dvd writing problem to try it... [PATCH] AS: request poisining fix From: Nick Piggin [PATCH] AS fixes From: Nick Piggin This fixes all known bugs with as in mm2. That constitutes small fixes for 2 WARNs getting triggered. It looks like Prakash's lost interrupt problem was due to as spewing bazillions of warnings, and he must have had his kernel.printk configured not to show them or something. I have to just get final confirmation from him that this final cut of the patch fixes his problem too. [PATCH] AS: new process estimation From: Nick Piggin This one gathers better statistics about the new process problem. It improves estimation for initial process IO. That is, better calculations for whether it will be worth waiting after a process submits its first read. This is done with a per queue average thinktime and seek time for a second read submitted from a process. When combined with 3/3, numbers are around the same as mm1 for most long lived tasks, but much better for things like the top 4 benchmarks. Probably wants rwhron and the OSDL database guys to give it some testing. test 2.6.0-test9-mm1 2.6.0-test9-mm1-np Cat kernel source during seq read 0:26.89 0:24.75 Cat kernel source during seq write 9:17.80 0:23.48 ls -lr kernel source during seq read 0:11.03 0:14.68 ls -lr kernel source during seq write 0:49.95 0:08.06 contest no_load 143s 0 loads 144s 0 loads contest io_load 193s 40.2 loads 193s 40.1 loads contest read_load 186s 11.6 loads 190s 10.5 loads contest list_load 201s 5.0 loads 200s 5.0 loads pgbench 1 client 31.3TPS 31.5TPS pgbench 4 clients 37.7TPS 37.5TPS pgbench 16 clients 42.1TPS 48.1TPS [PATCH] AS: thinktime improvement From: Nick Piggin Sometimes a processes thinktime shouldn't be measured on how soon it submits its next request, but how soon any close request is submitted. Some processes, such as those in make -j, find | xargs blah, etc. Should be waited upon even if they never submit another request, because they work with cooperating or child processes. This helps to take that into account. [PATCH] AS tuning From: Nick Piggin The big regression from deadline is tiobench random reads with TCQ disks, however it is present in -linus as well, and would have been since day 1 of AS, but nobody has complained too loudly. http://developer.osdl.org/judith/tiobench/4CPU/rr.html This problem is probably a distilation of what causes lower database throughput, because I have only ever seen it with TCQ drives, and pgbench and OraSim are actually getting higher throughput here with a non TCQ drive. That is not to say that TCQ is useless, it obviously can provide a very real and significant boost. What I might do in the (near) future is get AS to detect TCQ and turn itself off indefinitely unless/until the a sysfs flag is set, and default that flag to off. This patch changes the AS tunables a bit to be more on par with deadline. It lowers the threshold for random reading processes to be considered unsuitable for anticipation, and it slightly rearranges and comments the "cooperative seek distance" logic. With this patch, AS is now very competitive with deadline on the single IDE and SCSI (non TCQ) disks here. In fact, I don't have any regressions anywhere. Even when TCQ is on, although throughput can be lower, AS still has benefits because of its much better read vs write latency and general tendancy to keep number of outstanding tags smaller. [PATCH] PPC32: Export consistent_sync_page. From: Tom Rini We must export the consistent_sync_page symbol. It is used by inline functions which implement the PCI DMA API. [PATCH] PPC32: Change all EXPORT_SYMBOL_NOVERS to EXPORT_SYMBOL in ppc_ksyms.c From: Tom Rini PPC32: Change all EXPORT_SYMBOL_NOVERS to EXPORT_SYMBOL in ppc_ksyms.c - Change all EXPORT_SYMBOL_NOVERS to EXPORT_SYMBOL in ppc_ksyms.c [PATCH] PPC32: Select arch/ppc/kernel/head.S on CONFIG_PPC_STD_MMU. From: Tom Rini PPC32: Select arch/ppc/kernel/head.S on CONFIG_PPC_STD_MMU. - Don't pick a head*.S by default, instead select head.S on CONFIG_PPC_STD_MMU. This is more consistent with how we case things in this file. [PATCH] PPC32: Minor cleanups to IBM4xx and MPC82xx headers. From: Tom Rini PPC32: Minor cleanups to IBM4xx and MPC82xx headers. - Make sure that if is included on !40x && !440, there is no real effect. - Delete arch/ppc/platforms/mpc82xx.h - Make sure that if CONFIG_8260 isn't set, there is no effect in . - Add a __ASSEMBLY__ test around the extern for __res in . [PATCH] fix gcc-3.4 warning in percpu code From: Rusty Russell It's complaining about: #define per_cpu(var, cpu) ((void)cpu, per_cpu__##var) There are several ways of fixing this, but the simplest is: #define per_cpu(var, cpu) (*((void)cpu, &per_cpu__##var)) [PATCH] Fix oops when modifying /sys/block/dm-0/queue/nr_requests From: Mike Christie DM, MD, rd and loop use blk_alloc_queue and blk_queue_make_request to initialize their queue, because they only use the make_request_fn. The attached patch prevents the queue from being registered if only blk_alloc_queue was called. [PATCH] ATAPI MO drive support From: Pascal Schmidt The below patch is needed to support ATAPI MO drives in 2.6. ide-scsi doesn't work any more for this, so ide-cd has to take over the job of running the MO drive. Without this, there is no way to write to an ATAPI MO drive. This patch has been discussed with Linus and Jens already around test9 time and it was agreed this is the right way to go about it. I have rediffed it against 2.6.0. Compiles, runs, works just fine for me. [PATCH] mt rainier support From: Jens Axboe Following patch adds mt rainier support to the cdrom uniform layer (it works with atapi and scsi/usb). [PATCH] ATAPI MO support update From: Jens Axboe Update the ATAPI MO support code to reflect the reorganisations and cleanups which the Mt Ranier support patch added. DESC cdrom_open fix EDESC From: Jens Axboe [PATCH] Make ppp_async callable from hard interrupt From: Paul Mackerras Since there are serial drivers (particularly the USB serial driver) that call the line discipline receive_buf and write_wakeup routines at hard interrupt level, I have changed the ppp_async code to cope with that. It now uses a tasklet so that it calls the generic PPP code at soft interrupt level even if its receive_buf and write_wakeup entries are called at hard interrupt level. This patch has been lightly tested here with a keyspan USB serial adaptor and also with the built-in modem on my tibook, which uses the pmac_zilog driver (which hooks into the drivers/serial infrastructure). [PATCH] make try_to_free_pages walk zonelist From: Rik van Riel In 2.6.0 both __alloc_pages() and the corresponding wakeup_kswapd()s walk all zones in the zone list, possibly spanning multiple nodes in a low numa factor system like AMD64. Also, if lower_zone_protection is set in /proc, then it may be possible that kswapd never cleans out data in zones further down the zonelist and try_to_free_pages needs to do that. However, in 2.6.0 try_to_free_pages() only frees pages in the pgdat the first zone in the zonelist belongs to. This is probably the wrong behaviour, since both the page allocator and the kswapd wakeup free things from all zones on the zonelist. The following patch makes try_to_free_pages() consistent with the allocator, by passing the zonelist as an argument and freeing pages from all zones in the list. I do not have any numa systems myself, so I have only tested it on my own little smp box. Testing on NUMA systems may be useful, though the patch really only should have an impact in those rare cases where kswapd can't keep up with allocations... As a side effect, the patch shrinks the kernel by 2 lines and replaces some subtle magic by a simpler array walk. [PATCH] CardServices() removal from pcmcia net drivers From: Andres Salomon Replace the various CardServices() calls w/ their pcmcia_* function. The pcmcia functions fit better with kernel conventions, and don't have the nasty var args stuff. These patches also fix a few places where the args supplied to CardServices were either not supplied, or dealt with in non-obvious ways. [PATCH] CardServices removal for ide-cs From: Arjan van de Ven [PATCH] remove CardServices() from drivers/net/wireless From: Andres Salomon This wraps up drivers/net/wireless. Still remaining: - sound/pcmcia/vx - drivers/{bluetooth,isdn,parport,telephony} - drivers/mtd/maps - drivers/scsi/pcmcia - drivers/char/pcmcia/synclink_cs.c [PATCH] Remvoe CardServices() from drivers/serial From: Russell King Ok, this is the last patch for removal of CardServices() [PATCH] serial_cs CardServices removal fix From: Russell King [PATCH] remvoe CardServices from axnet_cs From: Andres Salomon Anyways, this removes the last of the CS calls. [PATCH] final CardServices() removal patches From: Andres Salomon Remove calls to CardServices(); final. This removes the CardServices() calls the rest of the tree, as well as CardServices itself from cs.c and cs.h. My previous patches, along w/ Arjan's patch for ide-cs.c and Russell's patch for serial_cs.c should remove all traces of it. I've attached a gzipped tarball to hopefully make things easier. Files touched: = 201-cs_remove.patch:+++ mod/sound/pcmcia/vx/vx_entry.c 202-cs_remove.patch:+++ mod/drivers/bluetooth/bluecard_cs.c 202-cs_remove.patch:+++ mod/drivers/bluetooth/bt3c_cs.c 202-cs_remove.patch:+++ mod/drivers/bluetooth/btuart_cs.c 202-cs_remove.patch:+++ mod/drivers/bluetooth/dtl1_cs.c 203-cs_remove.patch:+++ mod/drivers/isdn/hardware/avm/avm_cs.c 203-cs_remove.patch:+++ mod/drivers/isdn/hisax/avma1_cs.c 203-cs_remove.patch:+++ mod/drivers/isdn/hisax/elsa_cs.c 203-cs_remove.patch:+++ mod/drivers/isdn/hisax/sedlbauer_cs.c 204-cs_remove.patch:+++ mod/drivers/parport/parport_cs.c 205-cs_remove.patch:+++ mod/drivers/telephony/ixj_pcmcia.c 206-cs_remove.patch:+++ mod/drivers/mtd/maps/pcmciamtd.c 207-cs_remove.patch:+++ mod/drivers/scsi/pcmcia/aha152x_stub.c 207-cs_remove.patch:+++ mod/drivers/scsi/pcmcia/fdomain_stub.c 207-cs_remove.patch:+++ mod/drivers/scsi/pcmcia/nsp_cs.c 207-cs_remove.patch:+++ mod/drivers/scsi/pcmcia/nsp_cs.h 207-cs_remove.patch:+++ mod/drivers/scsi/pcmcia/qlogic_stub.c 208-cs_remove.patch:+++ mod/drivers/char/pcmcia/synclink_cs.c 209-cs_remove.patch:+++ mod/drivers/pcmcia/cs.c 209-cs_remove.patch:+++ mod/include/pcmcia/cs.h [PATCH] fix for tridentfb.c usage on CRTs. From: Bram Stolk All modes that exceed the native resolution of a flatpanel are discarded. However, a CRT has native resolution set to 0, and therefore, tridentfb.c cannot be used with a CRT. [PATCH] CONFIG_EPOLL=n space reduction From: Davide Libenzi CONFIG_EPOLL=n space reduction in struct file. [PATCH] kill_fasync speedup From: Manfred Spraul fasync_helper and kill_fasync are helpers for managing F_SETFL fcntl calls that change FASYNC and sending the necessary signals. The locking uses one global rwlock that's acquired for read in all kill_fasync calls, and that causes cache line trashing. This is not necessary: if the fasync list is empty, then there is no need to acquire the rwlock. Tests with reaim on a 4-way pIII on STP showed an 80% reduction of the time within kill_fasync. [PATCH] O21 for interactivity 2.6.0 From: Con Kolivas A non-critical corner case has come up for interactivity that I believe needs to be addressed. It is only extensive testing and examination that revealed this, as this interactivity work is in maintenance mode. Description: It is possible for a highly interactive task (like X) to cause large latencies in tasks that are less 'niced' (eg negative nice number compared to X which should normally run at nice 0) if they are fully cpu bound. This occurs due to expiration of the cpu bound tasks. This patch addresses this by not reinserting interactive tasks into the active array if there is a better static priority task running but has been placed on the expired array. This causes a substantial reduction in the maximum scheduling latency a task with a less nice value can have. This also has the positive side effect of maintaining better cpu% proportions for tasks of different nice levels. Testers will only be able to discern a difference with highly cpu bound tasks of normal scheduling policy at different nice levels. Test cases are doing something cpu intensive relatively -niced in the presence of an interactive load (eg capturing and encoding video at nice -10 while using X nice 0, or something nice 0 vs nice +10) and so on. Because of the crossover of 10 'nice' levels of dynamic priorities between interactive and cpu bound tasks this patch will have a more noticable effect as the nice difference is greater, especially 11 or more. [PATCH] Relax synchronization of sched_clock() From: Ingo Molnar - relax synchronization of sched_clock() [PATCH] can_migrate_task cleanup From: Ingo Molnar - minor can_migrate_task cleanup [PATCH] CPU scheduler cleanup From: Ingo Molnar - move scheduling-state initializtion from copy_process() to sched_fork() (Nick Piggin) [PATCH] sched.c style cleanups From: Ingo Molnar - sched.c style cleanups (no code change) [PATCH] Make for_each_cpu() Iterator More Friendly From: Rusty Russell Anton: breaks PPC64, as it needs cpu_possible_mask, but fix is already in Ameslab tree. The for_each_cpu() and for_each_online_cpu() iterators take a mask, and noone uses them that way (except for arch/i386/mach-voyager, which uses for_each_cpu(cpu_online_mask). Make them more usable iterators, by dropping the "mask" arg. This requires that archs provide a cpu_possible_mask: most do, but PPC64 doesn't, so it is broken by this patch. The other archs use a #define to define it in asm/smp.h. Most places doing loops over cpus testing for cpu_online() should use for_each_cpu: it is synonymous at the moment, but with the CPU hotplug patch the difference becomes important. Followup patches will convert users. [PATCH] Use for_each_cpu() Where It's Meant To Be From: Rusty Russell Some places use cpu_online() where they should be using cpu_possible, most commonly for tallying statistics. This makes no difference without hotplug CPU. Use the for_each_cpu() macro in those places, providing good examples (and making the external hotplug CPU patch smaller). Some places use cpu_online() where they should be using cpu_possible, most commonly for tallying statistics. This makes no difference without hotplug CPU. Use the for_each_cpu() macro in those places, providing good examples (and making the external hotplug CPU patch smaller). [PATCH] Change cryptic description and help for CONFIG_PDC202XX_FORCE From: Stephan Maciej The description and the help text for this option has bothered me long enough... I hope the new strings are more self-explanatory than the ones before. [PATCH] Missing end tags in kernel-locking kerneldoc From: Rusty Russell From: Adam Kropelin The new-and-improved kernel-locking kerneldoc seems to be missing some end tags which causes 'make foodocs' to die. I'm not sure if it's because of my not-bleeding-edge docbook utils or if it's a genuine error. Since most ending tags are present I tend to