commit 08e15e81a40e3241ce93b4a43886f3abda184aa6 Author: Linus Torvalds Date: Tue Mar 6 20:41:20 2007 -0800 Linux 2.6.21-rc3 .. hopefully most of the resume/suspend problems introduced by the timer and other changes are behind us. Signed-off-by: Linus Torvalds commit 38f3323037de22bb0089d08be27be01196e7148b Author: Linus Torvalds Date: Tue Mar 6 19:38:01 2007 -0800 Revert "[PATCH] LOG2: Alter get_order() so that it can make use of ilog2() on a constant" This reverts commit 39d61db0edb34d60b83c5e0d62d0e906578cc707. The commit was buggy in multiple ways: - the conversion to ilog2() was incorrect to begin with - it tested the wrong #defines, so on all architectures but FRV you'd never see the bug except for constant arguments. - the new "get_order()" macro used its arguments multiple times, and didn't even parenthesize them properly - despite the comments, it was not true that you could use it for constant initializers, since not all architectures even use the generic page.h header file. All of the problems are individually fixable, but it all boils down to: better just revert it, and re-do it from scratch. Cc: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 5d6deb940f880140fbcf5ec42e92534e78785e99 Author: Greg Ungerer Date: Wed Mar 7 11:28:13 2007 +1000 [PATCH] m68knommu: remove local_bh_count Remove un-used/un-referenced local_bh_count. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 1ed35e0d8afd7cd57f5b592e56f2af6794bab5c5 Author: Greg Ungerer Date: Wed Mar 7 11:28:13 2007 +1000 [PATCH] m68knommu: use irq_handler_t and rtc_time in prototypes Use irq_handler_t for passing clock handler routine around. And use new rtc_time in place of hwclock_time. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 8bb25184b3bed4930f65a138faf1905ca96054af Author: Greg Ungerer Date: Wed Mar 7 11:28:13 2007 +1000 [PATCH] m68knommu: GPIO line defines for the ColdFire 5282 For the Freescale M5282 ColdFire, Port UA Pin Assignment Register should set to UART mode. Patch submitted by David Wu . Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 28580df03e18c33dd29af83c23c1d52f3df320f1 Author: Greg Ungerer Date: Wed Mar 7 11:28:13 2007 +1000 [PATCH] m68knommu: fix work queues in mcfserial.c driver Fix work queue code to support new model. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit ebfcfef44e4a759dd08a4b5e28848787b5530c0c Author: Greg Ungerer Date: Wed Mar 7 11:28:13 2007 +1000 [PATCH] m68knommu: set GPIO lines for serial ports on 5282 in mcfserial.c For the Freescale M5282 ColdFire, Port UA Pin Assignment Register should set to UART mode. Patch submitted by David Wu . Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 8668fb5d8d1bbae1492baf4b8d72b5151a5c4d40 Author: Greg Ungerer Date: Wed Mar 7 11:28:13 2007 +1000 [PATCH] m68knommu: use irq_handler_t and remove regs arg for 68328 Remove regs arg from bad interrupt handler. Use irq_handler_t type for handler arg of local request_irq(). Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 1ea9acc7823587266a26293a3b74deafc6637427 Author: Greg Ungerer Date: Wed Mar 7 11:28:13 2007 +1000 [PATCH] m68knommu: use irq_handler_t for passing handler types in 68328 setup Use irq_handler_t type for passing around timer interrupt routine in 368360 setup code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit b032fde9097605f9f1099eeca28f3b5b09e55ec0 Author: Greg Ungerer Date: Wed Mar 7 11:28:13 2007 +1000 [PATCH] m68knommu: use irq_handler_t for passing handler types in 68360 setup Use irq_handler_t type for passing around timer interrupt routine. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 03154a271012031ad6336dc3344679440ba49c24 Author: Mark Gross Date: Tue Mar 6 13:58:45 2007 -0800 [PATCH] minor updat to tlclk Kconfig entry The tlclk driver is going on the MPCBL005 so I need to make the Kconfig more more generic. Just some text changes. Signed-off-by: Mark Gross Signed-off-by: Linus Torvalds commit 059819a41d4331316dd8ddcf977a24ab338f4300 Author: Marcel Holtmann Date: Tue Mar 6 22:12:00 2007 +0100 [PATCH] Fix buffer overflow in Omnikey CardMan 4040 driver (CVE-2007-0005) Based on a patch from Don Howard When calling write() with a buffer larger than 512 bytes, the driver's write buffer overflows, allowing to overwrite the EIP and execute arbitrary code with kernel privileges. In read(), there exists a similar problem, but coming from the device. A malicous or buggy device sending more than 512 bytes can overflow of the driver's read buffer, with the same effects as above. Signed-off-by: Marcel Holtmann Signed-off-by: Harald Welte Signed-off-by: Linus Torvalds commit 266d4f40370757459f8aa063976c932d0de5e59b Author: Hugh Dickins Date: Tue Mar 6 19:20:11 2007 +0000 [PATCH] suspend regression: sysfs deadlock Suspend deadlocks when trying to unregister /sys/block/sr0. This comes from Oliver's commit 94bebf4d1b8e7719f0f3944c037a21cfd99a4af7 "Driver core: fix race in sysfs between sysfs_remove_file() and read()/write()". sysfs_write_file downs buffer->sem while calling flush_write_buffer, and flushing that particular write buffer entails downing buffer->sem in orphan_all_buffers, resulting in the obvious self-deadlock. Signed-off-by: Linus Torvalds commit 063ea774b021c70fa96139eb601f894aff8941c0 Author: Ralf Baechle Date: Tue Mar 6 20:28:02 2007 +0000 [MIPS] IP27: Build fix Signed-off-by: Ralf Baechle commit 08253b39f861e6167aa3acbe155f304ee800ce5a Author: Ralf Baechle Date: Tue Mar 6 17:04:49 2007 +0000 [MIPS] Wire up ioprio_set and ioprio_get. Signed-off-by: Ralf Baechle commit d52c2d5a626a2cb1848fa7063b3ab79e2752dac7 Author: Dave Johnson Date: Mon Mar 5 20:50:27 2007 -0500 [MIPS] Fix __raw_read_trylock() to allow multiple readers A deadlock can occur for mixed irq and non-irq rwlock readers if a 2nd reader attempts to take lock by looping around __raw_read_trylock(). Signed-off-by: Dave Johnson Signed-off-by: Ralf Baechle commit d0c91ae2bb3df9d7bef279d8f400e0c8ddde0b5e Author: Ralf Baechle Date: Mon Mar 5 15:54:20 2007 +0000 [MIPS] Export __copy_user_inatomic. Signed-off-by: Ralf Baechle commit b961153be981884d9eea4a6752b8169e44857c09 Author: Ralf Baechle Date: Mon Mar 5 00:56:15 2007 +0000 [MIPS] R2 bitops compile fix for gcc < 4.0. Signed-off-by: Ralf Baechle commit a5664c40750ce423f308dfd01ad4e82ecb7ac127 Author: Atsushi Nemoto Date: Mon Mar 5 00:41:39 2007 +0900 [MIPS] TX39: Remove redundant tx39_blast_icache() calls Apply commit 0550d9d13e02b30efa117d47fcadea450bb23d23 to c-tx39.c too. And fix a warning in local_tx39_flush_data_cache_page(). Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0a22e0d43b6d6468544dd7559d5f3c4acb8b536e Author: Yoichi Yuasa Date: Fri Mar 2 12:42:33 2007 +0900 [MIPS] Cobalt: Fix early printk Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 57a2050c408620613c5715171364de2cc5566f22 Author: Ralf Baechle Date: Sun Mar 4 18:27:34 2007 +0000 [MIPS] SMTC: De-obscure Malta hooks. Should now be understandable why the thing works ... Signed-off-by: Ralf Baechle commit b3920590b589a1dbb41eb58ef0ed2699f136482a Author: Ralf Baechle Date: Sun Mar 4 18:25:51 2007 +0000 [MIPS] SMTC: Add fordward declarations for mm_struct and task_struct. Signed-off-by: Ralf Baechle commit 32fac80be6df4a2a09f7093b7f51bb6bc3ebef97 Author: Ralf Baechle Date: Sun Mar 4 18:23:48 2007 +0000 [MIPS] SMTC: must include Signed-off-by: Ralf Baechle commit 22e651c6ae78bc779e420d3092f962442dd31305 Author: Ralf Baechle Date: Sun Mar 4 18:22:56 2007 +0000 [MIPS] SMTC: must include Signed-off-by: Ralf Baechle commit f76b7ea48afb6daecbbc26f5408a75ac66b1cf23 Author: Ralf Baechle Date: Sun Mar 4 17:26:56 2007 +0000 [MIPS] Atlas, Malta: Fix build warning. Signed-off-by: Ralf Baechle commit cee87af2a5f75713b98d3e65e43872e547122cd5 Author: Magnus Damm Date: Tue Mar 6 02:34:26 2007 -0800 [IA64] kexec: Use EFI_LOADER_DATA for ELF core header The address where the ELF core header is stored is passed to the secondary kernel as a kernel command line option. The memory area for this header is also marked as a separate EFI memory descriptor on ia64. The separate EFI memory descriptor is at the moment of the type EFI_UNUSABLE_MEMORY. With such a type the secondary kernel skips over the entire memory granule (config option, 16M or 64M) when detecting memory. If we are lucky we will just lose some memory, but if we happen to have data in the same granule (such as an initramfs image), then this data will never get mapped and the kernel bombs out when trying to access it. So this is an attempt to fix this by changing the EFI memory descriptor type into EFI_LOADER_DATA. This type is the same type used for the kernel data and for initramfs. In the secondary kernel we then handle the ELF core header data the same way as we handle the initramfs image. This patch contains the kernel changes to make this happen. Pretty straightforward, we reserve the area in reserve_memory(). The address for the area comes from the kernel command line and the size comes from the specialized EFI parsing function vmcore_find_descriptor_size(). The kexec-tools-testing code for this can be found here: http://lists.osdl.org/pipermail/fastboot/2007-February/005983.html Signed-off-by: Magnus Damm Cc: Simon Horman Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 41d5e5d73ecef4ef56b7b4cde962929a712689b4 Author: Nick Piggin Date: Tue Mar 6 02:34:25 2007 -0800 [IA64] permon use-after-free fix Perfmon associates vmalloc()ed memory with a file descriptor, and installs a vma mapping that memory. Unfortunately, the vm_file field is not filled in, so processes with mappings to that memory do not prevent the file from being closed and the memory freed. This results in use-after-free bugs and multiple freeing of pages, etc. I saw this bug on an Altix on SLES9. Haven't reproduced upstream but it looks like the same issue is there. Signed-off-by: Nick Piggin Cc: Stephane Eranian Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 50157b09b33c2ec3637d3b317b06a7235c57c7f2 Author: Alexandr Andreev Date: Tue Mar 6 02:34:24 2007 -0800 [IA64] sync compat getdents Add VERIFY_WRITE check in the beginning like compat_sys_getdents() (EINVAL vs EFAULT). Signed-off-by: Alexandr Andreev Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit a27e5a13d5863bb9de0ac80cb4bb3f4442f0aad1 Author: Lee Schermerhorn Date: Tue Mar 6 02:34:23 2007 -0800 [IA64] always build arch/ia64/lib/xor.o Always build ia64 xor.o because multiple config options now depend on it. Necessary to build .20-mm* on ia64 when, e.g., CONFIG_ASYNC_TX_DMA is defined. Don't know if '_ASYNC_TX_DMA makes sense on ia64. If not, maybe Kconfig should preclude it. Could have defined a Kconfig option that defaults to true if MD_RAID456 || ASYNC_TX_DMA to control building of xor.o, but xor.o is only 848 bytes and this IS ia64... Signed-off-by: Lee Schermerhorn Cc: Bob Picco Cc: Eric Whitney Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit d826393cdebe340b3716002bfb1298ab19b57e83 Author: schwab@suse.de Date: Tue Mar 6 02:34:22 2007 -0800 [IA64] Remove stack hard limit on ia64 Un-Breaks pthreads, since Oct 2003. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit f4a570997e71b892805a1e71303d09c327af135f Author: Horms Date: Tue Mar 6 02:34:21 2007 -0800 [IA64] point saved_max_pfn to the max_pfn of the entire system Make saved_max_pfn point to max_pfn of entire system. Without this patch is so that vmcore is zero length on ia64. This is because saved_max_pfn was wrongly being set to the max_pfn of the crash kernel's address space, rather than the max_pfg on the physical memory of the machine - the whole purpose of vmcore is to access physical memory that is not part of the crash kernel's addresss space. Signed-off-by: Simon Horman Signed-off-by: Zou Nan hai Sort-Of-Acked-By: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 99c72ce091ec85868a0847e598eb7562dc0d8205 Author: Gerrit Renker Date: Tue Mar 6 14:24:44 2007 -0800 [DCCP]: Set RTO for newly created child socket This mirrors a recent change in tcp_open_req_child, whereby the icsk_rto of the newly created child socket was not set (but rather on the parent socket). Same fix for DCCP. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4d46861be6196d0f1614724590968d8da26af82a Author: Gerrit Renker Date: Tue Mar 6 14:24:18 2007 -0800 [DCCP]: Correctly split CCID half connections This fixes a bug caused by a previous patch, which causes DCCP servers in LISTEN state to not receive packets. This patch changes the logic so that * servers in either LISTEN or OPEN state get the RX half connection packets * clients in OPEN state get the TX half connection packets Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 1e51f9513e6b021abcaefd7c76f9b5d682f83232 Author: Johannes Berg Date: Tue Mar 6 13:44:06 2007 -0800 [NET]: Fix compat_sock_common_getsockopt typo. This patch fixes a typo in compat_sock_common_getsockopt. Signed-off-by: Johannes Berg Acked-by: James Morris Signed-off-by: David S. Miller commit 25667d675454f2cd258c5fa798a2281af1ef2ae9 Author: Tony Luck Date: Tue Mar 6 13:31:45 2007 -0800 Revert "[IA64] swiotlb abstraction (e.g. for Xen)" This reverts commit 51099005ab8e09d68a13fea8d55bc739c1040ca6. commit 64a146513f8f12ba204b7bf5cb7e9505594ead42 Author: David S. Miller Date: Tue Mar 6 11:21:05 2007 -0800 [NET]: Revert incorrect accept queue backlog changes. This reverts two changes: 8488df894d05d6fa41c2bd298c335f944bb0e401 248f06726e866942b3d8ca8f411f9067713b7ff8 A backlog value of N really does mean allow "N + 1" connections to queue to a listening socket. This allows one to specify "0" as the backlog and still get 1 connection. Noticed by Gerrit Renker and Rick Jones. Signed-off-by: David S. Miller commit c7276fde27bca89798f33c0be9543dc108468788 Author: Rafael J. Wysocki Date: Tue Mar 6 01:42:24 2007 -0800 [PATCH] kconfig: Update swsusp description Update the outdated and inaccurate description of the software suspend in Kconfig. Signed-off-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42a7fc4a6598221f1a547a76cdd45a8ab4d90e93 Author: Greg Banks Date: Tue Mar 6 01:42:23 2007 -0800 [PATCH] knfsd: provide sunrpc pool_mode module option Provide a module param "pool_mode" for sunrpc.ko which allows a sysadmin to choose the mode for mapping NFS thread service pools to CPUs. Values are: auto choose a mapping mode heuristically global (default, same as the pre-2.6.19 code) a single global pool percpu one pool per CPU pernode one pool per NUMA node Note that since 2.6.19 the hardcoded behaviour has been "auto", this patch makes the default "global". The pool mode can be changed after boot/modprobe using /sys, if the NFS and lockd services have been shut down. A useful side effect of this change is to fix a small memory leak when unloading the module. Signed-off-by: Greg Banks Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cda1fd4abd773216a888487af0170d0cc3d50454 Author: NeilBrown Date: Tue Mar 6 01:42:22 2007 -0800 [PATCH] knfsd: fix recently introduced problem with shutting down a busy NFS server When the last thread of nfsd exits, it shuts down all related sockets. It currently uses svc_close_socket to do this, but that only is immediately effective if the socket is not SK_BUSY. If the socket is busy - i.e. if a request has arrived that has not yet been processes - svc_close_socket is not effective and the shutdown process spins. So create a new svc_force_close_socket which removes the SK_BUSY flag is set and then calls svc_close_socket. Also change some open-codes loops in svc_destroy to use list_for_each_entry_safe. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a05ed73e1abfd7e0e7d474817245861deaa18af Author: NeilBrown Date: Tue Mar 6 01:42:22 2007 -0800 [PATCH] knfsd: remove CONFIG_IPV6 ifdefs from sunrpc server code They don't really save that much, and aren't worth the hassle. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a37f5787e76bf1765c1add3a9a7163f841a28bb Author: NeilBrown Date: Tue Mar 6 01:42:21 2007 -0800 [PATCH] knfsd: use recv_msg to get peer address for NFSD instead of code-copying The sunrpc server code needs to know the source and destination address for UDP packets so it can reply properly. It currently copies code out of the network stack to pick the pieces out of the skb. This is ugly and causes compile problems with the IPv6 stuff. So, rip that out and use recv_msg instead. This is a much cleaner interface, but has a slight cost in that the checksum is now checked before the copy, so we don't benefit from doing both at the same time. This can probably be fixed. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e8cd28a084691587549630dce728661401d343b Author: Jeff Dike Date: Tue Mar 6 01:42:20 2007 -0800 [PATCH] uml: comment the initialization of a global Comment the fact that sig_info is initialized early in boot, and thus doesn't need any locking. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4cf95c69a72baf90b8f275294a3ff3d282ffe09 Author: Jeff Dike Date: Tue Mar 6 01:42:19 2007 -0800 [PATCH] uml: add a debugging message Add a debugging message in the case that mapping a stub fails. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c7a89499a1089a36e40de2db54ff82f5988270d Author: Jeff Dike Date: Tue Mar 6 01:42:18 2007 -0800 [PATCH] uml: fix formatting violations in signal delivery code Fix a few formatting bugs in the signal code. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b46e650165f691a30ddede1a79d2df02f3459d7 Author: Jeff Dike Date: Tue Mar 6 01:42:17 2007 -0800 [PATCH] linux/audit.h needs linux/types.h Include linux/types.h here because we need a definition of __u32. This file appears not be exported verbatim by libc, so I think this doesn't have any userspace consequences. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f991633de626a5f16069d00e26b45142e037ce24 Author: Dimitri Gorokhovik Date: Tue Mar 6 01:42:17 2007 -0800 [PATCH] initramfs should not depend on CONFIG_BLOCK initramfs ended up depending on BLOCK: INITRAMFS_SOURCE <-- BLK_DEV_INITRD <-- BLOCK This inhibits use of customized-initramfs-over-ramfs without block layer (ramfs would still be enabled), useful in embedded applications. Move BLK_DEV_INITRD out of 'drivers/block/Kconfig' and into 'init/Kconfig', make it unconditional. Signed-off-by: Dimitri Gorokhovik Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de69fee82c5962fb7bdaf6eb8a81302f418d1a1d Author: Mike Miller (OS Dev) Date: Tue Mar 6 01:42:16 2007 -0800 [PATCH] cciss: add struct pci_driver shutdown support (replaces reboot notifier) This patch adds support for the struct pci_driver shutdown method to cciss. We require notification of an impending reboot or shutdown so that we can flush the battery backed write cache (BBWC) on the Smart Array controller. Signed-off-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97c06978515ed6e071bfd4a5e858837dd2b0edcf Author: Mike Miller (OS Dev) Date: Tue Mar 6 01:42:14 2007 -0800 [PATCH] cciss: fix for 2TB support This patch changes the way we determine if a logical volume is larger than 2TB. The original test looked for a total_size of 0. Originally we added 1 to the total_size. That would make our read_capacity return size 0 for >2TB lv's. We assumed that we could not have a lv size of 0 so it seemed OK until we were in a clustered system. The backup node would see a size of 0 due to the reservation on the drive. That caused the driver to switch to 16-byte CDB's which are not supported on older controllers. After that everything was broken. It may seem petty but I don't see the value in trying to determine if the LBA is beyond the 2TB boundary. That's why when we switch we use 16-byte CDB's for all read/write operations. Please consider this for inclusion. Signed-off-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6ad67112a78623025632865d716b2f7645874c5 Author: Josh Triplett Date: Tue Mar 6 01:42:13 2007 -0800 [PATCH] Publish rcutorture module parameters via sysfs, read-only rcutorture's module parameters currently use permissions of 0, so they don't show up in /sys/module/rcutorture/parameters. Change the permissions on all module parameters to world-readable (0444). rcutorture does all of its initialization and thread startup when loaded and relies on the parameters not changing during execution, so they should not permit writing. However, reading seems fine. Signed-off-by: Josh Triplett Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5efee174f8a101cafb1607d2b629bed353701457 Author: Alexey Dobriyan Date: Tue Mar 6 01:42:13 2007 -0800 [PATCH] geode-aes: use unsigned long for spin_lock_irqsave Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57bf63d69cb6b7064e6fec5e83da4e1918168282 Author: Dave Kleikamp Date: Tue Mar 6 01:42:12 2007 -0800 [PATCH] fs: nobh_truncate_page() fix This fixes a regression caused by 22c8ca78f20724676b6006232bf06cc3e9299539. nobh_prepare_write() no longer marks the page uptodate, so nobh_truncate_page() needs to do it. Signed-off-by: Dave Kleikamp Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90675a27fa3eb0e97f1d040b183cceb44316e669 Author: Daniel Walker Date: Tue Mar 6 01:42:11 2007 -0800 [PATCH] fix vsyscall settimeofday I've only seen this on x86_64. The vsyscall state only gets updated when a timer interrupts comes in. So if the time is set long before the next timer, there will be a period when a gettimeofday() won't reflect the correct time. I added an explicit update_vsyscall() during the settimeofday(), that way the vsyscall state doesn't get stale. Signed-off-by: Daniel Walker Cc: Thomas Gleixner Acked-by: Ingo Molnar Acked-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a434814c7a6500b08bf4419ba8712b152d08d08 Author: Peter Zijlstra Date: Tue Mar 6 01:42:09 2007 -0800 [PATCH] mqueue: nested locking annotation Fix http://bugzilla.kernel.org/show_bug.cgi?id=8130 Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a6753ca08541437f4c243708d2011b4758e17e8 Author: Adrian Bunk Date: Tue Mar 6 01:42:08 2007 -0800 [PATCH] remove arch/i386/kernel/tsc.c:custom_sched_clock Remove the no longer used custom_sched_clock. Signed-off-by: Adrian Bunk Acked-by: Zachary Amsden Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8953856eb8dd62232aee6cacb46993dc2ac4869 Author: Thomas Gleixner Date: Tue Mar 6 01:42:08 2007 -0800 [PATCH] highres: do not run the TIMER_SOFTIRQ after switching to highres mode The TIMER_SOFTIRQ runs the hrtimers during bootup until a usable clocksource and clock event sources are registered. The switch to high resolution mode happens inside of the TIMER_SOFTIRQ, but runs the softirq afterwards. That way the tick emulation timer, which was set up in the switch to highres might be executed in the softirq context, which is a BUG. The rbtree has not to be touched by the softirq after the highres switch. This BUG was observed by Andres Salomon, who provided the information to debug it. Return early from the softirq, when the switch was sucessful. [dilinger@debian.org: add debug warning] [akpm@linux-foundation.org: make debug warning compile] Signed-off-by: Thomas Gleixner Cc: Andres Salomon Acked-by: Ingo Molnar Signed-off-by: Andres Salomon Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1d67174b42a02c7d106894df0ed155d595871f7 Author: Andres Salomon Date: Tue Mar 6 01:42:07 2007 -0800 [PATCH] hrtimers: hrtimer_clock_base description typo The description for the hrtimer_clock_base struct describes "hrtimer_base". That should be hrtimer_clock_base. Signed-off-by: Andres Salomon Acked-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8437fdc7428eac363579bf0cce2526c35573735c Author: Andres Salomon Date: Tue Mar 6 01:42:06 2007 -0800 [PATCH] hrtimers: fix HRTIMER_CB_IRQSAFE_NO_SOFTIRQ description The description for HRTIMER_CB_IRQSAFE_NO_SOFTIRQ is backwards; "NO SOFTIRQ" sounds a whole lot like it means it must not be run in a softirq. Signed-off-by: Andres Salomon Acked-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2272b0e03ea5731aca058eaf79c9955b36f0c083 Author: Andres Salomon Date: Tue Mar 6 01:42:05 2007 -0800 [PATCH] i386: make x86_64 tsc header require i386 rather than vice-versa Prior to commit 95492e4646e5de8b43d9a7908d6177fb737b61f0 ([PATCH] x86: rewrite SMP TSC sync code), the headers in asm-i386 did not really require anything in include/asm-x86_64. This means that distributions such as fedora did not include asm-x86_64 in kernel-devel headers for i386. Ingo's commit changed that, and broke things. This is easy enough to hack around in package builds by just including asm-x86_64 on i386, but that's kind of annoying. If anything, x86_64 should depend upon i386, not the other way around. This patch changes it so that asm-x86_64/tsc.h includes asm-i386/tsc.h, rather than vice-versa. Signed-off-by: Andres Salomon Acked-by: Ingo Molnar Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e585047ef97b4002a7f416b0ca01ab894f7755de Author: Thomas Gleixner Date: Tue Mar 6 01:42:04 2007 -0800 [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 3 The obsolete SA_xxx interrupt flags have been used despite the scheduled removal. Fixup the remaining users. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0de1517e23c2e28d58a6344b97a120596ea200bb Author: Mark Lord Date: Tue Mar 6 01:42:03 2007 -0800 [PATCH] Fix 2.6.21 rfcomm lockups Any attempt to open/use a bluetooth rfcomm device locks up scheduling completely on my machine. Interrupts (ping, alt-sysrq) seem to be alive, but nothing else. This was working fine in 2.6.20, broken now in 2.6.21-rc2-git* Reverting this change (below) fixes it: | author Marcel Holtmann | Sat, 17 Feb 2007 22:58:57 +0000 (23:58 +0100) | committer David S. Miller | Mon, 26 Feb 2007 19:42:41 +0000 (11:42 -0800) | commit c1a3313698895d8ad4760f98642007bf236af2e8 | tree 337a876f727061362b6a169f8759849c105b8f7a tree | snapshot | parent f5ffd4620aba9e55656483ae1ef5c79ba81f5403 commit | diff | | [Bluetooth] Make use of device_move() for RFCOMM TTY devices | | In the case of bound RFCOMM TTY devices the parent is not available | before its usage. So when opening a RFCOMM TTY device, move it to | the corresponding ACL device as a child. When closing the device, | move it back to the virtual device tree. | Signed-off-by: Marcel Holtmann The simplest fix for this bug is to prevent sysfs_move_dir() from self-deadlocking when (old_parent == new_parent). This patch prevents total system lockup when using rfcomm devices. Signed-off-by: Mark Lord Acked-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 166f60dde0f3793e67bd0d76952eaa46705bbaa9 Author: James Simmons Date: Tue Mar 6 01:42:02 2007 -0800 [PATCH] fbdev: fix kconfig error if FB_DDC=n Fix the following error if FB_DDC=n Kernel: arch/x86_64/boot/bzImage is ready (#1) Building modules, stage 2. MODPOST 229 modules WARNING: "fb_ddc_read" [drivers/video/nvidia/nvidiafb.ko] undefined! make[1]: *** [__modpost] Error 1 Signed-off-by: Antonino Daplas Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df470c30da7900a3fbc48e3d34187a3786c1acdb Author: Randy Dunlap Date: Tue Mar 6 01:42:01 2007 -0800 [PATCH] atyfb: fix kconfig error part 2 Fix implicit declarations and missing code in atyfb. drivers/video/aty/atyfb_base.c:2137: warning: implicit declaration of function 'a ty_ld_lcd' drivers/video/aty/atyfb_base.c:2154: warning: implicit declaration of function 'a ty_st_lcd' atyfb_base.c:(.text+0x33e5c): undefined reference to `aty_ld_lcd' atyfb_base.c:(.text+0x33eb2): undefined reference to `aty_st_lcd' Signed-off-by: Randy Dunlap Signed-off-by: Antonino Daplas Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9860ecf2553fbc4c3bd66f5df7e82a6d5179775 Author: Dave Jones Date: Tue Mar 6 01:42:00 2007 -0800 [PATCH] nvidiafb backlight: Fix implicit declaration in nv_backlight drivers/video/nvidia/nv_backlight.c: In function 'nvidia_bl_init': drivers/video/nvidia/nv_backlight.c:103: error: implicit declaration of function 'pmac_has_backlight_type' Signed-off-by: Dave Jones Signed-off-by: Antonino Daplas Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6261d720da40c51af96881ed210fe80f10138a7b Author: Andrew Morton Date: Tue Mar 6 01:41:58 2007 -0800 [PATCH] fix build with CONFIG_NO_IDLE_HZ=n arch/i386/kernel/vmi.c: In function 'vmi_safe_halt': arch/i386/kernel/vmi.c:262: warning: implicit declaration of function 'vmi_stop_hz_timer' arch/i386/kernel/vmi.c:266: warning: implicit declaration of function 'vmi_account_time_restart_hz_timer' Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: Zachary Amsden Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6321dd60c76b2e12383bc06046288b15397ed3a0 Author: Thomas Gleixner Date: Tue Mar 6 08:25:42 2007 +0100 [PATCH] Save/restore periodic tick information over suspend/resume The programming of periodic tick devices needs to be saved/restored across suspend/resume - otherwise we might end up with a system coming up that relies on getting a PIT (or HPET) interrupt, while those devices default to 'no interrupts' after powerup. (To confuse things it worked to a certain degree on some systems because the lapic gets initialized as a side-effect of SMP bootup.) This suspend / resume thing was dropped unintentionally during the last-minute -mm code reshuffling. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 6185af1f4254a53563fe6d6af652f5775fc70e25 Author: Jaroslav Kysela Date: Tue Mar 6 14:10:08 2007 +0100 [ALSA] version 1.0.14rc3 Signed-off-by: Jaroslav Kysela commit a715dfc7b9ef15ed5b398b185bd84cc015ff37f6 Author: Pierre Ossman Date: Tue Mar 6 13:38:49 2007 +0100 sdhci: release irq during suspend Release the device's irq during sleep, as all well-behaved drivers should. Signed-off-by: Pierre Ossman commit 62df67a523acd7a22d936bf946b1889dbd60ca98 Author: Mark Lord Date: Tue Mar 6 13:30:13 2007 +0100 sdhci: make isr tolerant of read errors The interrupt is shared with another device, which resumes earlier than the sdhci controller, and generates an interrupt. The sdhci interrupt handler runs, sees 0xffffffff in its own device's interrupt status, and tries to handle it.. The reason for the 0xffffffff is that the device is still suspended, and *all* regs are reading back 0xffffffff. Signed-off-by: Mark Lord Signed-off-by: Andrew Morton Signed-off-by: Pierre Ossman commit cd9277c011a99769fa371521b460ed57f6d280b1 Author: Pierre Ossman Date: Sun Feb 18 12:07:47 2007 +0100 mmc: require explicit support for high-speed The new high-speed timings are similar to each other and the old system, but not identical. And although things "just work" most of the time, sometimes it does not. So we need to start marking which hosts are known to fully comply with the new timings. Signed-off-by: Pierre Ossman commit c5f93cf19df633a8dbd7adf8130d604eec96e145 Author: Pierre Ossman Date: Mon Feb 19 11:34:43 2007 +0100 ncpfs: make sure server connection survives a kill Use internal buffers instead of the ones supplied by the caller so that a caller can be interrupted without having to abort the entire ncp connection. Signed-off-by: Pierre Ossman Acked-by: Petr Vandrovec commit f3be97427172856d6865ddfedea84fa3a9f33227 Author: Andrew Morton Date: Tue Mar 6 02:41:55 2007 -0800 sis900 warning fixes drivers/net/sis900.c: In function 'sis900_reset_phy': drivers/net/sis900.c:972: warning: 'status' may be used uninitialized in this function drivers/net/sis900.c: In function 'sis900_check_mode': drivers/net/sis900.c:1431: warning: 'status' may be used uninitialized in this function drivers/net/sis900.c: In function 'sis900_timer': drivers/net/sis900.c:1467: warning: 'status' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 84dd619e4dc3b0b1c40dafd98c90fd950bce7bc5 Author: Dale Farnsworth Date: Sat Mar 3 06:40:28 2007 -0700 mv643xx_eth: Place explicit port number in mv643xx_eth_platform_data We were using the platform_device.id field to identify which ethernet port is used for mv643xx_eth device. This is not generally correct. It will be incorrect, for example, if a hardware platform uses a single port but not the first port. Here, we add an explicit port_number field to struct mv643xx_eth_platform_data. This makes the mv643xx_eth_platform_data structure required, but that isn't an issue since all users currently provide it already. Signed-off-by: Dale Farnsworth Signed-off-by: Jeff Garzik commit b2cbbd8e0e8093fbf115ac2669482b016d781c78 Author: Don Fry Date: Mon Mar 5 18:13:09 2007 -0800 pcnet32: Fix PCnet32 performance bug on non-coherent architecutres The PCnet32 driver always passed the the size of the largest possible packet to the pci_dma_sync_single_for_cpu and pci_dma_sync_single_for_device. This results in a fairly large "colateral damage" in the caches and makes the flush operation itself much slower. On a system with a 40MHz CPU this patch increases network bandwidth by about 12%. Signed-off-by: Ralf Baechle Acked-by: Don Fry Signed-off-by: Jeff Garzik commit 4c44fd009ae79fc04e2c049f708792ad83400dde Author: Prarit Bhargava Date: Tue Mar 6 02:42:00 2007 -0800 __devinit & __devexit cleanups for de2104x driver Fixes MODPOST warnings similar to: WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to .init.text:de_init_one from .data.rel.local after 'de_driver' (at offset 0x20) WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to .exit.text:de_remove_one from .data.rel.local after 'de_driver' (at offset 0x28) Signed-off-by: Prarit Bhargava Cc: Valerie Henson Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit e12651539808437a97f3e33c659c3d7b4000e41e Author: Dmitriy Monakhov Date: Tue Mar 6 02:41:59 2007 -0800 3c59x: Handle pci_enable_device() failure while resuming Handle pci_enable_device() failure while resuming, we can safely exit here. Signed-off-by: Monakhov Dmitriy Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit cfa51b9dbf5aa385c6d1f8645587fdc4fe8c13fd Author: Maxim Levitsky Date: Tue Mar 6 02:41:53 2007 -0800 dmfe: Fix link detection Add link detection Signed-off-by: Maxim Levitsky Cc: Valerie Henson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4dc68f3de5e36d72663bb51b94662d2d5db84125 Author: Maxim Levitsky Date: Tue Mar 6 02:41:52 2007 -0800 dmfe: fix two bugs Fix a oops on module removal due to deallocating memory before unregistring driver Fix a NULL pointer dereference when dev_alloc_skb fails Signed-off-by: Maxim Levitsky Cc: Valerie Henson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f67ba792fa10e3a65226d53dccc1232908d86c20 Author: Maxim Levitsky Date: Tue Mar 6 02:41:51 2007 -0800 dmfe: trivial/spelling fixes Fix a typo, wrap lines on 80-th column, change KERN_ERR to KERN_INFO for link status message Signed-off-by: Maxim Levitsky Cc: Valerie Henson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ead9bffb157a22c1f883beb8d20ba8bf7bc92a58 Author: Andrew Morton Date: Tue Mar 6 02:41:49 2007 -0800 revert "drivers/net/tulip/dmfe: support basic carrier detection" Revert 7628b0a8c01a02966d2228bdf741ddedb128e8f8. Thomas Bachler reports: Commit 7628b0a8c01a02966d2228bdf741ddedb128e8f8 (drivers/net/tulip/dmfe: support basic carrier detection) breaks networking on my Davicom DM9009. ethtool always reports there is no link. tcpdump shows incoming packets, but TX is disabled. Reverting the above patch fixes the problem. Cc: Samuel Thibault Cc: Jeff Garzik Cc: Valerie Henson Cc: Thomas Bachler Cc: Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 18babd38547a042a4bfd4154a014d1ad33373eb0 Author: Li Yang Date: Tue Mar 6 16:54:05 2007 +0800 ucc_geth: returns NETDEV_TX_BUSY when BD ring is full Returns NETDEV_TX_BUSY when BD ring is full. Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit a394f013f05ba083d8547551280e0309ca70b08d Author: Li Yang Date: Tue Mar 6 16:53:46 2007 +0800 ucc_geth: Fix BD processing Fix broken BD processing code. Signed-off-by: Michael Barkowski Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit 6006f7f517b9a754e4c4628755c62872e322c68a Author: Sergei Shtylyov Date: Tue Mar 6 00:10:08 2007 +0400 natsemi: netpoll fixes Fix two issues in this driver's netpoll path: one usual, with spin_unlock_irq() enabling interrupts which nobody asks it to do (that has been fixed recently in a number of drivers) and one unusual, with poll_controller() method possibly causing loss of interrupts due to the interrupt status register being cleared by a simple read and the interrpupt handler simply storing it, not accumulating. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit a816c7c712ff9f6770168b91facb9bfa9f0acd48 Author: Jay Vosburgh Date: Wed Feb 28 17:03:37 2007 -0800 bonding: Improve IGMP join processing In active-backup mode, the current bonding code duplicates IGMP traffic to all slaves, so that switches are up to date in case of a failover from an active to a backup interface. If bonding then fails back to the original active interface, it is likely that the "active slave" switch's IGMP forwarding for the port will be out of date until some event occurs to refresh the switch (e.g., a membership query). This patch alters the behavior of bonding to no longer flood IGMP to all ports, and to issue IGMP JOINs to the newly active port at the time of a failover. This insures that switches are kept up to date for all cases. "GOELLESCH Niels" originally reported this problem, and included a patch. His original patch was modified by Jay Vosburgh to additionally remove the existing IGMP flood behavior, use RCU, streamline code paths, fix trailing white space, and adjust for style. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit e245cb71d490e5e516c0ca0688fad7de6c22943d Author: Jay Vosburgh Date: Wed Feb 28 17:03:27 2007 -0800 bonding: only receive ARPs for us The ARP validation code only needs ARPs for the bonding device. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit c4f283b1f275e5528c13c119e5cfc80cdba55d00 Author: Jay Vosburgh Date: Wed Feb 28 17:03:20 2007 -0800 bonding: fix double dev_add_pack Bonding can erroneously register the same packet_type to receive ARPs (for use by ARP validation): once at device open time, and once via sysfs. Since sysfs can change the validate setting (and thus register or unregister) at any time, a flag is needed to synchronize with device open in order to avoid double registrations, and the simplest place is within the packet_type structure itself. Double unregister is not an issue. Bug reported by Ulrich Oelmann . Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 2f24d159d5ac418c946e0d38ada46345753688b1 Author: Takashi Iwai Date: Thu Feb 15 18:56:43 2007 +0100 [ALSA] cmipci - Allow to disable integrated FM port The driver didn't allow to disable the integrated FM port (if available), and this annoyed people who don't want FM port. Now fm_port=0 disables the FM port unconditionally. fm_port=1 is used for enabling the integrated FM port (as default). Also fixed the documentation about this option. Fix ALSA bug#2491. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dd87da1c5d3fd1d973d52e468f76fcc72ad69bd5 Author: Tobin Davis Date: Mon Feb 26 16:07:42 2007 +0100 [ALSA] hda-codec - Fix logic error in headphone mute for Conexant codecs This patch fixes a logic error introduced in the previous patch. Without it, speaker automute mutes the speakers when headphones are removed and unmutes when headphones are plugged in. This was reported by Gregorio Guidi after getting the earlier patch off this mailing list. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fe8970b47ae191d932f5bac9e225e74db6e188a3 Author: Takashi Iwai Date: Mon Feb 26 16:00:34 2007 +0100 [ALSA] hda-codec - Add missing Mic Boost for AD1986A codec Added the missing 'Mic Boost' switch for AD1986A codec. This influences largely on the recording level of mic-input on some boards. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a31e8c7236f40b42f27c275a959ef129257b0bcd Author: Takashi Iwai Date: Thu Feb 22 12:47:25 2007 +0100 [ALSA] ac97 - Add Thinkpad X31 and R40 to AD1981x blacklist Added Thinkpad X31 and R40 to AD1981x line/HP-jack-sense blacklist for avoiding the harmful mixer controls. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c187c041c6552339e4d8883a1a00c3c489354eca Author: Takashi Iwai Date: Mon Feb 19 15:27:33 2007 +0100 [ALSA] Add missing sysfs device assignment for ALSA PCI drivers Added the missing sysfs device assignment for ALSA PCI drivers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3fc24d850708b8dfd3472b25eac0c32dd7708925 Author: Takashi Iwai Date: Fri Feb 16 13:27:18 2007 +0100 [ALSA] hda-codec - Define pin configs for MacBooks Define pin configs for MacBook and MacBook Pro with STAC92xx codecs. The latter is detected automatically by checking codec SSID now. Also, fixed the documentation regarding available modeliof sigmatel codec chips. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cc69d12d0a063fd5f25d9b395357be5ba438b0c6 Author: Takashi Iwai Date: Thu Feb 15 19:29:26 2007 +0100 [ALSA] hda-codec - Add missing Mic Boost controls for ALC262 Added missing Mic Boost controls for ALC262 codec chip. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 53ae5194e2f70939ceacd8a9be87f356c646759a Author: Liam Girdwood Date: Wed Feb 14 15:23:57 2007 +0100 [ALSA] soc - WM9712 PCM volume This patch suggested by Joe Sauer adds PCM playback volume kcontrol for the WM9712. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 847c03e8ac30265787909f5710dee4c564a96df5 Author: Joe Sauer Date: Wed Feb 14 15:23:11 2007 +0100 [ALSA] soc - Fix WM9712 register cache entry This patch by Joe Sauer fixes the WM9712 codec register cache value for register 0x08. Value should be 0x0f0f and not 0xf0f0. Signed-off-by: Joe Sauer Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 081d17c4726131ba9ed763ea24f7235d8205fdf3 Author: Tobin Davis Date: Thu Feb 15 17:46:18 2007 +0100 [ALSA] hda-codec - Add method for configuring Mac Pro without PCI SSID This patch adds a switch to configure systems that do not provide PCI SSID's for HD Audio like Mac Pro with ALC885. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f0f9674585c7b0b1abe9efb68667cb16c878cc45 Author: Takashi Iwai Date: Wed Feb 14 00:59:17 2007 +0100 [ALSA] hda-codec - Add LFE support on Dell M90 Added LFE support on Dell M90 laptop. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 63ed71019c4437caef65fca1f83c990ae729024f Author: Bartlomiej Zolnierkiewicz Date: Sun Mar 4 04:48:08 2007 +0100 pata_pdc202xx_old: fix data corruption and other problems Fix wrong "port" calculations in pdc202xx_{configure_piomode,set_dmamode}() They were broken for all configurations except one (master device on primary channel, no other devices) and as a result device settings + PIO/DMA timings were being programmed into the wrong PCI registers. This could result in a large variety of problems including data corruption, hangs etc. (depending on devices used and your luck :-). ap->port_no ap->devno used PCI registers correct PCI registers 0 0 0x60-0x62 0x60-0x62 0 1 0x62-0x64 0x64-0x66 1 0 0x64-0x66 0x68-0x6a 1 1 0x66-0x68 0x6c-0x6e Also forward port recent fixes from drivers/ide pdc202xx_old driver: * fix XFER_MW_DMA0 timings (they were overclocked, use the official ones) * fix bitmasks for clearing bits of register B: - when programming DMA mode bit 0x10 of register B was cleared which resulted in overclocked PIO timing setting (iff PIO0 was used) - when programming PIO mode bits 0x18 weren't cleared so suboptimal timings were used for PIO1-4 if PIO0 was previously set (bit 0x10) and for PIO0/3/4 if PIO1/2 was previously set (bit 0x08) and finally bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 8b966dddc29899008fb178a533263afa8d1ad849 Author: Mikael Pettersson Date: Sat Mar 3 20:57:44 2007 +0100 pata_legacy: fix io/irq mismatch pata_legacy fails to detect the disk on my old ISA/VLB 486: it starts to probe io=0x1f0 ctr=0x3f6 irq=15, complains loudly about IDENTIFYs timing out, and finally fails. (Sorry I couldn't capture the kernel's boot messages.) It turns out that the driver's mapping from io to irq in legacy_irq[] is wrong: index 0 for io=0x1f0 has irq=15 but should have irq=14, and index 1 for io=0x170 has irq=14 but should have irq=15. This is confirmed by a comparison with include/asm-i386/ide.h:ide_default_irq(). This patch swaps the first two elements in legacy_irq[], which makes pata_legacy work on my 486. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 8af12cdb7c4aa9ed278ed71a8b5b130f2d8c8920 Author: Jason Gaston Date: Fri Mar 2 17:39:46 2007 -0800 ahci: RAID mode SATA patch for Intel ICH9M This patch adds the Intel ICH9M RAID controller DID for SATA support. Signed-off-by: Jason Gaston Signed-off-by: Jeff Garzik commit 8a236264f7d6db3f52881d37a86c5a5f704072b0 Author: Steve French Date: Tue Mar 6 00:31:00 2007 +0000 [CIFS] cifs_prepare_write was incorrectly rereading page in some cases Noticed by Shaggy. Signed-off-by: Shaggy Signed-off-by: Steve French commit 2470b648e17e0216922bb78c7f05b4668402459a Author: Cornelia Huck Date: Mon Mar 5 23:36:02 2007 +0100 [S390] cio: Call cancel_halt_clear even when actl == 0. The subchannel may just be status pending, even with actl == 0. We must go through the cancel_halt_clear procedure to put the subchannel into a defined state. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 7c8427c3fa1b2e77c5bd8cf219c1d55dccd0f167 Author: Cornelia Huck Date: Mon Mar 5 23:35:59 2007 +0100 [S390] cio: Use path verification to check for path state. After I/O has been killed by the common I/O layer, trigger path verification which will queue cio_device_nopath_notify itself if it finds a device to be without paths. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit ee04bbccdeb11bdbc54015be8dca30a0deeca5e4 Author: Cornelia Huck Date: Mon Mar 5 23:35:56 2007 +0100 [S390] cio: Fix locking when calling notify function. Make sure we hold the device lock when we modify the ccw device structure but always call the notify function without the lock held. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 482b05dd533da162fa8d04c61712fae297bea3e0 Author: Gerald Schaefer Date: Mon Mar 5 23:35:54 2007 +0100 [S390] Fixed handling of access register mode faults. Replaced check_user_space() + __check_access_register with the new check_space(). The old functions made wrong assumptions about kernel and user space when the kernel and user address spaces are switched (kernel in home space, user in primary/secondary space). Secondly the user process can switch to the accress register mode if it is running in primary or secondary mode. In addition it can load an arbitrary value to the access registers. If any other value than 0 for primary space or 1 for secondary space is loaded and memory is accessed using the base register related to the access register, the program should be terminated with a SIGSEGV. To achieve that the DUALD pointer in the DUCT and the PSALD pointer in the PASTE need to point to an array of 8 invalid access-list entries to get a ALEN-translation exception if an invalid alet is used. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 046f3e821f146d6c473edb033af15a0604957af8 Author: Stefan Weinhuber Date: Mon Mar 5 23:35:52 2007 +0100 [S390] dasd: Use default recovery for SNSS requests For extended error reporting we sometimes have to start an Sense Subsystem Status request (SNSS). When this request needs to be recovered for some reason, the recovery request will fail with 'command reject'. Our usual recovery procedure will retry the failed request by creating a new request and chaining the failed request from that one. SNSS requests, though, must not be chained from anything, so the recovery request will fail permanently. Use the default recovery for SNSS request, which will just restart the original request without further ado. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 5ea732fba7cf1ccded5e762f219a892be4d8d8dc Author: Heiko Carstens Date: Mon Mar 5 23:35:50 2007 +0100 [S390] check_bugs() should be inline. Don't have functions in header files unless they are inline. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4925c7e22293dbf2b85351e8c2323ad8282396b3 Author: Michael Holzheu Date: Mon Mar 5 23:35:47 2007 +0100 [S390] tape: Compression overwrites crypto setting After switching compression on/off with the mt command, tape encryption is no longer working. The reason for that is, that the modeset_byte is set to the compression value instead of using bitwise and/or bit operations to enable/disable the corresponding bit. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 9c9c17613a78545a4a93b1370924f62eb282c903 Author: Heiko Carstens Date: Mon Mar 5 23:35:45 2007 +0100 [S390] nss: disable kexec. nss and kexec don't work together since kexec wants to write to the read-only text section of the shared kernel image. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c5dd8586707800cd7bbdefcd675ad7d3c9afcd57 Author: Heiko Carstens Date: Mon Mar 5 23:35:43 2007 +0100 [S390] reipl: move dump_prefix_page out of text section. Reipl doesn't work on older machines were s390_reset_machine() gets called. The reason is that the text section is read-only but the variable dump_prefix_page is there. Since s390_reset_machine() writes to it we get a protection exception. Therefore move dump_prefix_page to the bss section. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 25864162c15e61b494aa619974a4d521270362f7 Author: Heiko Carstens Date: Mon Mar 5 23:35:41 2007 +0100 [S390] smp: disable preemption in smp_call_function/smp_call_function_on Avoid sprinkling a _lot_ of preempt_disable/preempt_enable pairs. This would be necessary for e.g. the iucv driver. Also this way we are more consistent with other architectures which disable preemption at least for smp_call_function. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f794c8279d02ccd69429d816eb03fa12c130d06d Author: Martin Schwidefsky Date: Mon Mar 5 23:35:38 2007 +0100 [S390] kprobes breaks BUG_ON The illegal operation handler calls the die notifier with DIE_BPT to let kprobes pick up its breakpoint. If kprobes does not find its breakpoint it returns NOTIFY_STOP instead of NOTIFY_DONE. Since we use stop_machine_run on s390 to arm/disarm the kprobes breakpoints the race that kprobe_handler tries to solve by checking for the kprobes breakpoints does not exist. Removing the check makes BUG_ON working again. Signed-off-by: Martin Schwidefsky commit 187f5f84ef14a07dccf5f4503099708d60f6a724 Author: Eric Dumazet Date: Mon Mar 5 13:32:48 2007 -0800 [INET]: twcal_jiffie should be unsigned long, not int Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 122d76bd872d07d428f94c509428a65476e9b1af Author: Jan Altenberg Date: Mon Mar 5 13:29:55 2007 -0800 [GIANFAR]: Fix compile error in latest git I recognized a compile error in latest git: /here/workdir/git/drivers/net/gianfar.c: In function `gfar_vlan_rx_kill_vid': /here/workdir/git/drivers/net/gianfar.c:1135: error: structure has no member named `vgrp' This error was introduced in commit: commit 6d04e3b04b6ab569cabeb5ca28ad1be11777e895 ... [VLAN]: Avoid a 4-order allocation. Signed-off-by: Jan Altenberg Signed-off-by: David S. Miller commit 6f30e1867cb73602c6ed7f97e15a48e0a0c96cde Author: Florian Zumbiehl Date: Sun Mar 4 16:03:22 2007 -0800 [PPPOE]: Use ifindex instead of device pointer in key lookups. Otherwise we can potentially try to dereference a NULL device pointer in some cases. Signed-off-by: David S. Miller commit bc5f77434721a84705601e4d448d331c73900759 Author: Yasuyuki Kozakai Date: Sun Mar 4 16:00:32 2007 -0800 [NETFILTER]: ip6_route_me_harder should take into account mark Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b4d6202b3652f5dbce358b99dee7d7c80b567529 Author: Michal Miroslaw Date: Sun Mar 4 16:00:04 2007 -0800 [NETFILTER]: nfnetlink_log: fix reference counting Fix reference counting (memory leak) problem in __nfulnl_send() and callers related to packet queueing. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7d90e86d31e8beeb66d6754aece890ac4a579887 Author: Patrick McHardy Date: Sun Mar 4 15:59:45 2007 -0800 [NETFILTER]: nfnetlink_log: fix module reference counting Count module references correctly: after instance_destroy() there might be timer pending and holding a reference for this netlink instance. Based on patch by Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dd16704eba171b32ef0cded3a4f562b33b911066 Author: Michal Miroslaw Date: Sun Mar 4 15:59:20 2007 -0800 [NETFILTER]: nfnetlink_log: fix possible NULL pointer dereference Eliminate possible NULL pointer dereference in nfulnl_recv_config(). Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a497097d35d37b47e885cf15bcaea01f279fe5e6 Author: Michal Miroslaw Date: Sun Mar 4 15:59:01 2007 -0800 [NETFILTER]: nfnetlink_log: fix NULL pointer dereference Fix the nasty NULL dereference on multiple packets per netlink message. BUG: unable to handle kernel NULL pointer dereference at virtual address 00000004 printing eip: f8a4b3bf *pde = 00000000 Oops: 0002 [#1] SMP Modules linked in: nfnetlink_log ipt_ttl ipt_REDIRECT xt_tcpudp iptable_nat nf_nat nf_conntrack_ipv4 xt_state ipt_ipp2p xt_NFLOG xt_hashlimit ip6_tables iptable_filter xt_multiport xt_mark ipt_set iptable_raw xt_MARK iptable_mangle ip_tables cls_fw cls_u32 sch_esfq sch_htb ip_set_ipmap ip_set ipt_ULOG x_tables dm_snapshot dm_mirror loop e1000 parport_pc parport e100 floppy ide_cd cdrom CPU: 0 EIP: 0060:[] Not tainted VLI EFLAGS: 00010206 (2.6.20 #5) EIP is at __nfulnl_send+0x24/0x51 [nfnetlink_log] eax: 00000000 ebx: f2b5cbc0 ecx: c03f5f54 edx: c03f4000 esi: f2b5cbc8 edi: c03f5f54 ebp: f8a4b3ec esp: c03f5f30 ds: 007b es: 007b ss: 0068 Process swapper (pid: 0, ti=c03f4000 task=c03bece0 task.ti=c03f4000) Stack: f2b5cbc0 f8a4b401 00000100 c0444080 c012af49 00000000 f6f19100 f6f19000 c1707800 c03f5f54 c03f5f54 00000123 00000021 c03e8d08 c0426380 00000009 c0126932 00000000 00000046 c03e9980 c03e6000 0047b007 c01269bd 00000000 Call Trace: [] nfulnl_timer+0x15/0x25 [nfnetlink_log] [] run_timer_softirq+0x10a/0x164 [] __do_softirq+0x60/0xba [] do_softirq+0x31/0x35 [] do_IRQ+0x62/0x74 [] common_interrupt+0x23/0x28 [] default_idle+0x0/0x3f [] default_idle+0x2d/0x3f [] cpu_idle+0xa0/0xb9 [] start_kernel+0x1a8/0x1ac [] unknown_bootoption+0x0/0x181 ======================= Code: 5e 5f 5b 5e 5f 5d c3 53 89 c3 8d 40 1c 83 7b 1c 00 74 05 e8 2c ee 6d c7 83 7b 14 00 75 04 31 c0 eb 34 83 7b 10 01 76 09 8b 43 18 <66> c7 40 04 03 00 8b 53 34 8b 43 14 b9 40 00 00 00 e8 08 9a 84 EIP: [] __nfulnl_send+0x24/0x51 [nfnetlink_log] SS:ESP 0068:c03f5f30 <0>Kernel panic - not syncing: Fatal exception in interrupt <0>Rebooting in 5 seconds.. Panic no more! Signed-off-by: Micha Mirosaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 05f7b7b369e039458a77768619dde123d868c78d Author: Michal Miroslaw Date: Sun Mar 4 15:58:40 2007 -0800 [NETFILTER]: nfnetlink_log: fix use after free Paranoia: instance_put() might have freed the inst pointer when we spin_unlock_bh(). Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ed32abeaf3a3da79b63af6a75f0bd0aa7e7eed9e Author: Michal Miroslaw Date: Sun Mar 4 15:58:15 2007 -0800 [NETFILTER]: nfnetlink_log: fix reference leak Stop reference leaking in nfulnl_log_packet(). If we start a timer we are already taking another reference. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d3ab4298aa136d07219664d563d8decf0e75693f Author: Patrick McHardy Date: Sun Mar 4 15:57:46 2007 -0800 [NETFILTER]: tcp conntrack: accept SYN|URG as valid Some stacks apparently send packets with SYN|URG set. Linux accepts these packets, so TCP conntrack should to. Pointed out by Martijn Posthuma . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e281db5cdfc3ab077ab3e459d098cb4fde0bc57a Author: Patrick McHardy Date: Sun Mar 4 15:57:25 2007 -0800 [NETFILTER]: nf_conntrack/nf_nat: fix incorrect config ifdefs The nf_conntrack_netlink config option is named CONFIG_NF_CT_NETLINK, but multiple files use CONFIG_IP_NF_CONNTRACK_NETLINK or CONFIG_NF_CONNTRACK_NETLINK for ifdefs. Fix this and reformat all CONFIG_NF_CT_NETLINK ifdefs to only use a line. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ec68e97dedacc1c7fb20a4b23b7fa76bee56b5ff Author: Patrick McHardy Date: Sun Mar 4 15:57:01 2007 -0800 [NETFILTER]: conntrack: fix {nf,ip}_ct_iterate_cleanup endless loops Fix {nf,ip}_ct_iterate_cleanup unconfirmed list handling: - unconfirmed entries can not be killed manually, they are removed on confirmation or final destruction of the conntrack entry, which means we might iterate forever without making forward progress. This can happen in combination with the conntrack event cache, which holds a reference to the conntrack entry, which is only released when the packet makes it all the way through the stack or a different packet is handled. - taking references to an unconfirmed entry and using it outside the locked section doesn't work, the list entries are not refcounted and another CPU might already be waiting to destroy the entry What the code really wants to do is make sure the references of the hash table to the selected conntrack entries are released, so they will be destroyed once all references from skbs and the event cache are dropped. Since unconfirmed entries haven't even entered the hash yet, simply mark them as dying and skip confirmation based on that. Reported and tested by Chuck Ebbert Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 78ad0b840848bebe266bcc8f1f9be429d2105264 Author: David S. Miller Date: Sun Mar 4 20:36:18 2007 -0800 [SPARC64]: Fix floppy build failure. Just define a local {claim,release}_dma_lock() implementation for the floppy driver to use so we don't need to define and export to modules the silly dma_spin_lock. Signed-off-by: David S. Miller commit c3442e296517aee733d62fc3fe03211598902c7d Author: Ingo Molnar Date: Mon Mar 5 14:46:30 2007 +0100 [PATCH] paravirt: re-enable COMPAT_VDSO CONFIG_PARAVIRT broke old glibc bootup: it silently turned off the selectability of CONFIG_COMPAT_VDSO and thus rendered distro kernels unbootable on old-style VDSO glibc setups. the proper solution is to keep COMPAT_VDSO available - if a hypervisor needs any modification of that concept then we'll judge those changes in full context, once those changes are submitted. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 6ebf622b2577c50b1f496bd6a5e8739e55ae7b1c Author: Ingo Molnar Date: Mon Mar 5 13:20:11 2007 +0100 [PATCH] disable NMI watchdog by default there's a new NMI watchdog related problem: KVM crashes on certain bzImages because ... we enable the NMI watchdog by default (even if the user does not ask for it) , and no other OS on this planet does that so KVM doesnt have emulation for that yet. So KVM injects a #GP, which crashes the Linux guest: general protection fault: 0000 [#1] PREEMPT SMP Modules linked in: CPU: 0 EIP: 0060:[] Not tainted VLI EFLAGS: 00000246 (2.6.20-rc5-rt0 #3) EIP is at setup_apic_nmi_watchdog+0x26d/0x3d3 and no, i did /not/ request an nmi_watchdog on the boot command line! Solution: turn off that darn thing! It's a debug tool, not a 'make life harder' tool!! with this patch the KVM guest boots up just fine. And with this my laptop (Lenovo T60) also stopped its sporadic hard hanging (sometimes in acpi_init(), sometimes later during bootup, sometimes much later during actual use) as well. It hung with both nmi_watchdog=1 and nmi_watchdog=2, so it's generally the fact of NMI injection that is causing problems, not the NMI watchdog variant, nor any particular bootup code. [ NMI breaks on some systems, esp in combination with SMM -Arjan ] Signed-off-by: Ingo Molnar Acked-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 0d05ad2c09af9fb33ae76f9f8d1c4e4d1a9de92c Author: Ingo Molnar Date: Mon Mar 5 13:15:40 2007 +0100 [PATCH] paravirt: let users decide whether they want VMI do not use default=y for CONFIG_VMI (we do not do that for any driver or special-hardware feature): the overwhelming majority of Linux users does not need it, and interested users and distributions can enable it as-needed. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit e9417fb324f355e8e0b5d78d3b5dc7b90693fdfb Author: Ingo Molnar Date: Mon Mar 5 13:13:46 2007 +0100 [PATCH] paravirt: clarify VMI description Clarify the description of the CONFIG_VMI option: describe the reality that VMI is a VMWare-only interface for now. Once that changes and another hypervisor adopts the VMI ABI we can change the text. As can be seen from the Xen paravirtualization patches submitted to lkml the Xen project has chosen its own, non-VMI interface between Xen and the para-Linux - so remove Xen from the description. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 3f1a73b6dd52f1f279c05263ee79ca14f45d9d25 Author: Ingo Molnar Date: Mon Mar 5 12:29:28 2007 +0100 [PATCH] paravirt: remove NO_IDLE_HZ on x86 Temove the mistaken turning on of NO_IDLE_HZ on x86+PARAVIRT kernels. It's an obsolete, limited form of dynticks. Signed-off-by: Ingo Molnar Acked-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 8690ba446defe2e2b81803756c099d2943dfd5fd Author: David Miller Date: Mon Mar 5 01:35:36 2007 -0800 [PATCH] video/aty/mach64_ct.c: fix bogus delay loop CT based mach64 cards were reported to hang on sparc64 boxes when compiled with gcc-4.1.x and later. Looking at this piece of code, it's no surprise. A critical delay was implemented as an empty for() loop, and gcc 4.0.x and previous did not optimize it away, so we did get a delay. But gcc-4.1.x and later can optimize it away, and we get crashes. Use a real udelay() to fix this. Fix verified on SunBlade100. Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit 8f485612231792373580e8b2fe8ceb3791549aa5 Author: Adrian Bunk Date: Mon Mar 5 00:30:56 2007 -0800 [PATCH] arch/i386/kernel/vmi.c must #include CC arch/i386/kernel/vmi.o /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c: In function 'vmi_map_pt_hook': /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: error: 'KM_PTE0' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: error: for each function it appears in.) /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: error: 'KM_PTE1' undeclared (first use in this function) make[2]: *** [arch/i386/kernel/vmi.o] Error 1 Signed-off-by: Adrian Bunk Acked-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00f8b0c1856447186f4d28a00c9ad955c566371d Author: Sam Ravnborg Date: Mon Mar 5 00:30:55 2007 -0800 [PATCH] usb-storage: do not rebuild when kernel version changes Replacing use of UTS_RELEASE with utsname()->release avoids that the usb-storage driver is recompiled each time the kernel version changes. Signed-off-by: Sam Ravnborg Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9c99463b0cd05603d125c915e2886d55a686b82 Author: Roland Kletzing Date: Mon Mar 5 00:30:54 2007 -0800 [PATCH] Documentation for io-accounting / reporting via procfs Add some documentation for the new and very useful io-accounting feature. It's being added to Documentation/filesystems/proc.txt Signed-off-by: Roland Kletzing Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 721c04c65f5905ef64732394f6ae147be0aebf69 Author: Antonino A. Daplas Date: Mon Mar 5 00:30:54 2007 -0800 [PATCH] atyfb: Fix kconfig error Fix the following compile error: MODPOST 327 modules WARNING: "aty_st_lcd" [drivers/video/aty/atyfb.ko] undefined! WARNING: "aty_ld_lcd" [drivers/video/aty/atyfb.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6346190b2fc0937bbc319b5f0e329789fb846ae6 Author: Michal Piotrowski Date: Mon Mar 5 00:30:53 2007 -0800 [PATCH] char/epca.c: remove unused function "drivers/char/epca.c:2741: warning: 'get_termio' defined but not used" Signed-off-by: Michal Piotrowski Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e81ce1f7ecdaed2844c75313b09af791d44e6373 Author: Heiko Carstens Date: Mon Mar 5 00:30:51 2007 -0800 [PATCH] timer/hrtimer: take per cpu locks in sane order Doing something like this on a two cpu system # echo 0 > /sys/devices/system/cpu/cpu0/online # echo 1 > /sys/devices/system/cpu/cpu0/online # echo 0 > /sys/devices/system/cpu/cpu1/online will give me this: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.21-rc2-g562aa1d4-dirty #7 ------------------------------------------------------- bash/1282 is trying to acquire lock: (&cpu_base->lock_key){.+..}, at: [<000000000005f17e>] hrtimer_cpu_notify+0xc6/0x240 but task is already holding lock: (&cpu_base->lock_key#2){.+..}, at: [<000000000005f174>] hrtimer_cpu_notify+0xbc/0x240 which lock already depends on the new lock. This happens because we have the following code in kernel/hrtimer.c: migrate_hrtimers(int cpu) [...] old_base = &per_cpu(hrtimer_bases, cpu); new_base = &get_cpu_var(hrtimer_bases); [...] spin_lock(&new_base->lock); spin_lock(&old_base->lock); Which means the spinlocks are taken in an order which depends on which cpu gets shut down from which other cpu. Therefore lockdep complains that there might be an ABBA deadlock. Since migrate_hrtimers() gets only called on cpu hotplug it's safe to assume that it isn't executed concurrently on a The same problem exists in kernel/timer.c: migrate_timers(). As pointed out by Christian Borntraeger one possible solution to avoid the locking order complaints would be to make sure that the locks are always taken in the same order. E.g. by taking the lock of the cpu with the lower number first. To achieve this we introduce two new spinlock functions double_spin_lock and double_spin_unlock which lock or unlock two locks in a given order. Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Roman Zippel Cc: John Stultz Cc: Christian Borntraeger Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bb74df481223731af6c7e0ff3adb31f6442cfcd Author: john stultz Date: Mon Mar 5 00:30:50 2007 -0800 [PATCH] clocksource init adjustments (fix bug #7426) This patch resolves the issue found here: http://bugme.osdl.org/show_bug.cgi?id=7426 The basic summary is: Currently we register most of i386/x86_64 clocksources at module_init time. Then we enable clocksource selection at late_initcall time. This causes some problems for drivers that use gettimeofday for init calibration routines (specifically the es1968 driver in this case), where durring module_init, the only clocksource available is the low-res jiffies clocksource. This may cause slight calibration errors, due to the small sampling time used. It should be noted that drivers that require fine grained time may not function on architectures that do not have better then jiffies resolution timekeeping (there are a few). However, this does not discount the reasonable need for such fine-grained timekeeping at init time. Thus the solution here is to register clocksources earlier (ideally when the hardware is being initialized), and then we enable clocksource selection at fs_initcall (before device_initcall). This patch should probably get some testing time in -mm, since clocksource selection is one of the most important issues for correct timekeeping, and I've only been able to test this on a few of my own boxes. Signed-off-by: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4540768011352d38afb89d400eacb3e261507b70 Author: David Rientjes Date: Mon Mar 5 00:30:49 2007 -0800 [PATCH] x86_64: remove unusued 'flags' variable Removes unused 'flags' variable from setup_IO_APIC_irq(). Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ff31d7757f57074ccfef352b9d156023914fb2b Author: Christian Krafft Date: Mon Mar 5 00:30:48 2007 -0800 [PATCH] ipmi: check, if default ports are accessible on PPC ipmi_si_intf tries to access default ports, if no device could be found elsewhere. On PPC we have a function to check, if these legacy IO ports are accessible. This patch adds a check for these ports on PPC. This patch fixes a breakage of IPMI module on PPC machines without a BMC. Signed-off-by: Christian Krafft Acked-by: Michael Ellerman Signed-off-by: Corey Minyard Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8fa74ab529f23f812092ece8d7a4766af092332 Author: Dmitriy Monakhov Date: Mon Mar 5 00:30:47 2007 -0800 [PATCH] ecryptfs: handle AOP_TRUNCATED_PAGE better - In fact we don't have to fail if AOP_TRUNCATED_PAGE was returned from prepare_write or commit_write. It is beter to retry attempt where it is possible. - Rearange ecryptfs_get_lower_page() error handling logic, make it more clean. Signed-off-by: Dmitriy Monakhov Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82b16528405131eadc18285da982d4806f6db34e Author: Dmitriy Monakhov Date: Mon Mar 5 00:30:46 2007 -0800 [PATCH] ecryptfs: lower root result must be adirectory - Currently after path_lookup succeed we dot't have any guarantie what it is DIR. This must be explicitly demanded. - path_lookup can't return negative dentry, So inode check is useless. Signed-off-by: Dmitriy Monakhov Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5f5e43e2b1377392f9afe93aca29b9abf1d6a44 Author: Thomas Gleixner Date: Mon Mar 5 00:30:45 2007 -0800 [PATCH] fix "NMI appears to be stuck" Testing NMI watchdog ... CPU#0: NMI appears to be stuck (54->54)! CPU#1: NMI appears to be stuck (0->0)! Keep the PIT/HPET alive when nmi_watchdog = 1 is given on the command line. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d3baf2eb8bd680b2d4f509bc3dbf4dcd6e27a40 Author: NeilBrown Date: Mon Mar 5 00:30:44 2007 -0800 [PATCH] md: fix for raid6 reshape Recent patch for raid6 reshape had a change missing that showed up in subsequent review. Many places in the raid5 code used "conf->raid_disks-1" to mean "number of data disks". With raid6 that had to be changed to "conf->raid_disk - conf->max_degraded" or similar. One place was missed. This bug means that if a raid6 reshape were aborted in the middle the recorded position would be wrong. On restart it would either fail (as the position wasn't on an appropriate boundary) or would leave a section of the array unreshaped, causing data corruption. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6b36e9a3c57b73c7a6bdf787baa55f21195bba9 Author: Zachary Amsden Date: Mon Mar 5 00:30:43 2007 -0800 [PATCH] vmi: smp fixes Critical fixes for SMP. Fix a couple functions which needed to be __devinit and fix a bogus parameter to AP startup that just so happened to work because the low virtual mapping of memory was still established. Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 772205f62ebcce2d60bfa5166f56c78044afab7d Author: Zachary Amsden Date: Mon Mar 5 00:30:41 2007 -0800 [PATCH] vmi: apic ops Use para_fill instead of directly setting the APIC ops to the result of the vmi_get_function call - this allows one to implement a VMI ROM without implementing APIC functions, just using the native APIC functions. While doing this, I realized that there is a lot more cleanup that should have been done. Basically, we should never assume that the ROM implements a specific set of functions, and always allow fallback to the native implementation. This is critical for future compatibility. Signed-off-by: Anthony Liguori Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9eddc952870d29aa9df96ab862327eb6afa23d9 Author: Zachary Amsden Date: Mon Mar 5 00:30:41 2007 -0800 [PATCH] vmi: fix nohz compile More goo from hrtimers integration. We do compile and run properly with NO_HZ enabled. There was a period when we didn't because of a missing export, but that was since fixed. And with the clocksource code now firmly in place, we can get rid of code that fixes up the wallclock, since this is done in the common infrastructure. This actually fixes a timer bug as well, that was caused by do_settimeofday no longer being callable with interrupts disabled due to the use of on_each_cpu(). Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e30fab3ad34aa8bfb55c9f0337d4a92a0595f41f Author: Zachary Amsden Date: Mon Mar 5 00:30:39 2007 -0800 [PATCH] vmi: pit override The time_init_hook in paravirt-ops no longer functions in the correct manner after the integration of the hrtimers code. The problem is that now the call path for time initialization is: time_init : late_time_init = hpet_time_init; late_time_init -> hpet_time_init: setup_pit_timer (BAD) do_time_init --> (via paravirt.h) time_init_hook --> (via arch_hooks.h) time_init_hook (in SUBARCH/setup.c) If this isn't confusing enough, the paravirt case goes through an indirect function pointer in the paravirt-ops table. The problem is, by the time the paravirt hook is called, the pit timer is already enabled. But paravirt guests have their own timer, and don't want to use the PIT. Rather than intensify the struggle for power going on here, just make it all nice and simple and just unconditionally do all timer setup in the late_time_init hook. This also has the advantage of enabling timers in the same place in all code paths, so everyone has the same bugs and we don't have outliers who break other code because they turn on timer too early or too late. So the paravirt-ops time init function is now by default hpet_time_init, which is the time init function used for native hardware. Paravirt guests have the chance to override this when they setup the paravirt-ops table, and should need no change. Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eda08b1befaabcdfea1a9216ae13f9065e69baa7 Author: Zachary Amsden Date: Mon Mar 5 00:30:38 2007 -0800 [PATCH] vmi: paravirt drop udelay op Not respecting udelay causes problems with any virtual hardware that is passed through to real hardware. This can be noticed by any device that interacts with the real world in real time - like AP startup, which takes real time. Or keyboard LEDs, which should blink in real-time. Or floppy drives, but only when passed through to a real floppy controller on OSes which can't sufficiently buffer the floppy commands to emulate a zero latency floppy. Or IDE drives, when connecting to a physical CDROM. This was mostly a hack to get the kernel to boot faster, but it introduced a number of misvirtualization bugs, and Alan and Pavel argued pretty strongly against it. We were the only client, and now want to clean up this cruft. Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a1c13e91f100c12dcad3a1be1b12890bf32f6ff Author: Zachary Amsden Date: Mon Mar 5 00:30:37 2007 -0800 [PATCH] vmi: fix highpte Provide a PT map hook for HIGHPTE kernels to designate where they are mapping page tables. This information is required so the physical address of PTE updates can be determined; otherwise, the mm layer would have to carry the physical address all the way to each PTE modification callsite, which is even more hideous that the macros required to provide the proper hooks. So lets not mess up arch neutral code to achieve this, but keep the horror in an #ifdef HIGHPTE in include/asm-i386/pgtable.h. I had to use macros here because some types are not yet defined in all the include paths for this header. This patch is absolutely required for HIGHPTE kernels to operate properly with VMI. Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1182d8528b620c23d043bccbbef092b42062960a Author: Zachary Amsden Date: Mon Mar 5 00:30:36 2007 -0800 [PATCH] vmi: cpu cycles fix In order to share the common code in tsc.c which does CPU Khz calibration, we need to make an accurate value of CPU speed available to the tsc.c code. This value loses a lot of precision in a VM because of the timing differences with real hardware, but we need it to be as precise as possible so the guest can make accurate time calculations with the cycle counters. Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cb9a8350aee789100a365794272ed20cc8f2401 Author: Zachary Amsden Date: Mon Mar 5 00:30:35 2007 -0800 [PATCH] vmi: sched clock paravirt op fix The custom_sched_clock hook is broken. The result from sched_clock needs to be in nanoseconds, not in CPU cycles. The TSC is insufficient for this purpose, because TSC is poorly defined in a virtual environment, and mostly represents real world time instead of scheduled process time (which can be interrupted without notice when a virtual machine is descheduled). To make the scheduler consistent, we must expose a different nature of time, that is scheduled time. So deprecate this custom_sched_clock hack and turn it into a paravirt-op, as it should have been all along. This allows the tsc.c code which converts cycles to nanoseconds to be shared by all paravirt-ops backends. It is unfortunate to add a new paravirt-op, but this is a very distinct abstraction which is clearly different for all virtual machine implementations, and it gets rid of an ugly indirect function which I ashamedly admit I hacked in to try to get this to work earlier, and then even got in the wrong units. Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7507ba34e827ca3c6bbcd34d20a8df8ba365fca6 Author: Zachary Amsden Date: Mon Mar 5 00:30:34 2007 -0800 [PATCH] vmi: timer fixes round two Critical bugfixes for the VMI-Timer code. 1) Do not setup a one shot alarm if we are keeping the periodic alarm armed. Additionally, since the periodic alarm can be run at a lower rate than HZ, let's fixup the guard to the no-idle-hz mode appropriately. This fixes the bug where the no-idle-hz mode might have a higher interrupt rate than the non-idle case. 2) The interrupt handler can no longer adjust xtime due to nested lock acquisition. Drop this. We don't need to check for wallclock time at every tick, it can be done in userspace instead. 3) Add a bypass to disable noidle operation. This is useful as a last minute workaround, or testing measure. 4) The code to skip the IO_APIC timer testing (no_timer_check) should be conditional on IO_APIC, not SMP, since UP kernels can have this configured in as well. Signed-off-by: Dan Hecht Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0dc952dc3e6d96d554a19fa7bee3f3b1d55e3cff Author: Christoph Lameter Date: Mon Mar 5 00:30:33 2007 -0800 [PATCH] Page migration: Fix vma flag checking Currently we do not check for vma flags if sys_move_pages is called to move individual pages. If sys_migrate_pages is called to move pages then we check for vm_flags that indicate a non migratable vma but that still includes VM_LOCKED and we can migrate mlocked pages. Extract the vma_migratable check from mm/mempolicy.c, fix it and put it into migrate.h so that is can be used from both locations. Problem was spotted by Lee Schermerhorn Signed-off-by: Christoph Lameter Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f2b69f9bdce8461341e5fb864568a2ee90079c8 Author: Paul Mundt Date: Mon Mar 5 00:30:31 2007 -0800 [PATCH] fb: sm501fb off-by-1 sysfs store Currently sm501fb_crtsrc_store() won't allow the routing to be changed via echos from userspace in to the sysfs file. The reason for this is that the strnicmp() for both heads uses a sizeof() for the string length, which ends up being strlen() + 1 (\0 in the normal case, but the echo gives a newline, which is where the issue occurs), this then causes a mismatch and subsequently bails with the -EINVAL. In addition to this, the hardcoded lengths were then used for the store length that was returned, which ended up being erroneous and resulting in a write error. There's also no point in returning anything but the full length since it will -EINVAL out on a mismatch well before then anyways. sizeof("string") is great for making sure you have space in your buffer, but rather less so for string comparisons :-) Signed-off-by: Paul Mundt Acked-by: Ben Dooks Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69f7c0a1be84b10a81b6edcce2dbee0cdec26eba Author: Con Kolivas Date: Mon Mar 5 00:30:29 2007 -0800 [PATCH] sched: remove SMT nice Remove the SMT-nice feature which idles sibling cpus on SMT cpus to facilitiate nice working properly where cpu power is shared. The idling of cpus in the presence of runnable tasks is considered too fragile, easy to break with outside code, and the complexity of managing this system if an architecture comes along with many logical cores sharing cpu power will be unworkable. Remove the associated per_cpu_gain variable in sched_domains used only by this code. Also: The reason is that with dynticks enabled, this code breaks without yet further tweaks so dynticks brought on the rapid demise of this code. So either we tweak this code or kill it off entirely. It was Ingo's preference to kill it off. Either way this needs to happen for 2.6.21 since dynticks has gone in. Signed-off-by: Con Kolivas Acked-by: Ingo Molnar Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 759b9775c25f5e69aaea8a75c3914019e2dc5539 Author: Hugh Dickins Date: Mon Mar 5 00:30:28 2007 -0800 [PATCH] shmem and simple const super_operations shmem's super_operations were missed from the recent const-ification; and simple_fill_super()'s, which can share with get_sb_pseudo()'s. Signed-off-by: Hugh Dickins Acked-by: Josef 'Jeff' Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc2cccaec88d422e628e6b588078e1dbdc241896 Author: Johannes Berg Date: Mon Mar 5 00:30:27 2007 -0800 [PATCH] schedule wext/rtnl for removal Since wext is being replaced as fast as we can (it'll probably stick around for legacy drivers though) and the wext/netlink stuff was never really used, this schedules it for removal. The removal schedule is tight but there are no users of the code, the main user of the wext user interface are the wireless-tools, they only have an alpha version using the netlink interface and even that is incomplete. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de320199c0f425503eef17883a3ba90464bf35ba Author: Maciej W. Rozycki Date: Mon Mar 5 00:30:26 2007 -0800 [PATCH] dz: remove struct pt_regs references Remove remaining references to saved registers now that uart_handle_sysrq_char() does not want them. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49015bee4071d56456ef59f1f82be6531615341c Author: David Brownell Date: Mon Mar 5 00:30:22 2007 -0800 [PATCH] gpio_keys driver shouldn't be ARM-specific The gpio_keys driver is wrongly ARM-specific; it can't build on other platforms with GPIO suport. This fixes that problem. Signed-off-by: David Brownell Cc: Dmitry Torokhov Cc: pHilipp Zabel Cc: Haavard Skinnemoen Cc: Russell King Cc: Richard Purdie Cc: Ben Nizette Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a938b9768d1fc0e12a884a6820a2e15df5a612c Author: David Brownell Date: Mon Mar 5 00:30:18 2007 -0800 [PATCH] add CONFIG_GENERIC_GPIO Most drivers using GPIOs already know they are running on a system that supports the generic GPIO calls, because of other platform dependencies. But the generic GPIO-based LED and input button drivers can't know that. So this patch adds a Kconfig hook, GENERIC_GPIO, to mark the platforms where will do the right thing. Currently that's a bunch of ARMs, and AVR32; more are on the way. It also fixes a dependency bug for the gpio button input driver; it was wrong to start with, now it covers all platforms with GENERIC_GPIO. Signed-off-by: David Brownell Acked-by: Richard Purdie Cc: Arnaud Patard Cc: Cc: Cc: pHilipp Zabel Cc: Haavard Skinnemoen Cc: Dmitry Torokhov Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ad7c311079412541bebaf1c8436d405cc8c6b2c Author: Tony Breeds Date: Mon Mar 5 00:30:14 2007 -0800 [PATCH] Fix soft lockup with iSeries viocd driver Fix soft lockup with iSeries viocd driver, caused by eventually calling end_that_request_first() with nr_bytes 0. Some versions of hald do an SG_IO ioctl on the viocd device which becomes a request with hard_nr_sectors and hard_cur_sectors set to zero. Passing zero as the number of sectors to end_request() (which calls end_that_request_first()) causes an infinite loop when the bio is being freed. This patch makes sure that the zero is never passed. It only requires some number larger the the request size the terminate the loop. The lockup is triggered by hald, interrogating the device. Signed-off-by: Tony Breeds Signed-off-by: Jens Axboe Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fdc2abe39b76822e34e7029ca5f69fe4bea58d4 Author: David Brownell Date: Mon Mar 5 00:30:13 2007 -0800 [PATCH] parport is an orphan The writing on the wall seem to be that the parport stack is orphaned, rather than maintained by four folk ... and having a webpage that says the latest patches are based on a 2.5 kernel. Signed-off-by: David Brownell Acked-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad5f1196792653dadf09c07a5fa917092b469c1c Author: Dmitriy Monakhov Date: Mon Mar 5 00:30:12 2007 -0800 [PATCH] ecryptfs: check xattr operation support fix - ecryptfs_write_inode_size_to_metadata() error code was ignored. - i_op->setxattr() must be supported by lower fs because used below. Signed-off-by: Monakhov Dmitriy Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58e0543e8f355b32f0778a18858b255adb7402ae Author: Eric W. Biederman Date: Mon Mar 5 00:30:11 2007 -0800 [PATCH] msi: support masking msi irqs without a mask bit For devices that do not support msi-x we only support 1 interrupt. Therefore we can disable that one interrupt by disabling the msi capability itself. If we leave the intx interrupts disabled while we have the msi capability disabled no interrupts should be delivered from that device. Devices with just the minimal msi support (and thus hitting this code path) include things like the intel e1000 nic, so it looks like is going to be a fairly common case and thus important to get right. Signed-off-by: Eric W. Biederman Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1cbf4e4dddd708ba268c3a2bf38383a269d490a Author: Eric W. Biederman Date: Mon Mar 5 00:30:10 2007 -0800 [PATCH] msi: fix up the msi enable/disable logic enable/disable_msi_mode have several side effects which keeps them from being generally useful. So this patch replaces them with with two much more targeted functions: msi_set_enable and msix_set_enable. This patch makes pci_dev->msi_enabled and pci_dev->msix_enabled the definitive way to test if linux has enabled the msi capability, and has the appropriate msi data structures set up. This patch ensures that while writing the msi messages in save/restore and during device initialization we have the msi capability disabled so we don't get into races. The pci spec requires that we do not have the msi capability enabled and the msi messages unmasked while we write the messages. Completely disabling the capability is overkill but it is easy :) Care has been taken so we never have both a msi capability and intx enabled simultaneously. We haven't run into a problem yet but better safe then sorry. Signed-off-by: Eric W. Biederman Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5f2b13129a6541debf8851bae843cbbf48298b7 Author: Eric W. Biederman Date: Mon Mar 5 00:30:07 2007 -0800 [PATCH] msi: sanely support hardware level msi disabling In some cases when we are not using msi we need a way to ensure that the hardware does not have an msi capability enabled. Currently the code has been calling disable_msi_mode to try and achieve that. However disable_msi_mode has several other side effects and is only available when msi support is compiled in so it isn't really appropriate. Instead this patch implements pci_msi_off which disables all msi and msix capabilities unconditionally with no additional side effects. pci_disable_device was redundantly clearing the bus master enable flag and clearing the msi enable bit. A device that is not allowed to perform bus mastering operations cannot generate intx or msi interrupt messages as those are essentially a special case of dma, and require bus mastering. So the call in pci_disable_device to disable msi capabilities was redundant. quirk_pcie_pxh also called disable_msi_mode and is updated to use pci_msi_off. Signed-off-by: Eric W. Biederman Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58a53b246b4aed95f3f93b45828c8d9f26b1cfcb Author: Jean Delvare Date: Mon Mar 5 00:30:06 2007 -0800 [PATCH] io_apic.h needs apicdef.h A -mm patch caused: In file included from drivers/pci/quirks.c:532: include/asm/io_apic.h:61: error: "MAX_IO_APICS" undeclared here (not in a function) So let's include the needed header. Signed-off-by: Jean Delvare Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5dedf99e4ca9860ce8a1dd42db1cb666c360632 Author: Andrew Morton Date: Mon Mar 5 00:30:04 2007 -0800 [PATCH] cyclades: return closing_wait In http://bugzilla.kernel.org/show_bug.cgi?id=8065, Shen points out that the cyclades driver forget to return closing_wait to userspace. Cc: Alan Cox Cc: Russell King Cc: Shen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 202d4e602555e68c2bc71775228876b0356785c8 Author: Richard Purdie Date: Sat Mar 3 17:43:52 2007 +0000 backlight: Allow enable/disable of fb backlights, fixing regressions Enabling the backlight by default appears to cause problems for many users. This patch disables backlight controls unless explicitly enabled by users via a module parameter. Since PMAC users are known to work, default to enabled in that case. Signed-off-by: Richard Purdie commit 238576e12fef1d52751c6e08db2d0bdb0e248caf Author: Richard Purdie Date: Mon Feb 26 22:06:09 2007 +0000 backlight: Fix nvidia backlight initial brightness Fix a mix up when the nvidia driver was converted resulting in the backlight having an incorrect initial brightness. Signed-off-by: Richard Purdie commit 8d91cbad8e6fd5b37bf584740f134508709ba035 Author: Russell King Date: Sun Mar 4 20:40:50 2007 +0000 [ARM] Acorn: move the i2c bus driver into drivers/i2c Move the Acorn IOC/IOMD I2C bus driver from drivers/i2c, strip out the reminants of the platform specific parts of the old PCF8583 RTC code, and remove the old obsolete PCF8583 driver. Signed-off-by: Russell King commit 23d046f43a05155e050a68f3ad1f19b672713374 Author: Russell King Date: Sun Mar 4 20:21:38 2007 +0000 [ARM] ARM SCSI: Don't try to dma_map_sg too many scatterlist entries An off-by-one bug meant we were always trying to map one too many scatterlist entries. This was mostly harmless prior to the checks going in to consistent_sync(), but now causes the kernel to BUG. Also, powertec.c was missing an assignment to info->ec. Signed-off-by: Russell King commit 6b4df7ee1f636f0dbf3896235582559c86cb18aa Author: Russell King Date: Sun Mar 4 20:19:07 2007 +0000 [ARM] ARM FAS216: don't modify scsi_cmnd request_bufflen SCSI doesn't want drivers to modify request_bufflen, so keep a driver-private copy of this in the scsi_pointer structure instead. Signed-off-by: Russell King commit bb71f99f8daefb4a2c2441298bc127aaff9af947 Author: Russell King Date: Sun Mar 4 20:33:07 2007 +0000 [ARM] rtc-pcf8583: Final fixes for this RTC on RiscPC Replace the I2C bus address, as per drivers/acorn/char/pcf8583.c. Also, since this driver also contains Acorn RiscPC specific code for obtaining the current year from the SRAM (and updating the platform specific checksum when writing new data back) this is NOT a platform independent driver. Document it as such, and update the dependencies to reflect this fact. Signed-off-by: Russell King commit 0ed8f210e68236f2034f827596f0a8201a907a9f Author: Russell King Date: Sun Mar 4 20:13:13 2007 +0000 [ARM] rtc-pcf8583: correct month and year offsets No, today is not 4th April 3907, it's 4th March 2007. Signed-off-by: Russell King commit f5e5b734d4c9ccc1f5f68bdf545bdc4b19681d28 Author: Russell King Date: Sun Mar 4 20:12:07 2007 +0000 [ARM] rtc-pcf8583: don't use BCD_TO_BIN/BIN_TO_BCD Both BCD_TO_BIN(x) and BIN_TO_BCD(x) have an unexpected side-effect - not only do they return the value as expected, they _modify_ their argument in the process. Let's play it safe and avoid these macros. Signed-off-by: Russell King commit 8b4ac6f316b493fae511921e25c72119f7b03170 Author: Florian Fainelli Date: Fri Mar 2 22:08:01 2007 +0100 [MIPS] MTX1: clear PCI errors This patch clears PCI errors after showing more debug informations. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit baa545fddd752f46ced034bc3d95778649b67c2d Author: Florian Fainelli Date: Fri Mar 2 22:07:48 2007 +0100 [MIPS] MTX1: add idsel cardbus ressources Adds cardbus ressources for MTX1 boards which have a PCMCIA controller. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 6fff989157aa0506520637277ec4653306689c25 Author: Florian Fainelli Date: Fri Mar 2 22:07:41 2007 +0100 [MIPS] MTX1: remove unneeded settings This patch removes unnecessary settings at setup time. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 5b648a98db05fd0152349a11a7f7e30b80643977 Author: Ralf Baechle Date: Fri Mar 2 11:42:11 2007 +0000 [MIPS] dma_sync_sg_for_cpu is a no-op except for non-coherent R10000s. Signed-off-by: Ralf Baechle commit 47d7c44b87df91fdb5d9c2678fc90afd46c14fbe Author: Yoichi Yuasa Date: Thu Mar 1 22:50:25 2007 +0900 [MIPS] Cobalt: update reserved resources This patch has removed unused timer resource. Moreover, the name of reserved resources ware changed. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 3a1d8217e1f90c0b63654f25f3f2db0a1101a1e1 Author: Ralf Baechle Date: Thu Mar 1 15:35:54 2007 +0000 [MIPS] SN: PCI fixup needs to include . Signed-off-by: Ralf Baechle commit a9b6590ced1370537edad8dc60be32c044b2380e Author: Ralf Baechle Date: Thu Mar 1 15:30:01 2007 +0000 [MIPS] DMA: Fix a bunch of warnings due to missing inline keywords. Signed-off-by: Ralf Baechle commit 07c0d7437c7061fef61e35183781d126cebf138a Author: Ralf Baechle Date: Thu Mar 1 15:29:25 2007 +0000 [MIPS] RM: It should be #ifdef CONFIG_FOO not #if CONFIG_FOO ... Signed-off-by: Ralf Baechle commit 36a885306fdf7bb557c773309c993bfb2d0d693c Author: Ralf Baechle Date: Thu Mar 1 11:56:43 2007 +0000 [MIPS] Fix and cleanup the mess that a dozen prom_printf variants are. early_printk is a so much saner thing. Signed-off-by: Ralf Baechle commit ca471c86043f4a8b01cba02ba2d3431fddcaf606 Author: Ralf Baechle Date: Thu Mar 1 10:47:23 2007 +0000 [MIPS] DEC: Remove redeclarations of mips_machgroup and mips_machtype. Signed-off-by: Ralf Baechle commit 12e4396bf0b1cd62c9d71a06596914c7efa7dbaf Author: Atsushi Nemoto Date: Thu Mar 1 01:53:13 2007 +0900 [MIPS] No need to write c0_compare in plat_timer_setup If R4k counter was used for hpt_timer and interrupt source, c0_hpt_timer_init() initializes the c0_compare register. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit a0574e04807608998d4d115c07b7bc12bb499a44 Author: Atsushi Nemoto Date: Thu Mar 1 00:40:21 2007 +0900 [MIPS] Convert to RTC-class ds1742 driver The generic rtc-ds1742 driver can be used for RBTX4927 and JMR3927 (with __swizzle_addr trick). This patch also removes MIPS local DS1742 stuff. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 148171b2ac1fb6a1a9f987f8daedc146c810a8ae Author: Ralf Baechle Date: Wed Feb 28 15:34:22 2007 +0000 [MIPS] Oprofile: Add missing break statements. This was causing oprofile to fail on R10000, R12000, R14000. Signed-off-by: Ralf Baechle commit 69f282765735b1df5e27b373e64e5238caca8c49 Author: Atsushi Nemoto Date: Wed Feb 28 01:42:19 2007 +0900 [MIPS] jmr3927: build fix Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 49fa3c0869677facd846adc928c332b4c20cdc25 Author: Thomas Bogendoerfer Date: Sat Feb 3 14:06:10 2007 +0100 [MIPS] SNI: Fix mc146818_decode_year Big endian RMs uses a different mc146818_decode_year than little endian RMs Correct mc146818_decode_year for years before 2000 Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 821d313c257b9b04c3c82f0b303ee259c00dc620 Author: Ralf Baechle Date: Tue Feb 27 01:21:17 2007 +0000 [MIPS] Replace sys32_timer_create with the generic compat_sys_timer_create. Signed-off-by: Ralf Baechle commit 08274cefdc9efe709540be5d8e7c002346592d6d Author: Ralf Baechle Date: Tue Feb 27 01:11:28 2007 +0000 [MIPS] Replace sys32_socketcall with the generic compat_sys_socketcall. Signed-off-by: Ralf Baechle commit 440537ef409c7013134116a7ca155d43d25eb492 Author: Ralf Baechle Date: Tue Feb 27 00:56:37 2007 +0000 [MIPS] N32 waitid is the same as o32. Signed-off-by: Ralf Baechle commit e9cdb1e330d805f4453c1359cebe2bd6a06ce692 Author: Andrew Morton Date: Thu Mar 1 11:28:13 2007 +0200 KVM: Move kvmfs magic number to Use the standard magic.h for kvmfs. Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 58e690e6fd47a682b49aed3510443d6797a03021 Author: Avi Kivity Date: Mon Feb 26 16:29:43 2007 +0200 KVM: Fix bogus failure in kvm.ko module initialization A bogus 'return r' can cause an otherwise successful module load to fail. This both denies users the use of kvm, and it also denies them the use of their machine, as it leaves a filesystem registered with its callbacks pointing into now-freed module memory. Fix by returning a zero like a good module. Thanks to Richard Lucassen (?) for reporting the problem and for providing access to a machine which exhibited it. Signed-off-by: Avi Kivity commit ff990d5952712c2e163b355946c39278da8407a8 Author: Uri Lublin Date: Thu Feb 22 17:37:32 2007 +0200 KVM: Remove write access permissions when dirty-page-logging is enabled Enabling dirty page logging is done using KVM_SET_MEMORY_REGION ioctl. If the memory region already exists, we need to remove write accesses, so writes will be caught, and dirty pages will be logged. Signed-off-by: Uri Lublin Signed-off-by: Avi Kivity commit 02b27c1f802bfb60cc2cb5b763dde1b6b3479a7e Author: Uri Lublin Date: Thu Feb 22 17:15:33 2007 +0200 kvm: move do_remove_write_access() up To be called from kvm_vm_ioctl_set_memory_region() Signed-off-by: Uri Lublin Signed-off-by: Avi Kivity commit cd1a4a982a78e793125db2f386e91dc7c89c9ed1 Author: Uri Lublin Date: Thu Feb 22 16:43:09 2007 +0200 KVM: Fix dirty page log bitmap size/access calculation Since dirty_bitmap is an unsigned long array, the alignment and size need to take that into account. Signed-off-by: Uri Lublin Signed-off-by: Avi Kivity commit ab51a434c5816e1ca3f033791c1cc5c6594998ec Author: Uri Lublin Date: Wed Feb 21 18:25:21 2007 +0200 KVM: Add missing calls to mark_page_dirty() A few places where we modify guest memory fail to call mark_page_dirty(), causing live migration to fail. This adds the missing calls. Signed-off-by: Uri Lublin Signed-off-by: Avi Kivity commit f7e6a45ad9224dfe9f0d76a45c43be7ccafe0b82 Author: Avi Kivity Date: Wed Feb 21 19:47:40 2007 +0200 KVM: Bump API version Signed-off-by: Avi Kivity commit bccf2150fe62dda5fb09efa2f64d2a234694eb48 Author: Avi Kivity Date: Wed Feb 21 18:04:26 2007 +0200 KVM: Per-vcpu inodes Allocate a distinct inode for every vcpu in a VM. This has the following benefits: - the filp cachelines are no longer bounced when f_count is incremented on every ioctl() - the API and internal code are distinctly clearer; for example, on the KVM_GET_REGS ioctl, there is no need to copy the vcpu number from userspace and then copy the registers back; the vcpu identity is derived from the fd used to make the call Right now the performance benefits are completely theoretical since (a) we don't support more than one vcpu per VM and (b) virtualization hardware inefficiencies completely everwhelm any cacheline bouncing effects. But both of these will change, and we need to prepare the API today. Signed-off-by: Avi Kivity commit c5ea76600653b1a242321734435cb1c54778941a Author: Avi Kivity Date: Tue Feb 20 18:41:05 2007 +0200 KVM: Move kvm_vm_ioctl_create_vcpu() around In preparation of some hacking. Signed-off-by: Avi Kivity commit 2c6f5df9793e6f928fc763af3fb535a5e28a1f8a Author: Avi Kivity Date: Tue Feb 20 18:27:58 2007 +0200 KVM: Rename some kvm_dev_ioctl_*() functions to kvm_vm_ioctl_*() This reflects the changed scope, from device-wide to single vm (previously every device open created a virtual machine). Signed-off-by: Avi Kivity commit f17abe9a44425ff9c9858bc1806cc09d6b5dad1c Author: Avi Kivity Date: Wed Feb 21 19:28:04 2007 +0200 KVM: Create an inode per virtual machine This avoids having filp->f_op and the corresponding inode->i_fop different, which is a little unorthodox. The ioctl list is split into two: global kvm ioctls and per-vm ioctls. A new ioctl, KVM_CREATE_VM, is used to create VMs and return the VM fd. Signed-off-by: Avi Kivity commit 37e29d906c6eb1ece907e509160518b2edc2c083 Author: Avi Kivity Date: Tue Feb 20 14:07:37 2007 +0200 KVM: Add internal filesystem for generating inodes The kvmfs inodes will represent virtual machines and vcpus, as necessary, reducing cacheline bouncing due to inodes and filps being shared. Signed-off-by: Avi Kivity commit 19d1408dfd683daf1c158bb8fbf54324eb4bf568 Author: Avi Kivity Date: Mon Feb 19 14:37:48 2007 +0200 KVM: More 0 -> NULL conversions Signed-off-by: Avi Kivity commit 0152527b76b72333121d5a1243f9e091b58d4580 Author: Joerg Roedel Date: Mon Feb 19 14:37:47 2007 +0200 KVM: SVM: intercept SMI to handle it at host level This patch changes the SVM code to intercept SMIs and handle it outside the guest. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit cd205625e9bf2090d9bd95848ef4b34ad3f1a8b3 Author: Avi Kivity Date: Mon Feb 19 14:37:47 2007 +0200 KVM: svm: init cr0 with the wp bit set Signed-off-by: Avi Kivity commit 270fd9b96f5fcb7df15d3ca6166545d4aa0f3ee9 Author: Avi Kivity Date: Mon Feb 19 14:37:47 2007 +0200 KVM: Wire up hypercall handlers to a central arch-independent location Signed-off-by: Avi Kivity commit 02e235bc8eebf8a6fef10d46479b3c18f3e9c4f2 Author: Avi Kivity Date: Mon Feb 19 14:37:47 2007 +0200 KVM: Add hypercall host support for svm Signed-off-by: Avi Kivity commit c21415e84334af679630f6450ceb8929a5234fad Author: Ingo Molnar Date: Mon Feb 19 14:37:47 2007 +0200 KVM: Add host hypercall support for vmx Signed-off-by: Avi Kivity commit 102d8325a1d2f266d3d0a03fdde948544e72c12d Author: Ingo Molnar Date: Mon Feb 19 14:37:47 2007 +0200 KVM: add MSR based hypercall API This adds a special MSR based hypercall API to KVM. This is to be used by paravirtual kernels and virtual drivers. Signed-off-by: Ingo Molnar Signed-off-by: Avi Kivity commit 5972e9535e94bf875eb8eab8a667ba04c7583874 Author: Markus Rechberger Date: Mon Feb 19 14:37:47 2007 +0200 KVM: Use page_private()/set_page_private() apis Besides using an established api, this allows using kvm in older kernels. Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit 9d8f549dc69b1fc65d0b03916c02f12ca49b3ea0 Author: Ahmed S. Darwish Date: Mon Feb 19 14:37:46 2007 +0200 KVM: Use ARRAY_SIZE macro instead of manual calculation. Signed-off-by: Ahmed S. Darwish Signed-off-by: Dor Laor Signed-off-by: Avi Kivity commit de979caacca51c929d2cc2f0f79611ee4a1bc8a5 Author: Joerg Roedel Date: Mon Feb 19 14:37:46 2007 +0200 KVM: vmx: hack set_cr0_no_modeswitch() to actually do modeswitch The whole thing is rotten, but this allows vmx to boot with the guest reboot fix. Signed-off-by: Markus Rechberger Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d27d4aca184ac0ca6b7e32caf79e1c2b91959be9 Author: Avi Kivity Date: Mon Feb 19 14:37:46 2007 +0200 KVM: Cosmetics Signed-off-by: Avi Kivity commit 43934a38d7cb39ff33baedc7f2c40a2a891116fa Author: Jeremy Katz Date: Mon Feb 19 14:37:46 2007 +0200 KVM: Move virtualization deactivation from CPU_DEAD state to CPU_DOWN_PREPARE This gives it more chances of surviving suspend. Signed-off-by: Jeremy Katz Signed-off-by: Avi Kivity commit bf3f8e86c2e22b9bd1375be1bbbd67384dba4342 Author: Avi Kivity Date: Mon Feb 19 14:37:46 2007 +0200 KVM: mmu: add missing dirty page tracking cases We fail to mark a page dirty in three cases: - setting the accessed bit in a pte - setting the dirty bit in a pte - emulating a write into a pagetable This fix adds the missing cases. Signed-off-by: Avi Kivity commit 849138827c962589ac50496fa7feeb2a2d51b467 Author: Bartlomiej Zolnierkiewicz Date: Sat Mar 3 17:48:55 2007 +0100 ide: make legacy IDE VLB modules check for the "probe" kernel params (v2) Legacy IDE VLB host drivers didn't check for "probe" options when compiled as modules, which was obviously wrong as we don't want module to poke at random I/O ports by simply loading it. Fix it by adding "probe" module param to legacy IDE VLB host drivers. v2: * don't obsolete old "ide0=dtc2278/ht6560b/qd65xx/ali14xx/umc8672" IDE driver options yet (per Alan Cox's request) and enhance documentation Signed-off-by: Bartlomiej Zolnierkiewicz commit b6209a90eca8c9a464bf9c5b91741fb125185619 Author: Bartlomiej Zolnierkiewicz Date: Sat Mar 3 17:48:55 2007 +0100 ide: remove some obsoleted kernel params (v2) Remove * "hdx=serialize" * "idex=noautotune" * "idex=autotune" kernel params, they have been obsoleted for ages. "idex=serialize", "hdx=noautotune" and "hdx=autotune" are still available so there is no funcionality loss caused by this patch. v2: * fix CONFIG_BLK_DEV_4DRIVES=y build broken by version 1 of the patch [ /me wearing brown paper bag ] Signed-off-by: Bartlomiej Zolnierkiewicz commit e76ecf86da99383f59f4c85f594403c5c3c1fe91 Author: Richard Knutsson Date: Sat Mar 3 17:48:55 2007 +0100 ide/pci/delkin_cb.c: pci_module_init to pci_register_driver Convert pci_module_init() to pci_register_driver(). [ Compile-tested with "allyes", "allmod" & "allno" on i386. ] Signed-off-by: Richard Knutsson Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 06a9952b8379c48df972023f648014a82582c23a Author: Akira Iguchi Date: Sat Mar 3 17:48:55 2007 +0100 scc_pata: bugfix for checking DMA IRQ status On Tuesday 27 February 2007, Akira Iguchi wrote: > > But since I sent the first patch, I found a bug for checking DMA IRQ status. > (http://www.spinics.net/lists/linux-ide/msg06903.html) > Then I sent the fixed patch for libata only. So my drivers/ide patch > still has same bug and I want to fix it, too. > > The following patch fixes this bug. Please apply this patch. From: Akira Iguchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 846c11abc7934a523a665a3b702358e6f2998e3e Author: Alan Cox Date: Sat Mar 3 17:48:54 2007 +0100 ide: remove a ton of pointless #undef REALLY_SLOW_IO Signed-off-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 8693d3e47b5cd95e1a513f90bc5e0467ce885e24 Author: Alan Cox Date: Sat Mar 3 17:48:54 2007 +0100 siimage: DRAC4 note Revised DRAC4 warning as Jeff suggested, this one includes more info about why the problem occurs Signed-off-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit ed8ccee0918ad063a4741c0656fda783e02df627 Author: Jan Beulich Date: Sat Mar 3 17:48:54 2007 +0100 adjust legacy IDE resource setting (v2) The change to force legacy mode IDE channels' resources to fixed non-zero values confuses (at least some versions of) X, because the values reported by the kernel and those readable from PCI config space aren't consistent anymore. Therefore, this patch arranges for the respective BARs to also get updated if possible. Signed-off-by: Jan Beulich Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 9e5755bce00bb563739aeb0f09932a1907521167 Author: Andrew Morton Date: Sat Mar 3 17:48:54 2007 +0100 ide: fix pmac breakage Fix breakage added in the IDE devel tree. Add header, then fix drivers/ide/ppc/pmac.c: In function `pmac_ide_setup_dma': drivers/ide/ppc/pmac.c:2044: warning: assignment from incompatible pointer type drivers/ide/ppc/pmac.c: In function `pmac_ide_dma_host_on': drivers/ide/ppc/pmac.c:1989: warning: control reaches end of non-void function include/linux/pci.h: In function `pmac_ide_init': drivers/ide/ppc/pmac.c:1563: warning: ignoring return value of `pci_register_driver', declared with attribute warn_unused_result Then add some apparently-long-missing error handling. Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit ed89616786d47093525a5dc039b1f502f5ada954 Author: Magnus Damm Date: Sat Mar 3 17:48:54 2007 +0100 ide-cs: Update device table Add CFA devices from I-O Data, Mitsubishi and Viking. Add SanDisk comment. Signed-off-by: Magnus Damm Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 81d368e0e2591497106b2543918c79dd6d78277b Author: Sergei Shtylyov Date: Sat Mar 3 17:48:53 2007 +0100 ide: ide_get_best_pio_mode() returns incorrect IORDY setting (take 2) The function ide_get_best_pio_mode() fails to return the correct IORDY setting for the explicitly specified modes -- fix this along with the heading comment, and also remove the long commented out code. Also, while at it, correct the misliading comment about the PIO cycle time in -- it actually consists of only the active and recovery periods, with only some chips also including the address setup time into equation... [ bart: sl82c105 seems to be currently the only driver affected by this fix ] Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 07af427606667c304a2e965cd51d2c03642e8cae Author: Sergei Shtylyov Date: Sat Mar 3 17:48:53 2007 +0100 piix/slc90e66: more tuneproc() fixing (take 2) The tuneproc() method in both these drivers failed to set the drive's own speed. Fix this by renaming the function and "wrapping around it" the new tuneproc() method. Switch back to calling tuneproc() in the PIO fallback code. While at it, also convert the rest of the PIO timing code into proper C. :-) Has been kind of tested on SLC90E66. I'm too lazy to reboot my box and test on ICH4... :-) [ bart: I quickly tested it on ICH4. ] Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fab59375b9543f84d1714f7dd00f5d11e531bd3e Author: Tejun Heo Date: Sat Mar 3 17:48:53 2007 +0100 ide: fix drive side 80c cable check, take 2 eighty_ninty_three() had word 93 validitity check but not the 80c bit test itself (bit 13). This increases the chance of incorrect wire detection especially because host side cable detection is often unreliable and we sometimes soley depend on drive side cable detection. Fix it. [ bart: fix off-by-1 bit name in the patch description ] Signed-off-by: Tejun Heo Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit f92d50e6fd14f6e4601f59aac4cffe617b7b2ce6 Author: Sergei Shtylyov Date: Sat Mar 3 17:48:53 2007 +0100 cmd64x: fix PIO mode setup (take 3) The driver's tuneproc() method fails to set the drive's own speed -- fix this by renaming the function to cmd64x_tune_pio(), making it return the mode set, and "wrapping" the new tuneproc() method around it; while at it, also get rid of the non-working prefetch control code (filtering out related argument values in the "wrapper"), remove redundant PIO5 mode limitation, make cmdprintk() give more sensible mode info, and remove mention about the obsolete /proc/ interface. Get rid of the broken config_chipset_for_pio() which always tried to set PIO4, switch to always auto-tuning PIO instead. Oh, and add the missing PIO5 support to the speedproc() method while at it. :-) Warning: compile tested only -- getting to the real hardware isn't that easy... On Tuesday 06 February 2007 22:11, Mikael Pettersson wrote: > > Worked fine on my SPARC Ultra5 with a CMD646 IDE controller. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 21b824771309927172247546b0bff0c4e6831875 Author: Sergei Shtylyov Date: Sat Mar 3 17:48:52 2007 +0100 alim15x3: fix PIO mode setup The driver's tuneproc() method fails to set the drive's own speed -- fix this by renaming the function to ali15x3_tune_pio() and "wrapping" the new tuneproc() method around it and making it return the mode set, update the heading comment. Also, setting PIO mode via the speedproc() method does not work due to passing to the tuneproc() method's a mode number not biased by XFER_PIO_0 -- fix this along with a typo in the heading comment... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 527e1e1879cb10958b7ad4e04b3877abf54df3bd Author: Jeff Garzik Date: Sat Mar 3 10:36:19 2007 -0500 [libata] pata_jmicron: build fix Signed-off-by: Jeff Garzik commit af70dbd3346999570db73b3bc3d4f7b7c004f2ea Author: Michael Krufky Date: Sat Mar 3 10:10:43 2007 -0200 V4L/DVB (5260): Cx88-blackbird: allow usage of both 376836 and 262144 sized firmware images This updates the cx88-blackbird driver to be able to use the new cx23416 firmware image released by Hauppauge Computer Works, while retaining compatibility with the older firmware images. cx2341x firmware can be downloaded at: http://dl.ivtvdriver.org/ivtv/firmware/ Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 48dc30a148b837bcfff0902011633a94789a64fa Author: Mike Isely Date: Sat Mar 3 10:13:05 2007 -0200 V4L/DVB (5366): Pvrusb2: Fix compilation warning for amd64 builds (use %zu instead of %u) Signed-off-by Mike Isely Signed-off-by Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c5eb2a2b65fe411dcfe13264cfa84788a75341fb Author: Russell King Date: Sat Mar 3 11:54:19 2007 +0000 [ARM] EBSA110: Work around build errors Work around EBSA110 build errors by selecting NO_IOPORT. EBSA110 can't support an IO port to MMIO mapping mechanism because the MMIO and IO port spaces have quite different and complex addressing requirements. Signed-off-by: Russell King commit 5c15bdec5c38f4ccf73ef2585fc80a6164de9554 Author: Dan Aloni Date: Fri Mar 2 20:44:51 2007 -0800 [VLAN]: Avoid a 4-order allocation. This patch splits the vlan_group struct into a multi-allocated struct. On x86_64, the size of the original struct is a little more than 32KB, causing a 4-order allocation, which is prune to problems caused by buddy-system external fragmentation conditions. I couldn't just use vmalloc() because vfree() cannot be called in the softirq context of the RCU callback. Signed-off-by: Dan Aloni Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit b5284e5aa94be2f88dc92b29e97aff3da0c45f9f Author: Krzysztof Halasa Date: Fri Mar 2 15:52:22 2007 -0800 [HDLC] Fix dev->header_cache_update having a random value. Switching HDLC devices from Ethernet-framing mode caused stale ethernet function assignments within net_device. Signed-off-by: Krzysztof Halasa Signed-off-by: David S. Miller commit c6387a8694506841389a6ac55175a8a984ae34e4 Author: Paul Moore Date: Fri Mar 2 13:19:02 2007 -0800 [NetLabel]: Verify sensitivity level has a valid CIPSO mapping The current CIPSO engine has a problem where it does not verify that the given sensitivity level has a valid CIPSO mapping when the "std" CIPSO DOI type is used. The end result is that bad packets are sent on the wire which should have never been sent in the first place. This patch corrects this problem by verifying the sensitivity level mapping similar to what is done with the category mapping. This patch also changes the returned error code in this case to -EPERM to better match what the category mapping verification code returns. Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit 90719dbeafdb40a15105ff0c899485b43c2a2a55 Author: Florian Zumbiehl Date: Fri Mar 2 13:16:56 2007 -0800 [PPPOE]: Key connections properly on local device. It is based on the assumption that an interface's ifindex is basically an alias for a local MAC address, so incoming packets now are matched to sockets based on remote MAC, session id, and ifindex of the interface the packet came in on/the socket was bound to by connect(). For relayed packets, the socket that's used for relaying is selected based on destination MAC, session ID and the interface index of the interface whose name currently matches the name requested by userspace as the relaying source interface. Signed-off-by: David S. Miller commit 248f06726e866942b3d8ca8f411f9067713b7ff8 Author: David S. Miller Date: Fri Mar 2 12:49:23 2007 -0800 [AF_UNIX]: Test against sk_max_ack_backlog properly. This brings things inline with the sk_acceptq_is_full() bug fix. The limit test should be x >= sk_max_ack_backlog. Signed-off-by: David S. Miller commit 8488df894d05d6fa41c2bd298c335f944bb0e401 Author: Wei Dong Date: Fri Mar 2 12:37:26 2007 -0800 [NET]: Fix bugs in "Whether sock accept queue is full" checking when I use linux TCP socket, and find there is a bug in function sk_acceptq_is_full(). When a new SYN comes, TCP module first checks its validation. If valid, send SYN,ACK to the client and add the sock to the syn hash table. Next time if received the valid ACK for SYN,ACK from the client. server will accept this connection and increase the sk->sk_ack_backlog -- which is done in function tcp_check_req().We check wether acceptq is full in function tcp_v4_syn_recv_sock(). Consider an example: After listen(sockfd, 1) system call, sk->sk_max_ack_backlog is set to 1. As we know, sk->sk_ack_backlog is initialized to 0. Assuming accept() system call is not invoked now. 1. 1st connection comes. invoke sk_acceptq_is_full(). sk- >sk_ack_backlog=0 sk->sk_max_ack_backlog=1, function return 0 accept this connection. Increase the sk->sk_ack_backlog 2. 2nd connection comes. invoke sk_acceptq_is_full(). sk- >sk_ack_backlog=1 sk->sk_max_ack_backlog=1, function return 0 accept this connection. Increase the sk->sk_ack_backlog 3. 3rd connection comes. invoke sk_acceptq_is_full(). sk- >sk_ack_backlog=2 sk->sk_max_ack_backlog=1, function return 1. Refuse this connection. I think it has bugs. after listen system call. sk->sk_max_ack_backlog=1 but now it can accept 2 connections. Signed-off-by: Wei Dong Signed-off-by: David S. Miller commit 8b453397da923eae4aeb3b41e49793295e09eedf Author: Jeff Garzik Date: Fri Mar 2 20:21:56 2007 -0500 [netdrvr] tulip, de2104x: fix typo: s/__sparc_/__sparc__/ Noticed by Doug Nazar (via David Miller). Signed-off-by: Jeff Garzik commit 5ada386bad58f023686b17113496ff626f10773f Author: Dale Farnsworth Date: Thu Mar 1 16:31:48 2007 -0700 mv643xx_eth: move mac_addr inside mv643xx_eth_platform_data The information contained within platform_data should be self-contained. Replace the pointer to a MAC address with the actual MAC address in struct mv643xx_eth_platform_data. Signed-off-by: Dale Farnsworth Signed-off-by: Jeff Garzik commit 471a567144b91c8f2b7a71a1cf8babe7331590b1 Author: Dave Jones Date: Wed Feb 28 15:41:39 2007 -0500 Fix mv643xx_eth compilation. Commit 908b637fe793165b6aecdc875cdca67c4959a1ad removed ETH_DMA_ALIGN but missed a usage of it in a macro, which broke the build. Signed-off-by: Dave Jones Signed-off-by: Jeff Garzik commit 63f779261f9aa16a0196c51092bedfdd32493f9d Author: Ron Mercer Date: Wed Feb 28 16:42:17 2007 -0800 qla3xxx: bugfix for line omitted in previous patch. This missing line caused transmit errors on the Qlogic 4032 chip. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit e0e20a1a0822aa64335c05013f0966de6a8fc2c6 Author: Linsys Contractor Mithlesh Thukral Date: Wed Feb 28 05:16:40 2007 -0800 NetXen: Fix second rmmod failure observed on PowerPC machines. Signed-off by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit 0c25cfe18afffbc88a2bef28732be9e4846153fe Author: Linsys Contractor Mithlesh Thukral Date: Wed Feb 28 05:14:07 2007 -0800 NetXen: Updates, removal of unsupported features and minor bug fixes. Signed-off-by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit d518725fa68c2a90e04bea56a399d3d1c026269d Author: Divy Le Ray Date: Tue Feb 27 19:28:14 2007 -0800 cxgb3 - Tag driver version This patch adds a "-ko" tag to the driver version. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 4a2e612a3b0cb6502d2317fa3e9d8f22be5db434 Author: Brice Goglin Date: Tue Feb 27 17:18:40 2007 +0100 myri10ge: fix copyright and license Fix copyright and license ("regents" should not have ever been used). Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit c8d64f8a058d6d9fde0291348fa5ac4d29c52da2 Author: Ralf Baechle Date: Tue Feb 27 18:15:01 2007 +0000 jmr3927: do not call tc35815_killall(). No need to stop tc35815 before resetting the board. This fixes the build of tc35815 as a module. This also means there is no caller of tc35815_killall left, so remove that function also. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 6ffa01d88c9dd45e2ed917b5eeeb494d07efb1ab Author: Tejun Heo Date: Fri Mar 2 17:32:47 2007 +0900 libata: add CONFIG_PM to libata core layer Conditionalize all PM related stuff in libata core layer using CONFIG_PM. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 438ac6d5e3f8106a6bd1a5682c508d660294a85d Author: Tejun Heo Date: Fri Mar 2 17:31:26 2007 +0900 libata: add missing CONFIG_PM in LLDs Add missing #ifdef CONFIG_PM conditionals around all PM related parts in libata LLDs. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b23ff24436c97fb26428f3a337faf189292cc307 Author: Tejun Heo Date: Fri Mar 2 17:30:01 2007 +0900 libata: add missing PM callbacks Some LLDs were missing scsi device PM callbacks while having host/port suspend support. Add missing ones. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 43ecf5295b622e9ec93f5b932949acf1c6e4150c Author: David S. Miller Date: Thu Mar 1 18:30:08 2007 -0800 [AOE]: Add get_unaligned() calls where needed. Based upon a report by Andrew Walrond. Signed-off-by: David S. Miller commit 7ab876703dcbe852652db6441f0aadb3d6b75e94 Author: David S. Miller Date: Thu Mar 1 18:29:14 2007 -0800 [RADEON]: Fix blanking return value. If you'll recall, over a year ago, I pointed out that the current Radeon driver erroneously returns -EINVAL for valid blanking codes, here is a link to that thread: http://lkml.org/lkml/2006/1/28/6 No other driver does this, and it confuses the X server into thinking that the device does not support blanking properly. I looked again and there is simply no reason for the Radeon driver to return -EINVAL for FB_BLANK_NORMAL. It claims it wants to do this in order to convince fbcon to blank in software, right here: if (fb_blank(info, blank)) fbcon_generic_blank(vc, info, blank); to software blank the screen. But it only causes that to happen in the FB_BLANK_NORMAL case. That makes no sense because the Radeon code does this: val |= CRTC_DISPLAY_DIS; in the FB_BLANK_NORMAL case so should be blanking the hardware, and there is therefore no reason to SW blank by returning -EINVAL. Signed-off-by: David S. Miller Acked-by: Antonino Daplas commit c4c31fe0e2298529afa1357ebd9dad54b44c4e19 Author: David S. Miller Date: Thu Mar 1 18:10:25 2007 -0800 [SPARC]: Provide 'get_property()' alias for of_get_property(). Another powerpc compatibility item, this will allow us to share more code with them. Signed-off-by: David S. Miller commit f6d0f9ea55277a49ef6c86a768acec021451b139 Author: David S. Miller Date: Thu Mar 1 18:09:18 2007 -0800 [SPARC]: Provide pci_device_to_OF_node() just like powerpc. Signed-off-by: David S. Miller commit 45bcca67ed6437815305fdef38f441358b6a7756 Author: David S. Miller Date: Thu Mar 1 18:08:05 2007 -0800 [SPARC]: Handle unresolvable resources better in of_device.c Just leave them as zero if we couldn't calculate it. Signed-off-by: David S. Miller commit b85cdd490ac52ee039636f809b9b98b1300fcf3d Author: David S. Miller Date: Wed Feb 28 23:20:12 2007 -0800 [SPARC]: Fix bus handling in build_device_resources(). We mistakedly modify 'bus' in the innermost loop. What should happen is that at each register index iteration, we start with the same 'bus'. So preserve it's value at the top level, and use a loop local variable 'dbus' for iteration. This bug causes registers other than the first to be decoded improperly. Signed-off-by: David S. Miller commit cc7c15ec167767b440c1de4dbd2200467b7a493b Author: Alan Cox Date: Fri Mar 2 14:56:35 2007 +0000 pata_qdi: Fix initialisation The QDI init code contains some bugs which mean it only works if you have a test setup that causes both a successful and failed probe. Fix this Found by Philip Guo (Who found it working on code analysis tools not running VLB IDE controllers) Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit fb9f8905a8865679f1fb757380b4169571def0ca Author: Jeff Garzik Date: Fri Mar 2 18:17:22 2007 -0500 [libata] pata_cmd64x: fix driver description in comments Trivial comment fix, taken out of a larger Alan Cox patch. Signed-off-by: Jeff Garzik commit bf7551c441d4b7b0de867d21b96881f3911e89b0 Author: Jeff Garzik Date: Fri Mar 2 18:09:05 2007 -0500 [libata] pata_{legacy,sc1200,sl82c105}: add missing hooks Alan Cox noticed several hooks in pata_* drivers were missing, when he authored his ->cable_detect hook patches. This patch extracts just those fixes from Alan's patches, adding the necessary hooks (usually ->freeze, ->thaw, and ->post_internal_cmd) to the drivers. Signed-off-by: Jeff Garzik commit f31f0cc2f0b7527072d94d02da332d9bb8d7d94c Author: Jeff Garzik Date: Fri Mar 2 17:47:28 2007 -0500 [libata] change master/slave IDENTIFY order 2.6.21-rc has horrible problems with libata and PATA cable types (and thus speeds). This occurs because Tejun fixed a pile of other bugs and we now do cable detect enforcement for drive side detection properly. Unfortunately we don't do the process around cable detection right. Tejun identified the problem and pointed to the right Annex in the spec, this patch implements the needed changes. The basic requirement is that we have to identify the slave before the master. The patch switches the identify order so that we can do the drive side detection correctly. [NOTE: patch and description extracted from a larger work written and signed-off-by Alan Cox] Signed-off-by: Jeff Garzik commit 032af1ce16d496b825adde0fa03948785ee16830 Author: Alan Date: Thu Mar 1 17:36:46 2007 +0000 libata-core: Fix simplex handling The initial simplex handling code is fooled if you suspend and resume. This also causes problems with some single channel controllers which claim to be simplex. The fix is fairly simple, instead of keeping a flag to remember if we gave away the simplex channel we remember the actual owner. As the owner is always part of the host_set we don't even need a refcount. Knowing the owner also means we can reassign simplex DMA channels in future hotplug code etc if we need to Signed-off-by: Alan Cox (and a signed-off for the patch I sent before while I remember) Signed-off-by: Jeff Garzik commit 5ddc3229488f4cad719f47aecfa1459ebbbde5b3 Author: Robert Marquardt Date: Fri Mar 2 16:01:52 2007 +0100 HID blacklisting of all Code Mercenaries IOWarrior devices Put all Code Mercenaries (VID 0x07c0) IOWarriors (PIDs 0x1500 to 0x15ff) on the HID blacklist. The range of PIDs has been reserved for IOWarriors. Only 5 PIDs are really used yet. Signed-off-by: Robert Marquardt Signed-off-by: Jiri Kosina commit 9623b3732d11b0a18d9af3419f680d27ea24b014 Author: Catalin Marinas Date: Wed Feb 28 12:30:38 2007 +0100 [ARM] 4241/1: Define mb() as compiler barrier on a uniprocessor system Currently, the mb() is defined as a DMB operation on ARMv6, even for UP systems. This patch defines mb() as a compiler barrier only. For the SMP case, the smp_* variants should be used anyway and the patch defines them as DMB. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 5bfe8cb62127b5eb799f5724764abe914e49860e Author: Ben Dooks Date: Wed Feb 28 00:23:20 2007 +0100 [ARM] 4239/1: S3C24XX: Update kconfig entries for PM Update help text with location of documentation and duplicate the note on the speed of CRC Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 540988eb67f2eee80d0e44bf5f606e388b80500e Author: Ben Dooks Date: Wed Feb 28 00:16:26 2007 +0100 [ARM] 4238/1: S3C24XX: docs: update suspend and resume Remove some of the explicit use of S3C2410 where it is generic to all the S3C24XX series. Add more info on the CRC code, and add an example of using IRQ_EINT0 to resume from suspend Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1b7b56982fdcd9d85effd76f3928cf5d6eb26155 Author: Richard Purdie Date: Tue Feb 27 12:09:33 2007 +0100 [ARM] 4237/2: oprofile: Always allow backtraces on ARM Always allow backtrace when using oprofile on ARM, even if a PMU isn't present. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit 14fca61a9828effbde2c284fbaa3ee22178998e0 Author: Russell King Date: Tue Feb 27 12:10:07 2007 +0000 [ARM] Yet more asm/apm-emulation.h stuff Signed-off-by: Russell King commit 1f4d1774133f596a3c4f520859890ad93769e523 Author: Tony Lindgren Date: Thu Mar 1 04:46:43 2007 -0800 ARM: OMAP: Add missing get_irqnr_preamble and arch_ret_to_user for omap2 Only entries for omap1 were added earlier. Signed-off-by: Tony Lindgren commit 04fbf6a29182eb4285bb8bb826fc34fe84a62d9c Author: Tony Lindgren Date: Mon Feb 12 10:50:53 2007 -0800 ARM: OMAP: Use linux/delay.h not asm/delay.h Use linux/delay.h not asm/delay.h Signed-off-by: Tony Lindgren commit 2f4ff76499b9d0fb877b907a7cd5a28e3356ba28 Author: Tony Lindgren Date: Mon Feb 12 10:16:43 2007 -0800 ARM: OMAP: Remove obsolete alsa typedefs Remove obsolete alsa typedefs Signed-off-by: Tony Lindgren commit 99c658a6c018a88b336dbd54d2e552db85348894 Author: Vladimir Ananiev Date: Mon Dec 11 13:30:21 2006 -0800 ARM: OMAP: omap1510->15xx conversions needed for sx1 Convert 1510->15xx in generic omap code, so that sx1 can work. Signed-off-by: Pavel Machek Signed-off-by: Tony Lindgren commit 193506106d19ad54d56740612bf1be1c68d13bb8 Author: Dirk Behme Date: Thu Jan 25 16:29:42 2007 -0800 ARM: OMAP: Add missing includes to board-nokia770 Add missing includes to board-nokia770 to make it compile again. Signed-off-by: Dirk Behme Signed-off-by: Tony Lindgren commit 060ebf97b4d0000e63f7db1c1d12cb3dca5cd446 Author: Dirk Behme Date: Thu Jan 25 16:29:17 2007 -0800 ARM: OMAP: Workqueue changes for board-h4.c Workqueue changes for board-h4.c Signed-off-by: Dirk Behme Signed-off-by: Tony Lindgren commit 53037f4c1009c9cf5e6c95a616d1952a240f6540 Author: Matthew Percival Date: Thu Jan 25 16:24:29 2007 -0800 ARM: OMAP: dmtimer.c omap1 register fix When I went to use dmtimer7 it did not seem to work. I noticed that the base addresses for dmtimers 7 and 8 were set wrong. A simple patch to correct a small error. Confirmed to fix the problem on an OSK. Signed-off-by: Matthew Percival Signed-off-by: Tony Lindgren commit e016a40cab504f6e0537fa5bdb3874a2bbefe9dc Author: Arnaud Patard Date: Wed Dec 6 17:14:06 2006 -0800 ARM: OMAP: board-nokia770: correct lcd name Some time ago, the 'lcd_lph8923' device was renamed to 'lcd_mipid' but the board-nokia770.c file was not updated accordingly, leading to not working lcd. This one-liner fixe the trouble. Signed-off-by: Arnaud Patard Signed-off-by: Tony Lindgren commit b097f494cc3def2ec39ded3b80a62b9d257e4b01 Author: David Brownell Date: Wed Dec 6 17:14:04 2006 -0800 ARM: OMAP: omap GP timer: HZ != 100 Teach OMAP2 gp timer that HZ isn't always 100. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 2f5c4b6f1ce6595fd977963051a3030911ae4461 Author: Dirk Behme Date: Wed Dec 6 17:14:04 2006 -0800 ARM: OMAP: Fix warning in mach-omap1 Fix warning arch/arm/mach-omap1/pm.c: In function 'omap_pm_init': arch/arm/mach-omap1/pm.c:765: warning: ignoring return value of 'subsys_create_file', declared with attribute warn_unused_result Signed-off-by: Dirk Behme Signed-off-by: Tony Lindgren commit ef772f2ee31e0993dca2d59d9ee27682d39902fa Author: Dirk Behme Date: Wed Dec 6 17:14:02 2006 -0800 ARM: OMAP: Fix CONFIG_DEBUG_LL Fix broken CONFIG_DEBUG_LL. In case of low level debugging reconfigure some clocks early. See http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=commitdiff;h=3bfb289ccc6c4624fd5ff0381546935e105f4093 too. Signed-off-by: Dirk Behme Signed-off-by: Tony Lindgren commit e6687290ae9ba935c1435e2ae54cf2f92e1f5f3b Author: Dirk Behme Date: Wed Dec 6 17:14:00 2006 -0800 ARM: OMAP: Fix warning in mach-omap2 Fix warning arch/arm/mach-omap2/timer-gp.c: In function 'omap2_gp_timer_init': arch/arm/mach-omap2/timer-gp.c:70: warning: implicit declaration of function 'setup_irq' Signed-off-by: Dirk Behme Signed-off-by: Tony Lindgren commit 2121880e8816b9b50b04e8b3085bbcce229c37d0 Author: Dirk Behme Date: Wed Dec 6 17:14:00 2006 -0800 ARM: OMAP: Fix warnings in plat-omap Fix warnings arch/arm/plat-omap/dmtimer.c: In function 'omap_dm_timer_modify_idlect_mask': arch/arm/plat-omap/dmtimer.c:317: warning: no return statement in function returning non-void arch/arm/plat-omap/mailbox.c: In function 'omap_mbox_init': arch/arm/plat-omap/mailbox.c:231: warning: ignoring return value of 'class_device_create_file', declared with attribute warn_unused_result Signed-off-by: Dirk Behme Signed-off-by: Tony Lindgren commit b286f7ba302816c7176efcd0d458263dd598d7bc Author: Dirk Behme Date: Wed Dec 6 17:13:57 2006 -0800 ARM: OMAP: No IRQF_TRIGGER set_type function for IRQ 353 (MPUIO) No IRQF_TRIGGER set_type function for IRQ 353 (MPUIO) Signed-off-by: Dirk Behme Signed-off-by: Tony Lindgren commit 65d873caab8a222954462e4a5a4754796d569820 Author: Marek Vašut Date: Wed Dec 6 17:13:56 2006 -0800 ARM: OMAP: OMAP310 Serial This makes serial usable also on omap310, not only 1510. (changing 1510->15xx) Signed-off-by: Marek Vašut Signed-off-by: Tony Lindgren commit 681e9940da89633bd25a6d155118fa5340260bc5 Author: Timo Teras Date: Wed Dec 6 17:13:52 2006 -0800 ARM: OMAP: Proper handling of DMA4_IRQSTATUS_L0 The register bits are reset by writing one. Remove the unneeded reads and fix writes to not clear too many bits. Signed-off-by: Timo Teras Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren commit 6f9c92f1b9930dd400c79872036d1d8636e6e4b9 Author: Dirk Behme Date: Wed Dec 6 17:13:51 2006 -0800 ARM: OMAP: Fix warning in clock.c Fix warning: arch/arm/mach-omap1/clock.c: In function 'omap1_clk_enable_generic': arch/arm/mach-omap1/clock.c:499: warning: 'return' with no value, in function returning non-void Signed-off-by: Dirk Behme Signed-off-by: Tony Lindgren commit ef557d76dfbdf74c240f76be15fa90d62f1ae61f Author: Andrzej Zaborowski Date: Wed Dec 6 17:13:48 2006 -0800 ARM: OMAP: correct misc 15xx and non-15xx platform code Disable accesses to SOFT_REQ_REG2 and ULPD_SOFT_DISABLE_REQ_REG registers for 15xx processors that don't have these registers. Enable level 2 interrupt handler for processors that identify as OMAP 15xx (e.g 310) and not 1510 specifically. Also fix the following compiler warning (only visible with CONFIG_OMAP_RESET_CLOCKS): arch/arm/mach-omap1/clock.c: In function 'omap1_clk_disable_unused': arch/arm/mach-omap1/clock.c:634: warning: 'return' with a value, in function returning void Signed-off-by: Andrzej Zaborowski Signed-off-by: Tony Lindgren commit d701d8a3bc1c0f56fa2759f631f86a320b66f13e Author: Ralf Baechle Date: Thu Mar 1 12:40:21 2007 +0000 [PATCH] Fix sysfs build breakage if !CONFIG_SYSFS B0rkage introduced by dfa87c824a9a5430008acd1ed2e8111ed164fcbe. Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit afb2d552bc4c241c009f5947311a95de426a75d9 Author: Tejun Heo Date: Tue Feb 27 13:24:19 2007 +0900 ahci: improve spurious SDB FIS handling Spurious SDB FIS during NCQ might not contain spurious completions. It could be spurious TF update or invalid async notification. Treat as HSM violation iff a spurious SDB FIS contains spurious completions; otherwise, just whine once about it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e34bb370dec4919b7e8b769d51ad2bc2535b6982 Author: Tejun Heo Date: Mon Feb 26 20:24:03 2007 +0900 ahci/pata_jmicron: match class not function number Make jmiron_ata quirk update pdev->class after programming the device and update ahci and pata_jmicron such that they match class code instead of checking function number manually. For ahci, it matches for vendor and class. For pata_jmicron, it matches vendor, device and class as IDE class isn't as well defined as AHCI class. This makes jmicron device matching more conventional and script friendly. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5ee2ae7fb2079c5775d8802cd282140d71632a2d Author: Tejun Heo Date: Mon Feb 26 20:16:13 2007 +0900 jmicron ATA: reimplement jmicron ATA quirk Reimplement jmicron ATA quirk. * renamed to quirk_jmicron_ata() * quirk is invoked only for the affected controllers * programming is stricter. e.g. conf5 bit24 is cleared if unnecessary. * code factored for readability * JMB360 and JMB368 are programmed into proper mode Verified on JMB360, 363 and 368. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 960627b7adf3645e4969b4bfaf03360caabbe76a Author: Tejun Heo Date: Mon Feb 26 20:09:02 2007 +0900 pata_jmicron: drop unnecessary device programming in [re]init Channel redirect and AHCI mode enable programmings are done via PCI quirk for both probe and resume paths. Drop duplicate and possibly unsafe device programming from pata_jmicron(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 516dffdcd8827a40532798602830dfcfc672294c Author: Adam Litke Date: Thu Mar 1 15:46:08 2007 -0800 [PATCH] Fix get_unmapped_area and fsync for hugetlb shm segments This patch provides the following hugetlb-related fixes to the recent stacked shm files changes: - Update is_file_hugepages() so it will reconize hugetlb shm segments. - get_unmapped_area must be called with the nested file struct to handle the sfd->file->f_ops->get_unmapped_area == NULL case. - The fsync f_op must be wrapped since it is specified in the hugetlbfs f_ops. This is based on proposed fixes from Eric Biederman that were debugged and tested by me. Without it, attempting to use hugetlb shared memory segments on powerpc (and likely ia64) will kill your box. Signed-off-by: Adam Litke Cc: Eric Biederman Cc: Andrew Morton Acked-by: William Irwin Signed-off-by: Linus Torvalds commit 09125ea6179b28790950b7ddb4daba112f6c2b73 Author: Tejun Heo Date: Wed Feb 28 15:21:23 2007 +0900 libata: blacklist FUJITSU MHT2060BH for NCQ Blacklist FUJITSU MHT2060BH for NCQ. On this drive, NCQ works iff queue depth is equal to or less than 4. Just turn it off. Signed-off-by: Tejun Heo Cc: Mike Accetta Signed-off-by: Jeff Garzik commit 4fc00cb4d520124e82fdaa5882077075b1f007cc Author: Tejun Heo Date: Mon Feb 26 16:11:00 2007 +0900 sata_sil24: kill unused local variable idx in sil24_fill_sg() Kill unused local variable idx in sil24_fill_sg(). Spotted by Jeff Garzik. Signed-off-by: Tejun Heo Cc: Jeff Garzik Signed-off-by: Jeff Garzik commit 1aa56cca5bfa396c791e93b38e4776ef39b590a7 Author: Tejun Heo Date: Tue Feb 27 22:33:21 2007 +0900 libata: clear drvdata in ata_host_release(), take#2 Clearing drvdata in ->remove_one causes NULL pointer deference. Clear drvdata only in ata_host_release() after all resources are freed. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7b965e0884cee430ffe5dc81cdb117b9316b0549 Author: Trond Myklebust Date: Wed Feb 28 20:13:55 2007 -0800 [PATCH] VM: invalidate_inode_pages2_range() should not exit early Fix invalidate_inode_pages2_range() so that it does not immediately exit just because a single page in the specified range could not be removed. Signed-off-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a39e8c6d655b4fe8305ef8cc2d9bbe782bfee5f Author: Aristeu Sergio Rozanski Filho Date: Wed Feb 28 20:13:53 2007 -0800 [PATCH] tty_io: fix race in master pty close/slave pty close path This patch fixes a possible race that leads to double freeing an idr index. When the master begin to close, release_dev() is called and then pty_close() is called: if (tty->driver->close) tty->driver->close(tty, filp); This is done without helding any locks other than BKL. Inside pty_close(), being a master close, the devpts entry will be removed: #ifdef CONFIG_UNIX98_PTYS if (tty->driver == ptm_driver) devpts_pty_kill(tty->index); #endif But devpts_pty_kill() will call get_node() that may sleep while waiting for &devpts_root->d_inode->i_sem. When this happens and the slave is being opened, tty_open() just found the driver and index: driver = get_tty_driver(device, &index); if (!driver) { mutex_unlock(&tty_mutex); return -ENODEV; } This part of the code is already protected under tty_mute. The problem is that the slave close already got an index. Then init_dev() is called and blocks waiting for the same &devpts_root->d_inode->i_sem. When the master close resumes, it removes the devpts entry, and the relation between idr index and the tty is gone. The master then sleeps waiting for the tty_mutex on release_dev(). Slave open resumes and found no tty for that index. As result, a NULL tty is returned and init_dev() doesn't flow to fast_track: /* check whether we're reopening an existing tty */ if (driver->flags & TTY_DRIVER_DEVPTS_MEM) { tty = devpts_get_tty(idx); if (tty && driver->subtype == PTY_TYPE_MASTER) tty = tty->link; } else { tty = driver->ttys[idx]; } if (tty) goto fast_track; The result of this, is that a new tty will be created and init_dev() returns sucessfull. After returning, tty_mutex is dropped and master close may resume. Master close finds it's the only use and both sides are closing, then releases the tty and the index. At this point, the idr index is free, but slave still has it. Slave open then calls pty_open() and finds that tty->link->count is 0, because there's no master and returns error. Then tty_open() calls release_dev() which executes without any warning, as it was a case of last slave close when the master is already closed (master->count == 0, slave->count == 1). The tty is then released with the already released idr index. This normally would only issue a warning on idr_remove() but in case of a customer's critical application, it's never too simple: thread1: opens master, gets index X thread1: begin closing master thread2: begin opening slave with index X thread1: finishes closing master, index X released thread3: opens master, gets index X, just released thread2: fails opening slave, releases index X <---- thread4: opens master, gets index X, init_dev() then find an already in use and healthy tty and fails If no more indexes are released, ptmx_open() will keep failing, as the first free index available is X, and it will make init_dev() fail because you're trying to "reopen a master" which isn't valid. The patch notices when this race happens and make init_dev() fail imediately. The init_dev() function is called with tty_mutex held, so it's safe to continue with tty till the end of function because release_dev() won't make any further changes without grabbing the tty_mutex. Without the patch, on some machines it's possible get easily idr warnings like this one: idr_remove called for id=15 which is not allocated. [] idr_remove+0x139/0x170 [] release_mem+0x182/0x230 [] release_dev+0x4b7/0x700 [] tty_ldisc_enable+0x27/0x30 [] init_dev+0x254/0x580 [] check_tty_count+0x14/0xb0 [] tty_open+0x1c5/0x340 [] tty_open+0x0/0x340 [] chrdev_open+0xaf/0x180 [] open_namei+0x8c/0x760 [] chrdev_open+0x0/0x180 [] __dentry_open+0xc9/0x210 [] do_filp_open+0x5c/0x70 [] get_unused_fd+0x61/0xd0 [] do_sys_open+0x53/0x100 [] sys_open+0x27/0x30 [] syscall_call+0x7/0xb using this test application available on: http://www.ruivo.org/~aris/pty_sodomizer.c Signed-off-by: Aristeu Sergio Rozanski Filho Cc: "H. Peter Anvin" Cc: Chuck Ebbert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a0ee2ce8cc4f962031d7520df960431c2f26a9c Author: Yoichi Yuasa Date: Wed Feb 28 20:13:51 2007 -0800 [PATCH] fix memory leak in dma_declare_coherent_memory() When it goes to free1_out, dev->dma_mem has not been freed. Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17f0cd2f350b90b28301e27fe0e39f34bfe7e730 Author: Karsten Keil Date: Wed Feb 28 20:13:50 2007 -0800 [PATCH] Fix buffer overflow and races in capi debug functions The CAPI trace debug functions were using a fixed size buffer, which can be overflowed if wrong formatted CAPI messages were sent to the kernel capi layer. The code was also not protected against multiple callers. This fix bug 8028. Additionally the patch make the CAPI trace functions optional. Signed-off-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34bbd704051c9d053d69e90569a3a2365f4c7b50 Author: Oleg Nesterov Date: Wed Feb 28 20:13:49 2007 -0800 [PATCH] adapt page_lock_anon_vma() to PREEMPT_RCU page_lock_anon_vma() uses spin_lock() to block RCU. This doesn't work with PREEMPT_RCU, we have to do rcu_read_lock() explicitely. Otherwise, it is theoretically possible that slab returns anon_vma's memory to the system before we do spin_unlock(&anon_vma->lock). [ Hugh points out that this only matters for PREEMPT_RCU, which isn't merged yet, and may never be. Regardless, this patch is conceptually the right thing to do, even if it doesn't matter at this point. - Linus ] Signed-off-by: Oleg Nesterov Cc: Paul McKenney Cc: Nick Piggin Cc: Christoph Lameter Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48dba8ab9b93c3b6b57946bd45ae013402b0b054 Author: Vassili Karpov Date: Wed Feb 28 20:13:45 2007 -0800 [PATCH] Documentation: CPU load calculation description Describes how/when the information exported to `/proc/stat' is calculated, and possible problems with this approach. Signed-off-by: Vassili Karpov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7355690ead6d61f6344072ae61060f985060da29 Author: Ingo Molnar Date: Wed Feb 28 20:13:42 2007 -0800 [PATCH] sched: fix SMT scheduler bug The SMT scheduler incorrectly skips kernel threads even if they are runnable (but they are preempted by a higher-prio user-space task which got SMT-delayed by an even higher-priority task running on a sibling CPU). Fix this for now by only doing the SMT-nice optimization if the to-be-delayed task is the only runnable task. (This should cover most of the real-life cases anyway.) This bug has been in the SMT scheduler since 2.6.17 or so, but has only been noticed now by the active check in the dynticks code. Signed-off-by: Ingo Molnar Cc: Michal Piotrowski Cc: Nick Piggin Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f555c700b6c90f9ac24bc81a4f509583d906278 Author: Geert Uytterhoeven Date: Wed Feb 28 20:13:38 2007 -0800 [PATCH] ps3: introduce CONFIG_PS3_ADVANCED ps3: Introduce CONFIG_PS3_ADVANCED, as suggested by Roman Zippel, and use it to control questions about PS3 subsystems that may not be obvious for the casual user. This gets rid of the following warning on non-powerpc platforms: | drivers/video/Kconfig:1604:warning: 'select' used by config symbol 'FB_PS3' refer to undefined symbol 'PS3_PS3AV' Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Cc: Paul Mackerras Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a2bfdcbfa441d8b0e5cb9c9a7f45f77f80da465 Author: Mingming Cao Date: Wed Feb 28 20:13:35 2007 -0800 [PATCH] ext[34]: EA block reference count racing fix There are race issues around ext[34] xattr block release code. ext[34]_xattr_release_block() checks the reference count of xattr block (h_refcount) and frees that xattr block if it is the last one reference it. Unlike ext2, the check of this counter is unprotected by any lock. ext[34]_xattr_release_block() will free the mb_cache entry before freeing that xattr block. There is a small window between the check for the re h_refcount ==1 and the call to mb_cache_entry_free(). During this small window another inode might find this xattr block from the mbcache and reuse it, racing a refcount updates. The xattr block will later be freed by the first inode without notice other inode is still use it. Later if that block is reallocated as a datablock for other file, then more serious problem might happen. We need put a lock around places checking the refount as well to avoid racing issue. Another place need this kind of protection is in ext3_xattr_block_set(), where it will modify the xattr block content in- the-fly if the refcount is 1 (means it's the only inode reference it). This will also fix another issue: the xattr block may not get freed at all if no lock is to protect the refcount check at the release time. It is possible that the last two inodes could release the shared xattr block at the same time. But both of them think they are not the last one so only decreased the h_refcount without freeing xattr block at all. We need to call lock_buffer() after ext3_journal_get_write_access() to avoid deadlock (because the later will call lock_buffer()/unlock_buffer () as well). Signed-off-by: Mingming Cao Cc: Andreas Gruenbacher Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1463fdbcc797dfcb8574ababbd39cf6205f6ed00 Author: Jeff Dike Date: Wed Feb 28 20:13:33 2007 -0800 [PATCH] uml: pte_mkread fix Fix the fact that pte_mkread set _PAGE_RW instead of _PAGE_USER (the logic is copied from i386 in most place, so it is really as bad as you're thinking). Thus currently page tables are more permissive than they should. Such a change may trigger other latent bugs, so be careful with this. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14251809b1921b1216568700f1be2f91a1cbb5c7 Author: Jeff Dike Date: Wed Feb 28 20:13:31 2007 -0800 [PATCH] uml: host VDSO fix This fixes a problem seen by a number of people running UML on newer host kernels. init would hang with an infinite segfault loop. It turns out that the host kernel was providing a AT_SYSINFO_EHDR of 0xffffe000, which faked UML into believing that the host VDSO page could be reused. However, AT_SYSINFO pointed into the middle of the address space, and was unmapped as a result. Because UML was providing AT_SYSINFO_EHDR and AT_SYSINFO to its own processes, these would branch to nowhere when trying to use the VDSO. The fix is to also check the location of AT_SYSINFO when deciding whether to use the host's VDSO. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf2775f175128fc9fd7ffb88981e068d27bc85db Author: Allan Graves Date: Wed Feb 28 20:13:29 2007 -0800 [PATCH] uml: enable RAW Add the RAW device driver options to the UML Kconfig.char file so that you may use them in UML. Signed-off-by: Allan Graves Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77904fd64eb9131c337dd068e4196d25c2f9de7e Author: David Howells Date: Wed Feb 28 20:13:26 2007 -0800 [PATCH] FRV: Missing error defs linux/irq.h uses EINVAL but does not #include linux/errno.h. This results in the compiler spitting out errors on some files. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 232ea4d69d81169453344b7d05203425c88d973b Author: Andrew Morton Date: Wed Feb 28 20:13:21 2007 -0800 [PATCH] throttle_vm_writeout(): don't loop on GFP_NOFS and GFP_NOIO allocations throttle_vm_writeout() is designed to wait for the dirty levels to subside. But if the caller holds IO or FS locks, we might be holding up that writeout. So change it to take a single nap to give other devices a chance to clean some memory, then return. Cc: Nick Piggin Cc: OGAWA Hirofumi Cc: Kumar Gala Cc: Pete Zaitcev Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1a316f6f9c54d668df4304ddf935595501ccb25 Author: Kristen Carlson Accardi Date: Wed Feb 28 20:13:17 2007 -0800 [PATCH] ACPI: make bay depend on dock Since the bay driver depends on the dock driver for proper notification, make this driver depend on the dock driver. Signed-off-by: Kristen Carlson Accardi Acked-by: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1af65d13f3625543916a85c86d02826df910fcf Author: David Miller Date: Wed Feb 28 20:13:13 2007 -0800 [PATCH] Bug in MM_RB debugging The code is seemingly trying to make sure that rb_next() brings us to successive increasing vma entries. But the two variables, prev and pend, used to perform these checks, are never advanced. Signed-off-by: David S. Miller Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04a51e66adcdc0de6ffaa488934ce3ffb3818ecf Author: Jeff Dike Date: Wed Feb 28 20:13:11 2007 -0800 [PATCH] uml: add back accidentally removed error In the 2.6.20 hang patch, I accidentally threw out an error message. This puts it back. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af727902212343211627da14d17c85592feb0e18 Author: Jeff Dike Date: Wed Feb 28 20:13:06 2007 -0800 [PATCH] uml: fix host LDT lookup initialization locking, try 2 Add some locking to host_ldt_entries to prevent racing when reading LDT information from the host. The locking is somewhat more careful than my previous attempt. Now, only the check of host_ldt_entries is locked. The lock is dropped immediately afterwards, and if the LDT needs initializing, that (and the memory allocations needed) proceed outside the lock. Also fixed some style violations. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dae9f8e63cbb532e8c4b9c54bda0bf511af9c01c Author: Tilman Schmidt Date: Wed Feb 28 20:13:01 2007 -0800 [PATCH] drivers/isdn/gigaset: build asyncdata.o into the gigaset module (fix) a) Remove #define acrobatics that have become unnecessary by the move of asyncdata.o into the common part. b) Correct the rule for building the common part into the kernel when some or all hardware specific parts are built as modules. Signed-off-by: Tilman Schmidt Cc: Adrian Bunk Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65dc8145711d1c20aecbb1a8a4a518f7c68611b8 Author: Michael Halcrow Date: Wed Feb 28 20:12:57 2007 -0800 [PATCH] eCryptfs: no path_release() after path_lookup() error Dmitriy Monakhov wrote: > if path_lookup() return non zero code we don't have to worry about > 'nd' parameter, but ecryptfs_read_super does path_release(&nd) after > path_lookup has failed, and dentry counter becomes negative Do not do a path_release after a path_lookup error. Signed-off-by: Michael Halcrow Cc: Dmitriy Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ed6d896de3a57bdfb38cffaa748612f112c2a75 Author: Michael Halcrow Date: Wed Feb 28 20:12:52 2007 -0800 [PATCH] eCryptfs: remove unnecessary flush_dcache_page() Remove unnecessary flush_dcache_page() call. Thanks to Dmitriy Monakhov for pointing this out. Signed-off-by: Michael Halcrow Cc: Dmitriy Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8d547d5cf3df447d1527f2e66ba578e88011999 Author: Michael Halcrow Date: Wed Feb 28 20:12:47 2007 -0800 [PATCH] eCryptfs: set O_LARGEFILE when opening lower file O_LARGEFILE should be set here when opening the lower file. Signed-off-by: Michael Halcrow Cc: Dmitriy Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e109ebd1eed2b91e3c9bb3b42cc27961f0dc22b3 Author: David Brownell Date: Wed Feb 28 20:12:40 2007 -0800 [PATCH] rtc_cmos oops fix Fix an oops on the rtc_device_unregister() path by waiting until the last moment before nulling the rtc->ops vector. Fix some potential oopses by having the rtc_class_open()/rtc_class_close() interface increase the RTC's reference count while an RTC handle is available outside the RTC framework. Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0478e62e8a04154b7bdc0dfd33ffbcabc5446e9c Author: Antonino A. Daplas Date: Wed Feb 28 20:12:37 2007 -0800 [PATCH] MAINTAINERS: Update email address adaplas@pol.net is still alive, but is choking on the traffic. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 244474b216d319d7317a610fb5d6e194c5ef1460 Author: Randy Dunlap Date: Wed Feb 28 20:12:35 2007 -0800 [PATCH] add -mm testing in SubmitChecklist Add -mm testing to SubmitChecklist. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1499993cc7bfd568f471bd697499cff394e46822 Author: Sam Ravnborg Date: Wed Feb 28 20:12:31 2007 -0800 [PATCH] fix section mismatch warning in lockdep lockdep_init() is marked __init but used in several places outside __init code. This causes following warnings: $ scripts/mod/modpost kernel/lockdep.o WARNING: kernel/built-in.o - Section mismatch: reference to .init.text:lockdep_init from .text.lockdep_init_map after 'lockdep_init_map' (at offset 0x105) WARNING: kernel/built-in.o - Section mismatch: reference to .init.text:lockdep_init from .text.lockdep_reset_lock after 'lockdep_reset_lock' (at offset 0x35) WARNING: kernel/built-in.o - Section mismatch: reference to .init.text:lockdep_init from .text.__lock_acquire after '__lock_acquire' (at offset 0xb2) The warnings are less obviously due to heavy inlining by gcc - this is not altered. Fix the section mismatch warnings by removing the __init marking, which seems obviously wrong. Signed-off-by: Sam Ravnborg Acked-by: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5409bae07a63630ba5a40f3f00b7f3e6d7eceedd Author: Nick Piggin Date: Wed Feb 28 20:12:27 2007 -0800 [PATCH] Rename PG_checked to PG_owner_priv_1 Rename PG_checked to PG_owner_priv_1 to reflect its availablilty as a private flag for use by the owner/allocator of the page. In the case of pagecache pages (which might be considered to be owned by the mm), filesystems may use the flag. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93a6fefe2f6fc380870c0985b246bec7f37a06f7 Author: Adrian Bunk Date: Wed Feb 28 20:12:23 2007 -0800 [PATCH] fix the SYSCTL=n compilation /home/bunk/linux/kernel-2.6/linux-2.6.20-mm2/kernel/sysctl.c:1411: error: conflicting types for 'register_sysctl_table' /home/bunk/linux/kernel-2.6/linux-2.6.20-mm2/include/linux/sysctl.h:1042: error: previous declaration of 'register_sysctl_table' was here make[2]: *** [kernel/sysctl.o] Error 1 Caused by commit 0b4d414714f0d2f922d39424b0c5c82ad900a381. Signed-off-by: Adrian Bunk Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1e16aa2792a129d8920e22210ef21eb62a0f80a Author: Thomas Gleixner Date: Wed Feb 28 20:12:19 2007 -0800 [PATCH] Fix posix-cpu-timer breakage caused by stale p->last_ran value Problem description at: http://bugzilla.kernel.org/show_bug.cgi?id=8048 Commit b18ec80396834497933d77b81ec0918519f4e2a7 [PATCH] sched: improve migration accuracy optimized the scheduler time calculations, but broke posix-cpu-timers. The problem is that the p->last_ran value is not updated after a context switch. So a subsequent call to current_sched_time() calculates with a stale p->last_ran value, i.e. accounts the full time, which the task was scheduled away. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae73fc093a8cae4d92e22ab8b635e3590e80785d Author: Michael Halcrow Date: Wed Feb 28 20:12:16 2007 -0800 [PATCH] eCryptfs: resolve lower page unlocking problem eCryptfs lower file handling code has several issues: - Retval from prepare_write()/commit_write() wasn't checked to equality to AOP_TRUNCATED_PAGE. - In some places page wasn't unmapped and unlocked after error. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05fb6bf0b29552b64dc86f405a484de2514e0ac2 Author: Randy Dunlap Date: Wed Feb 28 20:12:13 2007 -0800 [PATCH] kernel-doc fixes for 2.6.20-git15 (non-drivers) Fix kernel-doc warnings in 2.6.20-git15 (lib/, mm/, kernel/, include/). Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 328d24403d6a6b856722facd39d7b6ccb429353b Author: Randy Dunlap Date: Wed Feb 28 20:12:10 2007 -0800 [PATCH] kernel-doc: allow space after __attribute__ Allow space(s) between "__attribute__" and "((blah))" so that kernel-doc does not complain like: Warning(/tester/linsrc/linux-2.6.20-git15//kernel/timer.c:939): No description found for parameter 'read_persistent_clock(void' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d6346311418d12e90cca9384e5fbbe2ffa18efb Author: Daniel Walker Date: Wed Feb 28 20:12:07 2007 -0800 [PATCH] update timekeeping_is_continuous comment Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28936117af849b8c2fca664a41ea7651a0d99591 Author: David Howells Date: Wed Feb 28 20:12:03 2007 -0800 [PATCH] FRV: Add some missng lazy MMU hooks for NOMMU mode Add some missing lazy MMU hooks for NOMMU mode. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa6427542cfd2811f48186c68057273c6537f261 Author: David Howells Date: Wed Feb 28 20:11:58 2007 -0800 [PATCH] FRV: No ZONE_DMA FRV does not require a ZONE_DMA, so all DMA'able pages that aren't highmem should be in ZONE_NORMAL. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f416885ef4950501dd3858d1afa1137a0c2905c5 Author: NeilBrown Date: Wed Feb 28 20:11:53 2007 -0800 [PATCH] md: add support for reshape of a raid6 i.e. one or more drives can be added and the array will re-stripe while on-line. Most of the interesting work was already done for raid5. This just extends it to raid6. mdadm newer than 2.6 is needed for complete safety, however any version of mdadm which support raid5 reshape will do a good enough job in almost all cases (an 'echo repair > /sys/block/mdX/md/sync_action' is recommended after a reshape that was aborted and had to be restarted with an such a version of mdadm). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4c4c7b8095298ff4ce20b40bf180ada070812d0 Author: NeilBrown Date: Wed Feb 28 20:11:48 2007 -0800 [PATCH] md: restart a (raid5) reshape that has been aborted due to a read/write error An error always aborts any resync/recovery/reshape on the understanding that it will immediately be restarted if that still makes sense. However a reshape currently doesn't get restarted. With this patch it does. To avoid restarting when it is not possible to do work, we call into the personality to check that a reshape is ok, and strengthen raid5_check_reshape to fail if there are too many failed devices. We also break some code out into a separate function: remove_and_add_spares as the indent level for that code was getting crazy. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1b5380c7f794da16e815c34e54ee7641db8a288 Author: NeilBrown Date: Wed Feb 28 20:11:42 2007 -0800 [PATCH] md: clean out unplug and other queue function on md shutdown The mddev and queue might be used for another array which does not set these, so they need to be cleared. Signed-off-by: NeilBrown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dd5e7c3dbe8c4ffb507ddc0ea8fab07c8b11b0b Author: NeilBrown Date: Wed Feb 28 20:11:35 2007 -0800 [PATCH] md: move warning about creating a raid array on partitions of the one device md tries to warn the user if they e.g. create a raid1 using two partitions of the same device, as this does not provide true redundancy. However it also warns if a raid0 is created like this, and there is nothing wrong with that. At the place where the warning is currently printer, we don't necessarily know what level the array will be, so move the warning from the point where the device is added to the point where the array is started. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a723406c4aeedb9dc5d54fb81130d13c757f41bc Author: H. Peter Anvin Date: Wed Feb 28 20:11:25 2007 -0800 [PATCH] md: RAID6: clean up CPUID and FPU enter/exit code - Use kernel_fpu_begin() and kernel_fpu_end() - Use boot_cpu_has() for feature testing even in userspace Signed-off-by: H. Peter Anvin Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64a742bc61f9115b0bb270fa081e5b5b9c35dcd0 Author: NeilBrown Date: Wed Feb 28 20:11:18 2007 -0800 [PATCH] md: fix raid10 recovery problem. There are two errors that can lead to recovery problems with raid10 when used in 'far' more (not the default). Due to a '>' instead of '>=' the wrong block is located which would result in garbage being written to some random location, quite possible outside the range of the device, causing the newly reconstructed device to fail. The device size calculation had some rounding errors (it didn't round when it should) and so recovery would go a few blocks too far which would again cause a write to a random block address and probably a device error. The code for working with device sizes was fairly confused and spread out, so this has been tided up a bit. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a243e0e97edce27c12f87354fd987526ba1ce95 Author: NeilBrown Date: Wed Feb 28 20:11:12 2007 -0800 [PATCH] Fix failure paths in modules init in umem.c If register_blkdev() or alloc-disk fail in mm_init() after pci_register_driver() succeeds, then mm_pci_driver is not unregistered properly: Cc: Philip Guo Signed-off-by: Neil Brown Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9540f75b2bcfcc29ddcd839c3547a5f380bef323 Author: Adrian Bunk Date: Wed Feb 28 20:11:06 2007 -0800 [PATCH] drivers/video/sm501fb.c: make 4 functions static Signed-off-by: Adrian Bunk Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b83a6a8523a8a96b6353174b193c5c93e16c6c3 Author: Adrian Bunk Date: Wed Feb 28 20:11:03 2007 -0800 [PATCH] mm/{,tiny-}shmem.c cleanups shmem_{nopage,mmap} are no longer used in ipc/shm.c Signed-off-by: Adrian Bunk Cc: "Eric W. Biederman" Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de01bad2f5dec2977143aa242e7eba71d11a4363 Author: Adrian Bunk Date: Wed Feb 28 20:11:01 2007 -0800 [PATCH] make ipc/shm.c:shm_nopage() static shm_nopage() can become static. Signed-off-by: Adrian Bunk Acked-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5357fc1450bda771a4a57b82f83c14ca9f5b9221 Author: Adrian Bunk Date: Wed Feb 28 20:10:58 2007 -0800 [PATCH] arch/arm26/kernel/entry.S: remove dead code CONFIG_ALIGNMENT_TRAP is never set on arm26. Signed-off-by: Adrian Bunk Acked-by: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3502b8a1995aceb2242389aa6dbea1a6756f78b Author: Hans Verkuil Date: Fri Feb 23 21:16:01 2007 -0300 V4L/DVB (5305): Mark VIDIOC_DBG_S/G_REGISTER as experimental Move VIDIOC_DBG_S/G_REGISTER from the internal ioctl list to the public ioctls, but mark it as experimental for now. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ada6ecd2bf1d97e1f3bac6d5af4c7c4390a0a5af Author: Hans Verkuil Date: Sun Feb 18 14:56:22 2007 -0300 V4L/DVB (5271): Add VIDIOC_TRY_ENCODER_CMD and VIDIOC_ENCODER_CMD ioctls. Add support for starting, stopping, pausing and resuming an MPEG (or similar compressed stream) encoder. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit db6eb5b334a0f095290b99096f68ff24ab6df1aa Author: Hans Verkuil Date: Sun Feb 18 14:05:02 2007 -0300 V4L/DVB (5270): Add VIDIOC_G_ENC_INDEX ioctl The VIDIOC_G_ENC_INDEX ioctl can obtain the MPEG index from an MPEG encoder. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1d1370a48ca285ebe197ecd3197a8d5f161bc291 Author: Jin-Bong lee Date: Tue Feb 20 23:10:34 2007 -0300 V4L/DVB (5276): Cxusb: fix firmware patch for big endian systems Without this patch, the device will not be detected after firmware download on big endian systems. Signed-off-by: Jin-Bong lee Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b9109b758231c6c7fd8a5094099e8195d43b583a Author: Jean Delvare Date: Tue Feb 13 19:31:45 2007 -0300 V4L/DVB (5258): Cafe_ccic: fix compiler warning Fix the following warning: drivers/media/video/cafe_ccic.c: In function `cafe_vidioc_reqbufs': drivers/media/video/cafe_ccic.c:1197: warning: 'ret' might be used uninitialized in this function Probably not a real bug, but the warning can be avoided easily. Signed-off-by: Jean Delvare Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2fe22dcdc79b8dd34e61a3f1231caffd6180a626 Author: Michael Krufky Date: Wed Feb 21 21:47:15 2007 -0300 V4L/DVB (5295): Digitv: open nxt6000 i2c_gate for TDED4 tuner handling dvb-pll normally opens the i2c gate before attempting to communicate with the pll, but the code for this device is not using dvb-pll. This should be cleaned up in the future, but for now, just open the i2c gate at the appropriate place in order to fix this driver bug. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f3d092b84a855c44914fea0648695bef7d751266 Author: Hans Verkuil Date: Fri Feb 23 20:55:14 2007 -0300 V4L/DVB (5304): Improve chip matching in v4l2_register The chip matching in struct v4l2_register for VIDIOC_DBG_G/S_REGISTER was rather primitive. It could not be extended to other busses besides i2c and it lacked a way to. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d55c7aec666658495e5b57a6b194c8c2a1ac255f Author: Hans Verkuil Date: Thu Feb 15 03:40:34 2007 -0300 V4L/DVB (5255): Fix cx25840 firmware loading. Due to changes in the i2c handling in 2.6.20 this cx25840 bug surfaced, causing the firmware load to fail for the ivtv driver. The correct sequence is to first attach the i2c client, then use the client's device to load the firmware. Acked-by: Mike Isely Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 25914662b7e86f8cf8abdde0497e7fe8bdddf2ae Author: Jiri Kosina Date: Thu Mar 1 09:54:44 2007 +0100 HID: fix Logitech DiNovo Edge touchwheel and Logic3 /SpectraVideo middle button Dongle shipped with Logitech DiNovo Edge (0x046d/0xc714) behaves in a weird non-standard way - it contains multiple reports with the same usage, which results in remapping of GenericDesktop.X and GenericDesktop.Y usages to GenericDesktop.Z and GenericDesktop.RX respectively, thus rendering the touchwheel unusable. The commit 35068976916fdef82d6e69ef1f8c9a1c47732759 solved this in a way that it didn't remap certain usages. This however breaks (at least) middle button of Logic3 / SpectraVideo (0x1267/0x0210), which in contrary requires the remapping. To make both of the harware work, allow remapping of these usages again, and introduce a quirk for Logitech DiNovo Edge "touchwheel" instead - we disable remapping for key, abs and rel events only for this hardware. Signed-off-by: Jiri Kosina commit a4dff3980697fc374008d005f56da3d8bab8c316 Author: Jiri Kosina Date: Tue Feb 27 17:40:09 2007 +0100 HID: add git tree information to MAINTAINERS Update MAITAINERS entry for HID and USB HID, adding location of HID git tree. Signed-off-by: Jiri Kosina commit b55fd23ccdf32f969a7b4180c6e52d62d8e99972 Author: Jiri Kosina Date: Wed Feb 21 19:27:49 2007 +0100 HID: fix broken Logitech S510 keyboard report descriptor; make extra keys work This patch makes extra keys (F1-F12 in special mode, zooming, rotate, shuffle) on Logitech S510 keyboard work. Logitech S510 keyboard sends in report no. 3 keys which are far above the logical maximum described in descriptor for given report. This patch introduces a HID quirk for this wireless USB receiver/keyboard in order to fix the report descriptor before it's being parsed - the logical maximum and the number of usages is bumped up to 0x104d). The values are in the "Reserved" area of consumer HUT, so HID_MAX_USAGE had to be changed too. In addition to proper extracting of the values from report descriptor, proper HID-input mapping is introduced for them. Signed-off-by: Jiri Kosina commit 776c0e96edecf77f827a62d2a1641cc2ca479043 Author: Jiri Kosina Date: Wed Feb 21 17:18:03 2007 +0100 HID: fix possible double-free on error path in hid parser Freeing of device->collection is properly done in hid_free_device() (as this function is supposed to free all the device resources and could be called from transport specific code, e.g. usb_hid_configure()). Remove all kfree() calls preceeding the hid_free_device() call. Signed-off-by: Jiri Kosina commit 4330eb2e5fb6d3c9c0a0be8ed14793f72334d1d4 Author: Adrian Bunk Date: Wed Feb 21 12:57:30 2007 +0100 HID: hid-debug.c should #include Every file should include the headers containing the prototypes for it's global functions. Signed-off-by: Adrian Bunk Signed-off-by: Jiri Kosina commit 4237081e573b99a48991aa71364b0682c444651c Author: Jiri Kosina Date: Tue Feb 20 01:33:39 2007 +0100 HID: fix bug in zeroing the last field byte in output reports d4ae650a904612ffb7edd3f28b69b022988d2466 introduced zeroing of the last field byte in output reports in order to make sure the unused bits are set to 0. This is done in a wrong way, resulting in a wrong bits being zeroed out (not properly shifted by the field offset in the report). Fix this. Signed-off-by: Jiri Kosina commit fdc9c566161c119febe4fab0f7c382416681fd8f Author: Jiri Kosina Date: Mon Feb 19 14:15:59 2007 +0100 USB HID: use CONFIG_HID_DEBUG for outputting report descriptor Report descriptor should be output when CONFIG_HID_DEBUG is defined. This also mitigates the need for DEBUG and DEBUG_DATA defines, so let's remove them. Signed-off-by: Jiri Kosina commit 9fa2ad5ff4d8ded8c29c7b6cc92a1c3a8d8a2079 Author: Julien BLACHE Date: Sun Feb 11 18:20:25 2007 +0100 USB HID: Fix USB vendor and product IDs endianness for USB HID devices The USB vendor and product IDs are not byteswapped appropriately, and thus come out in the wrong endianness when fetched through the evdev using ioctl() on big endian platforms. Signed-off-by: Julien BLACHE Signed-off-by: Jiri Kosina commit c7af1857ef74873bf5a9c8fcab0cfd79883492ac Author: Steve French Date: Thu Mar 1 04:11:22 2007 +0000 [CIFS] Fix set file size to zero when doing chmod to Samba 3.0.26pre In fixing a bug Samba 3.0.26pre allowed some clients (including Linux cifs client) to change file size to zero in SET_FILE_UNIX_BASIC (which Linux cifs client uses for chmod). The server has been "fixed" now but that also fixes the client to net send file size zero on chmod. Fixes Samba bugzilla bug # 4418. Fixed with help from Jeremy Allison Signed-off-by: Jeremy Allison Signed-off-by: Steve French commit 74bd7d093b8e87f35eaf3b14459b96a0e20d1d10 Author: David S. Miller Date: Wed Feb 28 13:09:34 2007 -0800 [SPARC64]: Fix parport_pc build. Signed-off-by: David S. Miller commit a9948a7e15015e7f2cb602190322b8ebb00c54c8 Author: Arnaldo Carvalho de Melo Date: Wed Feb 28 11:05:56 2007 -0800 [TCP]: Fix minisock tcp_create_openreq_child() typo. On 2/28/07, KOVACS Krisztian wrote: > > Hi, > > While reading TCP minisock code I've found this suspiciously looking > code fragment: > > - 8< - > struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req, struct sk_buff *skb) > { > struct sock *newsk = inet_csk_clone(sk, req, GFP_ATOMIC); > > if (newsk != NULL) { > const struct inet_request_sock *ireq = inet_rsk(req); > struct tcp_request_sock *treq = tcp_rsk(req); > struct inet_connection_sock *newicsk = inet_csk(sk); > struct tcp_sock *newtp; > - 8< - > > The above code initializes newicsk to inet_csk(sk), isn't that supposed > to be inet_csk(newsk)? As far as I can tell this might leave > icsk_ack.last_seg_size zero even if we do have received data. Good catch! David, please apply the attached patch. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5f1ef5108a7a5e9fc220f73352eb7b428a2499d5 Author: David S. Miller Date: Wed Feb 28 09:51:15 2007 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 71599cd1c381d1b5f58c35653ac1d3627c6276db Author: John Heffner Date: Tue Feb 27 10:03:56 2007 -0800 [TCP]: Document several sysctls. This adds documentation for tcp_moderate_rcvbuf, tcp_no_metrics_save, tcp_base_mss, and tcp_mtu_probing. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit b08d5840d2c5a6ac0bce172f4c861974d718e34b Author: Patrick McHardy Date: Tue Feb 27 09:57:37 2007 -0800 [NET]: Fix kfree(skb) Signed-off-by: Patrick McHardy Acked-by: Paul Moore Signed-off-by: David S. Miller commit 4498121ca3acbf928681b71261227d28dc29b6f6 Author: Patrick McHardy Date: Tue Feb 27 09:56:42 2007 -0800 [NET]: Handle disabled preemption in gfp_any() ctnetlink uses netlink_unicast from an atomic_notifier_chain (which is called within a RCU read side critical section) without holding further locks. netlink_unicast calls netlink_trim with the result of gfp_any() for the gfp flags, which are passed down to pskb_expand_header. gfp_any() only checks for softirq context and returns GFP_KERNEL, resulting in this warning: BUG: sleeping function called from invalid context at mm/slab.c:3032 in_atomic():1, irqs_disabled():0 no locks held by rmmod/7010. Call Trace: [] debug_show_held_locks+0x9/0xb [] __might_sleep+0xd9/0xdb [] __kmalloc+0x68/0x110 [] pskb_expand_head+0x4d/0x13b [] netlink_broadcast+0xa5/0x2e0 [] :nfnetlink:nfnetlink_send+0x83/0x8a [] :nf_conntrack_netlink:ctnetlink_conntrack_event+0x94c/0x96a [] notifier_call_chain+0x29/0x3e [] atomic_notifier_call_chain+0x32/0x60 [] :nf_conntrack:destroy_conntrack+0xa5/0x1d3 [] :nf_conntrack:nf_ct_cleanup+0x8c/0x12c [] :nf_conntrack:kill_l3proto+0x0/0x13 [] :nf_conntrack:nf_conntrack_l3proto_unregister+0x90/0x94 [] :nf_conntrack_ipv4:nf_conntrack_l3proto_ipv4_fini+0x2b/0x5d [] sys_delete_module+0x1b5/0x1e6 [] trace_hardirqs_on_thunk+0x35/0x37 [] system_call+0x7e/0x83 Since netlink_unicast is supposed to be callable from within RCU read side critical sections, make gfp_any() check for in_atomic() instead of in_softirq(). Additionally nfnetlink_send needs to use gfp_any() as well for the call to netlink_broadcast). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6548cda289b549ed60c35f16a0051609aeee2fd0 Author: Stephen Hemminger Date: Tue Feb 27 09:55:07 2007 -0800 [BRIDGE]: Fix locking of set path cost. This change goes with earlier change to get rid of work queue for path cost. Now stp_set_path_cost does its own locking. This is to allow it to call br_path_cost() which calls ethtool interfaces (might sleep). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit aa6e4a96e7589948fe770744f7bb4f0f743dddaa Author: David Stevens Date: Mon Feb 26 16:28:56 2007 -0800 [IPV6]: /proc/net/anycast6 unbalanced inet6_dev refcnt Reading /proc/net/anycast6 when there is no anycast address on an interface results in an ever-increasing inet6_dev reference count, as well as a reference to the netdevice you can't get rid of. Signed-off-by: David S. Miller commit 1267cd766c712644b45662572df05f28be5a6e89 Author: Rolf Eike Beer Date: Mon Feb 26 15:48:03 2007 -0800 [IPX]: Remove ancient changelog Signed-off-by: Rolf Eike Beer Signed-off-by: David S. Miller commit ff49f26b453ac77788d3a3c652d8cb0f578214da Author: Rolf Eike Beer Date: Mon Feb 26 15:47:16 2007 -0800 [IPX]: Remove outdated information from Kconfig SPX was removed in early 2.5. How to connect to a Mac or the other OS isn't hard to find out these days. Signed-off-by: Rolf Eike Beer Signed-off-by: David S. Miller commit 304c209c9b02b0386024d037fa49b273caa0575b Author: David S. Miller Date: Mon Feb 26 15:45:15 2007 -0800 [NET]: Revert socket.h/stat.h ifdef hacks. This reverts 57a87bb0720a5cf7a9ece49a8c8ed288398fd1bb. As H. Peter Anvin states, this change broke klibc and it's not very easy to fix things up without duplicating everything into userspace. In the longer term we should have a better solution to this problem, but for now let's unbreak things. Signed-off-by: David S. Miller commit 2c12a74cc4aeaebc378aa40ee11c7761a8ed05e0 Author: Michal Wrobel Date: Mon Feb 26 15:36:10 2007 -0800 [IPV6]: anycast refcnt fix This patch fixes a bug in Linux IPv6 stack which caused anycast address to be added to a device prior DAD has been completed. This led to incorrect reference count which resulted in infinite wait for unregister_netdevice completion on interface removal. Signed-off-by: Michal Wrobel Signed-off-by: David S. Miller commit 3a765aa528401c7aec2208f7ed1276b232b24c57 Author: David S. Miller Date: Mon Feb 26 14:52:21 2007 -0800 [XFRM] xfrm_user: Fix return values of xfrm_add_sa_expire. As noted by Kent Yoder, this function will always return an error. Make sure it returns zero on success. Signed-off-by: David S. Miller commit 2ff7354fe888f46f6629b57e463b0a1eb956c02b Author: Eric W. Biederman Date: Tue Feb 27 00:27:41 2007 -0700 [PATCH] x86_64/i386 irq: Fix !CONFIG_SMP compilation When removing set_native_irq I missed the fact that it was called in a couple of places that were compiled even when SMP support is disabled. And since the irq_desc[].affinity field only exists in SMP things broke. Thanks to Simon Arlott for spotting this. There are a couple of ways to fix this but the simplest one is to just remove the assignments. The affinity field is only used to display a value to the user, and nothing on either i386 or x86_64 reads it or depends on it being any particlua value, so skipping the assignment is safe. The assignment that is being removed is just for the initial affinity value before the user explicitly sets it. The irq_desc array initializes this field to CPU_MASK_ALL so the field is initialized to a reasonable value in the SMP case without being set. Signed-off-by: Eric W. Biederman Signed-off-by: Linus Torvalds commit 357efd57f229716fd6a1494b970c5a66c0c465ef Author: Stefano Brivio Date: Sat Feb 17 18:24:44 2007 +0100 [PATCH] bcm43xx: fix for 4309 BCM4309 devices aren't working properly as A PHYs aren't supported yet, but we probe 802.11a cores anyway. This fixes it, while still allowing for A PHY code to be developed in the future. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 99ee4dbd7c99c27129a8e2026003a7680878345f Author: Steve French Date: Tue Feb 27 05:35:17 2007 +0000 [CIFS] Remove some unused functions/declarations Signed-off-by: Steve French commit 1ae1bc44d44dd84cc00fb9edbba27458771d860d Author: Steve French Date: Tue Feb 27 05:16:30 2007 +0000 [CIFS] New file for previous commit Signed-off-by: Steve French commit 35c11fdda7b556db73631dc17dc1723624690dfb Author: Steve French Date: Tue Feb 27 05:09:35 2007 +0000 [CIFS] cifs export operations For nfsd to work over cifs mounts (which presumably makes sense when trying to reexport mounts to windows, network appliances or Samba servers to nfs clients via nfs server). This is the first stage of that enablement, marked experimental and turned off by default. Signed-off-by: Steve French commit ba6a46a03f3c46ed68be551c722161bb37caf095 Author: Steve French Date: Mon Feb 26 20:06:29 2007 +0000 [CIFS] small piece missing from previous patch There were two i_size_writes in the new truncate function - we missed one in the last patch. Noticed by Shaggy when he reviewed. Thank you Shaggy ... CC: Shaggy Signed-off-by: Steve French commit 3677db10a635a39f63ea509f8f0056d95589ff90 Author: Steve French Date: Mon Feb 26 16:46:11 2007 +0000 [CIFS] Fix locking problem around some cifs uses of i_size write Could cause hangs on smp systems in i_size_read on a cifs inode whose size has been previously simultaneously updated from different processes. Thanks to Brian Wang for some great testing/debugging on this hard problem. Fixes kernel bugzilla #7903 CC: Shirish Pargoankar CC: Shaggy Signed-off-by: Steve French