Summary of changes from v2.6.12-rc1 to v2.6.12-rc2 ================================================== Description: Use wait_event_interruptible() instead of the deprecated interruptible_sleep_on(). The first change is simply to clean up the code a little to make it clearer. The second actually does a replacement, mimicking exactly the first. I removed the #if 1/#else/endif logic, as it duplicated the same code. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Jody McIntyre Change the initialization message for eth1394 to KERN_INFO, requested by Steffen Zieger Signed-off-by: Jody McIntyre apply patch from Nishanth Aravamudan to use sleep_interruptible for clarity and prevent early return on wait_queue events. Signed-off-by: Jody McIntyre sbp2: add precautionary log notice to new exit branch from last patch Signed-off-by: Stefan Richter Signed-off-by: Jody McIntyre This should fix u32 vs. pm_message_t confusion in firewire. No code changes. Please apply, Pavel Signed-off-by: Pavel Machek Signed-off-by: Jody McIntyre [ACPI] Add ACPI-based memory hot plug driver. The ACPI based memory hot plug driver patch supports physical hotplug operations on memory. This driver fields notifications for memory add and remove operations from firmware and notifies the VM of the affected memory ranges. Accordingly, this driver also maintains and updates the states of all the memory ranges. This driver is useful on hardware which helps firmware generating ACPI events for every physical hotplug operation of memory boards on the system during runtime. Signed-off-by: Dave Hansen Signed-off-by: Naveen B S Signed-off-by: Matt Tolentino Signed-off-by: Len Brown Move hpsb_unregister_protocol, which fixes a hang on rmmod experienced by Parag Warudkar Signed-off-by: Jody McIntyre [IA64] fix IOSAPIC destinations when CONFIG_SMP=n Always use cpu_physical_id() (which is really the ID/EID of a processor's Local SAPIC) when programming IOSAPIC entries. Previously we sometimes used hard_smp_processor_id(), which is correct when CONFIG_SMP=y but wrong otherwise. Signed-off-by: Bjorn Helgaas Signed-off-by: Tony Luck ohci1394.c allocates the legacy IR DMA Context on demand. This happens in IRQ path resulting in call to dma_pool_create from within interrupt. Same is true for de-allocation of the IR DMA Context - it happens again in IRQ path resulting in call to dma_pool_destroy. After attempting to fix the above by using schedule_work for delayed allocation and de-allocation, it was determined that it should be fixed simply by moving the allocation to the drivers probe() function and de-allocation to remove() function. This way it reduces the complexity and does not result into any significant wastage of resources. This patch also fixes duplicate pci pool names and removes spaces from the names to make it easier for parsing by scripts. Thanks go to Dave Brownell for greatly simplifying this. Signed-off-by: Parag Warudkar Signed-off-by: Jody McIntyre [ACPI] ACPICA 20050228 from Bob Moore Fixed a problem where the result of an Index() operator (an object reference) must increment the reference count on the target object for the life of the object reference. Implemented AML Interpreter and Debugger support for the new ACPI 3.0 Extended Address (IO, Memory, Space), QwordSpace, DwordSpace, and WordSpace resource descriptors. Implemented support in the _OSI method for the ACPI 3.0 "Extended Address Space Descriptor" string, indicating interpreter support for the descriptors above. Implemented header support for the new ACPI 3.0 FADT flag bits. Implemented header support for the new ACPI 3.0 PCI Express bits for the PM1 status/enable registers. Updated header support for the MADT processor local Apic struct and MADT platform interrupt source struct for new ACPI 3.0 fields. Implemented header support for the SRAT and SLIT ACPI tables. Signed-off-by: Len Brown [ACPI] CONFIG_ACPI_NUMA build fix Signed-off-by: Andrew Morton Signed-off-by: Len Brown [ACPI] enhance fan output in error path Currently, fan.c ignores errors from acpi_bus_get_power. On compaq evo notebook that leads to very confusing empty output. From: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Len Brown [ACPI] flush TLB in init_low_mappings() From: Li Shaohua Signed-off-by: Andrew Morton Signed-off-by: Len Brown [ACPI] fix kobject_hotplug() use by ACPI processor and container drivers A while ago, the drivers used their own function 'processor_run_sbin_hotplug() and container_run_sbin_hotplug()' to notify the agent script using /sbin/hotplug mechanism. But, they were changed to use kobject_hotplug() instead and this has caused a side effect. The container driver was supposed to invoke a container.agent (user mode agent script) using /sbin/hotplug mechanism, but after the changes, it is not able to call the agent any more and kobject_hotplug() in the container.c became to invoke a namespace.agent instead if exists. So, I would like to use the namespace.agent to handle container hotplug event (or something else) and let the agent to call proper agent (e.g. container.agent). But, there is an issue we need to solve. When the namespace.agent is called, a path name of associated kobject is passed as a DEVPATH (e.g./sys/firmware/ acpi/namespace/ACPI/_SB/DEV0). However, the agent would not know what device is associated with the DEVPATH nor which agents to call since the DEVPATH name depends on platform. The attached patch is to add .hotplug_ops member to acpi_namespace_kset structure and let it to set a driver name attached to the target kobject into the envp[] variable as a DRV_NAME element. With this, the namespace.agent can call proper agents (e.g. container.agent) by refering the DRV_NAME. Signed-off-by: Keiichiro Tokunaga Signed-off-by: Andrew Morton Signed-off-by: Len Brown [ACPI] fix ACPI container driver's notify handler. Previously, the handler tried to make a container device be offline if an ACPI_NOTIFY_BUS/DEVICE_CHECK notification is performed on the device was present and has its acpi_device. But, the condition is weird. Whenever the notification is performed, there should be only the following two conditions: 1. the device is present, but does not have its acpi_device. 2. the device is not present, but has its acpi_device. #1 is a hot-addition case, which was handled properly also in previous handler. #2 is a surprising hot-removal case, which was not handled in previous handler. Signed-off-by: Keiichiro Tokunaga Signed-off-by: Andrew Morton Signed-off-by: Len Brown [ACPI] fix sysfs "eject" file This fixes a if-statement in setup_sys_fs_device_files(). It seems to assume that 'struct acpi_device_flags.ejectable' indicates whether a device has _EJ0 or not. But this is not a right assumption. It indicates whether a device has _EJ0|_EJD (See acpi_bus_get_flags() function). setup_sys_fs_device_files() creates 'eject' file for devices that have _EJ0 control method under a corresponding directory in /sys/firmware/acpi/namespace/ACPI/. 'eject' file is used to trigger hot-removal function from userland. Signed-off-by: Keiichiro Tokunaga Signed-off-by: Andrew Morton Signed-off-by: Len Brown [ACPI] ACPICA 20050303 from Bob Moore for AE_AML_BUFFER_LIMIT issue. It turns out that tightening up the interpreter to truncate buffers per the ACPI spec was a bad idea -- BIOS' in the field depended on old behaviour. Instead, we'll endeavor to update the ACPI spec to reflect industry practice in this area. http://bugme.osdl.org/show_bug.cgi?id=4263 Signed-off-by: Len Brown [ACPI] fix [ACPI_MTX_Hardware] AE_TIME warning which resulted from enabling the wake-on-RTC feature http://bugme.osdl.org/show_bug.cgi?id=3967 Signed-off-by: David Shaohua Li Signed-off-by: Len Brown [ARM] Use select for some hidden ARM configuration symbols Convert ARCH_ACORN, TIMER_ACORN, ICST525, ICST307 and ARM_AMBA to be controlled via "select" rather than "default y" and "depends on" Signed-off-by: Russell King [ARM] Use select for DMABOUNCE, SA1111, SHARP_LOCOMO and SHARP_SCOOP Signed-off-by: Russell King [ARM] Move "common" Kconfig symbols to arch/arm/common/Kconfig Move ICST525, ICST307, SA1111, DMABOUNCE, TIMER_ACORN, SHARP_LOCOMO and SHARP_SCOOP to arch/arm/common/Kconfig [ARM] Group bus support options together under own menu Signed-off-by: Russell King [ARM] Group kernel features together under their own menu Signed-off-by: Russell King [ARM] Group device drivers together under their own menu Signed-off-by: Russell King [ARM] Group more options into their own separate menus Group boot options, floating point emulation, userspace binary formats, and power management into their own separate menus. [ARM] We're always CPU_32, so remove dependencies on this symbol Signed-off-by: Russell King [ARM] Simplify LEDs dependencies The LED dependencies were getting completely out of hand, and weren't obvious what was actually intended. Simplify them so that it's easlier to understand, and wrap overly long lines. Signed-off-by: Russell King [ARM] Remove depends on/default y from FIQ configuration Signed-off-by: Russell King [ARM] NR_CPUS: use range Patch from Adrian Bunk The patch below uses range for NR_CPUS on arm (the same is already done on all other architectures). Signed-off-by: Adrian Bunk Description: Use wait_event_interruptible() instead of the deprecated interruptible_sleep_on(). Add a helper function to make the condition for wait_event_interruptible() sane and lock-safe. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Jody McIntyre [ARM] Remove arch/arm/configs/a5k_defconfig A5000 is no longer supported by ARM, but by ARM26. Signed-off-by: Russell King [XFS] Don't dereference user pointers in xattr by handle ioctls SGI-PV: 930402 SGI-Modid: xfs-linux:xfs-kern:187995a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Stop passing ARCH_CONVERT/ARCH_NOCONVERT around everywhere SGI-PV: 928382 SGI-Modid: xfs-linux:xfs-kern:185644a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Remove INT_ZERO and INT_ISZERO SGI-PV: 928382 SGI-Modid: xfs-linux:xfs-kern:185768a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] pagebuf_lock_value is also needed for trace builds SGI-PV: 928101 SGI-Modid: xfs-linux:xfs-kern:185972a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] dmapi - Execution of an offline script or binary fails. If a user thread is trying to execute the file that is offline then the HSM won't get write access when it attempts invisible I/O to bring it online because the user thread has already denied write access...but that thread is waiting for us to write the file.... So add a callout from open_exec() to give DMAPI an early notice that the file must be online. SGI-PV: 929263 SGI-Modid: xfs-linux:xfs-kern:186543a Signed-off-by: Dean Roehrich Signed-off-by: Nathan Scott [XFS] Update copyright to 2005 SGI-PV: 929263 SGI-Modid: xfs-linux:xfs-kern:187126a Signed-off-by: Dean Roehrich Signed-off-by: Nathan Scott [XFS] Fix and streamline directory inode number handling SGI-PV: 930401 SGI-Modid: xfs-linux:xfs-kern:187996a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Revokes revision 1.37 of xfs_acl.c. It caused CAPP evaluation to break as it always requires exec permission for directories when the aim was really meant for non-dir executables. See pv#930290. SGI-PV: 930290 SGI-Modid: xfs-linux:xfs-kern:21668a Signed-off-by: Tim Shimmin Signed-off-by: Nathan Scott [XFS] Make XFS provide encoding and decoding callbacks from knfsd which encode the fileid portion of the NFS filehandle differently than the default functions. The new fileid formats allow filesystems mounted with "inode64" to be exported over NFSv3 (and NFSv2 if you also use the "no_subtree_check" export option). SGI-PV: 902621 SGI-Modid: xfs-linux:xfs-kern:21686a Signed-off-by: Greg Banks Signed-off-by: Nathan Scott [XFS] fix DMAPI & NOSPACE data corruption SGI-PV: 931297 SGI-Modid: xfs-linux:xfs-kern:188833a Signed-off-by: Dean Roehrich Signed-off-by: Nathan Scott Fix a partial conversion to unlocked_ioctl(). drivers/ieee1394/dv1394.c: In function `handle_dv1394_init': drivers/ieee1394/dv1394.c:2529: warning: comparison of distinct pointer types lacks a cast drivers/ieee1394/dv1394.c: In function `handle_dv1394_get_status': drivers/ieee1394/dv1394.c:2559: warning: comparison of distinct pointer types lacks a cast drivers/ieee1394/dv1394.c: In function `dv1394_compat_ioctl': drivers/ieee1394/dv1394.c:2593: warning: unused variable `err' Signed-off-by: Andrew Morton Signed-off-by: Dan Dennedy Signed-off-by: Jody McIntyre Fix end of line to match linux1394.org SVN and be <80 chars. Signed-off-by: Jody McIntyre Fix comment to match reality. Signed-off-by: Jody McIntyre convert from pci_module_init to pci_register_driver Signed-off-by: Christophe Lucas Signed-off-by: Domen Puncer Signed-off-by: Jody McIntyre [IA64] pci.c: PCI root busses need resources Using the generic setup-bus.c code currently fails on HP's Integrity servers because the root busses have their resources set to the whole of ioport space and the whole of iomem space, instead of just the ranges that are routed to that particular bus. This patch uses the resources in the pci_windows to provide the ranges to each PCI root bus. In order to do that, I had to change them from being bus addresses to system addresses. Signed-off-by: Matthew Wilcox Signed-off-by: Tony Luck [IA64-SGI] [PATCH 1/2] - New chipset support for SN platform - add new parameters to a platform-specific SAL call to retrieve addition chipset specific info. - change partition_coherence_id() so that it works on platforms using the new chipset. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [IA64-SGI] [PATCH 2/2] - New chipset support for SN platform - move a number of fields out of the SN pda & into per-cpu data. The pda is ugly & will be deleted. This is a first step. Additional patches will follow. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [IA64-SGI] Remove unused cpu_bte_if from pda_s Signed-off-by: Russ Anderson Signed-off-by: Tony Luck [IA64] fix bad emulation of unaligned semaphore opcodes The method used to categorize the load/store instructions in arch/ia64/kernel/unaligned.c is masking the entire set of instructions described in Table 4-33 of the 2002 Intel Itanium Volume 3: Instruction Set Reference. It's the set of instructions for opcode 4, mbit 0, x bit 1, described as Semaphore/Get FR/16-Byte Opcode Instructions. Because the IA64_OPCODE_SHIFT and IA64_OPCODE_MASK operations ignore the x bit, this set of instructions (including cmpxchg, xchg, and fetchadd among others) are processed like the corresponding opcode 4, mbit 0, x bit 0 instructions. This means that a cmpxchg.acq with a misaligned pointer will return the old value without setting the new one (rendering spin locks as No-ops) and that the other instructions also appear not to update memory. A cmpxchg.rel will be treated like a ld.s and just retry forever. The correct behavior for this class of instructions is documented in the file as producing failures for user code and kernel oops in kernel mode, but the code as implemented does not behave this way. I have user test code to demonstrate the problem if you would like a copy. The simple fix in this patch has been discussed with Stephane Eranian and David Mosberger. It has the advantage of not requiring the redesign of the opcode discrimination in unaligned.c. Signed-off-by: Bob Montgomery Signed-off-by: Tony Luck [ACPI] PNPACPI should ignore vendor-defined resources Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown [ACPI] Make PCI device -> interrupt link associations explicit, ACPI: PCI Interrupt 0000:00:0f.2[A] -> Link [IUSB] -> GSI 10 (level, low) -> IRQ 10 Previously, you could sometimes infer an association based on the output when an interrupt link is enabled, but when interrupt links are shared among several PCI devices, you could only make the inference for the first device to be enabled. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown [ACPI] Allow 4 digits when printing PCI segments to be consistent with the rest of the kernel. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown [ACPI] fix acpi_numa_init() build warning Signed-off-by: Randy Dunlap Signed-off-by: Len Brown [ACPI] limit scope of various globals to static Signed-off-by: Adrian Bunk Signed-off-by: Len Brown [ARM] Update RiscPC default configuration Signed-off-by: Russell King [ARM] Update Assabet and related Neponset default configuration. Signed-off-by: Russell King [XFS] remove non-helpful inode shakers SGI-PV: 931920 SGI-Modid: xfs-linux-melb:xfs-kern:189108a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott [XFS] Steve noticed we were duplicating some work the block layer can do for us; switch to SYNC_READ/WRITE for some metadata buffers. SGI-PV: 931924 SGI-Modid: xfs-linux-melb:xfs-kern:21771a Signed-off-by: Nathan Scott [XFS] reinstate a missed xfs_iget check on is_bad_inode. Signed-off-by: Nathan Scott [XFS] reinstate missed copyright date updates. Signed-off-by: Nathan Scott [ACPI] ACPICA 20050309 from Bob Moore The string-to-buffer implicit conversion code has been modified again after a change to the ACPI specification. In order to match the behavior of the other major ACPI implementation, the target buffer is no longer truncated if the source string is smaller than an existing target buffer. This change requires an update to the ACPI spec, and should eliminate the recent AE_AML_BUFFER_LIMIT issues. The "implicit return" support was rewritten to a new algorithm that solves the general case. Rather than attempt to determine when a method is about to exit, the result of every ASL operator is saved momentarily until the very next ASL operator is executed. Therefore, no matter how the method exits, there will always be a saved implicit return value. This feature is only enabled with the acpi_gbl_enable_interpreter_slack flag which Linux enables unless "acpi=strict". This should eliminate AE_AML_NO_RETURN_VALUE errors. Implemented implicit conversion support for the predicate (operand) of the If, Else, and While operators. String and Buffer arguments are automatically converted to Integers. Changed the string-to-integer conversion behavior to match the new ACPI errata: "If no integer object exists, a new integer is created. The ASCII string is interpreted as a hexadecimal constant. Each string character is interpreted as a hexadecimal value ('0'-'9', 'A'-'F', 'a', 'f'), starting with the first character as the most significant digit, and ending with the first non-hexadecimal character or end-of-string." This means that the first non-hex character terminates the conversion and this is the code that was changed. Fixed a problem where the ObjectType operator would fail (fault) when used on an Index of a Package which pointed to a null package element. The operator now properly returns zero (Uninitialized) in this case. Fixed a problem where the While operator used excessive memory by not properly popping the result stack during execution. There was no memory leak after execution, however. (Code provided by Valery Podrezov.) Fixed a problem where references to control methods within Package objects caused the method to be invoked, instead of producing a reference object pointing to the method. Restructured and simplified the pswalk.c module (acpi_ps_delete_parse_tree) to improve performance and reduce code size. (Code provided by Alexey Starikovskiy.) Signed-off-by: Len Brown [CIFS] whitespace cleanup Signed-off-by: Jesper Juhl Signed-off-by: Steve French (sfrench@us.ibm.com) [PATCH] USB: optimize the usb-storage device string logic a bit. As pointed out by Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: minor cleanup of string freeing in core code. As pointed out by Paulo Marques Signed-off-by: Greg Kroah-Hartman USB: fix cpia_usb driver's warning messages in the syslog This fixes the cpia driver to call usb_kill_urb() instead of usb_unlink_urb() which reduces the ammount of syslog messages when kernel debugging is enabled. Signed-off-by: Greg Kroah-Hartman JFS: Don't clobber wait_queue_head while there are waitors on it The resize code closes down the log and reinitializes it in another location on the disk. The problem is that it re-initializes a wait_queue_head while there are waitors waiting for the resize to be completed. The result is that the waitors are never awakened. Signed-off-by: Dave Kleikamp [XFS] Further improvements to the default XFS inode hash table sizing algorithms, resolving regressions reported with the previous change. SGI-PV: 931940 SGI-Modid: xfs-linux-melb:xfs-kern:21839a Signed-off-by: Nathan Scott [XFS] Provide a mechanism for reporting ihashsize defaults via /proc/mounts. SGI-PV: 931940 SGI-Modid: xfs-linux-melb:xfs-kern:21841a Signed-off-by: Nathan Scott JFS: Fix hang caused by race waking commit threads The flag, jfs_commit_threads_waking, is meant to avoid waking up too many jfs_commit threads when only one is needed. There is a possibility that all the threads will be running, and the flag gets set, but never reset. The fix is to make sure the flag is reset before a thread sleeps. Signed-off-by: Dave Kleikamp [IPV4]: Mark a struct static in inetpeer.c Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [IPV4]: Save space in struct inetpeer on 64-bit platforms. Signed-off-by: David S. Miller [AF_KEY]: Fix error handling in pfkey_xfrm_state2msg() The pfkey_xfrm_state2msg() was missing a return in an EINVAL statement. Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller [IPV6]: Remove redundant NULL checks before kfree I don't mind calling kfree twice itself (because that function is not so performance critical), but fl_free(NULL) is out because if fl is NULL, kfree(fl->opt) is out. So, what do you think of checking fl inside fl_free like this? Based on patch from Jesper Juhl . Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller PCI: increase the size of the pci.ids strings If we are going to waste memory, might as well do it right... Signed-off-by: Greg Kroah-Hartman Remove item from feature-removal-schedule.txt that was already removed from the kernel. my mistake... Signed-off-by: Greg Kroah-Hartman PCI: add CONFIG_PCI_NAMES to the feature-removal-schedule.txt file Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: sync up with the latest pci.ids file from sf.net. Thanks to Dave Jones for the automated patch generation: http://www.codemonkey.org.uk/projects/pci/ Signed-off-by: Greg Kroah-Hartman [ARM PATCH] 2549/2: S3C2400 - adds EDO DRAM definitions to regs-mem.h Patch from Lucas Correia Villa Real This patch defines EDO DRAM for the S3C2400 at include/asm-arm/arch-s3c2410/regs-mem.h, which is going to be used by the GP32 machine. Signed-off-by: Lucas Correia Villa Real Signed-off-by: Russell King [ARM PATCH] 2551/1: Fix timer and CPU leds on Vibren PXA255 IDP Platform Patch from Cliff Brake This patch fixes the timer and CPU LED (blinky LEDS) logic for the Vibren PXA255 IDP (CONFIG_ARCH_PXA_IDP). Signed-off-by: Cliff Brake Signed-off-by: Russell King [ARM PATCH] 2552/1: ptrace support for accessing iWMMXt regs Patch from Nicolas Pitre Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [ARM PATCH] 2553/1: imx __REG2 fix Patch from Sascha Hauer This patch changes the definition of __REG2 not to use conditional expressions as lvalue, which are deprecated in gcc 3.4 Signed-off-by: Sascha Hauer Signed-off-by: Russell King [IPV4]: Send TCP reset through dst_output in ipt_REJECT I noticed that the TCP reset code in ipt_REJECT didn't call dst_output either so it also bypasses IPsec processing. Here is a patch to fix that and use the correct MTU value. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PATCH] PCI: Add PCI device ID for new Mellanox HCA Add PCI device IDs for new Mellanox "Sinai" InfiniHost III Lx HCA. Signed-off-by: Roland Dreier Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: Patch for Serverworks chips in hotplug environment From: Kimball Murray Signed-off-by: Greg Kroah-Hartman [NET]: Save space for sk_alloc_slab() failure message. Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller kconfig: Fix kconfig docs typo: integer -> int Trivial correction: the type of numbers for Kconfig is not integer but int (I just verified because I followed the wrong docs and got a error, I looked elsewhere and they are using int, and int works for me). Please apply. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Sam Ravnborg [ARM PATCH] 2501/2: ixp4xx: support edge triggered gpio irqs Patch from David Vrabel Adds support for edge triggered GPIO IRQs on IXP4xx. The correct IRQ type (level or edge) is set when the GPIO line is configured (with gpio_line_config(..)). GPIO IRQs default to level triggered since that's the most common type. Signed-off-by: David Vrabel Signed-off-by: Russell King [PATCH] PCI: trivial DBG tidy-up Tidy-up a bunch of PCI DBG output to use pci_name() when possible, add domain when appropriate, remove redundancy, settle on one style (DBG vs DBGC), etc. Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman [ARCH]: Consolidate portable unaligned.h implementations. Several architectures do their asm/unaligned.h support support by simply casting the pointer to a packed strcuture, then deref'ing that pointer. This forces gcc to assume the object is not aligned properly. This technique originated in Richard Henderson's asm-alpha/unaligned.h, IA64 uses the same technique as well. This works well on RISC systems for two reasons: 1) On systems like Alpha, MIPS, et al. which have special "load unaligned" instructions, GCC knows to emit them for code like this. 2) Even on systems without explicit unaligned load/store instruction support, the code emitted (basically, byte loads with shifts and ors) is about the same as what you get when emitting a memmove() call and you don't need the local stack slot. I was going to thus move asm-sparc64/unaligned.h over to such a scheme, but then I noticed that nobody actually includes the current memmove() based asm-generic/unaligned.h code. So why not put the portable packed structure implementation into asm-generic/unaligned.h and then make asm-{alpha,ia64,sparc64}/unaligned.h simply include that? I only had to make minor modifications to the alpha header when placing it into the generic area. In particular I had to convert some explicit "unsigned long", "unsigned int" et al. into the arch-agnostic "u64" "u32" etc. so that even 32-bit platforms could use this. Come to think of it I'll make sparc32 use this as well. I looked at all the other platform unaligned.h headers: I386/X86_64: can do unaligned loads directly ARM: is trying to be incredibly clever, and open codes the shifts and ors. I think it would be better if it used something similar to the packed structure technique. CRIS: like x86, can do unaligned stuff directly. FRV: needs help doing unaligned stuff, it probably also could use the packed structure stuff. H8300: needs help, could use this new asm-generic/unaligned.h header M32R: likewise M68K: can do unaligned access directly. MIPS: appears to be a copy of the original alpha/ia64 unaligned.h header, so I converted it to use the new asm-generic/unaligned.h too PARISC: is just a copy of asm-sparc/unaligned.h, so I converted it over to use asm-generic/unaligned.h too PPC/PPC64: can do unaligned access directly in big-endian mode which is what the Linux kernel runs in S390: can do it directly as well SH/SH64: just has the memmove() code ala asm-sparc/unaligned.h, I converted it to use asm-generic/unaligned.h V850: has some clever code just like ARM, so I didn't touch it. So this is the patch I came up with. Signed-off-by: David S. Miller [PATCH] PCI Hotplug: remove code duplication in drivers/pci/hotplug/ibmphp_pci.c This patch removes some code duplication where if and else have the same code at the beginning and the end of the branch. Signed-off-by: Rolf Eike Beer Signed-off-by: Greg Kroah-Hartman [PATCH] PCI Hotplug: only call ibmphp_remove_resource() if argument is not NULL If we call ibmphp_remove_resource() with a NULL argument it will write a warning. We can avoid this here because we already look if the argument will be NULL before (and we ignore the return code anyway). Signed-off-by: Rolf Eike Beer Signed-off-by: Greg Kroah-Hartman [ARM PATCH] 2556/1: S3C2400 - defines PHYS_OFFSET at include/asm-arm/arch-s3c2410/memory.h Patch from Lucas Correia Villa Real This patch defines the PHYS_OFFSET for the S3C2400 cpu at include/asm-arm/arch-s3c2400/memory.h . This is going to be used by the GP32 machine. Signed-off-by: Lucas Correia Villa Real Signed-off-by: Ben Dooks Signed-off-by: Russell King [M68KNOMMU]: Use asm-generic/unaligned.h for COLDFIRE. Based upon comments from Geert Uytterhoeven. Signed-off-by: David S. Miller [PATCH] PCI: 80 column lines PCI 80-column lines A couple of lines are >80 columns Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman [PATCH] [PATCH] remove redundant devices list The RPA PCI Hotplug module creates and maintains a list of devices for each slot. This is redundant, because the PCI structures already maintain such a list. This patch changes the module to use the list provided in the pci_bus structure. Signed-off-by: John Rose Signed-off-by: Greg Kroah-Hartman [PATCH] PCI busses are structs, not integers PCI busses are structs, not integers. Fix pcibus_to_cpumask to take a struct. NB changing it from a macro to an inline function would require serious include file surgery. Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman [PATCH] pci_ids.h correction for Intel ICH7M This patch corrects the ICH7M LPC controller DID in pci_ids.h from x27B1 to x27B9. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman [PATCH] sort-out-pci_rom_address_enable-vs-ioresource_rom_enable.patch From: Jon Smirl This sorts out the usage of PCI_ROM_ADDRESS_ENABLE vs IORESOURCE_ROM_ENABLE. PCI_ROM_ADDRESS_ENABLE is for actually manipulating the ROM's PCI config space. IORESOURCE_ROM_ENABLE is for tracking the IORESOURCE that the ROM is enabled. Both are defined to 1 so code shouldn't change. Just to remind people, there are new PCI routines for enable/disable ROMs so please call them instead of directly coding access in device drivers. There are ten or so drivers that need to be converted to the new API. Signed-off-by: Jon Smirl Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] arch/i386/pci/i386.c: Use new for_each_pci_dev macro From: Domen Puncer As requested by Christoph Hellwig I created a new macro called for_each_pci_dev. It is a wrapper for this common use of pci_get/find_device: (while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL)) This macro will return the pci_dev *for all pci devices. Here is the first patch I used to test this macro with. Compiled and booted on my T23. There will be 53 more patches using this new macro. Signed-off-by: Hanna Linder Signed-off-by: Maximilian Attems Signed-off-by: Domen Puncer Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [ARM PATCH] 2555/1: i.MX DMA fix Patch from Sascha Hauer This patch fixes the dma interrupt acknowledge as mentioned by Nicolas Pitre here: http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2005-March/027349.html Signed-off-by: Sascha Hauer Signed-off-by: Russell King [IPV4]: Multipath cache algorithm support. Signed-off-by: David S. Miller [ARM PATCH] 2559/1: CL7500 - fix `__iomem` on VIDC_BASE Patch from Ben Dooks Add __iomem to VIDC_BASE Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2561/1: CL7500 - core.c init call should be void Patch from Ben Dooks The init call should not return anything Signed-off-by: Ben Dooks Signed-off-by: Russell King [PATCH] USB: possible cleanups Before I'm getting flamed to death: This patch contains possible cleanups. If parts of this patch conflict with pending changes these parts of my patch have to be dropped. This patch contains the following possible cleanups: - make needlessly global code static - #if 0 the following unused global functions: - core/usb.c: usb_buffer_map - core/usb.c: usb_buffer_unmap - remove the following unneeded EXPORT_SYMBOL's: - core/hcd.c: usb_bus_init - core/hcd.c: usb_alloc_bus - core/hcd.c: usb_register_bus - core/hcd.c: usb_deregister_bus - core/hcd.c: usb_hcd_irq - core/usb.c: usb_buffer_map - core/usb.c: usb_buffer_unmap - core/buffer.c: hcd_buffer_create - core/buffer.c: hcd_buffer_destroy Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] drivers/usb/serial/: make some functions static This patch makes some needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] drivers/usb/storage/: cleanups This patch contains the following cleanups: - make needlessly global code static - scsiglue.c: remove the unused usb_stor_sense_notready Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] drivers/usb/net/pegasus.c: make some code static This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] remove drivers/usb/image/hpusbscsi.c USB_HPUSBSCSI was marked as BROKEN in 2.6.11 since libsane is the preferred way to access these devices. Unless someone plans to resurrect this driver, I'm therefore proposing this patch to completely remove it. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] USB: add at91_udc recognition Add declarations to recognize the AT91 USB peripheral controller, as used in various ARMv4T chips including the mmu-ful at91rm9200. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb gadget kconfig tweaks This makes two small changes to the gadget Kconfig. - It removes SA-1100 support ... if anyone gets around to finishing that controller driver, it could go back, but until then there's no real point. - The "dummy_hcd" moves to the end, with a comment to please keep it there. Moving that Kconfig entry helps keep "real hardware" as the default on systems that have it ... otherwise Kconfig will surprise people with a curious default. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: ohci zero length control IN transfers This fixes a longstanding bug in the OHCI driver, inherited from the 2.4 code. It also fixes a related comment in the EHCI driver, which came when the EHCI code was first derived from OHCI. (The EHCI code doesn't have that bug; the comment was effectively "FIXME add bug".) The bug: control-IN transfers with no data stages have status stages with an IN packet (like a control-OUT transfer), instead of using an OUT packet. See figure 8-37 of the USB spec. The current code makes trouble with some peripheral hardware and zero length IN transfers (scarce in the Real World). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: ehci and short in-bulk transfers with 20KB+ urbs This changes handling of short bulk IN transfers with URB buffers that require two or more transfer descriptors. The case is rare in most systems, since few drivers use such large buffers (bigger than 20KB, assuming 4K-aligned). The existing code misbehave on at least NEC's EHCI 0.95 silicon, where it seems to hit a new variant of a silicon quirk relating to dummy TDs. Symptom of the misbehavior is that the host stops polling on the IN endpoint, and the URB queue no longer progresses. This fix uses simpler logic to detect those short reads, dodging that quirk. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usbnet gets status polling, uses for CDC Ethernet This adds status/interrupt transfer infrastructure to "usbnet", and uses it for CDC Ethernet support. It can be used with other devices that define an interrupt-IN endpoint (quite a few!), so long as the meaning of the events is documented (erm, not so many). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usbnet fix for Zaurus C-860 This patch resolves a recent problem with the Zaurus C-860 support. A change to correct handling of Zaurii that are lying about their support for the "CDC Ethernet" class specification broke the C-860, which tells an entirely different lie (that it supports "CDC MDLM", providing access to a cell phone modem). The code expecting it to be telling a lie about CDC Ethernet support naturally misbehaved. (Sharp should straighten out its story. The 2.6 OpenZaurus kernels don't have any such issues...) The fix is just to recognize this bogus MDLM stuff and ignore it. This patch also includes the two MDLM descriptors in although they're not currently used. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: net2280 reports correct dequeue status Minor bugfix to net2280: don't return incorrect dequeue() status. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: ethernet/rndis gadget driver updates Various fixes to the Ethernet/RNDIS gadget core code: - Pre-allocate the request used to transfer status back to the host. Used initially for CDC Ethernet; RNDIS will change later. This resolves a longstanding FIXME, elimininating fault modes. - Use larger packets for those status reports, 16 bytes not 8; this eliminates some fault modes, without losing hardware support. - Streamline endpoint configuration, just save the endpoints during driver binding. The previous scheme was a complex leftover from before the endpoint autoselection library code existed, and this bit of cleanup prepares for more simplifications later. - Implement a basic outgoing packet filter, for CDC Ethernet and RNDIS but not the CDC subset. This improves conformance to both specs. - Correct the bit rate reports for CDC Ethernet and RNDIS to match the peak bulk transfer rates, not the raw signaling rates. This still doesn't issue CDC or RNDIS link status change notifications to the host as often as it should, but that'll be easier now. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Patch for ub to fix oops after disconnect This patch was developed by Glenn Maynard for his oops back in December, but for some reason I forgot about it and had it reimplemented when I stepped on this problem myself. In my case, there was no oops, but a warning about slab corruption. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman [PATCH] usb hcd u64 warning fix drivers/usb/core/hcd.c:1689: warning: long long unsigned int format, u64 arg (arg 6) drivers/usb/core/hcd.c:1695: warning: long long unsigned int format, u64 arg (arg 5) We must not assume that u64 is implemented as `unsigned long long'. On ppc64 (for example) it is `unsigned long'. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] usb-midi: fix arguments to usb_maxpacket() The usb-midi driver uses an incorrect value for the is_out argument to usb_maxpacket(), triggering a WARN_ON. This patch fixes the mistake. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] g_file_storage: add configuration and interface strings This patch adds iConfiguration and iInterface strings to the g_file_storage driver (just to spiff it up and help in testing software that looks at those strings). It also enlarges the space reserved for the Manufacturer string, since combinations of long kernel names and long UDC driver names were sometimes getting truncated. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Prevent hub driver interference during port reset This patch causes the hub driver to ignore ports that are being reset by another driver. Without this protection khubd will sometimes notice that the port is behaving funny while the reset is taking place and will unilaterally disconnect it, which is not what we want. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: removal of obsolete error code from kaweth this patch from David removes an obsolete error code from kaweth. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] usb/rio500: remove interruptible_sleep_on_timeout() usage Replace deprecated interruptible_sleep_on_timeout() with direct wait-queue usage. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer Signed-off-by: Greg Kroah-Hartman [PATCH] usb/digi_acceleport: remove interruptible_sleep_on_timeout() usage Replace deprecated interruptible_sleep_on_timeout() with direct wait-queue usage. Also replace some rather odd wait-queue usage with the existent macros. Also adjusted the wake_up_interruptible() call appropriately, as I changed all the states to TASK_UNINTERRUPTIBLE (signals were not be checked in the current code). Patch is compile-tested. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer Signed-off-by: Greg Kroah-Hartman [PATCH] USB: compile warning cleanup compile warning cleanup - handle error return from scsi_add_host Signed-off-by: Stephen Biggs Signed-off-by: Domen Puncer Signed-off-by: Greg Kroah-Hartman [PATCH] USB: fix uhci irq 10: nobody cared! error From: Olaf Kirch Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: Header reorganization This patch started life as as471 from Alan Stern, and has been regenerated against the current tip. This patch cleans up the use of header files. Primarily it makes sure that "usb.h" is included before any of the other local headers. It also removes some unnecessary declarations of struct us_data and struct scsi_cmnd, and it moves the inclusion of to usb.h where it will be needed by a later patch. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: remove unneeded NULL tests This patch started life as as472 from Alan Stern, and has been rediffed against the current tip. This patch simply removes some unnecessary NULL checking before kfree() calls. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman [PATCH] sisusb: fix arg. types Fix gcc printk arg type and other function parameter warnings: drivers/usb/misc/sisusbvga/sisusb.c: In function `sisusb_send_packet': drivers/usb/misc/sisusbvga/sisusb.c:583: warning: passing arg 7 of `sisusb_send_bulk_msg' from incompatible pointer type drivers/usb/misc/sisusbvga/sisusb.c:591: warning: passing arg 6 of `sisusb_recv_bulk_msg' from incompatible pointer type drivers/usb/misc/sisusbvga/sisusb.c: In function `sisusb_send_bridge_packet': drivers/usb/misc/sisusbvga/sisusb.c:620: warning: passing arg 7 of `sisusb_send_bulk_msg' from incompatible pointer type drivers/usb/misc/sisusbvga/sisusb.c:628: warning: passing arg 6 of `sisusb_recv_bulk_msg' from incompatible pointer type drivers/usb/misc/sisusbvga/sisusb.c: In function `sisusb_write_mem_bulk': drivers/usb/misc/sisusbvga/sisusb.c:989: warning: int format, different type arg (arg 3) drivers/usb/misc/sisusbvga/sisusb.c:989: warning: int format, different type arg (arg 3) drivers/usb/misc/sisusbvga/sisusb.c: In function `sisusb_clear_vram': drivers/usb/misc/sisusbvga/sisusb.c:1407: warning: passing arg 7 of `sisusb_write_mem_bulk' from incompatible pointer type Signed-off-by: Randy Dunlap Signed-off-by: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman [PATCH] pwc: fix printk arg types Fix gcc printk arg type warnings: drivers/usb/media/pwc/pwc-if.c:325: warning: int format, different type arg (arg 2) drivers/usb/media/pwc/pwc-if.c:1182: warning: int format, different type arg (arg 4) Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: change how unusual_devs.h flags are defined This patch started life as as473 from Alan Stern, and has been rediffed against the current tip. This patch changes the way the flags bits are defined, so that the proc_info routine can automatically list all the flags that are set. As a side effect it will also include the NEED_OVERRIDE flag; that shouldn't really matter. (As another side effect, the definitions grew too long to fit on a single 80-character line so I had to wrap the comments.) This patch also takes the opportunity to remove a couple of obsolete flags and to renumber the bit values. The patch also removes an unusual_devs entry whose only purpose was to set one of those obsolete flags; apparently it got left behind when all the other uses of those flags were removed. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: remove unneeded unusual_devs.h entry. Signed-off-by: Greg Kroah-Hartman [IPV4]: Make multipath algs into true drivers. This also makes them configurable on a per-route basis via rtnetlink route attributes. Based upon suggestions from Thomas Graf and Alexey Kuznetsov. Signed-off-by: David S. Miller [ACPI] build fix in acpi_pci_irq_disable() bk-acpi-acpi_pci_irq_disable-build-fix.patch Signed-off-by: Andrew Morton Signed-off-by: Len Brown [ide] pci_ids.h correction for Intel ICH7R This patch removes an incorrect ICH7R DID in pci_ids.h. Signed-off-by: Jason Gaston Signed-off-by: Bartlomiej Zolnierkiewicz [ide] drivers/ide/cs5520.c: use the DMA_{64,32}BIT_MASK constants Description: Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling pci_set_dma_mask() or pci_set_consistent_dma_mask() See http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details Signed-off-by: Tobias Klauser Signed-off-by: Bartlomiej Zolnierkiewicz [ide] hdio.txt update This patch updates Documentation/ioctl/hdio.txt to include more detailed descriptions about HDIO_DRIVE_{CMD|TASK|TASKFILE} ioctls. Signed-off-by: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz [ide] make ide_generic_ioctl() take ide_drive_t * as an argument As a result disk->private_data can be used by device drivers now. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide-cd: add basic refcounting * based on reference counting in drivers/scsi/{sd,sr}.c * fixes race between ->open() and ->cleanup() (ide_unregister_subdriver() tests for drive->usage != 0 but there is no protection against new users) * struct kref and pointer to a drive are added to struct ide_cdrom_info * pointer to drive's struct ide_cdrom_info is stored in disk->private_data * ide_cd_{get,put}() is used to {get,put} reference to struct ide_cdrom_info * ide_cd_release() is a release method for struct ide_cdrom_info Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide-disk: add basic refcounting Similar changes as for ide-cd.c (except that struct ide_disk_obj is added). Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide-floppy: add basic refcounting Similar changes as for ide-cd.c. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide-tape: add basic refcounting Similar changes as for ide-cd.c. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide-scsi: add basic refcounting * pointers to a SCSI host and a drive are added to idescsi_scsi_t * pointer to the SCSI host is stored in disk->private_data * ide_scsi_{get,put}() is used to {get,put} reference to the SCSI host Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide-tape: fix character device ->open() vs ->cleanup() race Similar to the same race but for the block device. * store pointer to struct ide_tape_obj in idetape_chrdevs[] * rename idetape_chrdevs[] to idetape_devs[] and kill idetape_chrdev_t * add ide_tape_chrdev_get() for getting reference to the tape * store tape pointer in file->private_data and fix all users of it * fix idetape_chrdev_{open,release}() to get/put reference to the tape Signed-off-by: Bartlomiej Zolnierkiewicz [Bluetooth] Support HCI Extensions in BCSP driver To support the vendor specific HCI commands and events the BCSP drivers needs to convert these to BCSP packets for the correct channel. Signed-off-by: Marcel Holtmann [Bluetooth] Fix session reference counting for RFCOMM When an incoming connection terminates, the signal DLC is never closed and thus the underlaying L2CAP connection stays open. This problem doesn't show up often, because most times the other side takes care of terminating the signal DLC. Signed-off-by: Marcel Holtmann [Bluetooth] Kill bt_sock_alloc() and its usage Kill bt_sock_alloc() function and make the derived socks have a struct bt_sock as its first member, so that the _pi() functions can just cast the struct sock pointer to its respective types, taking advantage of the fact that sk_alloc() now use kmalloc() when no slab is passed. This is another step, close to the final one, to kill sk_protinfo and make further planned changes possible. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller Signed-off-by: Marcel Holtmann [PATCH] m68k-nommu: remove nowhere referenced file io_hw_swap.h Remove nowhere referenced file. (egrep "filename\." didn't find anything) Signed-off-by: Domen Puncer Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68k-nommu: use vma list in nommu mmap support Modify the mm_context struct to keep a list of vma's instead of the uClinux specific mm_block struct's that used to be used. This reflects the changes made to mm/nommu.c in 2.6.11. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68k-nommu: change build process to use common head code Update m68knommu Makefiles to build just the common start up head code now. Remove all referneces to the older vendor/board specific start codes. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68k-nommu: fix broken GET_MEM_SIZE macro in ColdFire head code Fix GET_MEM_SIZE macro, name was wrong. It is only used on the 5272 platform, so got overlooked in original changes. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68k-nommu: create common 68328 ROM based startup code Create common 68328 startup code for the ROM based platforms. This is part of the re-organization of the start up code to make more if it common. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68k-nommu: remove nowhere referenced file semp3.h Remove nowhere referenced file. (egrep "filename\." didn't find anything) Signed-off-by: Domen Puncer Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68k-nommu: create common 68328 RAM based startup code Create common 68328 startup code for the ram based platforms. This is part of the re-organization of the start up code to make more if it common. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68k-nommu: move PILOT platform startup code Create more common 68328 startup code for the PILOT platform. It requires some unique setup from boot, that no other platform requires. This is part of the re-organization of the start up code to make more if it common. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68k-nommu: remove vendor/board specific startup code Remove all board specific startup code files. Code has been merged into a much smaller set of common code for each CPU class type, so that is 3 types now. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] uml: Fix compilation due to mismerge. The recent slew of UML updates that appeared in BK seems to have gone wrong somewhere. The file "arch/um/kernel/syscall_user.c" contains identical content twice over, thus breaking compilation. Below is a patch to fix this. Please apply. Signed-off-by: Anton Altaparmakov Signed-off-by: Linus Torvalds [PATCH] docbook: fix escaping of kernel-doc This fixes a bug I introduced with the last patches of the DocBook generation. Signed-off-by: Martin Waitz Signed-off-by: Linus Torvalds [NETPOLL]: Align UDP packets to NET_IP_ALIGN. This avoids unnecessary alignment traps on some platforms. Signed-off-by: Sven Henkel Signed-off-by: David S. Miller [TUN]: Align only ethernet packets to NET_IP_ALIGN. Signed-off-by: Sven Henkel Signed-off-by: David S. Miller [IPV4]: Fix MTU check in ipmr_queue_xmit Somehow I missed four files with dst_pmtu usages in them. I'm going to split them along the sames lines I did before: bug fixes and then the trivial changes. Here is a patch that replaces dst_pmtu with dst_pmtu in ipmr.c since this is straight IPIP tunneling equivalent to what we have in ipip.c. As it is we may send ICMP packets when IPsec is present which is exactly what the comment says that we shouldn't do. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [NETFILTER]: Use correct IPSEC MTU in TCPMSS This patch makes ipt_TCPMSS use the correct MTU value for clamping. This is a bit tricky actually since TCPMSS can be used in FORWARD, LOCAL_OUT as well as POST_ROUTING. In the first two cases we haven't performed IPsec yet so dst_mtu obviously does the right thing. As it is, POST_ROUTING is performed after xfrm_output so MSS clamping is useless there. With Patrick's IPsec netfilter stuff, there will be a POST_ROUTING processing before IPsec processing, in which case dst_mtu also returns exactly what we want. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [IPV4]: Kill remaining unnecessary uses of dst_pmtu Once again here is a couple of trivial dst_pmtu/dst_mtu replacements. In both locations, we can only have simple dst entries which means that dst == dst->path. BTW, this is the rule that we should apply in future for uses of dst_mtu/dst_pmtu (or other metrics on dst). If the only dst's that can appear are simple dst's (dst == dst->path), then we should use dst_mtu or dst_metric. If dst != dst->path, then whoever is writing the code will need to think about which of dst or dst->path is the right one. In most instances dst will be the one. However, as we have seen in ip_append_data, dst->path may be needed rarely. In particular, if we're doing fragmentation immediately after IPsec, then you may need it. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [IPSEC]: Get ttl from child instead of path Now that dst_pmtu is almost gone let's do the same to dst_path_metric. I've only found one legitimate use of it and that's the one that was recently added in dst_allfrag. This patch makes xfrm4_encap/xfrm6_encap use dst->child instead of dst->path so that we choose the correct route to get the hoplimit from when nested tunnels are present. For simple tunnels dst->child == dst->path so there is no change. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [NET]: Kill unnecessary uses of dst_path_metric This gets rid of the last unnecessary use of dst_path_metric. In decnet dst->path is always equal to dst. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [NET]: Kill dst_pmtu/dst_path_metric This would have been the patch that removed dst->path. But ip_append_data got in the way :) However, using dst->path is only needed rarely and should always require a bit of deliberation. So let's get rid of dst_pmtu and dst_path_metric and use dst_mtu and dst_metric directly. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [NET]: Make dst_allfrag use dst instead of dst->path > BTW, shouldn't dst_allfrag be called dst_path_allfrag? Rather than doing that, let's make the path usage explicit in the one place that it's needed (the same place where we use dst_mtu(dst->path)). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PATCH] ppc32: Fix PowerMac cpufreq for newer machines This patch fixes the cpufreq support for newer machines, including latest Apple laptops using the 7447A CPU. With this patch, it should now propertly detect that the CPU is booting low speed on some models, and let you switch it to full speed (previously, /proc/cpuinfo would display the frequency of the full speed CPU but it was really running low speed). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fix overflow in cpuinfo freq. display The CPU frequency in /proc/cpuinfo would overflow because of a signed/unsigned bug. This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Update PowerMac models table This patch updates the table of PowerMac models, adding the Mac mini, a few missing ones in older slots too, and sorts it in a more logical way. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Add virtual DMA support to legacy floppy driver This patch adds support for pseudo-dma transfers on ppc32 for the legacy floppy driver. It is useful on some machines like pegasos where the legacy DMA doesn't seem to work properly (possibly to the lack of a "legacy" DMA zone on ppc32). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Pavel Fedin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fix a warning in planb video driver [ aside: This has been sitting in the linuxppc-2.5 bk tree for I don't know how long. And the driver is still horribly broken. ] The following patch moves overlay_is_active to before its first use. It was originally written when gcc wouldn't complain, but now does, about not having the definition before usage. Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Delete arch/ppc/syslib/ppc4xx_serial.c arch/ppc/syslib/ppc4xx_serial.c is unused cruft, delete. Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Lindent include/asm-ppc/dma.h This originally came from Paul, back in July of 2003. Run Lindent over include/asm-ppc/dma.h Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Better comment arch/ppc/syslib/cpc700.h This adds better comments to arch/ppc/syslib/cpc700.h Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Serial fix for PAL4 Add PAL4's bit to Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fix a typo on 8260 This fixes a lingering typo in arch/ppc/boot/simple/m8260_tty.c Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Update 8260_io/fcc_enet.c to function again There's too many things in here that've sat too long (I'd been hoping to just delete the driver, but that hasn't happened yet, so). A cobbled together list of changes is: - Update MDIO support for workqueues. - Make use of - Add RPX6 support. - Comment out set_multicast_list (broken). - Rework tx_ring stuff so we have tx_free, not tx_Full/n_pkts. - Other PHY updates/fixes. - Leo Li: Rework FCC clock configuration, make it easier. - 2.4 : VLAN header room, other misc bits. - Kill MII_REG_NNN in favor of defines from - DM9161 PHY support (2.4, Myself & alebas@televes.com) - PQ2ADS and PQ2FADS support bits (Myself & alebas@televes.com From: Leo Li Signed-off-by: Tom Rini Signed-off-by: Alexandre Bastos Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Patch for changed dev->bus_id format - Recent changes to drivers/base/platform.c:platform_device_register() changed the format of dev->bus_id (there is now a '.' between the name & instance (e.g., the old mpsc0 is now mpsc.0)). This field is used by some platform's platform_notify() routine to identify the dev entry. This patch updates the bus_id value compared to include the dot. - Fix an bad macro name change by a previous patch. - Some coding style fixups, etc. Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: update Radstone ppc7d platform - Recent mv643xx #define name changes broke the PPC7D platform compile. Fixed by this patch. - Change default platform config to add mv643xx_eth and mv64xxx-i2c config options. - Add i2c platform data and update to cope with recent platform device name change. Signed-off-by: James Chapman Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Clean up mv64x60 bootwrapper support This patch removes the call to mv64x60_init() in arch/ppc/boot/simple/head.S and now uses the 'load_kernel()' hook to call to have mv64x60-specific code called. This means that the mv64x60 code will be called after the bootwrapper has relocated itself. The platforms affected by this change are updated by this patch as well. Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fix FEC ethernet intialization on MPC8540 ADS board The PHY interrupt for the DM9121 PHY connected to the FEC ethernet port does not work on the MPC8540 ADS board. If we tell the driver that the PHY does not have an interrupt the FEC works properly on the MPC8540 ADS board. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Add PCI bus support for Freescale MPC52xx Note that this support has "known" problem but theses are believed to be due to hardware issues. Signed-off-by: Sylvain Munaut Acked-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Add pegasos ethernet support This patch declares the necessary platform device on the pegasos platform so that the mv643xx eth driver can be used on it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Sven Luther Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: sparse clean ups for the Freescale MPC52xx related code These clean-ups are mainly missing __iomem qualifier, unnecessary (and 'wrong') casting, missing static. Signed-off-by: Sylvain Munaut Acked-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: add support for Sky Computers HDPU Compute blade The Sky Computers HDPU compute blade is an embedded compute platform for the Sky Computers SMARTpac 600/1200 series. A blade consists of ppc7445/ppc7447A, Marvell Discovery II, 100 BaseT ethernet, a single PCI/PCI-X slot, and a PCI-X on-board Infiniband device. This patch contains the base platform support required for booting Linux. Signed-off-by: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: rtasd shouldn't hold cpucontrol while sleeping The rtasd thread should not hold the cpucontrol semaphore while sleeping between event scans in its first pass; it needlessly delays boot by one second per cpu when CONFIG_HOTPLUG_CPU=y. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: add support for Sky Computers HDPU Compute blade enhanced features The Sky Computers HDPU compute blade is an embedded compute platform for the Sky Computers SMARTpac 600/1200 series. The blade consists of ppc7445/ppc7447A UP or SMP, Marvell Discovery II, 100 BaseT ethernet, a single PCI/PCI-X slot, and a PCI-X on-board Infiniband device. This patch contains drivers for enhanced features of the HDPU compute blade. Namely, 2 drivers for registers used by the Health monitoring co-processor. The cpustate register is a write only register used to convey critical states to the health monitor and the nexus registers provides a read-only interface from the health monitoring system to provide location based information. Signed-off-by: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: fix kprobes calling smp_processor_id when preemptible When booting with kprobes and preemption both enabled and CONFIG_DEBUG_PREEMPT=y, I get lots of warnings about smp_processor_id being called in preemptible code, from kprobe_exceptions_notify. On ppc64, interrupts and preemption are not disabled in the handlers for most synchronous exceptions such as breakpoints and page faults (interrupts are disabled in the very early exception entry code but are reenabled before calling the C handler). This patch adds a preempt_disable/enable pair to kprobe_exceptions_notify, and moves the preempt_disable() in kprobe_handler() to be done only in the case where we are about to single-step an instruction. This eliminates the bug warnings. From: Ananth N Mavinakayanahalli The patch is fine, but it seems to break jprobes - we have an unbalanced preempt_enable/disable path while handling jprobes. Patch below is against 2.6.11-mm4 and fixes the issue. Signed-off-by: Paul Mackerras Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: kill might_sleep() warnings in __copy_*_user_inatomic This patch is from Arnd Bergmann and Olof Johansson. This implements the __copy_{to,from}_user_inatomic() functions on ppc64. The only difference between the inatomic and regular version is that inatomic does not call might_sleep() to detect possible faults while holding locks/elevated preempt counts. Signed-off-by: Arnd Bergmann Acked-by: Olof Johansson Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: make RTAS code usable on non-pSeries machines This patch is from Arnd Bergmann . RTAS is not actually pSeries specific, but some PPC64 code that relies on RTAS is currently protected by CONFIG_PPC_PSERIES. This introduces a generic configuration option PPC_RTAS that can be used by other subarchitectures as well. The existing option with the same name is renamed to the more specific RTAS_PROC. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] emi26: add another product ID for the Emi2|6/A26 This adds the product ID for another hardware revision of the Emi 2|6. Except for the ID, this device behaves the same and uses the same firmware. Signed-off-by: Clemens Ladisch Signed-off-by: Greg Kroah-Hartman [PATCH] ppc64: delete unused file no_initrd.c This patch is from Domen Puncer . Remove nowhere referenced file. (egrep "filename\." didn't find anything) Signed-off-by: Domen Puncer Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: delete unused file iSeries_fixup.h This patch is from Domen Puncer . Remove nowhere referenced file. (egrep "filename\." didn't find anything) Signed-off-by: Domen Puncer Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64 iSeries: cleanup viopath I figured I might as well do some simple cleanups. This patch does: - single bit int bitfields are a bit suspect and Anndrew pointed out recently that they are probably slower to access than ints - get rid of some more studly caps - define the semaphore and the atomic in struct alloc_parms rather than pointers to them since we just allocate them on the stack anyway. - one small white space cleanup - use the HvLpIndexInvalid constant instead of ita value Built and booted on iSeries (which is the only place it is used). Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64 iSeries: cleanup iSeries_setup This patch does some trivial cleanups on iSeries_setup.[ch]: - eliminiate warning about iommu_init_early_iSeries not being declared - remove trailing whitespace - change some functions to static - remove defunct function declarations Built and booted on iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: NUMA memory fixup (another try) Below is a new version of the patch that allows holes within nodes on ppc64 NUMA. I would appreciate it if someone familiar with OF device tree parsing could take a look at this part of the code. So far, I've gotten this wrong twice. Patch was tested in various configurations on a G5 and OpenPower 720. Signed-off-by: Mike Kravetz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: thermal control for Xserve This patch adds support for Xserve G5 to the thermal control driver. It also adds a few updates to the desktop G5 code based from changes Apple did to their own drivers. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: missing newline/carrige return in zImage Some eyecandy for zImage and zImage.initrd. Most OF implementations do not print a newline after their last line of output, so the "zImage starting..." appears right after the last number or netboot output. A zImage.initrd misses a carrige return to avoid a staircase effect. Tested on JS20. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: use pSeries reconfig notifier for cpu DLPAR Use the pSeries_reconfig notifier API to handle processor addition and removal on pSeries LPAR. This is the "right" way to do it, as opposed to setting cpu_present_map = cpu_possible_map at boot (this is fixed in a following patch). Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: make cpu hotplug play well with maxcpus and smt-enabled This patch allows you to boot a pSeries system with maxcpus=x or smt-enabled=off (or both) and bring up the offline cpus later from userspace, assuming the kernel was built with CONFIG_HOTPLUG_CPU=y. - Record cpus which were started from OF in a cpu map and use that instead of system_state to decide how to start a cpu in smp_startup_cpu. - Change the smp bootup logic slightly so that the path for bringing up secondary threads is exactly the same as hotplugging a cpu later from userspace. - Add a new function to smp_ops - cpu_bootable. This is implemented only by pSeries to filter out secondary threads during boot with smt-enabled=off. Another way this could be done is to change the kick_cpu member to return int and we can check for this case in smp_pSeries_kick_cpu. - Remove the games we play with cpu_present_map and the hard_smp_processor_id to handle smt-enabled=off, since they're now unnecessary. - Remove find_physical_cpu_to_start; assigning threads to logical slots should be done at bootup and at DLPAR time, not during a cpu online operation. One caveat: you need up-to-date firmware on Power5 for the maxcpus option to work on systems with more than one processor. Otherwise interrupts get misrouted, typically resulting in hangs or "unable to find root filesystem" problems. Tested on Power5 with and without CONFIG_HOTPLUG_CPU and with various combinations of the maxcpus= and smt-enabled= parameters. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: remove unnecessary ISA ioports During boot, pSeries_request_regions() should only request I/O ports for legacy ISA in the case that ISA exists on the system. Add a check for this. This patch was suggested by Anton. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: fix error cases in nvram partition scan The NVRAM on pSeries machines and powermacs is structured as a series of partitions, each of which has a header containing its length (including the header) and a header checksum. When the checksum was wrong or the length was zero, we would previously keep trying to scan through the partitions, possibly looping forever if the length was zero. This patch changes the behaviour to terminate the scan when a corrupted partition is found. Signed-off-by: Utz Bacher Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: allow xmon=on,off,early allow 'xmon' or 'xmon=early' to enter xmon very early during boot. allow 'xmon=on' to just enable it, or 'xmon=off' to disable it. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips: convert a remaining verify_area to access_ok Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: system calls s390 system call fixes: - Add missing waitid and remap_file_pages system calls to s390. - Keep consistent naming scheme xxx_wrapper in compat_wrapper.S. - Remove #undef of __NR_getdents64 for 64 bit. The system call is present for 64 bit (linux_getdents and linux_getdents64 differ). Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: define atomic_sub_return Add missing atomic_sub_return for skb_release_data. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: add run_posix_cpu_timers to account_user_vtime The posix-timers patch introduces a call to run_posix_cpu_timers in update_process_times. The same call is required in the s390 private account_user_vtime function as well. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: device unregistering Common i/o layer changes: - Don't unregister devices from ccw_device_{on,off}line_notoper directly, but put the unregister on the ccw_device_work workqueue (as it is done for all other unregisters). Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: s390dbf permissions Use more specific permissions for the procfiles if s390dbf. Read only views should have read permission, write only views should have write permission. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: missing timer ticks s390 core changes: - Fix missing timer ticks. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: ctc buffer size ctc network driver changes: - Allow to change the ctc buffer size while ctc is offline. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: oprofile support Remove experimental tag from the s390 oprofile support. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] USB: Support for new ipod mini (and possibly others) + usb Just a little patch to unusual_devs.h in usb-storage in order to support new ipods mini (ie. the new 6 gig model) and possibly other new big models reported to have problems through usb in linux 2.6. From: Guillermo Menguez Alvarez Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USB unusual_devs: Add another Tekom entry This patch adds support for Another "Tekom 300" camera - or more specifically a BenQ DC5330. Versions of this patch were submitted by both Frank Copeland and Manuel Fombuena - but neither were quite right, so I've tweaked it accordingly. Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USB unusual_devs: add another datafab device The following was reported by Josef Reisinger . This entry allows the device to be found and prevents it from showing up twice. Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USB: another broken usb floppy Signed-off-by: Olaf Hering Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USBcore updates This is the first of five updates to usbcore: Merge the hcd_register_root macro with the usb_register_root_hub function. This is part of the ongoing campaign to flatten out the hcd glue layer. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [IA64] Another fix for pgd_addr_end (last one was wrong). I confused the hole in the middle of a region when an implementation of the Itanium architecture doesn't implement all the virtual address bits with the actual layout in Linux. Linux doesn't put a hole in the middle of the region, it stacks all the address space that the page tables can reference at the start of the region. Thanks to Dave Miller (again) and Peter Chubb. Signed-off-by: Tony Luck [CIFS] handle passwords with multiple commas in them Signed-off-by: Steve French (sfrench@us.ibm.com) [PATCH] NetROM locking Fix deadlock in NetROM due to double locking. I was sent the patch by Alan and have doublechecked it. This bug hits Net/ROM users really hard. It's accepted by DaveM - but just too late to make it into 2.6.11. Signed-off-by: Ralf Baechle Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman [PATCH] Fix stereo mutes on Surround volume control As of 2.6.11, I have no output out of the rear right speaker of my 4.1 surround sound setup. I am using snd-intel8x0 based on a Realtek ALC650F chip on an nvidia motherboard. A gentoo user with completely different hardware also ran into this: http://bugs.gentoo.org/84276 2.6.11-mm3 fixes this problem and I've identified the specific fix, which is already in the ALSA development tree. An ALSA developer asked me to submit the fix for 2.6.11.x when I'd found it, so here it is :) -- AC97 Codec Fix stereo mutes on Surround volume control. Signed-off-by: Takashi Iwai Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman [PATCH] Possible AMD8111e free irq issue It seems to me that if in the amd8111e_open() fuction dev->irq isn't zero and the irq request succeeds it might not get released anymore. Specifically, on failure of the amd8111e_restart() call the function returns -ENOMEM without releasing the irq. The amd8111e_restart() function can fail because of various pci_alloc_consistent() and dev_alloc_skb() calls in amd8111e_init_ring() which is being called by amd8111e_restart. 1374 if(dev->irq ==0 || request_irq(dev->irq, amd8111e_interrupt, SA_SHIRQ, 1375 dev->name, dev)) 1376 return -EAGAIN; Signed-off-by: Jeff Garzik Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman [PATCH] Fix crash while reading /proc/net/route [IPV4]: Fix crash while reading /proc/net/route caused by stale pointers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman [PATCH] [IPSEC]: Fix __xfrm_find_acq_byseq() This function, as it's name implies, is supposed to only return IPSEC objects which are in the XFRM_STATE_ACQ ("acquire") state. But it returns any object with the matching sequence number. This is wrong and confuses IPSEC daemons to no end. [XFRM]: xfrm_find_acq_byseq should only return XFRM_STATE_ACQ states. Signed-off-by: Patrick McHardy Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman [PATCH] : Fix check for underflow http://bugme.osdl.org/show_bug.cgi?id=4279 Summary: When I try to start vpnc the net/core/skbuff.c:91 crash This check is wrong, gcc optimizes it away: if ((len -= sizeof(pi)) > len) return -EINVAL; This could be responsible for the BUG. If len is 2 or 3 and TUN_NO_PI isn't set it underflows. alloc_skb() allocates len + 2, which is 0 or 1 byte. skb_reserve tries to reserve 2 bytes and things explode in skb_put. [TUN]: Fix check for underflow Signed-off-by: Patrick McHardy Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman [PATCH] tasklist left locked On 4-way SMP, about one reboot in twenty hangs while killing processes: exit needs exclusive tasklist_lock, but something still holds read_lock. do_signal_stop race case misses unlock, and fixing it fixes the symptom. Signed-off-by: Hugh Dickins Acked-by: Roland McGrath Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman [PATCH] Possible VIA-Rhine free irq issue It seems to me that in the VIA Rhine device driver the requested irq might not be freed in case the alloc_ring() function fails. alloc_ring() can fail with a ENOMEM return value because of possible pci_alloc_consistent() failures. Updated to CodingStyle. Signed-off-by: Jeff Garzik Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman [PATCH] Fix kernel panic on receive with WAN Hitachi SCA HD6457x Another patch for 2.6.11.x: already in main tree, fixes kernel panic on receive with WAN cards based on Hitachi SCA/SCA-II: N2, C101, PCI200SYN. The attached patch fixes NULL pointer dereference on RX. Signed-off-by: Krzysztof Halasa Acked-by: Jeff Garzik Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman Linux 2.6.11.5 [SPARC64]: Eliminate g5 register usage in semaphore support code. Signed-off-by: David S. Miller [SPARC64]: Kill all smp_tune_scheduling(), totally unused. Kill off cheetah_tune_scheduling() as well. Adrian Bunk's changes made this all apparent. Signed-off-by: David S. Miller [SPARC64]: Kill g5 register usage from rtrap.S Signed-off-by: David S. Miller [CIFS] remove sparse warnings Signed-off-by: Steve French (sfrench@us.ibm.com) [CIFS] whitespace cleanups and source formatting improvements Signed-off-by: Jesper Juhl (juhl-lkml@dif.dk) Signed-off-by: Steve French (sfrench@us.ibm.com) [CIFS] remove redundant null pointer checks before kfrees Signed-off-by: Jesper Juhl (juhl-lkml@dif.dk) Signed-off-by: Steve French (sfrench@us.ibm.com) [ARM PATCH] 2562/2: CL7500 - iomem fixes Patch from Ben Dooks Fixes for iomem annotations in include/asm-arm/arch-cl7500/hardware.h Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2552/2: woops Patch from Nicolas Pitre argh! Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [ARM PATCH] 2563/1: RiscPC - update IOMEM annotations Patch from Ben Dooks Fixes `iomem` annotations on a number of parts of the arch-rpc build, including IO_BASE, IOC_BASE and IOMD_BASE. Changed the include/asm-arm/arch-rpc/io.h and hardware.h to reflect this, and fixed-up the build problems Signed-off-by: Ben Dooks Signed-off-by: Russell King [SERIAL] new hp diva console port Patch from Alex Williamson The patch below adds IDs and setup for a new PCI Diva console port. This device provides a single UART described by PCI Bar 1. ID already submitted to pciids.sf.net. Signed-off-by: Alex Williamson [SERIAL] 8250/sbc8560 bug/fix Patch from Amy Fong On the sbc8560 platform, changes were introduced as of 2.6.10-rc2 which caused the sbc8560 to splutter noise all over the serial console. It seems that ALPHA_KLUDGE_MCR was mulitply and differently defined in both drivers/serial/8250.h and include/linux/serialP.h Below is a patch that clones the definition of ALPHA_KLUDGE_MCR from serialP.h, it has been tested and works on the sbc8560. [MMC] SD support : protocol Patch from Pierre Ossman Protocol definitions. The basic commands needed for the later patches. The R1_APP_CMD seems to be misdefined in protocol.h so this patch changes it. [ARM PATCH] 2557/1: S3C2410 - fix otom/nexcoder buiilds due to sparse fixes Patch from Ben Dooks These two machines where missed out when updating for sparse fixes, return them to building correctly. Signed-off-by: Ben Dooks Signed-off-by: Russell King [SERIAL] sealevel 8 port RS-232/RS-422/RS-485 board Patch from Dick Hollenbeck Vendor Sealevel suggested these changes for its new board. Tried them, they work with the card. Please apply the patch below, which was made from 2.6.10 but can be applied to 2.6.11.2 without errors. [Bluetooth] Remove now unneeded references to sk_protinfo Now that sk_protinfo is not used anymore for storing private protocol information, we can safely remove the code in the socket destruct path to free it. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller Signed-off-by: Marcel Holtmann [Bluetooth] Make another variable static This patch makes another needlessly global variable static. Signed-off-by: Adrian Bunk Signed-off-by: Marcel Holtmann [ARM PATCH] 2539/1: OMAP update 1/10: Arch files Patch from Tony Lindgren This patch syncs the mainline kernel with the linux-omap tree. The patch contains various minor fixes by various OMAP developers. Signed-off-by: Tony Lindgren Signed-off-by: Russell King [ARM PATCH] 2548/1: OMAP update 2/10: Include files Patch from Tony Lindgren This patch syncs the mainline kernel with the linux-omap tree. The patch mostly contains minor fixes and extra register definitions by various OMAP developers. Signed-off-by: Tony Lindgren Signed-off-by: Russell King [ARM PATCH] 2565/1: OMAP update 3/10: Clock changes, take 2 Patch from Tony Lindgren This patch by Tuukka Tikkanen and David Brownell updates OMAP clocks and removes old clocks.h. Signed-off-by: Tony Lindgren Signed-off-by: Russell King [ARM PATCH] 2564/1: OMAP update 4/10: Pin multiplexing updates, take 2 Patch from Tony Lindgren This patch from David Brownell and Nishant Menon adds new pin configurations. A fix for the mux spinlock is also included. Signed-off-by: Tony Lindgren Signed-off-by: Russell King atp870u: Re-merge cleanups From: Alan Cox This restores the Adrian Bunk and Al Viro cleanups that got trashed in the driver update. It also fixes a few formatting glitches and adds cpu_relax() calls to the polls spinning on the controller/bus. Signed-off-by: Alan Cox Signed-off-by: James Bottomley [ARM PATCH] 2546/1: OMAP update 5/10: GPIO interrupt changes Patch from Tony Lindgren This patch fixes problems with missed GPIO interrupts. FPGA interrupt handling is also simplified based on the GPIO changes. Signed-off-by: Tony Lindgren Signed-off-by: Russell King atp870u DMA mask fix From: Alan Cox Noted by James Bottomley Signed-off-by: Alan Cox Signed-off-by: James Bottomley [PATCH] queue <-> sdev reference counting problem There is a problem with the way sdev is freed currently. The reason is really that there is a circular referencing problem: the sdev needs to hold on to the queue, but the queue (through the request function) also needs to hold on to the sdev. The easiest way to work-around this problem is to kill the sdev reference in the queue when the sdev is freed. On invocation of scsi_request_fn(), kill io to this device. Signed-off-by: Jens Axboe Signed-off-by: James Bottomley [PATCH] Misc Lasi 700 fixes Misc Lasi 700 fixes - Use the DMA_32BIT_MASK constants when calling dma_set_mask() Signed-off-by: Tobias Klauser Signed-off-by: Matthew Wilcox - ioremap fixes Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley [ARM PATCH] 2544/1: OMAP update 6/10: Change OCPI to use clock framework Patch from Tony Lindgren This patch by Paul Mundt and Tony Lindgren changes cleans up the OCPI bus code and changes it to use clock framework. Signed-off-by: Tony Lindgren Signed-off-by: Russell King [PATCH] Zalon updates Zalon updates - Add KERN_INFO to printk Signed-off-by: Andrew McGregor Signed-off-by: Domen Puncer Signed-off-by: Matthew Wilcox - Remove iomem-related warnings - Improve printk message - Use cpu_relax() Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley [PATCH] ncr53c8xx update ncr53c8xx update ncr-3.4.3g: - set the starget in slave_alloc instead of slave_configure to avoid problems with drives sending negotiation messages before we try to configure them. - Implement ->get_signalling. - Pass the scsi_cmnd to ncr_get_ccb() instead of the target & lun numbers - All ncr_show_msg() callers changed to use ncr_print_msg() - Combine ncr_show_msg() into ncr_print_msg() - Move ncr_print_msg() to near the top of the file and eliminate prototype - Change PRINT_ADDR() to take a fmt string - Make PRINT_ADDR use dev_info() - Eliminate PRINT_LUN -- all callers can use PRINT_ADDR or dev_info - Replace PRINT_TARGET() with a direct call to dev_info() - Whitespace cleanups - Get rid of superfluous ; after } of if/switch statements - Use IDENTIFY() instead of M_IDENTIFY | ... - Convert to use spi_display_xfer_agreement() Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley [PATCH] Fix small bug in scsi_transport_spi Fix small bug in scsi_transport_spi "reserved" was being printed without a trailing \n. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley [ARM PATCH] 2547/1: Update OMAP 7/10: USB low-level init Patch from Tony Lindgren This patch by David Brownell updates the USB low-level init on OMAP. Signed-off-by: Tony Lindgren Signed-off-by: Russell King [PATCH] fix breakage in the SCSI generic tag code When I redid the target allocation routines, I inadvertently broke the generic tag code. The problem is that the device is added to the host list after slave_configure in the new code. This is too late since if any command disconnects during the initial inquiry phase, we now cannot find the device for the reconnect. The fix is to add the device to the lists earlier. Signed-off-by: James Bottomley [ARM PATCH] 2541/1: OMAP update 8/10: Leds related changes Patch from Tony Lindgren Better leds support by David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King [ARM PATCH] 2542/1: OMAP update 9/10: Board specific updates Patch from Tony Lindgren This patch updates the board specific files for OMAP. The highlights of this patch are: - Change flash memory to use device model style init by Ladislav Michl - USB related resource fixes by David Brownell - Resource fixes for smc91x by Tony Lindgren Signed-off-by: Tony Lindgren Signed-off-by: Russell King [ARM PATCH] 2540/1: OMAP update 10/10: Add boards VoiceBlue and NetStar Patch from Tony Lindgren This patch by Ladislav Michl adds support for boards VoiceBlue and NetStar Signed-off-by: Tony Lindgren Signed-off-by: Russell King Q720: fix compile warning Signed-off-by: James Bottomley [IPV4]: Check multipath ops func pointers against NULL. Multipath algorithms are not required to implement all of the methods. Just the ones they need. Signed-off-by: David S. Miller [IPV4]: Size ip_mp_alg_table[] correctly. Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller ncr53c8xx: Fix small problem with initial negotiation The driver produces messages list this: ncr53c720-1: ID 7, Fast-10, Parity Checking scsi1 : ncr53c8xx-3.4.3g target1:0:1: target did not report SYNC. Vendor: TOSHIBA Model: CD-ROM XM-5401TA Rev: 3605 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation target1:0:1: asynchronous. target1:0:1: Domain Validation skipping write tests target1:0:1: FAST-5 SCSI 4.2 MB/s ST (236 ns, offset 8) target1:0:1: Ending Domain Validation Although everything is fine. The initial "target did not report SYNC" is because the driver is trying to negotiate over the initial inquiry (so, naturally we don't know if it supports sync yet). The solution is to rip out the last remnants of the spontaneous attempts at negotiation to force it to wait for the DV negotiation in slave_configure. Signed-off-by: James Bottomley [SPARC64]: Eliminate g5 register usage from bitops assembly. Signed-off-by: David S. Miller [CIFS] code cleanup, rearranging of large function Mostly following suggestions of Jesper Juhl Signed-of-by: Steve French (sfrench@us.ibm.com) [CRYPTO]: Fix sparse warning in sha256 Signed-off-by: Domen Puncer Signed-off-by: Herbert Xu [CRYPTO]: Fix sparse warning in sha512 Signed-off-by: Domen Puncer Signed-off-by: Herbert Xu [CRYPTO]: Fix sparse warnings in blowfish Signed-off-by: Domen Puncer Signed-off-by: Herbert Xu [CRYPTO]: Fix sparse warnings in tea Signed-off-by: Domen Puncer Signed-off-by: Herbert Xu [ARM] Add vserver syscall allocation Signed-off-by: Russell King SCSI: Re-export code incorrectly made static The interrupt routine in 53c700 is designed to be exported for a future code change Signed-off-by: James Bottomley [Bluetooth] Fix race condition in virtual HCI driver This patch fixes a race condition in the hci_vhci_chr_close() routine of the virtual HCI driver. Signed-off-by: Imre Deak Signed-off-by: Marcel Holtmann [CIFS] streamlining cifs open with various helper functions Signed-off-by: Jesper Juhl (juhl-lkml@dif.dk) Signed-off-by: Steve French (sfrench@us.ibm.com) [XFS] Fix sync mount option to also do metadata updates synchronously. SGI-PV: 932297 SGI-Modid: xfs-linux-melb:xfs-kern:21887a Signed-off-by: Nathan Scott [XFS] Make trivial extension to sync flag to implement dirsync, instead of silently ignoring it. SGI-PV: 932297 SGI-Modid: xfs-linux-melb:xfs-kern:21888a Signed-off-by: Nathan Scott 53c700: Alter interrupt assignment This change makes interrupt assignment the job of the glue driver. The upshot being that the glue driver can now set the name of the interrupt and, in the case of the NCR_D700 driver, make the interrupt routing more efficient. Signed-off-by: James Bottomley [PARISC]: Fix type in unaligned.h header. Meant to include asm-generic/unaligned.h, not make this file include itself :-) Noticed by Mika Kukkonen. Signed-off-by: David S. Miller [SPARC64]: Fix fifth arg pointer check for SEMTIMEDOP. Noticed by Anton Blanchard. Signed-off-by: David S. Miller [ARM PATCH] 2571/1: minor time-keeping fixes for ixp2000 Patch from Lennert Buytenhek There are two very minor issues with time-keeping on the ixp2000: 1. It turns out that if T#_CLD (timer reload value) is set to X, it means the timer will spend a full tick on 0, then a full tick on X, and then start counting down towards 0, which then effectively gives the timer a period of X+1 instead of the intended X. Solve by writing X-1 instead of X to T#_CLD. This is relatively harmless, though -- assuming a 50MHz system clock (like on the ENP-2611) and HZ=100, there will be 500000 timer interrupts generated per 500001 real-world jiffies, but that last timer interrupt will call timer_tick twice, taking the system time from 499999 jiffies plus 20000 usec to 500001 jiffies plus 0 usec. Every 500000th jiffy will 'not exist', and every other jiffy will last 10002us instead of 10000us. 2. next_jiffy_time is initialised as '0xffffffff - ticks_per_jiffy', but timer 4 starts ticking from 0xffffffff downwards, which will cause the time offset in the first 1/HZ sec after timer int init to be negative, and the first timer interrupt ever not to call timer_tick(). Neither of these issues can cause clock drift or backwards clock motion, but it's good to fix them nevertheless. Signed-off-by: Lennert Buytenhek Signed-off-by: Deepak Saxena Signed-off-by: Russell King [ARM PATCH] 2572/1: remove ifdefs from enp2611.c Patch from Lennert Buytenhek If enp2611.c is compiled in, it implies that CONFIG_ARCH_ENP2611 is defined, so we don't need the ifdefs. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King [ARM PATCH] 2573/1: simplify align[bw]() in ixp2000's io.h and update comments Patch from Lennert Buytenhek We currently have a workaround for the fact that early IXP2400s assert byte lanes for PCI I/O transactions the other way round. Newer silicon has a bit that can be set to 1 to get the 'proper' behavior, but since that is not available on older silicon we choose to keep working around this issue by hand. The workaround can be done in an easier way than is currently the case, though -- instead of substracting the lower two bits of the I/O address from 3 and putting the result back into the lower two bits, we can just toggle the two lowest bits using a simple XOR with 3. While we are at it, the outb() macro does not seem to parenthesize its first argument, while outw() and outl() do, so fix this up. Signed-off-by: Lennert Buytenhek Signed-off-by: Deepak Saxena Signed-off-by: Russell King [ARM PATCH] 2574/1: PXA2xx: Save CCLKCFG over sleep Patch from Ian Campbell As discussed on the ARM kernel list, the CCLKCFG[TURBO] bit is documented as being cleared when sleep mode exits so we need to save and restore it ourselves. Signed-off-by: Ian Campbell Signed-off-by: Russell King [PATCH] USBcore and HCD updates This is the second of five updates to usbcore: Rename the hcd->state constants so that they all begin with HC_STATE. Right now some of them start with HCD_STATE and others with USB_STATE, which can be very confusing. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USBcore updates This is the third of five updates to usbcore: Adjust the usb_hc_died routine to eliminate races with root-hub registration/deregistration and have it tell khubd to remove all devices below the root hub. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USBcore updates This is the fourth of five updates to usbcore: Add a new usb_hcd_resume_root_hub function for use by HCDs in processing resume requests from their root hubs. No calls to this new routine are in the patch but they will be added in due course. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [CIFS] add new retry on failure to legacy servers such as NT4 of delete of readonly files. Signed-off-by: Steve French (sfrench@us.ibm.com) [CIFS] Fix NT4 attribute setting Signed-off-by: Steve French (sfrench@us.ibm.com) [PATCH] USBcore updates This is the fifth of five updates to usbcore: Add some extra debugging messages to the hub driver and make it set the power state for root hubs like it does for external hubs. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] UHCI updates This is the first of five updates to the uhci-hcd driver: Rename the uhci->schedule_lock to just plain uhci->lock. Originally I had thought of adding a separate device-management lock, but now it seems better to use a single lock for both purposes. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] UHCI updates This is the second of five updates to the uhci-hcd driver: Reimplement the port reset function by splitting it into two parts like the other HC drivers do, where the second part is triggered by a port status request when the reset finishes. Now the entire hub_control routine can run without sleeping and can hold the device spinlock. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] UHCI updates This is the third of five updates to the uhci-hcd driver: Change the first argument to uhci_finish_completion from hcd to uhci and expand the spinlock-protected region to include the entire timer callback routine plus the suspend and resume routines. It's a little awkward that the reset routine must run without the spinlock, but that whole pathway will vanish before long. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] UHCI updates This is the fourth of five updates to the uhci-hcd driver: Reimplement the get_current_frame routines so that when the controller isn't running they return a cached value. Also add a flag to track whether the controller is running and allow critical data structure updates to occur immediately if the controller is stopped. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] UHCI updates This is the fifth of five updates to the uhci-hcd driver: Separate out the part of the driver responsible for scanning the schedule and doing delayed processing. Put it in a new routine which can be called as needed (such as when the controller is suspended) from several places in addition to the usual IRQ handler. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman PCI Hotplug: enforce the rule that a hotplug slot needs a release function. Signed-off-by: Greg Kroah-Hartman [ALSA] Fix ALC655/658/850 SPDIF playback route AC97 Codec Fix ALC655/658/850 IEC958 (SPDIF) playback route control. Signed-off-by: Takashi Iwai [ALSA] Add DXS support for MSI K8T Neo2-FI VIA82xx driver Added the DXS entry for MSI K8T Neo2-FI. Signed-off-by: Takashi Iwai [ALSA] Fix voice allocation corruption EMU10K1/EMU10K2 driver Fixed the corrupted voice allocation in snd_emu10k1_pcm_channel_alloc(). Signed-off-by: Takashi Iwai [ALSA] emu10k1 - give the subdevices descriptive names EMU10K1/EMU10K2 driver Give the subdevices descriptive names, like 'ADC Capture/Standard PCM Playback' instead of 'EMU10K1' for hw:x,0 and 'Multichannel Capture/PT Playback' instead of 'EMU10K1 EFX' for hw:x,2. Now that qjackctl enumerates the devices automatically, this is a significant usability improvement. Signed-off-by: Lee Revell Signed-off-by: Jaroslav Kysela [ALSA] emu10k1 - Silence the 'BUG (or not enough voices)' message EMU10K1/EMU10K2 driver Silence the 'BUG (or not enough voices)' message. This does not in fact represent a bug; it's a normal ocurrence when the wavetable synth is in use. Signed-off-by: Lee Revell Signed-off-by: Jaroslav Kysela [ALSA] emu10k1 - copyright additions/fixes EMU10K1/EMU10K2 driver The next two patches add my copyright for adding the multichannel PCM support to emupcm.c and emumixer.c. The final patch adds Clemens Ladisch to the copyright on timer.c, rather than just saying 'Copied from similar code by CL'. This has been bugging me for a while, since I just copied and pasted from the ymfpci driver & changed the registers. Signed-off-by: Lee Revell Signed-off-by: Jaroslav Kysela [ALSA] emu10k1 - add support for p16v chip (24-bit playback) EMU10K1/EMU10K2 driver Add 24bit, 96khz support for multichannel playback on the Audigy 2 sound cards. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela [ALSA] isa/Kconfig - added SND_AD1848_LIB and SND_CS4231_LIB tristates ISA This patch fixes problem with missing SND_GENERIC_PM for isa cards using ad1848 and cs4231 library modules. Signed-off-by: Jaroslav Kysela [ALSA] Add proper spin/irq locks to suspend PCM Midlevel Add the proper spin/irq locks to PCM suspend functions so that PCM trigger and pointer callbacks can be called safely without irqsave. Signed-off-by: Takashi Iwai [ALSA] Fix suspend/resume with ATIIXP ATIIXP driver Fixed the suspend/resume with ATIIXP driver. Signed-off-by: Takashi Iwai [ALSA] Fix Oops with timer notifying Timer Midlevel Fixed Oops with timer notifying after TIMER_TREAD ioctl. Signed-off-by: Takashi Iwai [ALSA] Fix resume of es1968 ES1968 driver Fixed the resume of es1968. - restore the running PCM set up properly in resume - ignore spurious hw-vol irqs during resume Signed-off-by: Takashi Iwai [ALSA] Wake up polls and signals at timer notification Timer Midlevel Wake up polls and signals at timer notification (TREAD mode only). Signed-off-by: Takashi Iwai [ALSA] ak4114 (Juli@) - increased delay between statistics update & rate check AK4114 receiver Signed-off-by: Jaroslav Kysela [ALSA] Use full-digital model as default for CMI9880 HDA Codec driver Use full-digital model as default for CMI9880 rather than the minimal model. Signed-off-by: Takashi Iwai [ALSA] Add new C-Media 9880 codec ID HDA Codec driver Following change need to be added for newer C-Media 9880 codec ID. Signed-off-by: ChenLi Tien Signed-off-by: Takashi Iwai [ALSA] documentation - clarify information about atomic callbacks Documentation Document that the ack callback is atomic, too, and that the atomic callbacks are called with disabled interrupts. Additionally, clarify the description of the rawmidi trigger callback. Signed-off-by: Clemens Ladisch [ALSA] remove superfluous spin_lock_irqsave calls MPU401 UART,CS4281 driver,ENS1370/1+ driver,CS46xx driver RME HDSP driver In PCM trigger and pointer callbacks, replace spin_lock_irqsave() with spin_lock() because interrupts are already guaranteed to be disabled. Signed-off-by: Clemens Ladisch [ALSA] fix P16V breakage for non Audigy2 cards EMU10K1/EMU10K2 driver The P16V patch unconditionally checks the IPR2 register in the interrupt handler resulting in infinite loop and system lockup on any non Audigy2 cards. I really hate checking emu->is_audigy and emu->revision in a fast path like the IRQ handler but I don't see another way. Also, don't bother allocating/freeing the DMA buffer for P16V unless it's really present. This is a critical fix and should trigger an immediate rc2 release IMO. Currently any emu10k1 users other than Audigy 2 will lock up hard as soon as they play any sound. Signed-off-by: Lee Revell Signed-off-by: Takashi Iwai [ALSA] fix misc oopses EMU10K1/EMU10K2 driver Fix Oops with Multi-channel (EFX) mixer controls. Signed-off-by: Arnaud Patard Signed-off-by: Takashi Iwai [ALSA] Fix typos ALSA sequencer,ALSA Core Fix typos in alsa-kernel code for MIDI sostenuto. Signed-off-by: William Signed-off-by: Takashi Iwai [ALSA] rme32 - remove superfluous spin_lock_irqsave call RME32 driver In the PCM trigger callback, replace spin_lock_irqsave() with spin_lock() because interrupts are already guaranteed to be disabled. Signed-off-by: Clemens Ladisch [ALSA] fix bug with pci hotplug mode MIXART driver There is a bug with mixart driver, when using hotplug: accessing NULL pointer -> segmentation fault Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai [ALSA] Fix SPDIF output on CMI9880 HDA Codec driver There is mute control on 9880's spdif (IEC958) out, so it needs to be turned on/off in mixer. The patch is for CVS version and I think it can be patched to azx too. Hope this also fix the 9880 SPDIF-out bug. Signed-off-by: ChenLi Tien Signed-off-by: Takashi Iwai [ALSA] Replace '/' with commas in ac97 codec names AC97 Codec Replaced '/' letters with commas in ac97 codec names, so that they can be used for sysfs entries in ac97_bus. Signed-off-by: Takashi Iwai [ALSA] rawmidi - fix locking in drop_output and drain_input RawMidi Midlevel The comments in snd_rawmidi_drop_output and snd_rawmidi_drain_input are wrong -- interrupts _are_ enabled, and spinlocks _are_ required. So remove the comments and add spinlocks. Signed-off-by: Clemens Ladisch [ALSA] rawmidi - move output trigger into a tasklet Documentation,RawMidi Midlevel Calling the output trigger callback from another interrupt handler can lead to unintuitive locking requirements (i.e., spin_lock_irqsave) in the sound card interrupt handler. Moving the call to the callback into a tasklet cures this, and has the added benefit that the callback is called only once if more that one sequencer event has been delivered in one timer interrupt tick. Signed-off-by: Clemens Ladisch [ALSA] remove unneeded interrupt locks in rawmidi drivers Generic drivers,MPU401 UART,CS4281 driver,ENS1370/1+ driver CS46xx driver,EMU10K1/EMU10K2 driver Now that the output trigger callback is called from a softirq instead of an hardirq, we don't need anymore to disable interrupts in our interrupt handlers. Signed-off-by: Clemens Ladisch