Summary of changes from v2.6.11-rc2 to v2.6.11-rc3 ============================================ [PATCH] i386 voyager_smp.c: remove a duplicate #include Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley dma_release_declared_memory needs iounmap Spotted by: Jeff Garzik Signed-off-by: James Bottomley i386: reboot.c cleanups From: Adrian Bunk - arch/i386/kernel/reboot.c: make reboot_thru_bios static - arch/i386/mach-visws/reboot.c: remove the unused reboot_thru_bios and reboot_smp - arch/i386/mach-voyager/voyager_basic.c: remove the unused reboot_thru_bios - arch/i386/mach-voyager/voyager_smp.c: remove the unused reboot_smp Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley acpi video device enumeration: fix incorrect device list allocation It didn't allocate space for the final terminating entry, which caused it to overwrite the next slab entry, which in turn sometimes ended up being a slab array cache pointer. End result: total slab cache corruption at a random time afterwards. Very nasty. [ACPI] Use kernel.h for ARRAY_SIZE() instead of using local NUM_OF(). Signed-off-by: Randy Dunlap Signed-off-by: Len Brown [XFS] Fix a performance and scaling problem in xfs_iget_core. Improved the inode hash table sizing heuristics, and allow these to be manually tweaked as well. SGI-PV: 923092 SGI-Modid: xfs-linux:xfs-kern:20766a Signed-off-by: Nathan Scott [XFS] make sure to always reclaim inodes in xfs_finish_reclaim SGI-PV: 921072 SGI-Modid: xfs-linux:xfs-kern:184505a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Prevent attempts to mount 512 byte sector filesystems with 64KB pagesizes, until fixed. SGI-PV: 926724 SGI-Modid: xfs-linux:xfs-kern:20780a Signed-off-by: Nathan Scott [XFS] Move to per-device hash tables (scalability), and use Bill Irwins hash (quicker). SGI-PV: 927536 SGI-Modid: xfs-linux:xfs-kern:20989a Signed-off-by: Nathan Scott [XFS] Add sanity checks before use of attr_multi opcount parameter. SGI-PV: 927535 SGI-Modid: xfs-linux:xfs-kern:20991a Signed-off-by: Nathan Scott [XFS] Fix NFS inode data corruption SGI-PV: 923968 SGI-Modid: xfs-linux:xfs-kern:185126a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Move xfs configs to xfs directory, different flavors of xfs have different configs, this way fs/Kconfig does not have to changed if different xfs's are swapped in and out SGI-PV: 926404 SGI-Modid: xfs-linux:xfs-kern:185134a Signed-off-by: Russell Cattelan Signed-off-by: Nathan Scott [XFS] Use generic_readlink SGI-PV: 927939 SGI-Modid: xfs-linux:xfs-kern:185295a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Move support code for NFS exporting to a conditionally built file SGI-PV: 923968 SGI-Modid: xfs-linux:xfs-kern:185437a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Fix compilations for parisc SGI-PV: 928101 SGI-Modid: xfs-linux:xfs-kern:185439a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Switch to using a separate Kconfig file for XFS. Signed-off-by: Russell Cattelan Signed-off-by: Nathan Scott input: Add support for H-Wheel on Microsoft Explorer and Logitech MX USB HID mice. Signed-off-by: Vojtech Pavlik [XFS] Update Makefile for separate export source file. Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott Move extern find_exported_dentry declaration into a common header. Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Switch to managing uptodate state on a region within a page, rather than a sector within a page. Fixes 64K pagesize kernels with 512 byte sectors. SGI-PV: 926724 SGI-Modid: xfs-linux:xfs-kern:20990a Signed-off-by: Nathan Scott [XFS] Make AIO work again - wait on iocb completion for non-AIO only. SGI-PV: 927929 SGI-Modid: xfs-linux:xfs-kern:185642a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Fix page index to byte calculation result truncation in tracing code. SGI-PV: 928388 SGI-Modid: xfs-linux-melb:xfs-kern:21106a Signed-off-by: Nathan Scott [XFS] Remove write congestion check during metadata readahead. SGI-PV: 928392 SGI-Modid: xfs-linux-melb:xfs-kern:21108a Signed-off-by: Nathan Scott [XFS] Ensure the cluster hash size does not exceed the inode hash size. SGI-PV: 923092 SGI-Modid: xfs-linux-melb:xfs-kern:21109a Signed-off-by: Nathan Scott input: Handle -EILSEQ return code in the HID driver completion handlers as unplug. Flush request queue on unplug, too. Signed-off-by: Vojtech Pavlik drm: add r300 microcode support and radeon chip flags This patch adds radeon chip families to the pci ids (they aren't used by this patch - future work will), and also adds support for r300 microcode... The r300 project has work for use the CP for 2D operations in Xorg so this is useful even without 3D. Signed-off-by: Dave Airlie drm: move ioctls to shared file and move interface history to correct place This patch moves the ioctls into a file which is shared with the BSD drm, so we don't duplicate them across both trees, it also fixes up the radeon/r128 interface histories so they are with the driver version strings... It also removes the old interface files that no longer needed. From: Eric Anholt and Dave Airlie Signed-off-by: Dave Airlie drm: fix mga ioctls.. The mga cut-n-paste typo... Signed-off-by: Dave Airlie drm: add drm_pci interface and make i915 use it This adds the drm_pci interface, originally designed for mach64 but used by the i915 driver now for doing cross platform. From: Jose Fonseca, Leif Delglass (drm_pci.c) From: Eric Anholt (i915 changes). Signed-off-by: Dave Airlie drm: add drm specific sysfs support Switch the drm from using class simple to its own sysfs interface. From: Jon Smirl Signed-off-by: Dave Airlie [PATCH] delete unused file dpt_osdutil.h Signed-off-by: Domen Puncer Signed-off-by: James Bottomley [PATCH] dpt_i2o: remove schedule_timeout() There was a patch to *remove* that line completely issued about a month ago. It is a case of a second schedule_timeout left over from an editing mistake made long ago in a distant galaxy. Signed-off-by: James Bottomley [PATCH] scsi_debug dsense The dsense switch in the scsi_debug driver selects whether fixed (default) or descriptor format sense data is returned when an error/warning occurs. Due to an oversight dsense was not sysfs visible. Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley [PATCH] Fix reference to deallocated memory in sd.c This patch: http://linux-scsi.bkbits.net:8080/scsi-for-linus-2.6/cset@1.2034.95.5?nav=index.html|src/|src/drivers|src/drivers/scsi|related/drivers/scsi/sd.c is causing almost as much trouble as it fixed. If kref_put() drops the last reference to the scsi_disk (this happens when the device file is closed after the device has been hot-unplugged) then the call to scsi_device_put() will take its argument from an area of memory that has been deallocated. Signed-off-by: Alan Stern Signed-off-by: James Bottomley fix use after potential free in scsi_cd_put kref_put could free the cd structure. We need a copy of cd->device to do a scsi_device_put after the kref_put. Signed-off-by: James Bottomley [SPARC64]: Missing user access return value checks in fs/binfmt_elf.c and fs/compat.c Signed-off-by: David S. Miller Add attribute container to generic device model Attribute containers allows a single device to belong to an arbitrary number of classes, each with an arbitrary number of attributes. This will be used as the basis for a generic transport class Signed-off-by: Greg Kroah-Hartman Signed-off-by: James Bottomley add a generic device transport class Transport classes are a mechanism for providing transport specific services to drivers that the more generic command processing layers don't care about. A good example is the SCSI mid-layer not caring about parallel transfer characteristics or providing services for domain validation. Transport classes usually provide a transport specific API at one end and a class interface at the other (for the user to interrogate and set parameters). Originally, transport classes were SCSI specific. However, this code is generic to the device model. As long as you have a generic device representing a storage interface (or device) then you can attach a transport class to it. The new code also allows an arbitrary number of transport classes to be attached to a device, unlike SCSI which only allowed one. This is going to be important for things like SATA and SAS which share the PHY layer (and hence should be capable of sharing a PHY transport class). The generic transport class is designed to operate identically to the current SCSI transport classes, except that it uses generic devices rather than SCSI devices. We have five events: setup add ----- configure ----- remove destroy With callbacks for setup configure and remove. There's also an anonymous transport class which can only respond to configure events (and which has no attributes). Signed-off-by: Greg Kroah-Hartman Signed-off-by: James Bottomley move the SCSI transport classes over to the generic transport class This converts the three transport classes (SPI, FC and iSCSI) over to the generic transport class code. It also converts the internals of the SCSI mid-layer to use generic transport class trigger points and pulls out some of the duplicated code. Signed-off-by: James Bottomley [IA64] contig.c save physical address of MCA save area Ashok Raj uncovered a problem while testing the MCA code on a tiger box with contig memory. The virtual address was getting saved instead of the physical address of the MCA save area. This patch fixes that problem. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck [XFS] Fix mapping gfp_flags used on metadata buffer inode. SGI-PV: 914873 SGI-Modid: xfs-linux-melb:xfs-kern:21209a Signed-off-by: Nathan Scott [XFS] Fix preempt-related warnings - based on a Chris Wedgwood patch. SGI-PV: 904196 SGI-Modid: xfs-linux-melb:xfs-kern:21210a Signed-off-by: Nathan Scott [PATCH] sg descriptor sense cleanup lk 2.6.11-rc1-bk1 - expand sense data handling to descriptor format - make module parameters visible in /sys/modules/sg/parameters - add "readable" SCSI commands: READ(16), REPORT LUNS, SERVICE_ACTION_IN, RECEIVE_DIAGNOSTIC, READ_LONG and MAINTENANCE_IN_CMD to list Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley [PATCH] SCSI NCR53C9x.c: some cleanups - Make esp_bootup_reset() global again, since the Amiga Oktagon SCSI driver needs it, and move its prototype from oktagon_esp.c to NCR53C9x.h - Make esp_cmd() static in the debug case. It's already a local macro in the non-debug case. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley [PATCH] sense data helpers lk 2.6.11-rc1-bk1 - add sense data helper functions: - scsi_sense_desc_find() to find a given sense descriptor (e.g. type 0 -> information) - scsi_get_sense_info_fld() to get the information field from fixed or descriptor sense data Kai Makisara proposed the "find" function. For example, it will help the st driver find the Filemark, EOM and ILI flags which have been placed in the "stream commands" sense data descriptor. Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley [PATCH] Add compat_ioctl to scsi host structure Add compat_ioctl vector to scsi_host. Signed-off-by: Andi Kleen Signed-off-by: James Bottomley [IA64] two trivial build fixes for generic uniprocessor Patches supplied by Dann Frazier. Signed-off-by: Tony Luck Cset exclude: davem@nuts.davemloft.net|ChangeSet|20050120063740|10274 [TG3]: add tg3_set_eeprom() - Add nvram size detection - Add appropriate byte swapping to tg3_get_eeprom so that the same byte stream is read in all systems - Fix tg3_get_eeprom to read both eeprom and flash - Add tg3_set_eeprom to write eeprom and flash - Change tg3_nvram_init to detect all supported nvram devices - Change tg3_nvram_read to properly detect Atmel flash that requires address translation - Increase nvram polling delay to account for slower eeprom devices - Remove some of the flushing read that is not required for the production 5750 devices Signed-off-by: Michael Chan Signed-off-by: David S. Miller [ACPI] Make the bm_activity depend on "jiffies", instead of numbers of the check being called. This means bus mastering activity is assumed if bm_check isn't called; and multiple calls during one jiffy will be |='ed. Signed-off-by: Dominik Brodowski Signed-off-by: Len Brown [ACPI] Add a module parameter to allow tuning how much bus-master activity we remember when entering C3 -- /sys/module/processor/parameters/bm_history Default varies with HZ -- 40ms for 25 - 800 HZ, 32ms for 1000 HZ. Signed-off-by: Len Brown [ACPI] ACPICA 20050114 from Bob Moore Added 2005 copyright to all ACPICA files. Fixed an issue with the String-to-Buffer conversion code where the string null terminator was not included in the buffer after conversion, but there is existing ASL that assumes the string null terminator is included. This is the root of the ACPI_AML_BUFFER_LIMIT regression. This problem was introduced in the previous version when the code was updated to correctly set the converted buffer size as per the ACPI specification. The ACPI spec is ambiguous and will be updated to specify that the null terminator must be included in the converted buffer. This also affects the ToBuffer() ASL operator. Fixed a problem with the Mid() ASL/AML operator where it did not work correctly on Buffer objects. Newly created sub-buffers were not being marked as initialized. Fixed a problem in acpi_tb_find_table where incorrect string compares were performed on the oem_id and oem_table_d table header fields. These fields are not null terminated, so strncmp is now used instead of strcmp. Implemented a restriction on the Store() ASL/AML operator to align the behavior with the ACPI specification. Previously, any object could be used as the source operand. Now, the only objects that may be used are Integers, Buffers, Strings, Packages, Object References, and DDB Handles. As acpi_gbl_enable_interpreter_slack is FALSE by default, "acpi=strict" is needed to enable this check. Enhanced the optional "implicit return" support to allow an implicit return value from methods that are invoked externally via the AcpiEvaluateObject interface. This enables implicit returns from the _STA and _INI methods, for example. Changed the Revision() ASL/AML operator to return the current version of the AML interpreter, in the YYYYMMDD format. Previously, it incorrectly returned the supported ACPI version (This is the function of the _REV method). Updated the _REV predefined method to return the currently supported version of ACPI, now 3. [NETLINK]: Move nl_nonroot into netlink_table. Signed-off-by: David S. Miller [SPARC]: Fix asm constraints in muldiv.c Signed-off-by: David S. Miller [SPARC]: Hook up drivers/infiniband/Kconfig to sparc32. Signed-off-by: Roland Dreier Signed-off-by: David S. Miller [ACPI] avoid benign AE_TYPE warnings caused by "implicit return" BIOS workaround returning unsolicited (and thus mis-typed) AML values. Signed-off-by: Bob Moore Signed-off-by: Len Brown [PATCH] update mips driver Kconfig bits Signed-off-by: James Bottomley [PATCH] update dec_esp with changes from mips CVS Changes are from Maciej W. Rozycki and not nicely splitup because it's the changes to make it work with 2.6 again. Cosmetic changes by me to avoid obsolete typedefs. Signed-off-by: James Bottomley [PATCH] cosmetic jazz_esp updates small changes from Linux/MIPS CVS and typedef removal from me Signed-off-by: James Bottomley [SPARC64]: Update defconfig. Signed-off-by: David S. Miller [PATCH] Fix an error in copy_page_range There is a bug in copy_page_range with 4 level page table change. copy_page_range do a continue without adding pgds and addr when pgd_none(*src_pgd) or pgd_bad(*src_pgd). Signed-off-by: Zou Nan hai Acked-by: Nick Piggin Signed-off-by: Linus Torvalds [PATCH] PPC64: fix stack alignment for signal handlers The PPC64 ABI specifies that the stack should be kept aligned to 16 bytes. However, signal handlers on PPC64 are getting run with the stack misaligned (sp % 16 == 8). This patch fixes that by ensuring that the signal frame allocated is a multiple of 16 bytes. In addition to the PPC64 signal frame itself being of misaligned size, the explicit alignment of the starting stack pointer is also to 8 instead of 16. I've corrected this as well, so signal frames are aligned even if the interrupted registers contained a misaligned stack pointer. Signed-off-by: Roland McGrath [ Paul Mackerras acked the original patch (which also did it for the 32-bit cases), and pointed out that the 32-bit cases all already did the alignment elsewhere and didn't need this. Patch edited down accordingly. ] Signed-off-by: Linus Torvalds [IA64] tiger_defconfig: updated for 2.6.11-rc2 Signed-off-by: Tony Luck [PATCH] dvb: fix RPS init race - [DVB] saa7146: explicitely disable RPS tasks in saa7146_init_one() Signed-off-by: Michael Hunold Signed-off-by: Johannes Stezenbach Signed-off-by: Linus Torvalds [PATCH] dvb: support pinnacle pctv-sat, clean-ups - [DVB] dvb-bt8xx: add support for pinnacle pctv-sat, patch by Peter Hettkamp and Adam Szalkowski - [DVB] dvb-bt8xx: minor code cleanups, patch by Arne Ahrend - [DVB] dvb-bt8xx: make sure to compile all necessary frontend modules, remove misleading comment Signed-off-by: Michael Hunold Signed-off-by: Johannes Stezenbach Signed-off-by: Linus Torvalds [PATCH] dvb: dibusb refactoring, support Yakumo/HAMA/Typhoon/HanfTek clones - [DVB] dvb-dibusb: refactoring of the dibusb driver, support for device clones from Yakumo/HAMA/Typhoon/HanfTek, update the documentation Signed-off-by: Michael Hunold Signed-off-by: Johannes Stezenbach Signed-off-by: Linus Torvalds [PATCH] dvb: support nxt2002 frontend, misc skystar2 fixes - [DVB] nxt2002: add support for nxt2002 frontend (firmware extraction, Kconfig, driver) - [DVB] skystar2: misc cleanup, remove unneeded casts, remove unreachable code, patches by Francois Romieu - [DVB] skystar2: fix mt352 clock setting for VHF (6 and 7 MHz bw channels), patch by Thomas Martin and Dieter Zander: - [DVB] b2c2-usb-core: fix file permissions to be octal, ISO C90 compile fix, temporally repaired the request_types - [DVB] remove remains of dibusb driver after splitup Signed-off-by: Michael Hunold Signed-off-by: Johannes Stezenbach Signed-off-by: Linus Torvalds [PATCH] dvb: add ATSC support, misc fixes - [DVB] dvb-core: vfree() checking cleanups, patch by Domen Puncer - [DVB] dvb-core: fix handling of discontinuity indicator in section filter, bug reported by Frank Rosengart - [DVB] dvb-core: handle PUSI in section filter correctly, patch by Emard, bug reported by Patrick Valsecchi - [DVB] dvb-core: add support for ATSC/VSB frontends, patch by Taylor Jacob - [DVB] dvb-core: removed semi-colon from a very wrong place; FE_ENABLE_HIGH_LNB_VOLTAGE kernel oops; thanks to Christophe Massiot - [DVB] dvb-core: Fixed slow tuning problems, remove frequeny bending support from frontend code, code simplification Signed-off-by: Michael Hunold Signed-off-by: Johannes Stezenbach Signed-off-by: Linus Torvalds [PATCH] dvb: dib3000 refactoring - [DVB] dib3000: driver refactoring, makes it easier to support device clones Signed-off-by: Michael Hunold Signed-off-by: Johannes Stezenbach Signed-off-by: Linus Torvalds [PATCH] dvb: nxt2002: add ATSC support, misc fixes - [DVB] mt352: exported a mt352_read_reg-function, implemented a single byte write_register function (needed for dibusb) - [DVB] nxt2002: patch by Taylor Jacob to add support for ATSC/VSB frontends and the B2C2/BBTI Air2PC-ATSC card - [DVB] stv0297: fix tuning problems and compile time warnings, patch by Markus Breitenberger - [DVB] fix spelling errors in various frontend drivers Signed-off-by: Michael Hunold Signed-off-by: Johannes Stezenbach Signed-off-by: Linus Torvalds [PATCH] dvb: dvb-ttpci: fix SMP race, budget: fixe init race, misc fixes - [DVB] dvb-ttpci: re-added support for Fujitsu-Siemens DVB-S rev 1.6 0x13c2:0x0006 - [DVB] dvb-ttpci: finally clean up debi irq/tasklet handling to make it work on SMP - [DVB] dvb-ttpci: misc. changes to av7110_send_fw_cmd() error handling done along the way - [DVB] dvb-ttpci: budgetpatch integrated into dvb-ttpci: enables full ts option running in parallel with all previous functions of dvb-ttpci - [DVB] dvb-ttpci: fix Oops provoked by insmod/rmmod test loop, patch by Emard - [DVB] budget: Fixed start_ts_capture(): saa7146 will not issue a VPE interrupt if VPE bit is set in PSR and VPE interrupts are enabled afterwards. - [DVB] budget: enable satelco support. code was commented out, but actually it works, patch by Emard - [DVB] budget: Budget patch improved driver, fixed slight packet loss by using different trigger mode Signed-off-by: Michael Hunold Signed-off-by: Johannes Stezenbach Signed-off-by: Linus Torvalds [IA64] fix declaration of __find_next_zero_bit, first arg is "const" Signed-off-by: Bob Picco Signed-off-by: Tony Luck [IA64] Delete duplicate SN2 definition of cpu_logical_id for UP build Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [IA64] Delete: arch/ia64/sn/include/shub.h Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [IA64] fix SN2 hwperf error handling Fix the error handling for the SN2 hardware perf ioctl interface. Signed-off-by: Mark Goodwin Signed-off-by: Tony Luck [IA64] binfmt_elf32.c: BUG if insert_vm_struct fails It seems that in ia64_elf32_init, instead of calling return, if we insert an overlapping vma, we should instead BUG(). We should never get into this code path, because the vma's are set above PAGE_OFFSET, and thus a Xmalicious user can not trigger this code path. This change is being suggested mainly for clarity. Thanks to Stephen Tweedie for pointing out that returning early in ia64_elf32_init could have unpredictable results. Signed-off-by: Tony Luck [IA64] uaccess.h: add missing __user annotation for sparse I was getting a lot of spurious warnings with "make C=1", due to a missing "__user" attribute. I'm not sure whether this got lost or whether earlier versions of sparse failed to warn about it, but it's clearly needed (and the i386 version of uaccess.h does the same). Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [IA64] domain.c: eliminate warning when compiling CONFIG_NUMA=n When compiling for non-NUMA variable "node" ended up not being used, which solicits a warning from GCC. Fix is to evluate cpu_to_node(i) in place. This has the effect of doing cpu_to_node(i) twice on NUMA, but this is init code, so performance is not an issue (and even if it were, you can just declare cpu_to_node() as being a pure function, so the compiler can eliminate the second call). Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [IA64] Sanity check unw_unwind_to_user Signed-off-by: Keith Owens Signed-off-by: Tony Luck [IA64] sys_ia32.c: add missing __user annotation for sparse Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [IA64] increase limit on #pages to isolate for MCA errors The fixed sized array of pages that are isolated because of 2xECC memory errors can run out. Increasing the size of the array is a band-aid measure, the real fix will require changes to generic code to add some bits to page_flags so that pages with errors can be marked so as to prevent them ever being examined. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck [IA64] smpboot.c: use msleep(100) instead of inlined equivalent Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Tony Luck [IA64] cleanup C uage of global/root-function predicates The patch below is purely a cleanup but it's a prerequisite for the next bug fix patch. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [IA64] Don't forget to initialize PKStk for kernel-threads Kernel-threads had both pUStk and pKStk set to FALSE, which was unintentional. I don't think the bug has shown any ill effects, but it's clearly wrong and could come around to bite us later, so let's fix it now. Depends on the previous patch to clean up C usage of the global/root-function predicates. Signed-off-by: Tony Luck [IA64] entry.S: Align rse_clear_invalid to double-bundle boundary. Trivial patch: align rse_clear_invalid to 32-byte boundary. Good for a 9 cycle speed up. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [IA64] Resched skip_rbs_switch to run 4 cycles faster on McKinley-type cores Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [IA64] Improve ia64_leave_syscall() for McKinley-type cores. Optimize ia64_leave_syscall() a bit better for McKinley-type cores. The patch looks big, but that's mostly due to renaming r16/r17 to r2/r3. Good for a 13 cycle improvement. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [IA64] Use srlz.d instead of srlz.i in ia64_leave_syscall Use srlz.d instead of srlz.i. Safe because we don't care whether the VHPT walker sees the clearing of PSR.ic (if it does, that's fine if it doesn't, it's OK too since the kernel-text is pinned anyhow). Good for another 11+ cycles in (normal) getpid(). Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [IA64] entry.S update the copyright year & fix a comment Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [IA64] mca.c: delete unused "return_to_sal" label Label is unused, and so the compiler generates a warning. Signed-off-by: Tony Luck [IA64] clean up ptrace corner cases Patch from yanmin.zhang@intel.com to fix up some corner cases in ptrace. Many thanks to davidm for reviewing and improving. Signed-off-by: Tony Luck [IA64] entry.S: perfmon psr.pp fix Problem: There exists a case where we stop monitoring, i.e. clear psr.pp/dcr.pp, via IPI. This is when the stop is triggered by a close(), either explicit in the application or implicit via exit_files(). The IPI is necessary because at the time the thread (controlling the context) issues a close() it may not run on the CPU the context is bound to. Yet the call must succeed, hence we need to propagate the call to the right CPU. But what is the problem then? Under IPI, we invoke a perfmon routine which clear the kernel (live) kernel psr.pp bit and also dcr.pp. Then we return from the function and execute the kernel exit path which restores the interrupted state. Unfortunately, this restores the kernel psr from ipsr which now contains a stale value. Therefore monitoring in the kernel will be active even though we stopped it. You cannot modify the "global" psr in an interrupt routine because it will be systematically restored on the way back. Solution: We need to patch ipsr.pp in the kernel exit path to reflect the kernel value of the kernel psr.pp bit. This must be done only when returning to kernel. The proposed patch does patch ipsr.pp such that it is identical to psr.pp. The patch is subtle because the exit path does not have a lot of free registers and also because we need to schedule for a psr read. I had to shuffle things around a little bit. The patch is important because there will be another situation where this problem can occur once we incorporate the support for event set and multiplexing. In this configuration, you may be in the middle of the idle loop and on a timer interrupt, you may stop monitoring. Slightly different condition, yet same problem with ipsr.pp vs. psr.pp. Changelog: - update kernel exit path when returning to kernel to copy psr.pp to ipsr.pp. This is necesary to ensure that if psr.pp was modified during the kernel entry, the change is propagated the the psr.pp of the of the interrupted thread. Psr.pp can be modified as a consequence of an IPI under certain conditions, such as when a system-wide context is closed from a remote CPU. Special thanks to David for reworking the patch to fit into the enhanced exit path. signed-off-by: stephane eranian Signed-off-by: Tony Luck [IA64] fix PAL_PREFETCH_VISIBILITY call The following patch fixes the ia64_pal_prefetch_visibility function to take a transaction type argument for either virtual or physical memory as specified in the System Architechture Manual page 2:358. Signed-Off-By: Jes Sorensen Signed-Off-By: Tony Luck [IA64] new api efi_range_is_wc() Ok, here you go Tony. This one fixes the loop and also fixes drm_vm.c. All of the bits aside from the efi.h bit are ia64 specific (either under arch/ia64 or __ia64__), so your tree is probably the right place for all of it. This patch adds efi_range_is_wc() to efi.h. It's used to determine whether an address range can be mapped with the write coalescing attribute. It also fixes up some ia64 specific callers to use the new routine instead of unconditionally calling pgprot_writecombined, which can be dangerous if used on ranges that don't support it. Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64] fix early SAL init for sn2 sn2 does early initialization of the SAL so it can use it for early console support. Unfortunately, the loop to find the SAL entry point was buggy so when we tried out new EFI and SAL system table layouts, the loop didn't terminate. Here's the fix (doh!, use two different loop counters instead of one and just return if we find the SAL entry point). Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64] remove superfluous layer from sn2 DMA API When I converted the sn2 code over to the new DMA API, I left the old routines in place and added wrappers to call them from the generic DMA API functions. This added an unnecessary level of obfuscation since the generic ia64 code calls those functions when any of the old style PCI DMA API functions are called. This patch rectifies the problem making the code much easier to understand and hopefully a little more efficient (though I'm sure gcc was already inlining things pretty well, there were a bunch of unnecessary checks that I took this opportunity to remove). It also shrinks the size of the sn2 pci_dma.c quite a bit. pci_dma.c | 480 +++++++++++++++++++----------------------------------------- 1 files changed, 151 insertions(+), 329 deletions(-) Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64] irq handling cleanup Patch from Christoph Hellwig to: - irq_desc and irq_to_vector machvecs. SN2 has it's own versions, but they're the same as the generic ones - kill do do_IRQ and use __do_IRQ directly everywhere - kill dead X86 ifdefs - move some variable declarations around in irq.c to recuce # of ifdefs Signed-off-by: Tony Luck [IA64] clean up loose ends from addition of efi_range_is_wc() Signed-off-by: Tony Luck [TG3]: Update driver version and reldate. Signed-off-by: David S. Miller [SPARC64]: Minor memmove refinements. - If dst/src are equal, memcpy can be used. - Eliminate register writes which were unused Signed-off-by: David S. Miller [ARM] msr can take immediate constants. Signed-off-by: Russell King [ARM] Add warning about building fiq.c with gcc >= 3.4 Unfortunately, some changes to GCC prevents fiq.c expressing the constraints for the assembly setting the FIQ register set. Warn people with later gcc toolchains that they can expect failure to occur. Signed-off-by: Russell King [PATCH] streamline block SG_IO error processing - cleanup scsi_end_request() documentation - shorten path for block SG_IO through scsi_io_completion() - for non-SG_IO sense processing in scsi_io_completion(): - ignore deferred errors (report + retry should suffice) - consolidate into a cleaner switch statement Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley [PATCH] streamline block SG_IO error processing in sd - sd_init_command(): use retry count of 1 for block SG_IO; minor cleanup - sd_rw_init(): bypass sd level error processing for block SG_IO Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley SCSI: Fix style nitpicks Noticed by: Christoph Hellwig Signed-off-by: James Bottomley [PATCH] aacraid 2.6: add scsi synchronize cache support. This is an update from the Adaptec driver that adds support for the scsi synchronize cache command. It essentially blocks further commands until data has been flushed to the disks. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley [PATCH] SCSI NCR_Q720.c: make some code static This patch makes two needlessly global structs static. Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley sd descriptor sense support From: Douglas Gilbert - make all sd driver sense data handling able to use both fixed and descriptor format - permit 64 bit lbas associated with medium (or hardware) errors to be conveyed back to the block layer Signed-off-by: James Bottomley [Bluetooth] Use wait_event_interruptible_timeout() Use wait_event_interruptible_timeout() instead of custom wait queue code. Signed-off-by: Nishanth Aravamudan Signed-off-by: Marcel Holtmann [Bluetooth] Use wait_event_timeout() Use wait_event_timeout() instead of custom wait queue code. The current code uses TASK_INTERRUPTIBLE but only cares about timing out and the wait queue event taking place (does not actively do anything in response to signals), so wait_event_timeout() should be enough. Signed-off-by: Nishanth Aravamudan Signed-off-by: Marcel Holtmann [ARM PATCH] 2431/1: Split arch specifics out of arch/arm/kernel/debug.S Patch from Ben Dooks This patch moves all the machine/arch specific bits out of arch/arm/kernel/debug.S and places them into the include directories for those given architectures. The debug macros are placed into include/asm-arm/arch-*/debug-macro.S. The aim is to clean-up the debug.S code and make it easier to modify a single-architecture without affecting the entire debug.S file. The patch also removes CONFIG_ARCH_FTVPCI, which no longer exists anywhere else in the kernel. All new include files have the original copyright notice from arch/arm/kernel/debug.S. Note, not all architectures modified here have been built and/or tested due to lack of available machines, or problems building for them (no defconfig available, or problems with kernel build). Signed-off-by: Ben Dooks Signed-off-by: Russell King [Bluetooth] Fix too many keys pressed error This patch fixes the problem of keys repeating when too many keys are pressed at the same time (e.g. when typing quickly). This often results in "mount" becoming "mouount". It seems that Bluetooth keyboards send a HID report with the keys all set to 0x01 if too many keys were pressed at the same time. This confuses the previous report handling logic and now these reports are ignored. Signed-off-by: Juha Yrjölä Signed-off-by: Marcel Holtmann [PATCH] x86_64: Fix int3 trap Undo bogus change that was introduced with kprobes. It's not really needed and it breaks some user applications because it changes the signal for int 3 from SIGTRAP to SIGSEGV. Cc: Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [PATCH] i386/x86-64: Fix ioremap off by one From Terence Ripperda When doing iounmap don't try to change_page_attr back the guard page that ioremap added. Since the last round of change_page_attr changes this would trigger an BUG because the reference count on the changed pages wouldn't match up. The problem would be only visible on machines with >3GB of memory, because only then the PCI memory hole is below end_pfn and change_page_attr is used. Fixed for both i386 and x86-64. This was actually discovered&fixed by Andrea earlier, but I goofed up while doing the last ioremap fixes merge and this change got lost. Poor Terence had to debug it again. Sorry about that. cc: andrea@suse.de Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [PATCH] x86-64: Fix UP build warning Fix warning: In file included from include/asm/numa.h:5, from arch/x86_64/kernel/setup64.c:27: include/asm/numnodes.h:6:1: warning: "NODES_SHIFT" redefined In file included from include/linux/mmzone.h:13, from include/linux/gfp.h:4, from include/linux/slab.h:15, from include/linux/percpu.h:4, from include/linux/sched.h:33, from arch/x86_64/kernel/setup64.c:11: include/linux/numa.h:11:1: warning: this is the location of the previous definition in UP builds. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [PATCH] fix module kallsym lookup breakage Anton Blanchard wrote: >Your recent patch looks to break module kallsyms lookups.... >It looks like if CONFIG_KALLSYMS_ALL is set then we never look up module >addresses. Separate lookups for kernel and modules when CONFIG_KALLSYMS_ALL=y. Signed-off-by: Keith Owens Acked-by: Chris Wedgwood Signed-off-by: Linus Torvalds [Bluetooth] Fix rfcomm_sock_destruct() deadlock The fix for socket unlink race introduced a deadlock in the RFCOMM code. The state change function is always called under the DLC lock and if rfcomm_sock_kill() is called the rfcomm_sock_destruct() will dead lock. So the DLC lock must be dropped first and claimed again afterwards. Signed-off-by: Marcel Holtmann [Bluetooth] Add RFCOMM service level security This patch adds the support for RFCOMM service level security. It allows to request authentication and encryption before a RFCOMM connection is finally established. Signed-off-by: Marcel Holtmann x86-64: don't crash and loop when the user passes an unknown earlyprintk= option. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [PATCH] osst: don't use obsolete SCSI APIs this patch gets rid of the need for scsi.h, similar to the recent patch to the st driver. (applies ontop of Willem's patches) Signed-off-by: James Bottomley Signed-off-by: Willem Riede Free temporary pipe page after freeing the main buffers. Duh. Freeing the main buffers can _cause_ the temporary page to be created. [PATCH] removing bcopy... because it's half broken Nothing in the kernel is using bcopy right know, and that is a good thing. Why? Because a lot of the architectures implement a broken bcopy().... the userspace standard bcopy() is basically a memmove() with a weird parameter order, however a bunch of architectures implement a memcpy() not a memmove(). Instead of fixing this inconsistency, I decided to remove it entirely, explicit memcpy() and memmove() are prefered anyway (welcome to the 1990's) and nothing in the kernel is using these functions, so this saves code size as well for everyone. Signed-off-by: Arjan van de Ven Signed-off-by: Adrian Bunk [ Side note: the only reason for bcopy appears to be totally ancient gcc versions for OSF/1, used to originally cross-compile Linux on alpha. Possibly some other similar cases. Time to move on ;-] Signed-off-by: Linus Torvalds [IPV4/IPV6]: In ip_fragment(), reset ip_summed field on SKB sub-frags. If we forward a fragmented packet, we can have ip_summed set to CHECKSUM_HW or similar. This is fine for local protocol processing, but once if we are forwarding this packet we want to reset ip_summed to CHECKSUM_NONE. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [TG3]: Fix TSO for 5750 - Fix TSO for 5750 chips by setting tcp checksum field to 0 for TSO packets - Add TG3_FLG2_HW_TSO flag for 5750 and newer chips that use the same TSO scheme Signed-off-by: Michael Chan Signed-off-by: David S. Miller [TG3]: Update driver version and reldate. Signed-off-by: David S. Miller [NETFILTER]: Fix SNAT/DNAT target size checks This patch fixes two size checks in the checkentry() for SNAT and DNAT targets. The patch to remove support for multiple ranges forgot to use IPT_ALIGN(). This isn't a problem on x86 but other archs like parisc are affected and thus can't add any SNAT/DNAT rules. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy [NETFILTER]: Fix compile errors without NAT This patch fixes some compile errors with NAT that has appeared after all the recent patches. Move struct ip_conntrack_expect after the definition of struct ip_conntrack. Add #ifdef CONFIG_IP_NF_NAT_NEEDED around ip_nat_initialized() Add lockhelp.h to ipt_CLUSTERIP.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy [NETFILTER]: Fix compile with NAT but without modules Here's another patch to fix compile-errors, this time with NAT but without modules. There's a missing 'extern' in ip_conntrack_tftp.h Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy [NETFILTER]: Add inversion to multiport match Should add this to rev1 of multiport before 2.6.11 comes out. Signed-off-by: Phil Oester Signed-off-by: Patrick McHardy NTFS: Add printk rate limiting for ntfs_warning() and ntfs_error() when compiled without debug. This avoids a possible denial of service attack. Thanks to Carl-Daniel Hailfinger from SuSE for pointing this out. [PATCH] AOE: fix up the block device registration so that it actually works Remove __exit from aoeblk_exit (to allow it to be called from __init code). Remove register_blkdev into aoe_init (it's done in aoemain.c). Signed-off-by: Ed L. Cashin Signed-off-by: Linus Torvalds [PATCH] m68k csum_partial_copy_* gcc4 warning fixes The gcc4 signedness warning fix forgot to update the declarations in include/asm-m68k/checksum.h. [PATCH] Modules: Allow sysfs module parameters to be written to. This fixes a bug in the current tree preventing the sysfs module parameters from being able to be changed at all from userspace. It's as if someone just forgot to write this function... Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds [ARM PATCH] 2432/1: include/asm-arm/bitops.h - missing const from find Patch from Ben Dooks the calls _find_first_zero_bit_be() and _find_next_zero_bit_be() are missing const from the pointer argument passed in, causing several build warnings when building an ARM kernel in big-endian mode. Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2433/1: debug-macro.S split - fix header filename Patch from Ben Dooks All the headers refer to debug-armv.S, when they where split from debug.S Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2435/1: platform data for audio on Mainstone Patch from Nicolas Pitre This enables audio on Mainstone with the ALSA PXA2xx AC97 driver. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King Rename "locks_verify_area()" to "rw_verify_area()" and clean up the arguments. And make it non-inlined. [SPARC64]: Set STRICT_MM_TYPECHECKS and kill ctxd/iopgprot. There is no code generation penalty on sparc64 for STRICT_MM_TYPECHECKS as is present on sparc32. ctxd and iopgprot are totally unused types Signed-off-by: David S. Miller Add 'f_maxcount' to allow filesystems to set a per-file maximum IO size. [PATCH] dib3000mc build fix - Build fix for older gcc's - Don't typecast when assigning between void*'s and other pointers. cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] DVB linkage fix We have two global variables called "debug". The attached patch cleans up various aspects of dibusb module argument handling, so it's a bit larger than just renaming "debug". Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: fixed conflicting types arch/mips/lib/csum_partial_copy.c:21: error: conflicting types for `csum_partial_copy_nocheck' include/asm/checksum.h:65: error: previous declaration of `csum_partial_copy_nocheck' arch/mips/lib/csum_partial_copy.c:38: error: conflicting types for `csum_partial_copy_from_user' include/asm/checksum.h:38: error: previous declaration of `csum_partial_copy_from_user' make[1]: *** [arch/mips/lib/csum_partial_copy.o] Error 1 make: *** [arch/mips/lib] Error 2 Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] oprofile: falling back on timer interrupt mode When some hardware setups or architectures do not allow OProfile to use performance counters, OProfile operates in timer mode. But, from 2.6.11-rc1, we need to specify the module parameter "timer=1" to work on timer interrupt mode. Change things so that we detect the absence of the high-resolution timer and fall back to timer-based profiling automatically. Furthermore we can easily get oops by reading /dev/oprofile/cpu_type. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] compat ioctl security hook fixup Fix a bug spotted by "Michael S. Tsirkin" Introduce a simple helper, vfs_ioctl(), so that both sys_ioctl() and compat_sys_ioctl() call the security hook in all cases and without duplication. Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mm: adjust dirty threshold for lowmem-only mappings With Rik van Riel Simply running "dd if=/dev/zero of=/dev/hd" can cause excessive amounts of dirty lowmem pagecache, due to the blockdev's non-highmem page allocation strategy. This patch effectively lowers the dirty limit for mappings which cannot be cached in highmem, counting the dirty limit as a percentage of lowmem instead. This should prevent heavy block device writers from pushing the VM over the edge and triggering OOM kills. Signed-off-by: Rik van Riel Acked-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mm: truncate SMP race fix Fix up an smp race introduced in 2.6.11-rc1 Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Add defconfigs for 85xx boards -- updated Adds default config files the MPC8540 ADS, MPC8560 ADS, and MPC8555 CDS reference boards. Hopefully people will stop asking me for mine :) Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: allow usage of gen550 on platforms that do not define SERIAL_PORT_DFNS Allows a platform to initialize serial_state completely from gen550_init and no longer requires it to define SERIAL_PORT_DFNS. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: missing call to ioremap in pci_iomap() The PPC version of pci_iomap seems to be missing a call to ioremap. This patch corrects that oversight and has been tested on a IBM PPC750FX Eval board. Signed-off-by: Randy Vinson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: fix PCI2 IO space mapping on CDS The ppc pci bus and resource fixups will automatically adjust the IO space mappings by (hose->io_base_virt - isa_io_base). Since we map all of PCI IO space (PCI1 & PCI2) with a single mapping so it is continguious in virtual, physical, and PCI IO space the offset will equal MPC85XX_PCI1_IO_SIZE. There for we needed to reduce the setting by that amount for everything to work properly on CDS. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [MM]: PTRS_PER_{PUD,PMD} are not necessarily compile time constants. Signed-off-by: David S. Miller [PATCH] ppc32: Add support for Pegasos machines This patch, mostly from Sven Luther and reworked by me, adds support for Pegasos machines to the ppc32 arch. The patch contains all of the arch code. I'll send separately a few driver changes as well. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: limit segment tables on UP kernels We were allocating 48 segment tables on UP kernels. Remove them and save 192kB of kernel memory on UP builds. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: xmon data breakpoints on partitioned systems This patch is originally from Jake Moilanen , substantially modified by me. On PPC64 systems with a hypervisor, we can't set the Data Address Breakpoint Register (DABR) directly, we have to do it through a hypervisor call. Signed-off-by: Jake Moilanen Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: fix in_be64 definition This patch is from Jake Moilanen . The instruction syntax for the in_be64 inline asm was incorrect for the "m" constraint for the address parameter. This patch fixes the instruction in the inline asm. Signed-off-by: Jake Moilanen Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: clear MSR_RI earlier in syscall exit path This patch is from Craig Chaney . This patch moves the restoring of the stack pointer in the system call exit path to after the point where we clear the RI (recoverable interrupt) bit in the MSR. Normally, loading the stack pointer before clearing RI doesn't cause any problem because there is no trap that can normally occur in between. But if we are tracing the code using a tool that single-steps instructions, this can cause a problem. In this case, clearing RI serves as an indication that the following code can't be safely single-stepped. Signed-off-by: Craig Chaney Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: replace schedule_timeout in iSeries_pci_reset This patch is from Nishanth Aravamudan . Replace schedule_timeout() with msleep to simplify the code and to express the delay in milliseconds instead of HZ. Signed-off-by: Nishanth Aravamudan Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: replace schedule_timeout in pSeries_cpu_die This patch is from Nishanth Aravamudan . Replace schedule_timeout() with msleep to simplify the code and to express the delay in milliseconds instead of HZ. Signed-off-by: Nishanth Aravamudan Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: replace schedule_timeout in __cpu_up This patch is from Nishanth Aravamudan . Replace schedule_timeout() with msleep to simplify the code and to express the delay in milliseconds instead of HZ. Signed-off-by: Nishanth Aravamudan Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: replace schedule_timeout in die This patch is from Nishanth Aravamudan . Replace schedule_timeout() with ssleep to simplify the code and to express the delay in seconds instead of HZ. Signed-off-by: Nishanth Aravamudan Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [SPARC64]: Covert over to 4 level page tables Move away from the 4level-fixup stuff. Signed-off-by: David S. Miller [PATCH] ppc64: trivial cleanup: EEH_REGION This patch is originally from Linas Vepstas . This is a dumb, dorky cleanup patch: Per last round of emails, the concept of EEH_REGION is gone, but a few stubs remained. This patch removes them. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: sparse fixes for cpu feature constants This patch is originally from Nathan Lynch . Sparse gives a warning "constant ... is so big it is long" for every expression where we check bits in the cur_cpu_spec->cpu_features value. This patch removes the warnings by using the ASM_CONST macro. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: use kref for device_node refcounting This patch is from Nathan Lynch . This changes struct device_node and associated code to use the kref api for object refcounting and freeing. I've given it some testing on pSeries with cpu add/remove and verified that the release function works. The change is somewhat cosmetic but it does make the code easier to understand... at least I think so =) The only real change is that the refcount on all device_nodes is initialized at 1, and the device node is freed when the refcount reaches 0 (of_remove_node has the extra "put" to ensure that this happens). This lets us get rid of the OF_STALE flag and macros in prom.h. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: allow EEH to be disabled Allow EEH to be disabled for pSeries targets, but only if the EMBEDDED option is enabled. This version incorporates some suggestions from Arnd Bergmann and Linas Vepstas. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: disable some boot wrapper debug The debug information in the boot wrapper can be quite verbose (it prints an entry for every address it attempts to claim). Disable it. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: problem disabling SYSVIPC The kernel wouldnt link when SYSVIPC was disabled. x86-64 was already defining a cond_syscall, instead of duplicating it in the ppc64 port move it into the arch specific portion of kernel/sys_ni.c Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: enable virtual ethernet and virtual scsi Enable the virtual ethernet and virtual scsi drivers in the pseries config. Since our root device may be on either we need them compiled in (unless we play initrd tricks). Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: Missing call to ioremap in pci_iomap() This patch adds the missing ioremap call to pci_iomap on ppc64. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86: no interrupts from secondary CPUs until officially online Andi Kleen reported a problem where a very slow boot caused the timer interrupt on a secondary CPU to go off before the CPU was actually brought up by the core code, so the CPU_PREPARE notifier hadn't been called, so the per-cpu timer code wasn't set up. This was caused by enabling interrupts around calibrate_delay() on secondary CPUs, which is not actually neccessary (interrupts on CPU 0 increments jiffies, which is all that is required). So delay enabling interrupts until the actual __cpu_up() call for that CPU. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86: Remove unused function Remove unused get_cr2 function (from i386) Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: remove centaur mtrr support Drop unused centaur mtrr support code. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: remove duplicated includes There's usually no reason for including the same header file twice. The patch below removes such duplicate includes in x86_64 specific files. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Enlarge northbridge numa scan mask Enlarge max nodes mask in k8 northbridge scan code. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Remove earlyprintk help Remove invisible earlyprintk help. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Speed up suspend The following patch speeds up the restoring of swsusp images on x86-64 and makes the assembly code more readable (tested and works on AMD64). Signed-off-by: Rafael J. Wysocki Changed by AK to not hardcode any C values and get them from offset.h instead and not flushing CR3 needlessly (according to Pavel it was just an old debugging measure that is not needed anymore) Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] h8300: fix warning update argument type Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] h8300: makefile update Fix build error when .config does not exist Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp: fix buggy comment Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Enable swsusp on SMP machines This enables swsusp on SMP machines. It should be working in 2.6.10, already (but you may need noapic in 2.6.10). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] kill softirq_pending() With Steffen Klassert no more users left, time to kill the various implementations Signed-off-by: Steffen Klassert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] clean up UTS_RELEASE usage This patch cleans up usage of UTS_RELEASE, by replacing many references with system_utsname.release, and deleting others. This eliminates a dependency on version.h for these files, so they don't get rebuilt if EXTRAVERSION or localversion change. Signed-off-by: Brian Gerst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] 3c59x ethtool: provide NIC-specific stats With this patch get_ethtool_stats() provides the NIC-specific extra stats. Signed-off-by: Steffen Klassert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext2/ext3: block allocator startup fix We found strange blocks layout in our mail server, after careful study, we got the reason and tried to fix it. On the very fist attempt to allocate a block to the newly-initialised inode, if we are trying to add a block at logical file offset "1" then ext2_find_goal() will incorrectly assume that this was a next_alloc_block cache hit (because we think the previously-allocated block was at offset zero). Net result: why trying to extend a freshly-opened one-block file we end up deciding to place the second file block at disk block "1", rather than going off and calling ext2_find_near(). Fix it by checking that we actually do have something valid cached in next_alloc_goal. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/ea: no lock needed when freeing inode ext3_xattr_delete_inode is called from ext3_free_inode which always has exclusive access to the inode, so there is no need to take the xattr semaphore. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/ea: set the EXT3_FEATURE_COMPAT_EXT_ATTR for in-inode xattrs The xattr feature was only set when creating an xattr block. Also set it when creating in-inode xattrs. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/ea: documentation fix In-inode xattr entry descriptors are unsorted. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/ea: ix i_extra_isize check We are checking for (EXT3_SB(inode->i_sb)->s_inode_size <= EXT3_GOOD_OLD_INODE_SIZE) to find out if we can set in-inode attributes; the test fails for inodes that have been created before the ea-in-inode patch. Those inodes have (i_extra_isize == 0), so we end up with the attributes overlapping the i_extra_isize field. Checking for (i_extra_isize == 0) instead fixes this case. The EXT3_STATE_XATTR flag is only set if (i_extra_isize > 0) and the inodes has in-inode attributes, so that is enough in the first two tests. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/ea: disallow in-inode attributes for reserved inodes When creating a filesystem with inodes bigger than 128 bytes, mke2fs fails to clear out bytes beyond EXT3_GOOD_OLD_INODE_SIZE in all inodes it creates (the journal, the filesystem root, and lost+found). We would require a zeroed-out i_extra_isize field but we don't get it, so disallow in-inode attributes for those inodes. Add an i_extra_isize sanity check. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3: fix ea-in-inode default ACL creation When a new inode is created, ext3_new_inode sets the EXT3_STATE_NEW flag, which tells ext3_do_update_inode to zero out the inode before filling in the inode's data. When a file is created in a directory with a default acl, the new inode inherits the directory's default acl; this generates attributes. The attributes are created before ext3_do_update_inode is called to write out the inode. In case of in-inode attributes, the new inode's attributes are written, and then zeroed out again by ext3_do_update_inode. Bad thing. Fix this by recognizing the EXT3_STATE_NEW case in ext3_xattr_set_handle, and zeroing out the inode there already when necessary. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext2/ext3 ACLs: remove the number of acl entries limit This patch removes the arbitrary limit of 32 acl entries on ext[23] when writing acls. A patch that removes the same check when reding acls is in BK since 12 March 2004, so all kernels since then are already able to read large acls. I think that ten+ months are enough so that we can now also remove the write limit. This is the read-limit patch: http://linux.bkbits.net:8080/linux-2.6/cset%404051e2863UsuQEgAQShmimgBooAXkg?nav=index.html Even without this patch the xattr block could already contain less space than needed for the acl, because other attributes might already use up almost all space. So this patch does not introduce additional error conditions. We have been shipping with this patch the last year (almost). Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Minor ext2 speedup Port Andreas Dilger's and Jan Kara's patch for ext3 to ext2. Also some whitespace changes to get ext2/ext3 closer in sync. Signed-off-by: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] i810_audio: offset LVI from CIV to avoid stalled start This fixes a "no sound" problem with Wolfenstein Enemy Territory and (apparently) other games using the Quake3 engine. It probably affects some other OSS applications as well. This recreates some code that had been removed from the i810_audio driver around 5/2004. (This is the 2.6-based version of this patch.) Acked-by: Herbert Xu Acked-by: Thomas Voegtle Signed-off-by: John W. Linville Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Configurable delay before mounting root device Adds a boot parameter which can be used to specify a delay (in seconds) before the root device is decoded/discovered/mounted. Example usage for 10 second delay: rootdelay=10 Useful for usb-storage devices which no longer make their partitions immediately available, and for other storage devices which require some "spin-up" time. Signed-off-by: Daniel Drake Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fs/mbcache.c: Remove an unused wait queue variable This one slipped me. The "real" wait queue is defined some lines further down inside the loop. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] device-mapper: fix mirror log type module ref count Fix module reference counting for mirror log type. Signed-Off-By: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] device-mapper: remove unused bs_bio_init() Remove unused bs_bio_init(). Signed-Off-By: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] device-mapper: Add presuspend hook Add optional callback before each device gets suspended (called 'presuspend'). Rename existing callback used by dm-mirror from 'suspend' to 'postsuspend'. dm-multipath will use the new callback. (Any kernel module using device-mapper must be recompiled after this patch.) Signed-Off-By: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] device-mapper: optionally bypass a bdget Improve performance by optionally bypassing some code that uses bdget. Signed-Off-By: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] device-mapper: fix TB stripe data corruption In stripe_map(), change chunk to 64-bit and use do_div to divide and mod by the number of stripes. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] arm26: new maintainer of Archimedes floppy and hard disk drivers After getting in touch with the listed maintainer of the ARM26 floppy and hard drive maintainer, I found out that he had passed it on to Ian Molton. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Problems disabling SYSCTL Create a cond_syscall for sys32_sysctl and make all architectures use it. Also fix the architectures that dont wrap their 32bit compat sysctl code. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] genhd: rename device_init Rename device_init to make it more unique. Useful when looking through debug initcall bootlogs. While I'm in the area, also make it static. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: compat_ioctl conversion minor fixes Slightly tidy up Andi Kleen's compat_ioctl conversion for the InfiniBand MAD driver by removing the no-longer-needed include of ioctl32.h, killing unreachable code and doing some really anal whitespace fixing. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: more Arbel Mem-Free support Continue development of Arbel Mem-Free support: we now compute a valid profile, allocate context memory, map sufficient aux memory for HCA page tables, map sufficient context memory to cover all reserved firmware resources and successfully call the INIT_HCA and QUERY_ADAPTER firmware commands. Fix a few error gotos that unwound the wrong things. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: implement modifying port attributes Implement the port_modify() device method for mthca using the SET_IB firmware command. In particular this allows changing the port capability mask. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: fix port capability enums bit order Correct defines of port capability mask enum values (bits were ordered backwards) and add new capability bits from IBA spec version 1.2. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: don't write ECR in MSI-X mode From: "Michael S. Tsirkin" We don't need to write to the ECR to clear events when using MSI-X, since we never read the ECR anyway. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: pass full process_mad info to firmware From: "Michael S. Tsirkin" Pass full extended MAD information to firmware when a work completion is supplied to the MAD_IFC command. This allows B_Key checking/trap generation. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: optimize event queue handling From: "Michael S. Tsirkin" Event queue handling performance improvements: - Only calculate EQ entry address once, and don't truncate the consumer index until we really need to. - Only read ECR once. If a new event occurs while we're in the interrupt handler, we'll get another interrupt anyway, since we only clear events once. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: test IRQ routing during initialization When we switch to interrupt-driven command mode, test interrupt generation with a NOP firmware command. Broken MSI/MSI-X and interrupt line routing problems seem to be very common, and this makes the error message much clearer -- before this change we would mysteriously fail when initializing the QP table. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/ipoib: remove uses of yield() Replace uses of yield() with msleep(1) as suggested by kernel janitors. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: add IsSM userspace support Implement setting/clearing IsSM port capability bit from userspace via "issm" special files (set IsSM bit on open, clear on close). Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: clean up ioremap()/request_region() usage From: "Michael S. Tsirkin" Here are misc fixes for mthca mapping: 1. Thinkably, MSI tables or another region could fall between HCR and ECR tables. Thus its arguably wrong to map both tables in one region. So, do it separately. I think its also more readable to have ecr_base and access ecr there, not access ecr with hcr pointer. 2. mthca_request_regions error handling was borken (wrong order of cleanups). For example on all errors pci_release_region was called which is wrong if the region was not yet mapped. And other such cleanups. 3. Fixed some error messages too. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: remove x86 SSE pessimization Get rid of the x86 SSE code for atomic 64-bit writes to doorbell registers. Saving/setting CR0 plus a clts instruction are too expensive for it to ever be a win, and the config option was just confusing. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: initialize mutex earlier The cap_mask_mutex needs to be initialized before ib_register_device(), because device registration will call client init functions that may try to modify the capability mask. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: tcic: eleminate deprecated check_region() From: Randy Dunlap tcic: eliminate deprecated check_region(); Signed-off-by: Randy Dunlap Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: i82365: use CONFIG_PNP instead of __ISAPNP__ From: Randy Dunlap Use CONFIG_PNP consistenly, for allocating and freeing resources, drop __ISAPNP__. Signed-off-by: Randy Dunlap Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: i82092: fix checking of return value from request_region From: Randy Dunlap i82092: check return value from request_region() correctly; apparently unused for awhile now; Signed-off-by: Randy Dunlap Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: socket->{a,c}region are unused From: Christoph Hellwig socket->{a,c}_region aren't ever touched elsewhere, so let's kill this. Signed-off-by: Christoph Hellwig Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: use unsigned long for IO port address With Randy Dunlap PCMCIA: convert internal I/O port addresses to unsigned long (kio_addr_t). Dominik pointed out that some ioaddr_t data are exposed to userspace, so don't touch those structures. Linus said: But the right thing is definitely to make an IO port pointer be "unsigned int" or even "unsigned long". URL: http://lkml.org/lkml/2005/1/11/168 Signed-off-by: Randy Dunlap Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] videotext: ioctls changed to use _IO macros From: Michael Geng This patch switches the videotext drivers over to use the _IO macros for ioctls. video_usercopy() works correctly then. The drivers will also map the old to the new ioctl numbers to make sure old apps don't break. The patch also updates Documentation/ioctl.h to reflect that change. and deletes a unused struct in include/linux/videotext.h. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] video/arv: remove casts Remove unneeded casts of (void *) pointers. Signed-off-by: Domen Puncer Signed-off-by: Gerd Knorr - Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] video/w9966: remove casts Remove unneeded casts of (void *) pointers. Signed-off-by: Domen Puncer Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] video/zr36120: remove casts Remove unneeded casts of (void *) pointers. Signed-off-by: Domen Puncer Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: video-buf update - Fix a memory leak in video-buf.c - Small update for the video-buf-dvb.c module. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l2 tuner api update Add new tuner type to the v4l2 API. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: tuner update - add new tuner types. - add support for digital tv tuning. - make tda9887 output ports more configurable. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: add tveeprom module. Add a module which can parse config informations out of TV card eeproms. Will be used by bttv, cx88 and ivtv. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: tvaudio update - minor msp3400 updates. - add tea6320 support. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: bttv IR input driver update This patch enables IR support for one AverMedia card and drops a obsolete function. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: bttv update - some cleanups merged. - use new tveeprom module to configure Hauppauge cards. - add new tv cards. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: saa7134 module - fix saa7134 module loading issues. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l-saa7134-module fix New version, this time using a #define, which should kill the reference to need_* as well ... Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] add i2c adapter id for the cx88 driver. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] radeonfb: Set accelerator id Set accelerator id for radeonfb. This id is checked by some user apps such as DirectFB. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] vesafb: Change return error id With I'm getting a message in dmesg: "localhost kernel: vesafb: probe of vesafb0 failed with error -6" I searched the web, and found that a lot of people are getting this, but I couldn't find an answer, so I looked into it. This appears to be because "vesafb" returns -ENXIO ("No such device or address") when its probe function fails. However, driverse/base/bus.c spews an error message during device_attach() if a matching driver's probe function returns anything but -ENODEV ("No such device"). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] intelfb: Workaround for 830M This is a work around for the 830M with intelfb. Relative to 2.6.10. Without this patch, updates to the DSPACNTR register will be ignored. On the 830M, the display plane needs to be enabled before writing to any of the other bits in the DSPACNTR register. This patch detects the specific case, temporarily enables the plane, updates the register, and then disables the plane. It also appears to require some settling time, but not an entire frame's time. Without this change, the pixel format fields in DSPACNTR won't get written on the 830M. Signed-off-by: Andrew Pfiffer Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Save blank state last Save blank state after do_blank|unblank_screen() since this flag is checked in fbcon_blank(). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] backlight: Fix compile error if CONFIG_FB is unset With Andrew Zabolotny LD init/built-in.o LD .tmp_vmlinux1 drivers/built-in.o(.text+0x9bfa): In function `lcd_device_register': : undefined reference to `fb_register_client' drivers/built-in.o(.text+0x9ce3): In function `lcd_device_unregister': : undefined reference to `fb_unregister_client' drivers/built-in.o(.text+0xa16a): In function `backlight_device_register': : undefined reference to `fb_register_client' drivers/built-in.o(.text+0xa253): In function `backlight_device_unregister': : undefined reference to `fb_unregister_client' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] matroxfb: FB_MATROX_G Kconfig changes The current Kconfig entries for the Matrox G cards are quite confusing: config FB_MATROX_G450 bool "G100/G200/G400/G450/G550 support" depends on FB_MATROX config FB_MATROX_G100A bool "G100/G200/G400 support" depends on FB_MATROX && !FB_MATROX_G450 The patch below contains: - remove FB_MATROX_G100{,A} and rename FB_MATROX_G to FB_MATROX_G450 (FB_MATROX_G450 included support from the G100 to the G550, so I don't see any non-historic reason why to call it G450) - small update for the FB_MATROX_G Kconfig text The disadvantage of this patch is, that you can no longer select support only for the G100-G400 without supporting the G450 and G550. But compared with the current confusing Kconfig setup, I don't think that's a big issue. Signed-off-by: Adrian Bunk Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Include type information as module info where possible Module parameters no longer have a type in general, as we use a callback system (module_param_call()). However, it's useful to include type information in the commonly-used wrappers: module_param, module_param_string and module_param_array. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix architecture names in hugetlbpage.txt Anton fixed the code recently, but forgot to fix the documentation. There is no "ia32" thing, its i386. The other thing is named 'ia64' in arch/ Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: fix use kref for device_node refcounting (fix) The recent ppc64 patch to use kref for device_node refcounting introduced an unbalanced get/put in of_add_node which would cause newly-added device nodes to be prematurely freed. Sorry for the screwup, a more rigorously tested fix follows. Signed-off-by: Nathan Lynch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [VLAN]: Eliminate gcc warnings with PROC_FS=n Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller [NETFILTER]: IRC Zero Port Fix Ian Kumlien reported that new NAT code started sending out DCC requests with 0 as the IP address. That prompted me to write a simple IRC test case, which both illustrated the bug, and found another one in that the wrong expectation was being set up when NAT occurred. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NETFILTER]: Avoid breaking userspace due to tuple change Andreas Schwab points out that the ipt_conntrack match exposes struct [MAINTAINERS]: Fix my email address in PPPOE entry. Signed-off-by: David S. Miller [NET]: netpoll: Fix NAPI polling race on SMP From: Matt Mackall This avoids a nasty NAPI race by checking that work was actually scheduled for the CPU netpoll is running on and pulls the NAPI-specific code out into a separate function. Original idea from Jeff Moyer Tested by Andrew Tridgell Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [TUN/TAP]: Add missing trans_start and last_rx setting. But as stated in bonding.txt, the ARP monitor requires the underlying driver to update dev->trans_start and dev->last_rx. The patch below adds the required functionality to the TUN/TAP driver. Please test if this helps in your case. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [XFRM]: Probe selected algorithm only. This patch removes an annoying problem in xfrm_user. As it is every time an SA is added it probes every known algorithm in the universe. Now if they all existed it would be OK. However, for the ones which don't actually exist this causes multiple /sbin/modprobe processes to be spawned which slows the system down when you're adding hundreds of SAs. Since we know the type of algorithm required when we're adding a new SA, we can get away with only probing the selected algorithms. This is what the following patch does for xfrm_user. Signed-off-by: Herbert Xu Signed-off-by: James Morris Signed-off-by: David S. Miller [PATCH] fix broken cross compiles The change to kbuild to use -isystem `gcc -print-file-name=include` broke our parisc crosscompile (and presumably everyone else's). The reason is that you have a := in the NOSTDINC_FLAGS rule, which is evaluated in situ (i.e. before we've had a chance to set CROSSCOMPILE on CC) so the gcc include path is actually the native one not the crosscompiler one. On parisc this causes us to be unable to handle _builtin_va functions, but I bet there are a heap of other problems. Acked-by: Sam Ravnborg Signed-off-by: Linus Torvalds [NET]: Set NLM_F_MULTI for neighbour rtnetlink messages to userspace. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [ACPI] ACPICA 20050125 from Bob Moore Fixed a recently introduced problem with the Global Lock where the underlying semaphore was not created. This problem was introduced in version 20050114, and caused an AE_AML_NO_OPERAND exception during an Acquire() operation on _GL. The local object cache is now optional, and is disabled by default. #define ACPI_ENABLE_OBJECT_CACHE to enable the local cache. Fixed an issue in the internal function acpi_ut_evaluate_object() concerning the optional "implicit return" support where an error was returned if no return object was expected, but one was implicitly returned. AE_OK is now returned in this case and the implicitly returned object is deleted. acpi_ut_evaluate_object() is only occasionally used, and only to execute reserved methods such as _STA and _INI where the return type is known up front. Fixed a few issues with the internal convert-to-integer code. It now returns an error if an attempt is made to convert a null string, a string of only blanks/tabs, or a zero-length buffer. This affects both implicit conversion and explicit conversion via the ToInteger() operator. The internal debug code in acpi_ut_acquire_mutex() has been commented out. It is not needed for normal operation and should increase the performance of the entire subsystem. The code remains in case it is needed for debug purposes again. acpica-unix-20050125.patch [PATCH] fix ext3 quota allocation bug on error path ... looking at ext3_xattr_block_set() [fs/ext3/xattr.c] ... I see that error = -EDQUOT; if (DQUOT_ALLOC_BLOCK(inode, 1)) goto cleanup; allocates a quota block, but right after that several error echecks happen ... if (error) goto cleanup; and I don't see any DQUOT_FREE_BLOCK() in the errorpath cleanup: if (ce) mb_cache_entry_release(ce); brelse(new_bh); if (!(bs->bh && s->base == bs->bh->b_data)) kfree(s->base); return error; I'd suggest the attached fix. Acked-by: Jan Kara Acked-by: Andreas Gruenbacher Signed-off-by: Linus Torvalds [TG3]: 5750 fixes Some misc. fixes for 5750. The first 2 fixes below are for correctness. - Do not set extended MAC addresses for 5750 - Do not set NIC ring addresses in send ring and receive return ring RCBs for 5750 - Check eeprom write protect bit for 5750 Signed-off-by: Michael Chan Signed-off-by: David S. Miller [TG3]: Update driver version and reldate. Signed-off-by: David S. Miller [MM]: Do not even do the runtime PTRS_PER_{PMD,PUD} checks. Based upon suggestions from Nick Piggin. Signed-off-by: David S. Miller [XFS] Fix NFS exporting with modular nfsd SGI-PV: 923968 SGI-Modid: xfs-linux:xfs-kern:186566a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [ATM]: Fix IRQ flags type in lec_arp_expire_vcc It should be unsigned long. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [IPV4]: Keep fragment queues private to each user. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller drm: fix setversion in drm core model Setversion ioctl was broken for drm core, fix this. Signed-off-by: Dave Airlie [IPSEC]: Fix processing of error from crypto module. ESP needs to check for error returns from calls to crypto_cipher_setkey(). Signed-off-by: David S. Miller Input: ACK/NAK processing rules in libps2 were too strict - while it is a good idea to discard any character other than ACK/NAK during probe it causes missing releases and keys getting "stuck" when a command issued on enabled device. The effect is easily demonstrated with the following command: while true; do xset led 3; xset -led 3; done With this change extra characters will be discarded only if device has not been marked as "enabled" yet. Signed-off-by: Dmitry Torokhov [ATM]: [fore200e] can't cleap in transmit routine Signed-off-by: Chas Williams Signed-off-by: David S. Miller [ATM]: [he] reorder add_wait_queue() and set_current_state() Signed-off-by: Nishanth Aravamudan Signed-off-by: Chas Williams Signed-off-by: David S. Miller [ATM]: [nicstar] small cleanup for some globals Signed-off-by: Adrian Bunk Signed-off-by: Chas Williams Signed-off-by: David S. Miller [ATM]: [svc] get accounting right when we remove skb Signed-off-by: Chas Williams Signed-off-by: David S. Miller drm: add support for radeon flags Add flags to the radeon driver, needed for HyperZ patch. Signed-off-by: Dave Airlie [ATM]: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Chas Williams Signed-off-by: David S. Miller [NET]: Remove mandoc reference to deleted file net_init.c This patch by Jesper Juhl is still required in 2.6.11-rc2-mm1. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [ATALK]: Remove gcc warning when PROC_FS=n Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller drm: fix minor bug on X recycling with freeing io buffer The previous checkin missed an issue on X recycling. Signed-off-by: Dave Airlie drm: add R200_EMIT_TCL_POINT_SPRITE_CNTL add support for new packet. won't be used until hyper-z version number increase. Signed-off-by: Dave Airlie drm: radeon hyperz support.. HyperZ is an undocumented feature (outside of ATI) of the radeon chips, this is a reverse engineered implementation. From: Roland Scheidegger and Stephane Marchesin Signed-off-by: Dave Airlie drm: add radeon framebuffer tiling support and surface management Add support to the radeon drm for framebuffer tiling, requires a new DDX and 3D driver. From: Stephane Marchesin and Roland Scheidegger Signed-off-by: Dave Airlie drm: update pci ids.. add missing radeon pci id add i915gm pci ids. Signed-off-by: Dave Airlie input: Always bring the i8042 multiplexer out of multiplexing mode before rebooting. Signed-off-by: Vojtech Pavlik input: Enable scancode event generation in the HID driver. This should allow changing HID->event mappings (via EVIOCS*) in the future and make debugging easier now. Signed-off-by: Vojtech Pavlik input: Add missing input_sync() calls to atkbd.c. Signed-off-by: Vojtech Pavlik [ARM] Make vector labels consistent with naming scheme Signed-off-by: Russell King [NET]: Kill excess initializer Signed-off-by: David S. Miller [ARM] Replace duplicate sets of vector code with assembler macro. Signed-off-by: Russell King [NET]: Kill now unused local var from sock_init(). Signed-off-by: David S. Miller [libata sata_sil] add another Seagate driver to blacklist [PATCH] de2104x: Fixes breakage in getting MAC address Fixes breakage in getting MAC address on built-in tulip in alphastation 200 - without delay we are skipping bytes. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik [PATCH] SATA AHCI support for Intel ICH7R This patch adds the Intel ICH7R DID's to the ahci.c SATA AHCI driver for ICH7R SATA support. Signed-off-by:  Jason Gaston Signed-off-by: Jeff Garzik [PATCH] e100 locking up netconsole. From: Steven Rostedt If the transmit buffer of the e100 overflowed, then the system would hang. This was caused because the e100 driver would stop the queue, and netpoll_send_pkt in netpoll.c would then loop forever. This is because the e100 net_poll would never start the queue again after the transmits have completed. For those that use the e100 and netconsole, all you need to do is a sysreq 't' to lock up the system. Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik [PATCH] netdrv gianfar: Fix usage of gfar_read in debug code Fixes instances where gfar_read() was invoked in debug codewith a value, rather than a pointer. Signed-of-by: Andy Fleming Signed-of-by: Kumar Gala Signed-off-by: Jeff Garzik [PATCH] (1/2) skfddi: initialization When the skfddi driver was converted to the new PCI netdevice interface, it never got tested with real hardware. The initialization got broken, this should fix it. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [PATCH] (2/2) skfddi: netdev_priv and cast cleanup Use netdev_priv() and get rid of the PRIV() macro by using the correct data element. Also eliminate casts, where type is correct. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [ACPI] reduce stack usage http://bugzilla.kernel.org/show_bug.cgi?id=2901 Written-by: Luming Yu Signed-off-by: Len Brown [ACPI] ACPI_FUTURE_USAGE for acpi_ut_create_pkg_state_and_push() Signed-off-by: Adrian Bunk Signed-off-by: Len Brown [ARM PATCH] 2437/1: ixp4xx: cosmetic change to arch_reset() Patch from David Vrabel Use some #define'd constants in the ixp4xx's arch_reset(). Signed-off-by: David Vrabel Signed-off-by: Russell King Fix permissions on drivers/scsi/a100u2w.c Input: libps2 - fix timeout handling in ps2_command, switch to using wait_event_timeout instead of wait_event_interruptible_timeout now that first form is available. Signed-off-by: Dmitry Torokhov input: Only root should be able to set the N_MOUSE line discipline. Signed-off-by: Vojtech Pavlik input: Fix MUX mode disabling. Signed-off-by: Vojtech Pavlik [WATCHDOG] i8xx_tco.c-ICH4/6/7-patch Added support for the ICH4-M, ICH6, ICH6R, ICH6-M, ICH6W and ICH6RW chipsets. Also added support for the "undocumented" ICH7. [ARM PATCH] 2438/1: S3C2410 - fix IO address calculations Patch from Ben Dooks Patch from Dimitry Andric. The include/asm-arm/arch-s3c2410/io.h file converts PC style port addresses to real ARM addresses, and needs to return an `void __iomem *` to avoid a number of warnings: CC drivers/ide/ide-iops.o drivers/ide/ide-iops.c: In function `ide_insw': drivers/ide/ide-iops.c:49: warning: passing arg 1 of `__raw_readsw' makes pointer from integer without a cast drivers/ide/ide-iops.c: In function `ide_insl': drivers/ide/ide-iops.c:59: warning: passing arg 1 of `__raw_readsl' makes pointer from integer without a cast drivers/ide/ide-iops.c: In function `ide_outsw': drivers/ide/ide-iops.c:79: warning: passing arg 1 of `__raw_writesw' makes pointer from integer without a cast drivers/ide/ide-iops.c: In function `ide_outsl': drivers/ide/ide-iops.c:89: warning: passing arg 1 of `__raw_writesl' makes pointer from integer without a cast CC lib/iomap.o lib/iomap.c: In function `ioread8_rep': lib/iomap.c:140: warning: passing arg 1 of `__raw_readsb' makes pointer from integer without a cast lib/iomap.c: In function `ioread16_rep': lib/iomap.c:144: warning: passing arg 1 of `__raw_readsw' makes pointer from integer without a cast lib/iomap.c: In function `ioread32_rep': lib/iomap.c:148: warning: passing arg 1 of `__raw_readsl' makes pointer from integer without a cast lib/iomap.c: In function `iowrite8_rep': lib/iomap.c:156: warning: passing arg 1 of `__raw_writesb' makes pointer from integer without a cast lib/iomap.c: In function `iowrite16_rep': lib/iomap.c:160: warning: passing arg 1 of `__raw_writesw' makes pointer from integer without a cast lib/iomap.c: In function `iowrite32_rep': lib/iomap.c:164: warning: passing arg 1 of `__raw_writesl' makes pointer from integer without a cast Signed-off-by: Dimitry Andric Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2439/1: S3C2410 - serial driver parity selection Patch from Ben Dooks Patch from Dimitry Andric. The s3c2410 serial driver selects the opposite parity mode if parity is enabled. Signed-off-by: Dimitry Andric Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2440/1: S3C2410 - serial auto-flow-control enable Patch from Ben Dooks Patch from Shannon Holland Enable automatic flow control if requested. Signed-off-by: Shannon Holland Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2442/1: Simplifying NODES_SHIFT Patch from Marc Singer The special case for the Sharp LH processors is unnecessary. A macro override makes it cleaner and concentrates the change where it ought to be. The default in include/asm-arm/numnodes.h means that only platforms that care to change the default need to do anything. Signed-off-by: Marc Singer Signed-off-by: Russell King [ARM] [1/4] Introduce svc_entry macro for common entry code This is the first of 4 patches which factor out common code in the ARM exception entry assembly code, aiming towards a reduction in the size of the changes required here for SMP support. These patches are low impact, and will be merged over the coarse of the next 4 days. This patch addresses the code handling exception entry from supervisor (kernel) mode. [PATCH] document atkbd.softraw Document atkbd.softraw (and shorten a few long lines nearby). [Bluetooth] Remove MTU check for the L2CAP raw socket The L2CAP raw socket is associated with the signal channel and the check for the maximum transfer unit makes no sense here. Signed-off-by: Marcel Holtmann [Bluetooth] Update inquiry cache from clock offset event The HCI clock offset event contains the actual clock offset for the connection. It is the same value that is received from an inquiry response and it can be used to make further reconnections faster. Signed-off-by: Marcel Holtmann [Bluetooth] Support raw mode only devices This patch introduces a quirk flag for turning a device into a raw mode only device. Signed-off-by: Marcel Holtmann [Bluetooth] Use raw mode for the CSR sniffer device The CSR sniffer device looks like a normal H:2 Bluetooth device, but it is not and so mark it as raw mode device. Signed-off-by: Marcel Holtmann [PATCH] fix an oops in ata_to_sense_error Signed-off-by: Jeff Garzik input: Document the atkbd.softraw module parameter. From: Andries Brouwer Signed-off-by: Vojtech Pavlik input: Ignore non-LED events in hid-input hidinput_event(). This gets rid of the "event field not found" message caused by EV_MSC type events. Signed-off-by: Vojtech Pavlik [ARM] [2/4] Introduce inv_entry macro to contain common entry code This is the second of 4 patches which factor out common code in the ARM exception entry assembly code, aiming towards a reduction in the size of the changes required here for SMP support. These patches are low impact, and will be merged over the coarse of the next 3 days. This patch addresses the code handling exception entry from invalid (irq, fiq, abort) modes. However, in converting to a macro, a minor bug has been fixed which would merely cause a misleading register dump. [PATCH] x86-64: Fix missing TLB flushes in change_page_attr Fix bug in change_page_attr - with multiple pages it would not flush correctly. Also add a small optimization of not flushing when not needed. Found and fixed by Andrea. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [PATCH] x86-64: Fix empty nodes handling with SRAT Handle empty nodes in SRAT parsing. Avoids an oops at boot time. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [PATCH] cfq-iosched: in_driver accounting bug Yet another accounting bug, this time hits on requeue. It is possible for ->accounted to be set with ->in_flight, so don't nest the cfq_account_completion() inside the ->in_flight check. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [Bluetooth] Skip raw mode devices when choosing source device When selecting the best source device for outgoing connections the devices in raw mode should be skipped. Signed-off-by: Marcel Holtmann [ARM] [3/4] Introduce usr_entry macro to contain common entry code This is the third of 4 patches which factor out common code in the ARM exception entry assembly code, aiming towards a reduction in the size of the changes required here for SMP support. These patches are low impact, and will be merged over the coarse of the next few days. This patch addresses the code handling exception entry from user modes. [PATCH] Fix conntrack fragment route cache memory leak Thanks to Russell King for some excellent debugging. Conntrack defragments locally generated packets before they hit ip_fragment. In this case the fragments have skb->dst set, and that needs to be released. Signed-off-by: Linus Torvalds [IPV4]: Do not leak dst entries in ip_copy_metadata(). Netfilter conntrack can defragment locally generated packets before they hit ip_fragment(). In this case the fragments have skb->dst set already, so we have to release that existing reference before overwriting skb->dst. Signed-off-by: David S. Miller [IPV6]: Fix ip6_copy_metadata potential dst leak too. Same fix as per ipv4 ip_copy_metadata(). Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller [ACPI] add "pnpacpi=off" Signed-off-by: David Shaohua Li Signed-off-by: Len Brown [NETFILTER]: Fix TCP header offset used in tcp_manip_pkt(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [NETFILTER]: Fix ICMP checksumming in icmp_reply_translation() The function returns before recalculating the checksum in some cases. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [NET]: Fix kernel oops if base_reachable_time is set to zero. Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller [ACPI] tell parse_cmdline_early() that "pnpacpi=off" != "acpi=off" Signed-off-by: Len Brown [ARM] [4/4] Reformat assembly code to be consistent. [PATCH] gdth: fix module_param() type for 'irq' Fix 'irq' module_param: it is an array: drivers/scsi/gdth.c:679: warning: return from incompatible pointer type Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley SCSI Fix oops with faulty DVD There's a refcounting problem on the error leg of sr_open(). fix it. Signed-off-by: James Bottomley [XFS] Fix selection of EXPORTFS when using XFS to get a good build when XFS=y and EXPORTFS=m. SGI-PV: 923968 SGI-Modid: xfs-linux-melb:xfs-kern:21326a Signed-off-by: Nathan Scott [ARM] Improve commenting in entry-armv.S The SMP patch set for ARM contained a fair amount of comments in addition to code changes. Merge relevant comments separately from the code. [ARM PATCH] 2434/1: Adds new machine: ixp4xx based gtwx5715 Patch from George Joseph Machine number 641 already assigned. Changes... arch/arm/boot/compressed/head-xscale.S arch/arm/mach-ixp4xx/Kconfig arch/arm/mach-ixp4xx/Makefile include/asm-arm/arch-ixp4xx/uncompress.h Adds... arch/arm/mach-ixp4xx/gtwx5715-pci.c arch/arm/mach-ixp4xx/gtwx5715-setup.c include/asm-arm/arch-ixp4xx/gtwx5715.h Includes changes requested by Russell King Signed-off-by: George T Joseph Signed-off-by: Deepak Saxena Signed-off-by: Russell King [ARM PATCH] 2429/1: PXA Corgi - Bugfix + Cleanups Patch from Richard Purdie PXA Corgi - Bugfix + Cleanups: * Make sure the MMC timer init is called *before* enabling the interrupt (thanks Nicholas for pointing this out). * Add externs for the exported ssp functions * Finish commenting Corgi specific GPIOs [Applies after 2428/1] Signed-off-by: Richard Purdie Signed-off-by: Russell King [ARM PATCH] 2428/1: PXA Corgi - Add Backlight Device Definition Patch from Richard Purdie Add a device definition to enable the backlight on the corgi machines (Sharp SL-C7xx series). [The backlight driver has been submitted to linux-fbdev-devel] [Applies after 2426/1] Signed-off-by: Richard Purdie Signed-off-by: Russell King drm: fix drm_sysfs lock initializer... unify the initializer. Signed-off-by: Dave Airlie drm_memory.h doesn't need to #include tlbflush.h The flush_tlb_kernel_range call in drm_memory.h was removed in 2003, so there's no more reason for this #include. Signed-off-by: Adrian Bunk Signed-off-by: Dave Airlie [ARM] Remove adrsvc macro. The adrsvc macro was used to allow the entry-* files to be built on ARM32 and ARM26 processors. Since we no longer support ARM26 CPUs, eliminate this macro. [ARM PATCH] 2430/3: TLS support for ARM Patch from Nicolas Pitre This implements TLS support in the most efficient way for all ARM processors in use today. The trick is to define a specific address in kernel area that is made readable from user space to hold the TLS pointer so it is highly efficient to retrieve it with no overhead. Since the kernel already maps a page at 0xffff0000 to hold the exception vectors, we can use the top of that page for storing the TLS ptr at 0xffff0ffc. This address has the advantage of fitting optimally with the ARM load addressing mode as follows: mov rd, #0xffff0fff ldr rd, [rd, #-3] Considering load scheduling, this means 2 cycles to retrieve the TLS value which is even faster than a coprocessor access. Even gcc generates the above assembly when given: void *tls = *((void **)0xffff0ffc); This is fine to make the vector page readable from user space since it contains nothing that could compromize security and doesn't require an extra memory page to be allocated. On SMP (which should be ARMv6 and above only) the special reg for TLS will be available. Since ARMv6 binaries are most likely to use strex/ldrex insns instead of swp to implement user space atomic primitives, those ARMv6 binaries won't execute on pre ARMv6 processors anyway. So the abscence of a tls reg is a non issue for them already. Also on SMP targets, since the hivec page can't be relied upon to get the TLS value, we'll have the kernel emulate access to it through the data abort vector for backward compatibility with pre ARMv6 binaries. Otherwise, non SMP ARMv6 kernels will support both methods simultaneously. So the decision to use hivec or tlsreg could depend on whether given library is optimized for ARMv6+ or not. And since ARM SMP devices are still far from becoming mainstream we can safely go with the hivec (and hivec emulation on SMP) for the time being. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [ARM PATCH] 2443/1: enable iWMMXt on EABI binaries Patch from Nicolas Pitre It appears that the EF_ARM_SOFT_FLOAT is a reserved bit with the new ARM EABI. Since EABI is said to not support FPA (FPA emulation being the reason why we'd want to disable iWMMXt access) we now test for any EABI version as well to turn on iWMMXt access. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King SCSI: fix multiple HBA problem with transport classes All of the transport class patches contain a thinko in device matching (and, unfortunately, one I exhorted everyone not to make in the generic transport class comments): The match matches every container in the class instead of the specific container belonging to the HBA. This causes a oops when there are two or more HBAs in the system. Signed-off-by: James Bottomley Fix missed class_remove_file in attribute_container This moves attribute addition (and removal) to where it should have been in the first place, namely in the attribute_container class. Without this, the transport classes were leaving dangling attributes when the devices were removed. Signed-off-by: James Bottomley [PATCH] MAINTAINERS: add entry for qla2xxx driver. From: Andrew Vasquez Add entry for QLogic qla2xxx driver. Signed-off-by: Andrew Vasquez Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [PATCH] fix scsi cdrom problem I'm not sure what I was thinking in scsi_io_completion(). This small reversion fixes my k3b problem; tested with a USB external burner. Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley [SPARC64]: __atomic_{add,sub}() must sign-extend return value. Even though we declare these functions as returning a 32-bit signed integer, the sparc64 ABI states that such functions must properly sign-extend the return value to the full 64-bits. Due to this bug, parts of mm/rmap.c were misbehaving when compiled with gcc-3.4 on sparc64. gcc-3.4 was legally using a 64-bit comparison against zero with the return value of __atomic_add(). I would like to thank Hugh Daniels and others for helping to track down this peculiar bug. Signed-off-by: David S. Miller [ARM PATCH] 2445/1: Add OMAP serial registers Patch from Tony Lindgren This patch adds the missing serial port registers to build a bootable OMAP configuration. Signed-off-by: Tony Lindgren Signed-off-by: Russell King [ARM PATCH] 2446/1: Add OMAP H2 defconfig Patch from Tony Lindgren This patch adds a defconfig for OMAP H2 board to build a bootable kernel. Signed-off-by: Tony Lindgren Signed-off-by: Russell King [ARM PATCH] 2444/1: GPIO23_SCLK_md now in uppercase in pxa-regs.h Patch from Michael Opdenacker "GPIO23_SCLK_md" renamed to "GPIO23_SCLK_MD" (uppercase) in include/asm-arm/arch-pxa/pxa-regs.h. Done for consistency with all other GPIO_*_MD settings. No other file impacted in mainstream kernel sources. Reported by Nicolas Pouillon. Signed-off-by: Michael Opdenacker Signed-off-by: Russell King [ARM PATCH] 2447/1: IOP3xx PCI resource setup cleanup Patch from Dave Jiang This cleans up the PCI mem and I/O resources assignments for all IOP platforms. All addresses should be cleanly defined and correctly assigned now. Signed-off-by: Dave Jiang Signed-off-by: Russell King [PATCH] Remove unnecessary ";" in schedstat_ macros With Joe Perches Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] alpha: nodemask build fix nodemask.h wants find_next_zero_bit() to take a const address. Fix that up and modify find_next_bit() to suit. (These functions seem too big to be inlined...) Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] alpha: pgd_index() warning fix mm/memory.c: In function `clear_page_range': mm/memory.c:185: warning: suggest parentheses around + or - inside shift Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] 8250_pnp: 64bit warning fix drivers/serial/8250_pnp.c: In function `serial_pnp_probe': drivers/serial/8250_pnp.c:424: warning: cast to pointer from integer of different size drivers/serial/8250_pnp.c: In function `serial_pnp_remove': drivers/serial/8250_pnp.c:431: warning: cast from pointer to integer of different size Cc: Russell King Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ftape syntax error 2.6.11-rc2-bk5 introduces two syntax errors under drivers/char/ftape. The following patch replaces ");" at the end of two printks which were accidentally removed. Signed-off-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] kobject build fix include/linux/kobject.h: In function `to_kset': include/linux/kobject.h:116: warning: implicit declaration of function `container_of' Signed-off-by: Manish Lachwani Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] crypto: fix test vectors Looks like a cleanup broke the test vectors: http://linux.bkbits.net:8080/linux-2.5/gnupatch@41ad5cd9EXGuUhmmotTFBIZdIkTm0A Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ptrace: last_siginfo also needs tasklist_lock Looks like we fixed only part of the problem earlier. When the child moves away from ptrace notify and resets the last_siginfo, sighand lock helps. But if the child goes further in exit and releases the sighand, we need to test that case too. See ptrace_check_attach() and exit_sighand(). They also use the tasklist_lock. Followed Roland's suggestions on lock primitive and struct assignment. Signed-Off-by: Prasanna Meda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] random: overflow fix Zwane reports an oops duie to add_entropy_words running off the top of the stack reading its input. The overrun is harmless until it causes a page fault. Looks like I introduced this bug in Aug 2003, but it was hard to trigger until the recent changes. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext2 quota leak fix Fix a subtle bug in error handling of ext2 xattrs. When ext2_sync_inode() fails because of ENOSPC (it could not write inode's dirty data) we want to keep xattrs in a consistent state and release the old block properly. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] irq_affinity: fix build when CONFIG_PROC_FS=n Need 'irq_affinity' array when CONFIG_PROC_FS=n. With CONFIG_PROC_FS=n, the irq_affinity[NR_IRQS] array is not available in arch/i386/kernel code: arch/i386/kernel/built-in.o(.text+0x10037): In function `do_irq_balance': : undefined reference to `irq_affinity' arch/i386/kernel/built-in.o(.text+0x101a9): In function `do_irq_balance': : undefined reference to `irq_affinity' Signed-off-by: Randy Dunlap Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix audit skb leak on congested netlink socket When auditd is congested the kernel's audit system leaks skb's. First, it takes them off the audit_buffer sklist at which point they are lost, second, it allocates a new skb with 0 length payload. Then (likely still congested), it repeats this losing the new skb. Plug the leak by making sure to requeue the skb, and avoid audit_log_move() on 0 len audit_buffer. Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] some minor cleanups for audit_log_lost() messages Some minor cleanups for audit_log_lost() messages. Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] wait_for_completion API extension addition fixes Fix up signal_pending and timeout paths for wait_for_completion API extensions. Signed-off-by: Mike Waychison Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] rest_init() local irq fix It's not necessary to keep IRQs disabled after the BKL has been dropped. In fact i think IRQ-disabling doesnt have to be done at all, the patch below ought to solve this scenario equally well, and should solve the PPC side-effects too. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: back out idle patch for non-powersaving CPU's Back out previous patch to ppc idle that handled CPU's that did not have powersavings. Ingo's fixes to cpu_rest, cause this fix to no longer be needed. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: (Updated) Pegasos support Here's an updated version of the pegasos support patch for ppc32, fixing a typo in the previous one. Driver patches to come soon. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] i810_audio comment fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix BUG in io_destroy With Suparna Bhattacharya I was running a random system call generator against mainline the other day and got this bug report about AIO in dmesg: kernel BUG at fs/aio.c:1249! Each ioctx structure has a "users" field that acts as a reference counter for the ioctx, and a "dead" flag that seems to indicate that the ioctx isn't associated with any particular list of IO requests. The problem, then, lies in aio.c:1247. The io_destroy function checks the (old) value of the dead flag--if it's false (i.e. the ioctx is alive), then the function calls put_ioctx to decrease the reference count on the assumption that the ioctx is no longer associated with any requests. Later, it calls put_ioctx again, on the assumption that someone called lookup_ioctx to perform some operation at some point. This BUG is caused by the reference counts being off. The testcase that I provided looks for a chunk of user memory that's read-only and passes that to the sys_io_setup syscall. sys_io_setup checks that the pointer is readable, creates the ioctx and then tries to write the ioctx handle back to userland. This is where the problems start to surface. Since the pointer points to a non-writable region of memory, the write fails. The syscall handler then destroys the ioctx. The dead flag is zero, so io_destroy calls put_ioctx...but wait! Nobody ever put the ioctx into a request list. The ioctx is alive but not in a list, yet the io_destroy code assumes that being alive implies being in a request list somewhere. Hence, calling put_ioctx is bogus; the reference count becomes 0, and the ioctx is freed. Worse yet, put_ioctx is called again (on a freed pointer!) to clear up the lookup_ioctx that never happened. put_ioctx sees that the reference count has become negative and BUGs. Suparna's patch simply takes that additional ref so that io_destroy() will dtrt. Signed-off-by: Darrick Wong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Disable Sidewinder debug messages Signed-off-by: Michael Marineau Cc: Vojtech Pavlik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mm: oom-killer tunable With This is protect-pids, a patch to allow the admin to tune the oom killer. The tweak is inherited between parent and child so it's easy to write a wrapper for complex apps. I made used_math a char at the light of later patches. Current patch breaks alpha, but future patches will fix it. Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mm: rework lower-zone protection initialisation - Rename various fields related to the lower-zone protection code to sync up with 2.4. - Remove the automatic determination of the values of the per-zone protection levels from a single tunable. Replace this with a simple per-zone sysctl. Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mm: fix several oom killer bugs Fix several oom killer bugs, most important avoid spurious oom kills badness algorithm tweaked by Thomas Gleixner to deal with fork bombs This is the core of the oom-killer fixes I developed partly taking the idea from Thomas's patches of getting feedback from the exit path, plus I moved the oom killer into page_alloc.c as it should to be able to check the watermarks before killing more stuff. This also tweaks the badness to take thread bombs more into account (that change to badness is from Thomas, from my part I'd rather rewrite badness from scratch instead, but that's an orthgonal issue ;). With this applied the oom killer is very sane, no more 5 sec waits and suprious oom kills. Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mm: convert memdie to an atomic thread bitflag This makes memdie a TIF_MEMDIE. memdie will not be modified by the current task, so it cannot be a PF_MEMDIE but it must be a TIF_MEMDIE. Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] make used_math SMP-safe Convert the unsafe signed (16bit) used_math to a safe and optimal PF_USED_MATH I might have broken arm, see the very first change in the patch to asm-offsets.c, rest looks ok at first glance. If you want used_math to return 0 or 1 (instead of 0 or PF_USED_MATH), just s/!!// in the below patch and place !! in sched.h::*used_math() accordingly after applying the patch, it should work just fine. Using !! only when necessary as the below is optimal. From: Yoichi Yuasa This patch had fixed restore_sigcontext/restore_sigcontext32 about MIPS. Signed-off-by: Yoichi Yuasa Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] alloc_zeroed_user_highpage() to fix the clear_user_highpage issue This patch adds a new function alloc_zeroed_user_highpage that is then used in the anonymous page fault handler and in the COW code to allocate zeroed pages. The function can be defined per arch to setup special processing for user pages by defining __HAVE_ARCH_ALLOC_ZEROED_USER_PAGE. For arches that do not need to do special things for user pages, alloc_zeroed_user_highpage is defined to simply do alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO, vma, vaddr) This patch needs to update a number of archs. Wish there was a better way to do this. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Make slab use alloc_pages directly __get_free_pages() calls alloc_pages, finds the page_address() and throws away the struct page *. Slab then calls virt_to_page to get it back again. Much more efficient for slab to call alloc_pages itself, as well as making the NUMA and non-NUMA cases more similarr to each other. Signed-off-by: Matthew Wilcox Signed-off-by: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: mv64x60 updates This patch briges the mv64x60 related code up to the latest that I have. It: - adds MPSC support to some ppc bootwrapper files - adds an erratum workaround for the mv64460 - changes some platform_data related structure names - cleans up a bunch of whitespace Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: pmac sleep support update This patch updates the PowerMac sleep support. The ability to sleep is now broken into 2 different flags, one, "may sleep" is set for all motherboards that we know how to put to sleep and wakeup. It gets turned into "can sleep" upon a call from the video driver indicating the ability to wakeup the video card. This doesn't deal with head-less machines, but this can be improved later. It also adds better cache flush code, which improves stability with cpufreq as well as sleep. This patch actually breaks sleep support until the video drivers for the affected machines have been updated. This will come as separate patches. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: katana update This patch updates support for the katana 750i, 752i, and 3750. It: - supports more bus frequencies - uses platform_notify hook to update platform_data entries - does some misc cleanup Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: ev64260 update This patch updates the support for the ev64260 eval platform from Marvell. It: - uses the platform_notify hook to update platform_data - fixes a bug where a window to a device is disabled instead of enabled - does some misc fixups Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: cpci690 update This patch updates the cpci690 platform file. The platform file now uses the platform_notify hook to update platform_data. Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: perfctl-ppc: fix duplicate mmcr0 define Fix a compilation warning due to a duplicate definition of MMCR0_PMXE. The definition comes in perfctr-ppc.patch, but was recently introduced too in Linus tree. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: STx GP3 port Adds support for the STx GP3 board with an MPC8560. Thanks to Dan Malek for the original 2.4 port. Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fix via IDE driver for pegasos The Pegasos machines have the VIA IDE controller configured in a strange way by the firmware. It claims to be fully native, but is actually routed to legacy irqs 14 and 15. This patch works around that in the driver. In the future, I'll try to do an ifdef-less patch by detecting that setup from the chip, and using the new pci_get_legacy_ide_irq() in that case, but I don't have proper HW infos. This patch is good enough in the meantime, I'll come up with a better one later eventually. Signed-off-by: Benjamin Herrenschmidt Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: oprofile timer-mode fallback fix This is oprofile timer-mode fallback fix for ppc. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: workaround for mpc10x speculative PCI read erratum 824x and 107 bridges from Freescale/Tundra have an erratum where speculative PCI reads may return stale data. One of the two documented workarounds is to turn of speculative PCI reads. This patch does that. Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: add platform specific machine check output handlers Patch adds generic way for platform port to extend MachineCheckException print-out and adds 44x bus error registers output. It also removes 40x #ifdefs from show_regs and makes 40x use this new platform extension. Signed-off-by: Eugene Surovegin Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: use platform device style initialization for 85xx serial8250 ports Converts the initialization of serial8250 ports on various 85xx parts from using the old ISA style to a platform device. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add Eugene Surovegin to CREDITS Eugene has been contributing kernel code for PPC4xx and embedded stuff in general for some time. Please apply this CREDITS entry for him. Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: MPC8245 erratum 28 workaround The 8241/8245 have an erratum where PCI reads from local memory may return stale data. One of the two workarounds is to set PICR2[0]. This patch does that. Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: mask lower bits in tlbie We werent masking the lower bits of the VA in a tlbie(l) instruction. While most CPUs ignore this we should play it safe and follow the spec. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iSeries buildbreak fix Looks like a build break on iSeries after the xmon-dabr patch: arch/ppc64/xmon/xmon.c:632: undefined reference to `.plpar_hcall_norets' Since iSeries cannot use xmon, a simple fix is to turn it off. Signed-off-by: Jake Moilanen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: p615 IOMMU fix pSeries p615 happens to have a bus hierarchy where the IDE controller for the built-in CD is connected directly to the PHB without an intermediate EADS bridge. The new iommu/bus setup code assumed that all systems with EADS will have all devices under them, so this resulted in the IDE controller not having an iommu table allocated. To avoid this, always allocate a small table at the PHB level. It will never be used for regular devices, and it's allocated out of the 256MB that we previously skipped. Signed-off-by: Olof Johansson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: generic MIPS updates Update the generic MIPS code. Highlights are oprofile for MIPS, initially for the PMC-Sierra RM9000. We're also taking a significantly more aggressive approach to the TLB exception handlers which now are runtime generated and provide an upto 20% speedup on certain micro benchmarks. From: Yoichi Yuasa This patch had fixed restore_sigcontext about MIPS. Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: IRIX 5 compat fixes Start to resurrect the IRIX 5 binary compatibility code. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: build script fixes Ignore a few MIPS specific sections that otherwise would cause a large number of false warnings in the kernel's scripts. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: sibyte updates o Updates for the Sibyte Swarm aka BCM91250 eval board. Mostly trivial changes except the sound driver. o Add the PCI IDS for the HT interface and the HT-to-PCI bridge used on the Swarm and relatives. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: RM200 updates Minor RM200 updates. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: SGI IP27 updates o Fix what got broken by 2.6.11-rc1 o Support for KGDB o Misc minor fixes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: DVH fixes o Make CONFIG_SGI_PARTITION the default for those systems where firmware or host OS require it. o Check earlier for DVH aka SGI partitions to avoid confusing them with an MSDOS partition. o Detect RAID partitions on IRIX volumes. Caveat: this uses one of the officially unused partition types which are not recogniced by the IRIX or RISC/os tools. Doesn't seem to matter but should be mentioned for completeness. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: TX49 updates o Handle big and little endian configurations in PCI code o Get rid of superfluous bug checks o The usual cleanups of spinlock definitions Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: TXX9 serieal driver rewrite Replace the old drivers/char/ serial driver for the Toshiba TX series of SOCs with a modern style drivers/serial/ one. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: aMD Alchemy update Update for the AMD Alchemy SOCs, platforms based on those and drivers specific to the SOC and platforms. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: ITE 8172 updates Minor updates for the ITE 8172 evaluation board, mostly to keep the bitrotting code somewhat in touch with the rest of the universe. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: AMD Alchemy I2C driver Add I2C drivers for the AMD Alchemy SOCs. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: SGI IP32 updates SGI IP32 aka O2 Updates: o Handle all possibly memory configurations o Fix PS/2 handling o Sysfs magic for IP32's GBE frame buffer driver. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: DECstation updates Update DECstation code. This still isn't usable but updates the code from rotten to less rotten and most importantly eleminates the diff between kernel.org and linux-mips.org tree to easy future work. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: DECstation Turbochannel updates Update Turbochannel code. Right now the code is basically still at the state of 2.3; with this patch applied it'll roughly on the level of the TC code in early 2.4 with a bunch of 2.6 fixes on top. Not great but will bring the code closer into touch with reality until Maciej has a chance to finally tackle things. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: jazz updates Get the Jazz platform back to build and mostly working. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: mIPS Technologies board updates Update the code for the three MIPS Technologies evaluation platforms. Untangle the support for the three platforms, keep up with changes elsewhere in the kernel and getting Atlas back to work even with the most esotheric configurations. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: cobalt updates o Cobalt boxes have a i8159 in their Galileo GT-64011 system controller o Update defconfig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: vR41xx updates Update support for the bazillion of variants of NEC VR41xx devices, including on-SOC device drivers. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: VR4181 updates o Cleanup lock definitions o Fix config.h use o Update defconfig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: NEC DDB board updates Update the code for the NEC DDB family. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: TX39 series updates o Delobotomize JMR 3927 interrupt code o Remove last remaining bits of code for the Philips Nino Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: galileo updates Minor updates for the evaluation boards made by Galileo Technologies. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: PMC-Sierra updates SMP support for the PMC-Sierra Yosemite evaluation board. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: Momentum updates Updates kernel and CPU configuration Momentum systems. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: Lasat updates Minor update to the code for the Lasat, a Cobalt-like server. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: fix SERIAL_TXX9 dependencies Ask for SERIAL_TXX9 only on those devices that actually have one. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: iomap This patch adds iomap functions to MIPS system. Some MIPS systems are unable to define PIO space by PIO_MASK/PIO_RESERVED. This is the reason that I didn't use the general iomap implementation. Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Bug in tty_io.c after changes between 2.6.9-rc1-bk1 and 2.6.9-rc1-bk2 Fix http://bugzilla.kernel.org/show_bug.cgi?id=3736 Finally located that a problem seems to be a simple typo. Acked-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Devices.txt, update with LANANA Attached is diff for bringing devices.txt uptodate with lanana. Please note: The devices.txt file in your tree will now be for 2.6+ kernels only. 2.6 specific allocations will now be given out more freely, and some of the stuff marked for obsolete for 2.6 has been removed. I put a note in the file to let people know its for 2.6+ kernels only. I wanted to rename the new file to devices-2.6+.txt and then make a link from the old devices.txt to this new file, but diffing it became too ugly. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] cputime: simplifiy generic cputime_to_secs/secs_to_cputime The cputime_to_secs and secs_to_cputime primitives in include/asm-generic/cputime.h can be simplified since the default cputime implementation assumes that cputime is measured in jiffies. The intermediate conversion to milliseconds is superflous. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mpsc updates This patch: - replaces several macros with the actual code - change the type of pointer variables from u32 to void * - removes unecessary casts - puts the contents of mpsc_defs.h into mpsc.h and removes the mpsc_defs.h - reflects the new names of some structs - cleans up some whitespace Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport register_cpu and unregister_cpu We introduced exports for register_cpu and unregister_cpu right after 2.6.10. As far as I can tell these are not called from any code which can be built as a module, and I can't think of a good reason why any out of tree code would use them. Signed-off-by: Nathan Lynch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add a usecs_to_jiffies() function Add a usecs_to_jiffies() function. This will be used in one of my subsequent patches. With the potential for dynamic HZ values much higher than 1000, we may need to consider times as small as usecs in terms of jiffies. We have msecs_to_jiffies(), jiffies_to_msecs() and jiffies_to_usecs(), but no usecs_to_jiffies(). Signed-off-by: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] initramfs: move inode hash table to __initdata No need to waste 128B of kmem. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] idmouse min() fix This got caught by gcc on 64bit boxen - IMGSIZE is size_t and that means range not covered by that of signed 64bit, so we get an unsigned type for IMGSIZE-*ppos. On 32bit boxen IMGSIZE-*ppos ends up being loff_t, so the warning gets silenced. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] assert_spin_locked() Consolidate the various private implementations of this into a kernel-wide implementation. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] infiniband: use LANANA-assigned major in ib_umad Update the ib_umad module to use major 231 instead of a dynamic major, as assigned in the LANANA Linux 2.6+ Device List (http://lanana.org/docs/device-list/devices-2.6+.txt). Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] audit: handle loginuid through proc The audit subsystem uses netlink messages to request loginuid changes. Due to the sensitivity of loginuid, netlink appears to be insufficient. For instance, it is not easy to guarantee that the loginuid message will be handled before any other auditable actions, and there is even the remote possibility of the process terminating and another process with the same pid being created before the message is handled. Finally, other kernel code, in particular selinux, is interested in easily querying the loginuid for inclusion in its own messages. The following patch moves loginuid handling from netlink to the /proc/$$/loginuid file, and adds a audit_get_loginuid() function. It also includes Stephen Smalley's patch to correctly inherit the loginuid on fork. It has been actively discussed on the linux-audit mailing list. Signed-off-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] OProfile: Use profile_pc in oprofile_add_sample We should be using profile_pc in oprofile_add_sample so that lock contention is attibuted to the correct function in profile output. Also fix SH7750 support. Signed-off-by: Zwane Mwaikambo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] OProfile: Support model 4 P4 The following processor was marked as unsupported, there are no documented changes in the performance counter interface for this processor. Hardware courtesy of Intel Corporation processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Genuine Intel(R) CPU 3.60GHz stepping : 1 cpu MHz : 3600.761 cache size : 1024 KB physical id : 0 siblings : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl tm2 cid cx16 xtpr bogomips : 7110.65 CPU: P4 / Xeon with 2 hyper-threads, speed 3601.79 MHz (estimated) Counted GLOBAL_POWER_EVENTS events (time during which processor is not stopped) with a unit mask of 0x01 (count cycles when processor is active) count 10000 Signed-off-by: Zwane Mwaikambo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] udf deadlock fix Yes, me too. generic_shutdown_super() takes lock_super(). And udf uses lock_super for protecting its block allocation data strutures. Trivial deadlock on unmount. Below is a fix to switch udf to it's own private locking. It's safe because it doesn't intefere with VFS lock_super usage anywhere. udf_free_inode has some more updates than simply switching the used lock: - clear_inode() call moved outside locked section to avoid another deadlock - unused variable ino killed - is_directory moved into the conditional it's actually used in Signed-off-by: Christoph Hellwig (note that I see memory corruption in UDF_I_DATA(inode), but I've reproduced that with a kernel without all recent udf changes. I'll debug that one further) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] dvb: follow USB __le16 changes - dibusb: follow USB changes (idVendor, idProduct, bcdDevice and bcdUSB fields are now __le16) Signed-off-by: Johannes Stezenbach Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] dvb: fix access to freed memory - core: fix access to freed memory when unloading frontend drivers (fix by Gerd Knorr) Signed-off-by: Johannes Stezenbach Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] dvb: support up to six DVB cards - core: add support for up to six DVB cards by using 32bit dev_t capabilities Signed-off-by: Johannes Stezenbach Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] dvb: cleanup firmware loading printks - frontends: sp887x: improve confusing firmware loading messages Signed-off-by: Johannes Stezenbach Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: fix preemption race (Core/i386) The idle-thread-preemption-fix.patch introduced a race, which is not critical, but might give us an extra turn through the scheduler. When interrupts are reenabled in entry.c and an interrupt occures before we reach the add_preempt_schedule() in preempt_schedule we get rescheduled again in the return from interrupt path. The patch prevents this by leaving interrupts disabled and calling a a seperate function preempt_schedule_irq(). This split adds different plausibility checks for irq context calls and kernel calls. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: make use of preempt_schedule_irq() (PPC) Make use of the new preempt_schedule_irq function. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: make use of preempt_schedule_irq (ARM) Make use of the new preempt_schedule_irq function. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fix return code of edid_checksum edid_checksum always return success (1) although it can fail. Fix. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] backlight: Add backlight driver for Sharp Corgi PDAs Add a backlight driver for the Sharp Corgi PDAs (SL-C7xx series) using the backlight class. Signed-off-by: Richard Purdie Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext2-quota-leak-fix fix Jan points out that this should have been -ENOSPC. Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds input: Fix HID LED mapping. LEDs were ignored because the usage value contains the page code in high 16 bits. Signed-off-by: Vojtech Pavlik [PATCH] openpromfs property_read() fix openpromfs property_read() is slightly abused by property_write() - the latter calls property_read(file, NULL, 0, NULL) if we still hadn't done any IO on that file; property_read() will do setup work and, since it's called with count equal to 0, do nothing else. That stopped working - now we check if *ppos is sane before doing anything else and that, of course, oopses. Trivial fix is to move the check past that for count == 0... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] missing include in fore200e.c We need delay.h there - on a lot of platforms it doesn't get pulled indirectly and since we use udelay() now... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] isp16 missing initcalls * isp16_init() should be an initcall in non-modular case - it's not called directly anymore (not since 2.5.1-pre2). * isp16_init() and isp16_exit() made static, while we are at it. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] wrong include in tda80xx.c should include asm/irq.h, not linux/irq.h (the latter should be moved to asm-generic, IMO - we are getting *way* too many bugs of that sort). As it is, tda80xx breaks on some platforms (at least on ARM). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] matrox_fb trivial compile fix for pmac module_param() used when module_param_named() should've been. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] rme9562 big-endian compile fix (dumb typo) hdsp->data used when fw->data should've been (BTW, another branch of that ifdef is memcpy from fw->data to ->firmware_cache; this one byteswaps). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] *really* dumb typo in aacraid (cast to pointer to structure that doesn't exist ;-) spot the typo... It's harmless, in a sense that code compiles right, but... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] block2mtd 64bit bug Passing pointer to size_t to function that expects u32 * and actually stores a value there... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] missing include in r8169 Missing include, breaks e.g. sparc64 Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] cs461x iomem fixes and annotations Annotated, fixed dereferncing iomem pointers (see note in driver re testing it got) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] 64bit fixes (printks) the usual %d -> %zu for size_t Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] icom iomem annotations and NULL noise removals Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] pktgen __user annotations trivial __user annotations + C99 initializer in one struct... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] missing declaration in firmware.h Not all users of firmware.h care about struct device (or include device.h, for that matter). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] more missing const in bitops prototypes Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] uaccess.h annotations the usual - __iomem in definition of __mm() on several platforms that haven't got it by now, s/long/unsigned long/ for __gu_val in get_user(), __force on places where we pass pointers to low-level __user-agnostic primitive (__copy_tofrom_user() and its ilk). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] missing export (_tlbie()) on some ppc subarchitectures flush_tlb_page() et.al. are inlines implemented via _tlbie(), so it should share the status... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] shpchprm_legacy.c trivial iomem annotations trivial iomem annotations + missing void in several declarations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] long constants on amd64 missing UL in several places (and no, none of these constants is ever seen by as(1)) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] misc mtd sparse fixes * jedec - switched to C99 initializers * sun_uflash - removed bogus cast to void * in argument of iounmap() + NULL noise removal. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] utter weirdness in drivers/media/dvb/frontends/cx22700.c OK, #/* */ is legitimate C, but WTF had these guys been smoking? Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] av7110_hw.c __user annotation Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] amd64 compat annotations * new helper - ptr_to_compat(); inverse to compat_ptr(), with proper typechecking. A lot of open-coded equivalents replaced with using that one. * a couple of severely misguiding places got back to sanity - we had basically put_user((long)p, &foo->compat_uptr_t_field); That will, of course, cast (long)p further - to u32, but that fact is carefully obfuscated... Sanitized by replacing (long)p in such places with ptr_to_compat(p); fortunately, there hadn't been many of those... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] sparc64 compat annotations same story as for amd64 - ptr_to_compat() + normal __user annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] several isdn trivial iomem annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] a couple of trivial sound/pci iomem annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] missing () in macros (alpha pgtable.h) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] ppc64 iseries: can't remove viocd module when no cdroms This fixes a bug where attempting to remove the viocd module when no virtual cdroms where actually present would cause an oops. The driver was not completing its initialisation in this case. Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds [PATCH] arch/i386/kernel/apic.c Kill a sparse warning This replaces a K&R-style function definition with its ANSI counterpart. [PATCH] A BTFIXUP'd fix for pte_read() This adds BTFIXUPs needed for sparc32. Signed-off-by: Tom 'spot' Callaway Acked-by: William Irwin Signed-off-by: Linus Torvalds [PATCH] Fix sign checks in copy_from_read_buf() Fix signedness and remove the now unnecessary cast. Acked-by: Marcelo Tosatti Signed-off-by: Linus Torvalds [PATCH] Fix signed compare in fs/proc/generic.c::proc_file_read() Acked-by: Marcelo Tosatti Signed-off-by: Linus Torvalds [PATCH] reiserfs: use proper 64-bit clean types reiserfs_file_write() casts its (size_t) count parameter to int, which can become a problem on 64-bit architectures This attempts to fix this by changing the variables dealing with count and offset and the "min_t" comparisons to use "size_t" through-out. Acked-by: Marcelo Tosatti Signed-off-by: Linus Torvalds [PATCH] Eicon driver: add missing uaccess This patch adds asm/uaccess.h to files which uses copy_to/from_user() and adds the use of the drivers internal API call to copy_to/from_user() in platform independent code. Signed-off-by: Armin Schindler Signed-off-by: Linus Torvalds [PATCH] Eicon driver: vfree() Removed check for NULL pointer before doing vfree(), it's done in vfree(). Signed-off-by: Armin Schindler Signed-off-by: Linus Torvalds [PATCH] Eicon driver: remove unused code Remove code from platform independent code, which is not used in Linux. Signed-off-by: Armin Schindler Signed-off-by: Linus Torvalds Linux 2.6.11-rc3