commit 9202f32558601c2c99ddc438eb3218131d00d413 Author: Ralf Baechle Date: Sun Dec 10 18:43:59 2006 +0000 [MIPS] Export local_flush_data_cache_page for sake of IDE. On a CPU with aliases the IDE core needs to flush caches in the special IDE variants of insw, insl etc. If IDE support is built as a module this will only work if local_flush_data_cache_page happens is exported as a module. As per policy export local_flush_data_cache_page as GPL symbol only. Signed-off-by: Ralf Baechle commit f8bf35a9145b0831d7d110402662d9cff2d90bd9 Author: Ralf Baechle Date: Sun Dec 10 15:09:38 2006 +0000 [MIPS] Export pm_power_off This is required for ipmi_poweroff.c to work as a module. Signed-off-by: Ralf Baechle commit ae32ffd65bbcc32795bb9b58ed12941efeb03dff Author: Ralf Baechle Date: Sun Dec 10 15:05:11 2006 +0000 [MIPS] Export csum_partial_copy_nocheck. ibmtr.c and typhoon.c use it. Signed-off-by: Ralf Baechle commit 2d911e9a4e74ddbd059f9dabea402a119ef22e3d Author: Ralf Baechle Date: Sun Dec 10 15:02:17 2006 +0000 [MIPS] Move die and die_if_kernel() from system.h to ptrace.h This eleminates the need to include ptrace.h into system.h and fixes a harmless namespace conflict on the PC symbol in bpck.c. Signed-off-by: Ralf Baechle commit 86384d544157db23879064cde36061cdcafc6794 Author: Ralf Baechle Date: Sun Dec 10 14:57:28 2006 +0000 [MIPS] Discard .exit.text at linktime. This fixes fairly unobvious breakage of various drivers. Signed-off-by: Ralf Baechle commit 5b1d221e6292f9fcf9f12d6c9e94ee9470ee2a24 Author: Ralf Baechle Date: Sat Dec 9 16:12:18 2006 +0000 [MIPS] Fix build of several IDE drivers by providing pci_get_legacy_ide_irq Signed-off-by: Ralf Baechle commit 3263263f7091eccab6fdc23f28f09b17c0466629 Author: Herbert Xu Date: Sun Dec 10 09:50:36 2006 +1100 [CRYPTO] dm-crypt: Select CRYPTO_CBC As CBC is the default chaining method for cryptoloop, we should select it from cryptoloop to ease the transition. Spotted by Rene Herman. Signed-off-by: Herbert Xu Signed-off-by: Linus Torvalds commit 0258736a0a2cde8ab30725b601aeca4cf8bc93ab Author: Cal Peake Date: Sun Dec 10 06:22:05 2006 -0500 [PATCH] add MODULE_* attributes to bit reversal library Add MODULE_* attributes to the new bit reversal library. Most notably MODULE_LICENSE which prevents superfluous kernel tainting. Signed-off-by: Cal Peake Signed-off-by: Linus Torvalds commit edb16bec41db68b22799a5fbad82c3891e637565 Merge: bb7320d... f088258... Author: Linus Torvalds Date: Sun Dec 10 10:00:00 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix several kprobes bugs. [SPARC64]: Update defconfig. [SPARC64]: dma remove extra brackets [SPARC{32,64}]: Propagate ptrace_traceme() return value. [SPARC64]: Replace kmalloc+memset with kzalloc [SPARC]: Check kzalloc() return value in SUN4D irq/iommu init. [SPARC]: Replace kmalloc+memset with kzalloc [SPARC64]: Run ctrl-alt-del action for sun4v powerdown request. [SPARC64]: Unaligned accesses to userspace are hard errors. [SPARC64]: Call do_mathemu on illegal instruction traps too. [SPARC64]: Update defconfig. [SPARC64]: Add irqtrace/stacktrace/lockdep support. commit bb7320d1d96dc2e479180ae8e7a112caf0726ace Merge: 6aa8b73... 1de1bf0... Author: Linus Torvalds Date: Sun Dec 10 09:59:18 2006 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (132 commits) V4L/DVB 4949b: Fix container_of pointer retreival V4L/DVB (4949a): Fix INIT_WORK V4L/DVB (4949): Cxusb: codingstyle cleanups V4L/DVB (4948): Cxusb: Convert tuner functions to use dvb_pll_attach V4L/DVB (4947): Cx88: trivial cleanups V4L/DVB (4946): Cx88: Move cx88_dvb_bus_ctrl out of the card-specific area V4L/DVB (4945): Cx88: consolidate cx22702_config structs V4L/DVB (4944): Cx88: Convert DViCO FusionHDTV Hybrid to use dvb_pll_attach V4L/DVB (4943): Cx88: cleanup dvb_pll_attach for lgdt3302 tuners V4L/DVB (4953): Usbvision minor fixes V4L/DVB (4951): Add version.h, since it is required for VIDIOC_QUERYCAP V4L/DVB (4940): Or51211: Changed SNR and signal strength calculations V4L/DVB (4939): Or51132: Changed SNR and signal strength reporting V4L/DVB (4938): Cx88: Convert lgdt3302 tuning function to use dvb_pll_attach V4L/DVB (4941): Remove LINUX_VERSION_CODE and fix identations V4L/DVB (4942): Whitespace cleanups V4L/DVB (4937): Usbvision cleanup and code reorganization V4L/DVB (4936): Make MT4049FM5 tuner to set FM Gain to Normal V4L/DVB (4935): Added the capability of selecting fm gain by tuner V4L/DVB (4934): Usbvision radio requires GainNormal at e register ... commit 6aa8b732ca01c3d7a54e93f4d701b8aabbe60fb7 Author: Avi Kivity Date: Sun Dec 10 02:21:36 2006 -0800 [PATCH] kvm: userspace interface web site: http://kvm.sourceforge.net mailing list: kvm-devel@lists.sourceforge.net (http://lists.sourceforge.net/lists/listinfo/kvm-devel) The following patchset adds a driver for Intel's hardware virtualization extensions to the x86 architecture. The driver adds a character device (/dev/kvm) that exposes the virtualization capabilities to userspace. Using this driver, a process can run a virtual machine (a "guest") in a fully virtualized PC containing its own virtual hard disks, network adapters, and display. Using this driver, one can start multiple virtual machines on a host. Each virtual machine is a process on the host; a virtual cpu is a thread in that process. kill(1), nice(1), top(1) work as expected. In effect, the driver adds a third execution mode to the existing two: we now have kernel mode, user mode, and guest mode. Guest mode has its own address space mapping guest physical memory (which is accessible to user mode by mmap()ing /dev/kvm). Guest mode has no access to any I/O devices; any such access is intercepted and directed to user mode for emulation. The driver supports i386 and x86_64 hosts and guests. All combinations are allowed except x86_64 guest on i386 host. For i386 guests and hosts, both pae and non-pae paging modes are supported. SMP hosts and UP guests are supported. At the moment only Intel hardware is supported, but AMD virtualization support is being worked on. Performance currently is non-stellar due to the naive implementation of the mmu virtualization, which throws away most of the shadow page table entries every context switch. We plan to address this in two ways: - cache shadow page tables across tlb flushes - wait until AMD and Intel release processors with nested page tables Currently a virtual desktop is responsive but consumes a lot of CPU. Under Windows I tried playing pinball and watching a few flash movies; with a recent CPU one can hardly feel the virtualization. Linux/X is slower, probably due to X being in a separate process. In addition to the driver, you need a slightly modified qemu to provide I/O device emulation and the BIOS. Caveats (akpm: might no longer be true): - The Windows install currently bluescreens due to a problem with the virtual APIC. We are working on a fix. A temporary workaround is to use an existing image or install through qemu - Windows 64-bit does not work. That's also true for qemu, so it's probably a problem with the device model. [bero@arklinux.org: build fix] [simon.kagstrom@bth.se: build fix, other fixes] [uril@qumranet.com: KVM: Expose interrupt bitmap] [akpm@osdl.org: i386 build fix] [mingo@elte.hu: i386 fixes] [rdreier@cisco.com: add log levels to all printks] [randy.dunlap@oracle.com: Fix sparse NULL and C99 struct init warnings] [anthony@codemonkey.ws: KVM: AMD SVM: 32-bit host support] Signed-off-by: Yaniv Kamay Signed-off-by: Avi Kivity Cc: Simon Kagstrom Cc: Bernhard Rosenkraenzer Signed-off-by: Uri Lublin Cc: Ingo Molnar Cc: Roland Dreier Signed-off-by: Randy Dunlap Signed-off-by: Anthony Liguori Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5f1a24a2caa299bb7d294aee92d7dd3410d9ed7 Author: Daniel Walker Date: Sun Dec 10 02:21:33 2006 -0800 [PATCH] clocksource: small cleanup Mostly changing alignment. Just some general cleanup. [akpm@osdl.org: build fix] Signed-off-by: Daniel Walker Acked-by: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b0137001de68153203dd3bc20e6d27eb7c9719c Author: Daniel Walker Date: Sun Dec 10 02:21:30 2006 -0800 [PATCH] clocksource: add usage of CONFIG_SYSFS Simply adds some ifdefs to remove clocksoure sysfs code when CONFIG_SYSFS isn't turn on. Signed-off-by: Daniel Walker Acked-by: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b2842146cb4105877c2be51d3857ec61ebd4ff9 Author: Arjan van de Ven Date: Sun Dec 10 02:21:28 2006 -0800 [PATCH] user of the jiffies rounding patch: Slab This patch introduces users of the round_jiffies() function in the slab code. The slab code has a few "run every second" timers for background work; these are obviously not timing critical as long as they happen roughly at the right frequency. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44d306e1508fef6fa7a6eb15a1aba86ef68389a6 Author: Arjan van de Ven Date: Sun Dec 10 02:21:26 2006 -0800 [PATCH] user of the jiffies rounding code: JBD This patch introduces a user: of the round_jiffies() function; the "5 second" ext3/jbd wakeup. While "every 5 seconds" doesn't sound as a problem, there can be many of these (and these timers do add up over all the kernel). The "5 second" wakeup isn't really timing sensitive; in addition even with rounding it'll still happen every 5 seconds (with the exception of the very first time, which is likely to be rounded up to somewhere closer to 6 seconds) Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c36a5dec25fb344ad76b11860da3a8b50bd1248 Author: Arjan van de Ven Date: Sun Dec 10 02:21:24 2006 -0800 [PATCH] round_jiffies infrastructure Introduce a round_jiffies() function as well as a round_jiffies_relative() function. These functions round a jiffies value to the next whole second. The primary purpose of this rounding is to cause all "we don't care exactly when" timers to happen at the same jiffy. This avoids multiple timers firing within the second for no real reason; with dynamic ticks these extra timers cause wakeups from deep sleep CPU sleep states and thus waste power. The exact wakeup moment is skewed by the cpu number, to avoid all cpus from waking up at the exact same time (and hitting the same lock/cachelines there) [akpm@osdl.org: fix variable type] Signed-off-by: Arjan van de Ven Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5466b456ed6748e0bfe02831e570004d4c04c1d7 Author: Vadim Lobanov Date: Sun Dec 10 02:21:22 2006 -0800 [PATCH] fdtable: Implement new pagesize-based fdtable allocator This patch provides an improved fdtable allocation scheme, useful for expanding fdtable file descriptor entries. The main focus is on the fdarray, as its memory usage grows 128 times faster than that of an fdset. The allocation algorithm sizes the fdarray in such a way that its memory usage increases in easy page-sized chunks. The overall algorithm expands the allowed size in powers of two, in order to amortize the cost of invoking vmalloc() for larger allocation sizes. Namely, the following sizes for the fdarray are considered, and the smallest that accommodates the requested fd count is chosen: pagesize / 4 pagesize / 2 pagesize <- memory allocator switch point pagesize * 2 pagesize * 4 ...etc... Unlike the current implementation, this allocation scheme does not require a loop to compute the optimal fdarray size, and can be done in efficient straightline code. Furthermore, since the fdarray overflows the pagesize boundary long before any of the fdsets do, it makes sense to optimize run-time by allocating both fdsets in a single swoop. Even together, they will still be, by far, smaller than the fdarray. The fdtable->open_fds is now used as the anchor for the fdset memory allocation. Signed-off-by: Vadim Lobanov Cc: Christoph Hellwig Cc: Al Viro Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fd45812cbe875a620c86a096a5d46c742694b7e Author: Vadim Lobanov Date: Sun Dec 10 02:21:17 2006 -0800 [PATCH] fdtable: Remove the free_files field An fdtable can either be embedded inside a files_struct or standalone (after being expanded). When an fdtable is being discarded after all RCU references to it have expired, we must either free it directly, in the standalone case, or free the files_struct it is contained within, in the embedded case. Currently the free_files field controls this behavior, but we can get rid of it entirely, as all the necessary information is already recorded. We can distinguish embedded and standalone fdtables using max_fds, and if it is embedded we can divine the relevant files_struct using container_of(). Signed-off-by: Vadim Lobanov Cc: Christoph Hellwig Cc: Al Viro Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbea9f69668a3d0cf9feba15a724cd02896f8675 Author: Vadim Lobanov Date: Sun Dec 10 02:21:12 2006 -0800 [PATCH] fdtable: Make fdarray and fdsets equal in size Currently, each fdtable supports three dynamically-sized arrays of data: the fdarray and two fdsets. The code allows the number of fds supported by the fdarray (fdtable->max_fds) to differ from the number of fds supported by each of the fdsets (fdtable->max_fdset). In practice, it is wasteful for these two sizes to differ: whenever we hit a limit on the smaller-capacity structure, we will reallocate the entire fdtable and all the dynamic arrays within it, so any delta in the memory used by the larger-capacity structure will never be touched at all. Rather than hogging this excess, we shouldn't even allocate it in the first place, and keep the capacities of the fdarray and the fdsets equal. This patch removes fdtable->max_fdset. As an added bonus, most of the supporting code becomes simpler. Signed-off-by: Vadim Lobanov Cc: Christoph Hellwig Cc: Al Viro Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3d19c90fb117a5f080310a4592929aa8e1ad8e9 Author: Vadim Lobanov Date: Sun Dec 10 02:21:09 2006 -0800 [PATCH] fdtable: Delete pointless code in dup_fd() The dup_fd() function creates a new files_struct and fdtable embedded inside that files_struct, and then possibly expands the fdtable using expand_files(). The out_release error path is invoked when expand_files() returns an error code. However, when this attempt to expand fails, the fdtable is left in its original embedded form, so it is pointless to try to free the associated fdarray and fdsets. Signed-off-by: Vadim Lobanov Cc: Dipankar Sarma Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5eb6c7a2ab413dea1ee6c08dd58263a1c2c2efa3 Author: Zach Brown Date: Sun Dec 10 02:21:07 2006 -0800 [PATCH] dio: lock refcount operations The wait_for_more_bios() function name was poorly chosen. While looking to clean it up it I noticed that the dio struct refcounting between the bio completion and dio submission paths was racey. The bio submission path was simply freeing the dio struct if atomic_dec_and_test() indicated that it dropped the final reference. The aio bio completion path was dereferencing its dio struct pointer *after dropping its reference* based on the remaining number of references. These two paths could race and result in the aio bio completion path dereferencing a freed dio, though this was not observed in the wild. This moves the refcount under the bio lock so that bio completion can drop its reference and decide to wake all in one atomic step. Once testing and waking is locked dio_await_one() can test its sleeping condition and mark itself uninterruptible under the lock. It gets simpler and wait_for_more_bios() disappears. The addition of the interrupt masking spin lock acquiry in dio_bio_submit() looks alarming. This lock acquiry existed in that path before the recent dio completion patch set. We shouldn't expect significant performance regression from returning to the behaviour that existed before the completion clean up work. This passed 4k block ext3 O_DIRECT fsx and aio-stress on an SMP machine. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Cc: Jeff Moyer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8459d86aff04fa53c2ab6a6b9f355b3063cc8014 Author: Zach Brown Date: Sun Dec 10 02:21:05 2006 -0800 [PATCH] dio: only call aio_complete() after returning -EIOCBQUEUED The only time it is safe to call aio_complete() is when the ->ki_retry function returns -EIOCBQUEUED to the AIO core. direct_io_worker() has historically done this by relying on its caller to translate positive return codes into -EIOCBQUEUED for the aio case. It did this by trying to keep conditionals in sync. direct_io_worker() knew when finished_one_bio() was going to call aio_complete(). It would reverse the test and wait and free the dio in the cases it thought that finished_one_bio() wasn't going to. Not surprisingly, it ended up getting it wrong. 'ret' could be a negative errno from the submission path but it failed to communicate this to finished_one_bio(). direct_io_worker() would return < 0, it's callers wouldn't raise -EIOCBQUEUED, and aio_complete() would be called. In the future finished_one_bio()'s tests wouldn't reflect this and aio_complete() would be called for a second time which can manifest as an oops. The previous cleanups have whittled the sync and async completion paths down to the point where we can collapse them and clearly reassert the invariant that we must only call aio_complete() after returning -EIOCBQUEUED. direct_io_worker() will only return -EIOCBQUEUED when it is not the last to drop the dio refcount and the aio bio completion path will only call aio_complete() when it is the last to drop the dio refcount. direct_io_worker() can ensure that it is the last to drop the reference count by waiting for bios to drain. It does this for sync ops, of course, and for partial dio writes that must fall back to buffered and for aio ops that saw errors during submission. This means that operations that end up waiting, even if they were issued as aio ops, will not call aio_complete() from dio. Instead we return the return code of the operation and let the aio core call aio_complete(). This is purposely done to fix a bug where AIO DIO file extensions would call aio_complete() before their callers have a chance to update i_size. Now that direct_io_worker() is explicitly returning -EIOCBQUEUED its callers no longer have to translate for it. XFS needs to be careful not to free resources that will be used during AIO completion if -EIOCBQUEUED is returned. We maintain the previous behaviour of trying to write fs metadata for O_SYNC aio+dio writes. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20258b2b397031649e4a41922fe803d57017df84 Author: Zach Brown Date: Sun Dec 10 02:21:01 2006 -0800 [PATCH] dio: remove duplicate bio wait code Now that we have a single refcount and waiting path we can reuse it in the async 'should_wait' path. It continues to rely on the fragile link between the conditional in dio_complete_aio() which decides to complete the AIO and the conditional in direct_io_worker() which decides to wait and free. By waiting before dropping the reference we stop dio_bio_end_aio() from calling dio_complete_aio() which used to wake up the waiter after seeing the reference count drop to 0. We hoist this wake up into dio_bio_end_aio() which now notices when it's left a single remaining reference that is held by the waiter. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0273201e693fd62381f6b1e85b15ffc117d8a46e Author: Zach Brown Date: Sun Dec 10 02:20:59 2006 -0800 [PATCH] dio: formalize bio counters as a dio reference count Previously we had two confusing counts of bio progress. 'bio_count' was decremented as bios were processed and freed by the dio core. It was used to indicate final completion of the dio operation. 'bios_in_flight' reflected how many bios were between submit_bio() and bio->end_io. It was used by the sync path to decide when to wake up and finish completing bios and was ignored by the async path. This patch collapses the two notions into one notion of a dio reference count. bios hold a dio reference when they're between submit_bio and bio->end_io. Since bios_in_flight was only used in the sync path it is now equivalent to dio->refcount - 1 which accounts for direct_io_worker() holding a reference for the duration of the operation. dio_bio_complete() -> finished_one_bio() was called from the sync path after finding bios on the list that the bio->end_io function had deposited. finished_one_bio() can not drop the dio reference on behalf of these bios now because bio->end_io already has. The is_async test in finished_one_bio() meant that it never actually did anything other than drop the bio_count for sync callers. So we remove its refcount decrement, don't call it from dio_bio_complete(), and hoist its call up into the async dio_bio_complete() caller after an explicit refcount decrement. It is renamed dio_complete_aio() to reflect the remaining work it actually does. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17a7b1d74b1207f8f1af40b5d184989076d08f8b Author: Zach Brown Date: Sun Dec 10 02:20:56 2006 -0800 [PATCH] dio: call blk_run_address_space() once per op We only need to call blk_run_address_space() once after all the bios for the direct IO op have been submitted. This removes the chance of calling blk_run_address_space() after spurious wake ups as the sync path waits for bios to drain. It's also one less difference betwen the sync and async paths. In the process we remove a redundant dio_bio_submit() that its caller had already performed. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d544bb4d9019c3a0d7ee4af1e4bbbd61a6e16dc Author: Zach Brown Date: Sun Dec 10 02:20:54 2006 -0800 [PATCH] dio: centralize completion in dio_complete() There have been a lot of bugs recently due to the way direct_io_worker() tries to decide how to finish direct IO operations. In the worst examples it has failed to call aio_complete() at all (hang) or called it too many times (oops). This set of patches cleans up the completion phase with the goal of removing the complexity that lead to these bugs. We end up with one path that calculates the result of the operation after all off the bios have completed. We decide when to generate a result of the operation using that path based on the final release of a refcount on the dio structure. I tried to progress towards the final state in steps that were relatively easy to understand. Each step should compile but I only tested the final result of having all the patches applied. I've tested these on low end PC drives with aio-stress, the direct IO tests I could manage to get running in LTP, orasim, and some home-brew functional tests. In http://lkml.org/lkml/2006/9/21/103 IBM reports success with ext2 and ext3 running DIO LTP tests. They found that XFS bug which has since been addressed in the patch series. This patch: The mechanics which decide the result of a direct IO operation were duplicated in the sync and async paths. The async path didn't check page_errors which can manifest as silently returning success when the final pointer in an operation faults and its matching file region is filled with zeros. The sync path and async path differed in whether they passed errors to the caller's dio->end_io operation. The async path was passing errors to it which trips an assertion in XFS, though it is apparently harmless. This centralizes the completion phase of dio ops in one place. AIO will now return EFAULT consistently and all paths fall back to the previously sync behaviour of passing the number of bytes 'transferred' to the dio->end_io callback, regardless of errors. dio_await_completion() doesn't have to propogate EIO from non-uptodate bios now that it's being propogated through dio_complete() via dio->io_error. This lets it return void which simplifies its sole caller. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1757128438d41670ded8bc3bc735325cc07dc8f9 Author: NeilBrown Date: Sun Dec 10 02:20:52 2006 -0800 [PATCH] md: assorted md and raid1 one-liners Fix few bugs that meant that: - superblocks weren't alway written at exactly the right time (this could show up if the array was not written to - writting to the array causes lots of superblock updates and so hides these errors). - restarting device recovery after a clean shutdown (version-1 metadata only) didn't work as intended (or at all). 1/ Ensure superblock is updated when a new device is added. 2/ Remove an inappropriate test on MD_RECOVERY_SYNC in md_do_sync. The body of this if takes one of two branches depending on whether MD_RECOVERY_SYNC is set, so testing it in the clause of the if is wrong. 3/ Flag superblock for updating after a resync/recovery finishes. 4/ If we find the neeed to restart a recovery in the middle (version-1 metadata only) make sure a full recovery (not just as guided by bitmaps) does get done. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2b00852fbae4f8c45c2651530ded3bd01bde814 Author: NeilBrown Date: Sun Dec 10 02:20:51 2006 -0800 [PATCH] md: return a non-zero error to bi_end_io as appropriate in raid5 Currently raid5 depends on clearing the BIO_UPTODATE flag to signal an error to higher levels. While this should be sufficient, it is safer to explicitly set the error code as well - less room for confusion. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8c6b645563d641df91fdcfd84a9c73c91d75b61 Author: NeilBrown Date: Sun Dec 10 02:20:50 2006 -0800 [PATCH] md: remove some old ifdefed-out code from raid5.c There are some vestiges of old code that was used for bypassing the stripe cache on reads in raid5.c. This was never updated after the change from buffer_heads to bios, but was left as a reminder. That functionality has nowe been implemented in a completely different way, so the old code can go. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdee8ae4498c48b44c0eac592f9c6ed24c4517c1 Author: Jeff Garzik Date: Sun Dec 10 02:20:50 2006 -0800 [PATCH] MD: conditionalize some code The autorun code is only used if this module is built into the static kernel image. Adjust #ifdefs accordingly. Signed-off-by: Jeff Garzik Acked-by: NeilBrown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b875e531fc82db592d6093594593d5cafde0a1cd Author: NeilBrown Date: Sun Dec 10 02:20:49 2006 -0800 [PATCH] md: fix innocuous bug in raid6 stripe_to_pdidx stripe_to_pdidx finds the index of the parity disk for a given stripe. It assumes raid5 in that it uses "disks-1" to determine the number of data disks. This is incorrect for raid6 but fortunately the two usages cancel each other out. The only way that 'data_disks' affects the calculation of pd_idx in raid5_compute_sector is when it is divided into the sector number. But as that sector number is calculated by multiplying in the wrong value of 'data_disks' the division produces the right value. So it is innocuous but needs to be fixed. Also change the calculation of raid_disks in compute_blocknr to make it more obviously correct (it seems at first to always use disks-1 too). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5248861511d6aae4997a5aa7152824d87587b0b6 Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:48 2006 -0800 [PATCH] md: enable bypassing cache for reads Call the chunk_aligned_read where appropriate. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46031f9a38a9773021f1872abc713d62467ac22e Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:47 2006 -0800 [PATCH] md: allow reads that have bypassed the cache to be retried on failure If a bypass-the-cache read fails, we simply try again through the cache. If it fails again it will trigger normal recovery precedures. update 1: From: NeilBrown 1/ chunk_aligned_read and retry_aligned_read assume that data_disks == raid_disks - 1 which is not true for raid6. So when an aligned read request bypasses the cache, we can get the wrong data. 2/ The cloned bio is being used-after-free in raid5_align_endio (to test BIO_UPTODATE). 3/ We forgot to add rdev->data_offset when submitting a bio for aligned-read 4/ clone_bio calls blk_recount_segments and then we change bi_bdev, so we need to invalidate the segment counts. 5/ We don't de-reference the rdev when the read completes. This means we need to record the rdev to so it is still available in the end_io routine. Fortunately bi_next in the original bio is unused at this point so we can stuff it in there. 6/ We leak a cloned bio if the target rdev is not usable. From: NeilBrown update 2: 1/ When aligned requests fail (read error) they need to be retried via the normal method (stripe cache). As we cannot be sure that we can process a single read in one go (we may not be able to allocate all the stripes needed) we store a bio-being-retried and a list of bioes-that-still-need-to-be-retried. When find a bio that needs to be retried, we should add it to the list, not to single-bio... 2/ We were never incrementing 'scnt' when resubmitting failed aligned requests. [akpm@osdl.org: build fix] Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f679623f50545bc0577caf2d0f8675b61162f059 Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:46 2006 -0800 [PATCH] md: handle bypassing the read cache (assuming nothing fails) Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23032a0eb97c8eaae8ac9d17373b53b19d0f5413 Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:45 2006 -0800 [PATCH] md: define raid5_mergeable_bvec This will encourage read request to be on only one device, so we will often be able to bypass the cache for read requests. Signed-off-by: Neil Brown Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d4ca600fcf5c5f3a0c195ccf37e989b83451dd4 Author: NeilBrown Date: Sun Dec 10 02:20:44 2006 -0800 [PATCH] md: tidy up device-change notification when an md array is stopped An md array can be stopped leaving all the setting still in place, or it can torn down and destroyed. set_capacity and other change notifications only happen in the latter case, but should happen in both. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3d899839064b6924c3d8a6404dae14c79f657fd Author: Paul Mackerras Date: Sun Dec 10 02:20:42 2006 -0800 [PATCH] Fbdev driver for IBM GXT4500P videocards This is an fbdev driver for the IBM GXT4500P display card found in some IBM System P (pSeries) machines. These cards have hardware 2D and 3D capabilities, but the driver does not use them; it just exports a dumb framebuffer. Signed-off-by: Paul Mackerras Acked-by: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee2f344b33b507af23610c8fdfdde38d7c10fb33 Author: Alan Cox Date: Sun Dec 10 02:20:39 2006 -0800 [PATCH] ide-cd: Handle strange interrupt on the Intel ESB2 The ESB2 appears to emit spurious DMA interrupts when configured for native mode and handling ATAPI devices. Stratus were able to pin this bug down and produce a patch. This is a rework which applies the fixup only to the ESB2 (for now). We can apply it to other chips later if the same problem is found. This code has been tested and confirmed to fix the problem on the tested systems. Signed-off-by: Alan Cox (Most of the hard work done by Stratus however) Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33859f7f9788da2ac9aa23be4dc8e948112809ca Author: Miguel Ojeda Sandonis Date: Sun Dec 10 02:20:38 2006 -0800 [PATCH] kernel/sched.c: whitespace cleanups [akpm@osdl.org: additional cleanups] Signed-off-by: Miguel Ojeda Sandonis Acked-by: Ingo Molnar Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62ab616d54371a65f595c199aad1e1755b837d25 Author: Chen, Kenneth W Date: Sun Dec 10 02:20:36 2006 -0800 [PATCH] sched: optimize activate_task for RT task RT task does not participate in interactiveness priority and thus shouldn't be bothered with timestamp and p->sleep_type manipulation when task is being put on run queue. Bypass all of the them with a single if (rt_task) test. Signed-off-by: Ken Chen Acked-by: Ingo Molnar Cc: Nick Piggin Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06066714f6016cffcb249f6ab21b7919de1bc859 Author: Chen, Kenneth W Date: Sun Dec 10 02:20:35 2006 -0800 [PATCH] sched: remove lb_stopbalance counter Remove scheduler stats lb_stopbalance counter. This counter can be calculated by: lb_balanced - lb_nobusyg - lb_nobusyq. There is no need to create gazillion counters while we can derive the value. Signed-off-by: Ken Chen Signed-off-by: Suresh Siddha Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 783609c6cb4eaa23f2ac5c968a44483584ec133f Author: Siddha, Suresh B Date: Sun Dec 10 02:20:33 2006 -0800 [PATCH] sched: decrease number of load balances Currently at a particular domain, each cpu in the sched group will do a load balance at the frequency of balance_interval. More the cores and threads, more the cpus will be in each sched group at SMP and NUMA domain. And we endup spending quite a bit of time doing load balancing in those domains. Fix this by making only one cpu(first idle cpu or first cpu in the group if all the cpus are busy) in the sched group do the load balance at that particular sched domain and this load will slowly percolate down to the other cpus with in that group(when they do load balancing at lower domains). Signed-off-by: Suresh Siddha Cc: Christoph Lameter Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b18ec80396834497933d77b81ec0918519f4e2a7 Author: Mike Galbraith Date: Sun Dec 10 02:20:31 2006 -0800 [PATCH] sched: improve migration accuracy Co-opt rq->timestamp_last_tick to maintain a cache_hot_time evaluation reference timestamp at both tick and sched times to prevent said reference, formerly rq->timestamp_last_tick, from being behind task->last_ran at evaluation time, and to move said reference closer to current time on the remote processor, intent being to improve cache hot evaluation and timestamp adjustment accuracy for task migration. Fix minor sched_time double accounting error which occurs when a task passing through schedule() does not schedule off, and takes the next timer tick. [kenneth.w.chen@intel.com: cleanup] Signed-off-by: Mike Galbraith Acked-by: Ingo Molnar Acked-by: Ken Chen Cc: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08c183f31bdbb709f177f6d3110d5f288ea33933 Author: Christoph Lameter Date: Sun Dec 10 02:20:29 2006 -0800 [PATCH] sched: add option to serialize load balancing Large sched domains can be very expensive to scan. Add an option SD_SERIALIZE to the sched domain flags. If that flag is set then we make sure that no other such domain is being balanced. [akpm@osdl.org: build fix] Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bd77f2da58e9cdd1f159217887343dadd9af417 Author: Christoph Lameter Date: Sun Dec 10 02:20:27 2006 -0800 [PATCH] sched: call tasklet less frequently Trigger softirq less frequently We trigger the softirq before this patch using offset of sd->interval. However, if the queue is busy then it is sufficient to schedule the softirq with sd->interval * busy_factor. So we modify the calculation of the next time to balance by taking the interval added to last_balance again. This is only the right value if the idle/busy situation continues as is. There are two potential trouble spots: - If the queue was idle and now gets busy then we call rebalance early. However, that is not a problem because we will then use the longer interval for the next period. - If the queue was busy and becomes idle then we potentially wait too long before rebalancing. However, when the task goes idle then idle_balance is called. We add another calculation of the next balance time based on sd->interval in idle_balance so that we will rebalance soon. V2->V3: - Calculate rebalance time based on current jiffies and not based on the jiffies at the last time we load balanced. We no longer rely on staggering and therefore we can affort to do this now. V3->V4: - Use functions to do jiffy comparisons. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9819f4593e8d052b41a89f47140f5c5e7e30582 Author: Christoph Lameter Date: Sun Dec 10 02:20:25 2006 -0800 [PATCH] sched: use softirq for load balancing Call rebalance_tick (renamed to run_rebalance_domains) from a newly introduced softirq. We calculate the earliest time for each layer of sched domains to be rescanned (this is the rescan time for idle) and use the earliest of those to schedule the softirq via a new field "next_balance" added to struct rq. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e418e1c2bf1a253916b569370653414eb28597b6 Author: Christoph Lameter Date: Sun Dec 10 02:20:23 2006 -0800 [PATCH] sched: move idle status calculation into rebalance_tick() Perform the idle state determination in rebalance_tick. If we separate balancing from sched_tick then we also need to determine the idle state in rebalance_tick. V2->V3 Remove useless idlle != 0 check. Checking nr_running seems to be sufficient. Thanks Suresh. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7835b98bc6de2ca10afa45572d272304b000b048 Author: Christoph Lameter Date: Sun Dec 10 02:20:22 2006 -0800 [PATCH] sched: extract load calculation from rebalance_tick A load calculation is always done in rebalance_tick() in addition to the real load balancing activities that only take place when certain jiffie counts have been reached. Move that processing into a separate function and call it directly from scheduler_tick(). Also extract the time slice handling from scheduler_tick and put it into a separate function. Then we can clean up scheduler_tick significantly. It will no longer have any gotos. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe2eea3fafb3df2f5b8a55a48bcbb0d23b3b5618 Author: Christoph Lameter Date: Sun Dec 10 02:20:21 2006 -0800 [PATCH] sched: disable interrupts for locking in load_balance() Interrupts must be disabled for request queue locks if we want to run load_balance() with interrupts enabled. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4211a9a2e94a34df8c02bc39b7ec10678ad5c2ab Author: Christoph Lameter Date: Sun Dec 10 02:20:19 2006 -0800 [PATCH] sched: remove staggering of load balancing Timer interrupts already are staggered. We do not need an additional layer of time staggering for short load balancing actions that take a reasonably small portion of the time slice. For load balancing on large sched_domains we will add a serialization later that avoids concurrent load balance operations and thus has the same effect as load staggering. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 571f6d2fb0b1c04798df783db2ba85e96bcce43d Author: Christoph Lameter Date: Sun Dec 10 02:20:13 2006 -0800 [PATCH] sched: avoid taking rq lock in wake_priority_sleeper Avoid taking the request queue lock in wake_priority_sleeper if there are no running processes. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Cc: KAMEZAWA Hiroyuki Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac7d550499e225efb51a53d0b00667f26b93bdff Author: Siddha, Suresh B Date: Sun Dec 10 02:20:12 2006 -0800 [PATCH] sched domain: increase the SMT busy rebalance interval With SMT, if the logical processor is busy, load balance happens for every 8msec(min)-16msec(max). There is no need to do this often, as this is just for fairness(to maintain uniform runqueue lengths) and default time slice anyhow is 100msec. Appended patch increases this interval to 64msec(min)-128msec(max) when the logical processor is busy. Signed-off-by: Suresh Siddha Cc: Nick Piggin Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 054b9108e01ef27e2e6b32b4226abb6024626f06 Author: Kirill Korotaev Date: Sun Dec 10 02:20:11 2006 -0800 [PATCH] move_task_off_dead_cpu() should be called with disabled ints move_task_off_dead_cpu() requires interrupts to be disabled, while migrate_dead() calls it with enabled interrupts. Added appropriate comments to functions and added BUG_ON(!irqs_disabled()) into double_rq_lock() and double_lock_balance() which are the origin sources of such bugs. Signed-off-by: Kirill Korotaev Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6711cab43ed5e60bf51e3dbbce6395e87d4e9805 Author: Siddha, Suresh B Date: Sun Dec 10 02:20:07 2006 -0800 [PATCH] ched domain: move sched group allocations to percpu area Move the sched group allocations to percpu area. This will minimize cross node memory references and also cleans up the sched groups allocation for allnodes sched domain. Signed-off-by: Suresh Siddha Acked-by: Ingo Molnar Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc2a73b5caf065f8612fcb5df5bd2f5e25881d99 Author: Robert P. J. Day Date: Sun Dec 10 02:20:00 2006 -0800 [PATCH] sched.c: correct comment for this_rq_lock() Acked-by: Ingo Molnar Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 596afa41b21a414e523936b27100456f0f85e411 Author: Ralf Baechle Date: Sun Dec 10 02:19:58 2006 -0800 [PATCH] Don't build some broken ISDN drivers on big endian MIPS Signed-off-by: Ralf Baechle Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf709844d8a8fa21c59772d1a069ae0efa15e981 Author: Andrew Morton Date: Sun Dec 10 02:19:56 2006 -0800 [PATCH] io-accounting: add to getdelays Wire up the IO accounting into getdelays.c. Usage: To display I/O stats for each exitting task: vmm:/home/akpm> ./getdelays -m0,1,2,3 -i -l cpumask 0 maskset 1 printing IO accounting listen forever rm: read=8192, write=0, cancelled_write=0 cvs: read=733184, write=4255744, cancelled_write=4096 make: read=217088, write=0, cancelled_write=0 cc1: read=4263936, write=12288, cancelled_write=0 as: read=811008, write=8192, cancelled_write=0 gcc: read=323584, write=0, cancelled_write=12288 cc1: read=0, write=8192, cancelled_write=0 as: read=4096, write=4096, cancelled_write=0 gcc: read=16384, write=0, cancelled_write=4096 as: read=4096, write=4096, cancelled_write=0 gcc: read=16384, write=0, cancelled_write=8192 ld: read=1011712, write=16384, cancelled_write=0 collect2: read=626688, write=0, cancelled_write=0 gcc: read=204800, write=0, cancelled_write=0 cc1: read=0, write=8192, cancelled_write=0 as: read=4096, write=4096, cancelled_write=0 gcc: read=16384, write=0, cancelled_write=8192 ld: read=8192, write=16384, cancelled_write=0 collect2: read=49152, write=0, cancelled_write=0 gcc: read=0, write=0, cancelled_write=0 cc1: read=0, write=4096, cancelled_write=0 ld: read=4096, write=12288, cancelled_write=0 collect2: read=49152, write=0, cancelled_write=0 gcc: read=0, write=0, cancelled_write=0 To display I/O stats for a particular presently-running task: vmm:/home/akpm> ./getdelays -i -p $(pidof crond) printing IO accounting crond: read=61440, write=0, cancelled_write=0 Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2f7bf13461e8ead863126ee1e8ba92105959ecc Author: Andrew Morton Date: Sun Dec 10 02:19:55 2006 -0800 [PATCH] getdelays: various fixes - Various cleanups - Report errors to stderr, not stdout - A printf was missing a \n and was hiding from me. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a7864ca638e0a38307962ee8ef122822a351b65 Author: Andrew Morton Date: Sun Dec 10 02:19:53 2006 -0800 [PATCH] io-accounting: via taskstats Deliver IO accounting via taskstats. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2f1f8a3b86ccc5e998dc70a3ba35af199fdbc58 Author: Andrew Morton Date: Sun Dec 10 02:19:50 2006 -0800 [PATCH] cleanup taskstats.h Fix weird whitespace mangling in taskstats.h Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aba76fdb8a5fefba73d3490563bf7c4da37b1a34 Author: Andrew Morton Date: Sun Dec 10 02:19:48 2006 -0800 [PATCH] io-accounting: report in procfs Add a simple /proc/pid/io to show the IO accounting fields. Maybe this shouldn't be merged in mainline - the preferred reporting channel is taskstats. But given the poor state of our userspace support for taskstats, this is useful for developer-testing, at least. And it improves the changes that the procps developers will wire it up into top(1). Opinions are sought. The patch also wires up the existing IO-accounting fields. It's a bit racy on 32-bit machines: if process A reads process B's /proc/pid/io while process B is updating one of those 64-bit counters, process A could see an intermediate result. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98c4d57decf97bf8ddfe948a3266aa56b38b1a51 Author: Andrew Morton Date: Sun Dec 10 02:19:47 2006 -0800 [PATCH] io-accounting: direct-io Account for direct-io. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f88cc2e9c29c181557b477ee396375906acbc90 Author: Andrew Morton Date: Sun Dec 10 02:19:44 2006 -0800 [PATCH] io-accounting-read-accounting cifs fix CIFS implements ->readpages and doesn't use read_cache_pages(). So wire the read IO accounting up within CIFS. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: Steven French Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bde37f08fe3340435f4320b5a092eeb55acebfd Author: Andrew Morton Date: Sun Dec 10 02:19:40 2006 -0800 [PATCH] io-accounting-read-accounting nfs fix nfs's ->readpages uses read_cache_pages(). Wire it up there. [wfg@mail.ustc.edu.cn: account only successful nfs/fuse reads] Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit faccbd4b26df7bd977cee33d4145155d0ef95c87 Author: Andrew Morton Date: Sun Dec 10 02:19:35 2006 -0800 [PATCH] io-accounting: read accounting Wire up read accounting for block devices, within submit_bio(). Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e08748ce01e02f0ec154b141f392ccb9555333f4 Author: Andrew Morton Date: Sun Dec 10 02:19:31 2006 -0800 [PATCH] io-accounting: write-cancel accounting Account for the number of byte writes which this process caused to not happen after all. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55e829af06681e5d731c03ba04febbd1c76ca293 Author: Andrew Morton Date: Sun Dec 10 02:19:27 2006 -0800 [PATCH] io-accounting: write accounting Accounting writes is fairly simple: whenever a process flips a page from clean to dirty, we accuse it of having caused a write to underlying storage of PAGE_CACHE_SIZE bytes. This may overestimate the amount of writing: the page-dirtying may cause only one buffer_head's worth of writeout. Fixing that is possible, but probably a bit messy and isn't obviously important. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c08540f8755c451d8b96ea14cfe796bc3cd712d Author: Andrew Morton Date: Sun Dec 10 02:19:24 2006 -0800 [PATCH] clean up __set_page_dirty_nobuffers() Save a tabstop in __set_page_dirty_nobuffers() and __set_page_dirty_buffers() and a few other places. No functional changes. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2 Author: Andrew Morton Date: Sun Dec 10 02:19:19 2006 -0800 [PATCH] io-accounting: core statistics The present per-task IO accounting isn't very useful. It simply counts the number of bytes passed into read() and write(). So if a process reads 1MB from an already-cached file, it is accused of having performed 1MB of I/O, which is wrong. (David Wright had some comments on the applicability of the present logical IO accounting: For billing purposes it is useless but for workload analysis it is very useful read_bytes/read_calls average read request size write_bytes/write_calls average write request size read_bytes/read_blocks ie logical/physical can indicate hit rate or thrashing write_bytes/write_blocks ie logical/physical guess since pdflush writes can be missed I often look for logical larger than physical to see filesystem cache problems. And the bytes/cpusec can help find applications that are dominating the cache and causing slow interactive response from page cache contention. I want to find the IO intensive applications and make sure they are doing efficient IO. Thus the acctcms(sysV) or csacms command would give the high IO commands). This patchset adds new accounting which tries to be more accurate. We account for three things: reads: attempt to count the number of bytes which this process really did cause to be fetched from the storage layer. Done at the submit_bio() level, so it is accurate for block-backed filesystems. I also attempt to wire up NFS and CIFS. writes: attempt to count the number of bytes which this process caused to be sent to the storage layer. This is done at page-dirtying time. The big inaccuracy here is truncate. If a process writes 1MB to a file and then deletes the file, it will in fact perform no writeout. But it will have been accounted as having caused 1MB of write. So... cancelled_writes: account the number of bytes which this process caused to not happen, by truncating pagecache. We _could_ just subtract this from the process's `write' accounting. But that means that some processes would be reported to have done negative amounts of write IO, which is silly. So we just report the raw number and punt this decision up to userspace. Now, we _could_ account for writes at the physical I/O level. But - This would require that we track memory-dirtying tasks at the per-page level (would require a new pointer in struct page). - It would mean that IO statistics for a process are usually only available long after that process has exitted. Which means that we probably cannot communicate this info via taskstats. This patch: Wire up the kernel-private data structures and the accessor functions to manipulate them. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47694bb86af3648d4ec34c7afd46653cefc9b359 Author: Sergei Shtylyov Date: Sun Dec 10 02:19:13 2006 -0800 [PATCH] pdc202xx_new: fix PLL/timing issues Fix the CRC errors in the higher UltraDMA modes with the Promise PDC20268 and newer chips that always occur on non-x86 machines and when there are more than 2 adapters on x86 machines. Fix the overclocking issue for PDC20269 and newer chips that occurs when an UltraDMA/133 capable drive is connected. Here's the summary of changes: - add code to detect the PLL input clock detection and setup it output clock, remove the PowerMac hacks; - replace the macros accessing the indexed regiters with functions, switch to using them where appropriate, gather the PIO/MWDMA/UDMA timings into tables; - rewrite the speedproc() handler to set the drive's transfer mode first, and then override the timing registers set by hardware on UltraDMA/133 chips; - use better criterion for determining higher UltraDMA modes, and add comment concerning the doubtful value of the code enabling IORDY/prefetch; - replace the stupid 'pdcnew_new_' prefixes with mere 'pdcnew_'; - get rid of unneded spaces, parens and type casts, clean up some printk's, add some new lines here and there... This work is loosely based on these former patches by Albert Lee: [1] http://marc.theaimsgroup.com/?l=linux-ide&m=110992442032300 [2] http://marc.theaimsgroup.com/?l=linux-ide&m=110992457729382 [3] http://marc.theaimsgroup.com/?l=linux-ide&m=110992474205555 [4] http://marc.theaimsgroup.com/?l=linux-ide&m=111019224802939 Some PLL clock detection code was backported from his pata_pdc2027x driver... This code has been successfully tested by me on PDC2026[89] chips. I tried to keep this rework as several patches but it made no sense: [2] was largely a modification of the non-working timing override code, [3] by itself extended the overclocking issue to the case of non-UltraDMA/133 drives, and finally, the cleanup patch based on [1] ended up rejected... Signed-off-by: Sergei Shtylyov Cc: Albert Lee Acked-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58f64d83c37f5073a01573d27043c9c0ccc764f1 Author: David Woodhouse Date: Sun Dec 10 02:19:11 2006 -0800 [PATCH] Fix noise in futex.h There are some kernel-only bits in the middle of which should be removed in what we export to userspace. Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f29bcd739972f71f2fd5d5d265daf3e1208fa5e Author: Alexey Dobriyan Date: Sun Dec 10 02:19:10 2006 -0800 [PATCH] sysctl: remove unused "context" param Signed-off-by: Alexey Dobriyan Cc: Andi Kleen Cc: "David S. Miller" Cc: David Howells Cc: Ralf Baechle Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98d7340c360993fdd703609ff7462051e03cc2fb Author: Alexey Dobriyan Date: Sun Dec 10 02:19:09 2006 -0800 [PATCH] sysctl: remove some OPs kernel.cap-bound uses only OP_SET and OP_AND Signed-off-by: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d5636cc078d3750b7f590a20f748aeaa26e2daf Author: Corey Minyard Date: Sun Dec 10 02:19:08 2006 -0800 [PATCH] IPMI: misc fixes Fix various problems pointed out by Andrew Morton and others: * platform_device_unregister checks for NULL, no need to check here. * Formatting fixes. * Remove big macro and convert to a function. * Use strcmp instead of defining a broken case-insensitive comparison, and make the output parameter info match the case of the input one (change "I/O" to "i/o"). * Return the length instead of 0 from the hotmod parameter handler. * Remove some unused cruft. * The trydefaults parameter only has to do with scanning the "standard" addresses, don't check for that on ACPI. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c8204b380f92a6a8533d228c50f0b681daf6121 Author: Randy Dunlap Date: Sun Dec 10 02:19:06 2006 -0800 [PATCH] IPMI: remove zero inits Remove all =0 and =NULL from static initializers. They are not needed and removing them saves space in the object files. Signed-off-by: Randy Dunlap Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76465493eeadb1662d65aa96477d6fc093da9966 Author: Alessandro Zummo Date: Sun Dec 10 02:19:06 2006 -0800 [PATCH] update MAINTAINERS with rtc-linux mailing list info Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fc39f6d616a852750ddaac86f5e4c3fad804ef8 Author: Andrew Victor Date: Sun Dec 10 02:19:03 2006 -0800 [PATCH] AT91RM9200 RTC The new Atmel AT91SAM9261 and AT91SAM9260 processors do not have the internal RTC peripheral. This RTC driver is therefore AT91RM9200-specific. This patch renames rtc-at91.c to rtc-at91rm9200.c, and changes the name of the configuration option. Signed-off-by: Andrew Victor Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a14e18935076ce084c4edbc57883f38e642c8e5d Author: David Brownell Date: Sun Dec 10 02:19:02 2006 -0800 [PATCH] RTCs don't use i2c_adapter.dev Update more I2C drivers that live outside drivers/i2c to understand that using adapter->dev is not The Way. When actually referring to the adapter hardware, adapter->class_dev.dev is the answer. When referring to a device connected to it, client->dev.dev is the answer. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 884b4aaaa242a2db8c8252796f0118164a680ab5 Author: Scott Wood Date: Sun Dec 10 02:19:00 2006 -0800 [PATCH] rtc: Add rtc_merge_alarm() Add rtc_merge_alarm(), which can be used by rtc drivers to turn a partially specified alarm expiry (i.e. most significant fields set to -1, as with the RTC_ALM_SET ioctl()) into a fully specified expiry. If the most significant specified field is earlier than the current time, the least significant unspecified field is incremented. Signed-off-by: Scott Wood Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9080d0ae0fd16628d688ce7d03d02ccf7011c6f0 Author: Randy Dunlap Date: Sun Dec 10 02:19:00 2006 -0800 [PATCH] geode crypto is PCI device This driver seems to be for a PCI device. drivers/crypto/geode-aes.c:384: warning: implicit declaration of function 'pci_release_regions' drivers/crypto/geode-aes.c:397: warning: implicit declaration of function 'pci_request_regions' Signed-off-by: Randy Dunlap Acked-by: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c543eff6cc658f46241f1ccb77436d65abbf445 Author: Randy Dunlap Date: Sun Dec 10 02:18:58 2006 -0800 [PATCH] freezer.h uses task_struct fields freezer.h uses task_struct fields so it should include sched.h. CC [M] fs/jfs/jfs_txnmgr.o In file included from fs/jfs/jfs_txnmgr.c:49: include/linux/freezer.h: In function 'frozen': include/linux/freezer.h:9: error: dereferencing pointer to incomplete type include/linux/freezer.h:9: error: 'PF_FROZEN' undeclared (first use in this function) include/linux/freezer.h:9: error: (Each undeclared identifier is reported only once include/linux/freezer.h:9: error: for each function it appears in.) include/linux/freezer.h: In function 'freezing': include/linux/freezer.h:17: error: dereferencing pointer to incomplete type include/linux/freezer.h:17: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h: In function 'freeze': include/linux/freezer.h:26: error: dereferencing pointer to incomplete type include/linux/freezer.h:26: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h: In function 'do_not_freeze': include/linux/freezer.h:34: error: dereferencing pointer to incomplete type include/linux/freezer.h:34: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h: In function 'thaw_process': include/linux/freezer.h:43: error: dereferencing pointer to incomplete type include/linux/freezer.h:43: error: 'PF_FROZEN' undeclared (first use in this function) include/linux/freezer.h:44: warning: implicit declaration of function 'wake_up_process' include/linux/freezer.h: In function 'frozen_process': include/linux/freezer.h:55: error: dereferencing pointer to incomplete type include/linux/freezer.h:55: error: dereferencing pointer to incomplete type include/linux/freezer.h:55: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h:55: error: 'PF_FROZEN' undeclared (first use in this function) fs/jfs/jfs_txnmgr.c: In function 'freezing': include/linux/freezer.h:18: warning: control reaches end of non-void function make[2]: *** [fs/jfs/jfs_txnmgr.o] Error 1 Signed-off-by: Randy Dunlap Acked-by: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf1b939e41c28a31f2052e5c0a6619b5711ad7d0 Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Sun Dec 10 02:18:57 2006 -0800 [PATCH] Document how to decode an IOCTL number Document how to decode a binary IOCTL number. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0dd4e5b8e197f9d10e171e9f4aa9ed72e4a6d00c Author: Andrew Morton Date: Sun Dec 10 02:18:56 2006 -0800 [PATCH] submit checklist update Mention the new fault-injection test framework. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3fc9941fbc6efe5cb77728adb0fb12be363e73e Author: Randy Dunlap Date: Sun Dec 10 02:18:56 2006 -0800 [PATCH] CodingStyle updates Add some kernel coding style comments, mostly pulled from emails by Andrew Morton, Jesper Juhl, and Randy Dunlap. - add paragraph on switch/case indentation (with fixes) - add paragraph on multiple-assignments - add more on Braces - add section on Spaces; add typeof, alignof, & __attribute__ with sizeof; add more on postfix/prefix increment/decrement operators - add paragraph on function breaks in source files; add info on function prototype parameter names - add paragraph on EXPORT_SYMBOL placement - add section on /*-comment style, long-comment style, and data declarations and comments - correct some chapter number references that were missed when chapters were renumbered Signed-off-by: Randy Dunlap Acked-by: Jesper Juhl Acked-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d94cc50aa4f1448a6483975097805eb8d6be0e0 Author: Stephen Street Date: Sun Dec 10 02:18:54 2006 -0800 [PATCH] spi: stabilize PIO mode transfers on PXA2xx systems Stabilize PIO mode transfers against a range of word sizes and FIFO thresholds and fixes word size setup/override issues. 1) 16 and 32 bit DMA/PIO transfers broken due to timing differences. 2) Potential for bad transfer counts due to transfer size assumptions. 3) Setup function broken is multiple ways. 4) Per transfer bit_per_word changes break DMA setup in pump_tranfers. 5) False positive timeout are not errors. 6) Changes in pxa2xx_spi_chip not effective in calls to setup. 7) Timeout scaling wrong for PXA255 NSSP. 8) Driver leaks memory while busy during unloading. Known issues: SPI_CS_HIGH and SPI_LSB_FIRST settings in struct spi_device are not handled. Testing: This patch has been test against the "random length, random bits/word, random data (verified on loopback) and stepped baud rate by octaves (3.6MHz to 115kHz)" test. It is robust in PIO mode, using any combination of tx and rx thresholds, and also in DMA mode (which internally computes the thresholds). Much thanks to Ned Forrester for exhaustive reviews, fixes and testing. The driver is substantially better for his efforts. Signed-off-by: Stephen Street Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6451956a24963d3eb1655fd039762ae42ac48da7 Author: Alan Cox Date: Sun Dec 10 02:18:53 2006 -0800 [PATCH] ide: complete switch to pci_get The reverse get function allows the final piece of the switching for the old IDE layer Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc4fb2adf944d45a7f3d4d38df991c79ffdb6a43 Author: Chris Zankel Date: Sun Dec 10 02:18:52 2006 -0800 [PATCH] xtensa: fix system call interface This is a long outstanding patch to finally fix the syscall interface. The constants used for the system calls are those we have provided in our libc patches. This patch also fixes the shmbuf and stat structure, and fcntl definitions. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 173d6681380aa1d60dfc35ed7178bd7811ba2784 Author: Chris Zankel Date: Sun Dec 10 02:18:48 2006 -0800 [PATCH] xtensa: remove extra header files The Xtensa port contained many header files that were never needed. This rather lengthy patch removes all those files. Unfortunately, there were many dependencies that needed to be updated, so this patch touches quite a few source files. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd43fe19b830d6cd0eba08a6c6a5f71a6bd9c1b0 Author: Chris Zankel Date: Sun Dec 10 02:18:47 2006 -0800 [PATCH] xtensa: fix irq and misc fixes Update the architecture specific interrupt handling code for Xtensa to support the new API. Use generic BUG macros in bug.h, and some minor fixes. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fcf7bb73f66cc1c4ad90788b0f367c4d6852b75 Author: Hugh Dickins Date: Sun Dec 10 02:18:43 2006 -0800 [PATCH] read_zero_pagealigned() locking fix Ramiro Voicu hits the BUG_ON(!pte_none(*pte)) in zeromap_pte_range: kernel bugzilla 7645. Right: read_zero_pagealigned uses down_read of mmap_sem, but another thread's racing read of /dev/zero, or a normal fault, can easily set that pte again, in between zap_page_range and zeromap_page_range getting there. It's been wrong ever since 2.4.3. The simple fix is to use down_write instead, but that would serialize reads of /dev/zero more than at present: perhaps some app would be badly affected. So instead let zeromap_page_range return the error instead of BUG_ON, and read_zero_pagealigned break to the slower clear_user loop in that case - there's no need to optimize for it. Use -EEXIST for when a pte is found: BUG_ON in mmap_zero (the other user of zeromap_page_range), though it really isn't interesting there. And since mmap_zero wants -EAGAIN for out-of-memory, the zeromaps better return that than -ENOMEM. Signed-off-by: Hugh Dickins Cc: Ramiro Voicu: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 347a00fb4ad2200f8f8331f8b366b1d84eff577d Author: Roman Zippel Date: Sun Dec 10 02:18:41 2006 -0800 [PATCH] kbuild: don't put temp files in source The as-instr/ld-option need to create temporary files, but create them in the output directory, when compiling external modules. Reformat them a bit and use $(CC) instead of $(AS) as the former is used by kbuild to assemble files. Signed-off-by: Roman Zippel Cc: Andi Kleen Cc: Jan Beulich Cc: Sam Ravnborg Cc: Cc: Horst Schirmeier Cc: Daniel Drake Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15964864c051b31df7d2f9101fe8cc47854a0ab8 Author: Oleg Verych Date: Sun Dec 10 02:18:40 2006 -0800 [PATCH] kbuild: fix-rR-is-now-default `make -d help | grep Makefile` shows patterns, where make tries to rebuild included and top makefiles. While `make -rR is now default' commit should fix this, actually, it was just a little janitorial. This fix is aimed to complete cancelling implicit rules. Cc: Sam Ravnborg Signed-off-by: Oleg Verych Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf4735a46a6b8dfc1a951f05683e80374d8baa70 Author: Don Mullis Date: Sun Dec 10 02:18:37 2006 -0800 [PATCH] Kconfig refactoring for better menu nesting Refactor Kconfig content to maximize nesting of menus by menuconfig and xconfig. Tested by simultaneously running `make xconfig` with and without patch, and comparing displays. Signed-off-by: Don Mullis Signed-off-by: Randy Dunlap Cc: Sam Ravnborg Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d53ef07ab45085c0b06b652d588aa49b8ba41458 Author: Randy Dunlap Date: Sun Dec 10 02:18:36 2006 -0800 [PATCH] ipc-procfs-sysctl mixups When CONFIG_PROC_FS=n and CONFIG_PROC_SYSCTL=n but CONFIG_SYSVIPC=y, we get this build error: kernel/built-in.o:(.data+0xc38): undefined reference to `proc_ipc_doulongvec_minmax' kernel/built-in.o:(.data+0xc88): undefined reference to `proc_ipc_doulongvec_minmax' kernel/built-in.o:(.data+0xcd8): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xd28): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xd78): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xdc8): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xe18): undefined reference to `proc_ipc_dointvec' make: *** [vmlinux] Error 1 Signed-off-by: Randy Dunlap Acked-by: Eric Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d4ba4a3b9aef95d328d74a17ae84f8d658059e2 Author: Randy Dunlap Date: Sun Dec 10 02:18:34 2006 -0800 [PATCH] ucb1400_ts depends SND_AC97_BUS This driver is an AC97 codec according to its help text. However, if SOUND is disabled, the "select SND_AC97_BUS" still inserts that into the .config file: # # Sound # # CONFIG_SOUND is not set CONFIG_SND_AC97_BUS=m Even if the config software followed dependency chains on selects, we should try to limit usage of "select" to library-type code that is needed (e.g., CRC functions) instead of bus-type support. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db9a758c3895ae99d647143d1f043938eb68521e Author: David Howells Date: Sun Dec 10 02:18:31 2006 -0800 [PATCH] workstruct: fix ieee80211-softmac compile problem Fix ieee80211-softmac compile problem where it's using schedule_work() on a delayed_work struct. Signed-off-by: David Howells Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1de1bf06330920802d3b7646a088965bdd918356 Author: Thierry MERLE Date: Sun Dec 10 13:31:04 2006 -0300 V4L/DVB 4949b: Fix container_of pointer retreival Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 67952e8cb111c5b2f9e675dba1bbde4876f9fcf3 Author: Mauro Carvalho Chehab Date: Sun Dec 10 00:14:21 2006 -0200 V4L/DVB (4949a): Fix INIT_WORK INIT_WORK syntax changed on kernel 2.6.19. Fixing it on usbvision and cx88-input. Signed-off-by: Mauro Carvalho Chehab commit f35db23c1b1c4da0642e932a7035b5c577377974 Author: Michael Krufky Date: Tue Dec 5 14:53:39 2006 -0300 V4L/DVB (4949): Cxusb: codingstyle cleanups Trivial whitespace / 80-column limit cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 79a54cbd73afe05d807b2128fa41a92cb4acd637 Author: Michael Krufky Date: Tue Dec 5 14:20:06 2006 -0300 V4L/DVB (4948): Cxusb: Convert tuner functions to use dvb_pll_attach Converted dee1601, lgz201 and dtt8579 to use dvb_pll_attach in dvb-usb-cxusb. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4a390558a691445e3d710998b850570fe8a20d31 Author: Michael Krufky Date: Tue Dec 5 02:00:53 2006 -0300 V4L/DVB (4947): Cx88: trivial cleanups - small whitespace cleanups - 80-column whitespace cleanups - remove unneeded brackets Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22f3f17dd705c476d2c8a2d879ddacaa8f9237e3 Author: Michael Krufky Date: Tue Dec 5 01:38:58 2006 -0300 V4L/DVB (4946): Cx88: Move cx88_dvb_bus_ctrl out of the card-specific area This function should not be in the card-specific area of the file. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ed35526027f3b45a7c799f73916166b1161bf082 Author: Michael Krufky Date: Tue Dec 5 01:34:56 2006 -0300 V4L/DVB (4945): Cx88: consolidate cx22702_config structs There are five cx22702_config structs used by cx88-dvb, only two of which are unique. This patch removes the duplicates and sets each card to use one of the two remaining config structs. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5786a34b439b660256e236f870c0418e39dd16d0 Author: Michael Krufky Date: Tue Dec 5 01:21:19 2006 -0300 V4L/DVB (4944): Cx88: Convert DViCO FusionHDTV Hybrid to use dvb_pll_attach Converted DViCO FusionHDTV Hybrid to use dvb_pll_attach, removing another static dependency of cx88-dvb on dvb-pll. Acked-by: Chris Pascoe Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1d4bb7d3c154167c8f0b80cfd72914d8732d3d01 Author: Michael Krufky Date: Tue Dec 5 01:01:39 2006 -0300 V4L/DVB (4943): Cx88: cleanup dvb_pll_attach for lgdt3302 tuners Since we're using dvb_pll_attach now, we dont have to populate dev->core->pll_addr or dev->core->pll_desc anymore. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c876a3468d0f136710af81595177889953d1ff71 Author: Thierry MERLE Date: Sat Dec 9 16:42:54 2006 -0300 V4L/DVB (4953): Usbvision minor fixes - fix debug outputs - fix returned parameters on VIDIOC_G_FMT, VIDIOC_S_FMT and VIDIOC_TRY_FMT and mmap size setting Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit f30ebd43597e9b2bbbc8b0eb650f5aad545e255b Author: Mauro Carvalho Chehab Date: Sat Dec 9 12:32:18 2006 -0300 V4L/DVB (4951): Add version.h, since it is required for VIDIOC_QUERYCAP Signed-off-by: Mauro Carvalho Chehab commit 1444e5f591b8c68d7a326f5b0ad6c63a984d56dd Author: Rusty Scott Date: Mon Dec 4 18:04:16 2006 -0300 V4L/DVB (4940): Or51211: Changed SNR and signal strength calculations Removes embedded log functions and makes use of the DVB math functions to provide SNR in dB. The changes are modeled after recent changes made to the LGDT330x frontends in lgdt330x.c Signed-off-by: Rusty Scott Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit b2fb7f55a1837e39a9f74e2fd7be990ccba90eb4 Author: Rusty Scott Date: Mon Dec 4 18:04:15 2006 -0300 V4L/DVB (4939): Or51132: Changed SNR and signal strength reporting Removes embedded log functions and makes use of the DVB math functions to provide SNR in dB. The changes are modeled after recent changes made to the LGDT330x frontends in lgdt330x.c Signed-off-by: Rusty Scott Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 1c5ee876d697a9d1b70117e4277eaa445d14a728 Author: Trent Piepho Date: Mon Dec 4 18:04:11 2006 -0300 V4L/DVB (4938): Cx88: Convert lgdt3302 tuning function to use dvb_pll_attach There was a still a pre-dvb-pll set_params function for the lgdt3302 in the cx88-dvb driver. This patch removes that function and uses dvb_pll_attach() for the cards that were using it (Dvico FusionHDTV 3 GOLD {Q,T}). This way the set_params function from dvb-pll is used. dvb_attach() is in turn used on dvb_pll_attach(), eliminating some static dependencies on dvb-pll. There are still a couple static dependencies on dvb-pll remaining. Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a1ed551cdb4f29157466340760fde68bcda704a9 Author: Mauro Carvalho Chehab Date: Sat Dec 9 11:41:59 2006 -0300 V4L/DVB (4941): Remove LINUX_VERSION_CODE and fix identations Signed-off-by: Mauro Carvalho Chehab commit 7ca659e3c1c3dd67073751385ae3bd25b27526bb Author: Mauro Carvalho Chehab Date: Sat Dec 9 11:43:31 2006 -0300 V4L/DVB (4942): Whitespace cleanups Signed-off-by: Mauro Carvalho Chehab commit 483dfdb64fd4a9f240c84e0e225a90c044d65402 Author: Thierry MERLE Date: Mon Dec 4 08:31:45 2006 -0300 V4L/DVB (4937): Usbvision cleanup and code reorganization - removal of overlay stuff - reorganization of functions in 3 files: * usbvision-i2c for I2C-related stuff * usbvision-video for v4l2 entry points * usbvision-core for all peripheral controls and utilities Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit d8159a3684007e0ded915cb7465c9534a2650c53 Author: Thierry MERLE Date: Mon Dec 4 08:31:42 2006 -0300 V4L/DVB (4936): Make MT4049FM5 tuner to set FM Gain to Normal - remove any specific TDA9887_SET_CONFIG of usbvision driver - add fm_gain_normal=1 to the MT4049FM5 tuner for radio functionality Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 483deb0f2b38060c1f2de216c09f05b1869b0d52 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:38 2006 -0300 V4L/DVB (4935): Added the capability of selecting fm gain by tuner Some tuners require using cGainNormal instead of cGainLow for high sensibility on FM reception. Signed-off-by: Mauro Carvalho Chehab commit cefccc8011c58b559498396f0ccefa0a0ffa3f53 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:35 2006 -0300 V4L/DVB (4934): Usbvision radio requires GainNormal at e register Adds an option to select GainNormal at tda9887 and make usbvision to use it. Signed-off-by: Mauro Carvalho Chehab commit 3086d6cb0a2ec93f17bc215af3113c54af6080c1 Author: Thierry MERLE Date: Mon Dec 4 08:31:32 2006 -0300 V4L/DVB (4933): Usbvision_v4l2: radio interface / tda9887 problem ? - implement the v4l2 radio interface Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 957883d0b56a649389d0652a727324dd8ba2e83c Author: Thierry MERLE Date: Mon Dec 4 08:31:30 2006 -0300 V4L/DVB (4932): Usbvision_v4l2: fix norm setting problems Patch contents: - fix i2c command broadcast (caused problems for SECAM norm setting) - default input selection at driver open Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit ee5407c5019eb720872abea2e0a1376c35e2304a Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:27 2006 -0300 V4L/DVB (4931): Removed usbvision_ioctl.h, since it isn't required anymore Signed-off-by: Mauro Carvalho Chehab commit 40bad67840aa6856cb39a431510a57d940017898 Author: Thierry MERLE Date: Mon Dec 4 08:31:24 2006 -0300 V4L/DVB (4930): Usbvision_v4l2 : mmap corrected to get all frames - private ioctls UVIOCSREG/UVIOCGREG translated to the VIDIOC_INT_G_REGISTER/VIDIOC_INT_S_REGISTER - lost frame bug corrected (mmap rework) - reset scratch buffer is no buffer is queued (prevents useless scratch overflow management) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 3084920b555b3ba73590430b2e03d9167db23e8e Author: Thierry MERLE Date: Mon Dec 4 08:31:21 2006 -0300 V4L/DVB (4929): Read() implementation + format set/get simplifications - implement read() entry point that works with linux list.h - rework of VIDIOC_ENUM_FMT/VIDIOC_S_FMT/VIDIOC_G_FMT - VIDIOC_STREAMON : allows streaming whereas there is no queued buffer (xdtv does VIDIOC_STREAMON before VIDIOC_QBUFs) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 5f7fb877be14da92803f0b5b60955e071ebe2d58 Author: Thierry Date: Mon Dec 4 08:31:17 2006 -0300 V4L/DVB (4928): Usbvision_v4l2 robustness on disconnect This patch corrects 2 bugs (causes kernel oops) that occur when unplugging the peripheral whereas nobody has opened it yet : - do not call usbvision_stop_isoc if usbvision_init_isoc has not been called - do not call wakeup_interruptible on waitqueues that did not have been initialized with init_waitqueue_head Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit f2242ee5474f46d87a45cd4e214b5c3aa02ff293 Author: Thierry MERLE Date: Mon Dec 4 08:31:14 2006 -0300 V4L/DVB (4927): Enhancements on usbvision driver Enhance the buffer management of this driver + some corrections - linux list.h usage for buffer management - VIDIOC_ENUMSTD/VIDIOC_G_STD/VIDIOC_S_STD simplification (use of v4l2_video_std_construct) - create_sysfs : remove of warnings for video_device_create_file return code - make the driver compatible with 2.6.19 kernel version (remove slave_send and slave_recv in usbvision-i2c, change ctrlUrb_complete function prototype) - deactivated v4l2_read because this code was not the priority but working on it :) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 18d8a4540caddaa9a42fb4dbc04c75c4b806278b Author: Dwaine Garden Date: Mon Dec 4 08:31:11 2006 -0300 V4L/DVB (4926): Fix USBVision handling of VIDIOC_QUERYCTRL There's a better (and recommended) way for handling VIDIOC_QUERYCTRL. This patch will fix the issue where the hardware control values were invalid and stops the SAA7115 module from complaining about invalid values. saa7115 4-0024: invalid brightness setting 32768 saa7115 4-0024: invalid contrast setting 49152 saa7115 4-0024: invalid hue setting 32768 saa7115 4-0024: invalid saturation setting 32768 Signed-off-by: Dwaine Garden Signed-off-by: Mauro Carvalho Chehab commit cc9e595a585a4f067dcfdc67e7c4432702ea28ac Author: Thierry MERLE Date: Mon Dec 4 08:31:07 2006 -0300 V4L/DVB (4925): Corrected and separated the Kconfig for usbvision Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit c8400c700723936d9333c977e51fa77062d26dd4 Author: Thierry MERLE Date: Mon Dec 4 08:31:04 2006 -0300 V4L/DVB (4924): Fix some bugs on usbvision due to the merge into one module Found the bug that prevented the driver from loading : a module param conflict between usbvision-i2c and usbvision-core (debug parameter). - correct the module param "debug" conflics in usbvision-i2c.c and usbvision-core.c - add some debug printouts in usbvision-core.c VDIOC_QBUF/VIDIOC_DQBUF - usbvision-core.c : add vb->field = V4L2_FIELD_NONE in VIDIOC_DQBUF Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 6714b01263b06b2e7d054625486451a9fd8e03f4 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:01 2006 -0300 V4L/DVB (4923): Splitted usbvision cards from usbvison.h Having the cards description into a separated file makes easier to maintain and follows the same standard as other drivers. Signed-off-by: Mauro Carvalho Chehab commit 781aa1d1ab7ba13314af0af6c5d70c0eb0e96bf4 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:30:53 2006 -0300 V4L/DVB (4922): Add usbvision driver This patch adds usbvision into V4L/DVB HG tree. Usbvision driver is a GPL driver, made by: Joerg Heckenbach and Dwaine Garden V4L2 migration made by: Thierry Merle Kconfig/Makefile scripts by: Mauro Carvalho Chehab Signed-off-by: Joerg Heckenbach Signed-off-by: Dwaine Garden Signed-off-by: Thierry Merle Signed-off-by: Mauro Carvalho Chehab commit 2a893dea0f186efc2eb4bcdaee145b20c87d239d Author: Hartmut Birr Date: Sun Dec 3 21:08:08 2006 -0300 V4L/DVB (4921): Budget-av, budget-ci: Fix MC1 register programming Remove bogus read during MC1 programming. A '1' bit could never be cleared using the old code. Use MASK_xx macros. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 97a2cf05c409f0f73346d3d258b643c782879c77 Author: Hartmut Birr Date: Sun Dec 3 10:49:47 2006 -0300 V4L/DVB (4919): Budget-ci: Use SAA7146_IER_ENABLE/DISABLE to enable or disable a hardware interrupt Use SAA7146_IER_ENABLE/DISABLE to enable or disable a hardware interrupt. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 740cf9e15e5b2274841ee9e6d6d717e37b3f31cf Author: Hartmut Birr Date: Fri Nov 3 15:34:18 2006 -0300 V4L/DVB (4918): Budget-av: Add delay for frontend power-on Added a delay to give the frontend a little bit time for power-on. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 4207700d9b238c2db1bcba47a23251c6024687b6 Author: Oliver Endriss Date: Fri Nov 3 15:13:52 2006 -0300 V4L/DVB (4917): Saa7146: Convert SAA7146_IER_{DIS,EN}ABLE macros to inline functions Convert SAA7146_IER_{DIS,EN}ABLE macros to inline functions. Fixes a problem with macro expansion (reported by C.Y.M). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 00c4cc67512ada1d195b8bf3ef1db1d6b3951605 Author: Oliver Endriss Date: Wed Nov 1 13:09:51 2006 -0300 V4L/DVB (4916): Av7110,budget,budget-ci,budget-av: Use interrupt mode for I2C transfers Use interrupt mode for I2C transfers. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 35e55255bbe1775c3cdb5d9cff494d72d5a49bf3 Author: Hartmut Birr Date: Wed Nov 1 13:01:42 2006 -0300 V4L/DVB (4915): Saa7146: Add timeout protection for I2C interrupt Add a timeout to the wait for the i2c-interrupt. The timeout prevents from endless waiting if the interrupt gets lost. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 88bbdf74fcfa7ed1fd1a3c825ee5575752344326 Author: Hartmut Birr Date: Wed Nov 1 12:46:32 2006 -0300 V4L/DVB (4914): Saa7146: Protect access to the IER register by a spinlock Protect the access to the IER register of the SAA7146 by the device spinlock. I2C transfers may use interrupt mode now. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 122b5dbea6fa3727fc99fbdc2cf5e4d9b8a5bb00 Author: Hans Verkuil Date: Sun Dec 3 06:45:07 2006 -0300 V4L/DVB (4913): Fix broken TUNER_LG_NTSC_TAPE radio support The TUNER_LG_NTSC_TAPE is identical in all respects to the TUNER_PHILIPS_FM1236_MK3. So use the params struct for the Philips tuner. Also add this LG_NTSC_TAPE tuner to the switches where radio specific parameters are set so it behaves like a TUNER_PHILIPS_FM1236_MK3. This change fixes the radio support for this tuner (the wrong bandswitch byte was used). Thanks to Andy Walls for finding this bug. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c8f5b2f5607e78c61df229259c539a5d9488a013 Author: Jonathan Corbet Date: Fri Dec 1 15:50:59 2006 -0300 V4L/DVB (4909): Add s/g_parm to cafe_ccic Add s/g_parm support allowing applications to tweak the frame rate. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit a66d23368068d6027feedc010304d510e6d1fe56 Author: Jonathan Corbet Date: Fri Dec 1 15:37:49 2006 -0300 V4L/DVB (4908): Remove the fake RGB32 format from cafe_ccic Remove RGB32, useful for debugging, but with no place in production. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit bf5dbed6b499787809c78710b209efc76939592b Author: Mauro Carvalho Chehab Date: Fri Dec 1 12:39:46 2006 -0300 V4L/DVB (4901): Improve debug msgs to show fourcc and buffer length on video_ioctl2 Signed-off-by: Mauro Carvalho Chehab commit 177aaaf826856cd8c82e790cf125186b5634f492 Author: Thomas Genty Date: Wed Nov 29 21:57:24 2006 -0300 V4L/DVB (4898): Saa7134: add support for remote control of Hauppauge HVR1110 This patch adds support for the remote control bundled with the Hauppauge HVR1110 Signed-off-by: Thomas Genty Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4be3276a66c09e68a539253ce660913bb2585984 Author: Michael Krufky Date: Fri Nov 24 17:04:24 2006 -0300 V4L/DVB (4896): Dvb-usb: fix vendor ID ordering The vendor IDs in this file were all in alphabetical order except for this one. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c28089a65ca03890db120ee2bf6a7eb0cf603817 Author: Michael Hunold Date: Tue Nov 28 08:14:44 2006 -0300 V4L/DVB (4895): Accept tuners on saa7146 i2c bus only on address 0x60. Signed-off-by: Michael Hunold Signed-off-by: Mauro Carvalho Chehab commit a08cc44ec12e0a994ee85ba365315dbee982d6a7 Author: Michael Hunold Date: Tue Nov 28 08:13:58 2006 -0300 V4L/DVB (4894): Mxb: fix to load the proper i2c modules Change order of module requests, so that tuner module is loaded at the end, because the tuner module probes multiple i2c addresses and might grab an i2c address that is not a tuner but something else. Signed-off-by: Michael Hunold Signed-off-by: Mauro Carvalho Chehab commit 036171e75ef866b4fd8650c5b890359482ba2a4c Author: Andrew Morton Date: Tue Nov 28 05:09:22 2006 -0300 V4L/DVB: Dvb-budget ci fix drivers/media/dvb/ttpci/budget-ci.c:220:6: warning: "LINUX_VERSION_CODE" is not defined drivers/media/dvb/ttpci/budget-ci.c:220:28: warning: "KERNEL_VERSION" is not defined drivers/media/dvb/ttpci/budget-ci.c:220:42: error: missing binary operator before token "(" Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 0b6389ff16d57d8706bb516bde0211207aae73af Author: Michael Krufky Date: Tue Nov 28 02:35:02 2006 -0300 V4L/DVB (4891): Lgdt330x: fix broken whitespace Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1b5b32bf877d6f77d7eb6580d43623cc113a3b60 Author: Michael Krufky Date: Tue Nov 28 02:16:20 2006 -0300 V4L/DVB (4890): Lgdt330x: fix signal / lock status detection bug In some cases when using VSB, the AGC status register has been known to falsely report "no signal" when in fact there is a carrier lock. The datasheet labels these status flags as QAM only, yet the lgdt330x module is using these flags for both QAM and VSB. This patch allows for the carrier recovery lock status register to be tested, even if the agc signal status register falsely reports no signal. Thanks to jcrews from #linuxtv in irc, for initially reporting this bug. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit af249982dc385b18ea340323f50f585e989b76e5 Author: Adrian Bunk Date: Sun Nov 26 09:47:07 2006 -0300 V4L/DVB (4887): Remove the broken VIDEO_ZR36120 driver The VIDEO_ZR36120 driver has: - already been marked as BROKEN in 2.6.0 three years ago and - is still marked as BROKEN. Drivers that had been marked as BROKEN for such a long time seem to be unlikely to be revived in the forseeable future. But if anyone wants to ever revive this driver, the code is still present in the older kernel releases. Signed-off-by: Adrian Bunk Acked-by: Mauro Carvalho Chehab commit d0d30c03ed7d51bef6e40805988134bdd7042740 Author: Hans Verkuil Date: Sat Nov 25 09:45:50 2006 -0300 V4L/DVB (4886): Minor coding style improvements Remove coding style inconsistencies. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e457579079642924da621e92cb39d8fb90a4d5a7 Author: Andrew de Quincey Date: Fri Nov 24 12:58:42 2006 -0300 V4L/DVB (4884): Remove stray IR code left from patchset This caused compilation to fail - completely replaced by new style functions, so can be removed. Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 9abec6189aa8b6659222544bf893158fc96e8822 Author: Thomas Kaiser Date: Wed Nov 22 18:15:19 2006 -0300 V4L/DVB (4883): Fix TD1316 tuner for DVBC If your device is using the philips tda1316 tuner, i think there is a problem in setting the correct Band. 162 MHz and above should be band 2 (Mid-Band). But in dvbc_philips_tdm1316l_tuner_set_params band 1 is set for frequencies below 200 MHz. Signed-off-by: Thomas Kaiser Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 59236d46dab429646b023026ac92d9e8c732c18a Author: David Hardeman Date: Sat Dec 2 21:16:06 2006 -0200 V4L/DVB (4882): budget-ci IR: make debounce logic conditional Change the debounce logic so that it is not used at all unless the debounce parameter has been set. This makes for a much "snappier" remote for most users as there is no timeout to wait for (the debounce logic has a 350ms timer for the next repeat, but with the RC5 protocol, one event per ~110ms is possible) Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit b5471a27b48801507c5bd0eadd83730230515016 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4881): budget-ci IR: add IR debugging information This adds a ir_debug parameter which is useful in tracking down IR decoding problems. Based on Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 64741b70cf2030ffe017e5ed731620b4a4570f77 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4880): budget-ci IR: decode rc5 device byte Decode the RC5 device byte as well as the command byte. Introduce a parameter to set the device events to listen for. Default to try to auto-detect the proper device code, otherwise, listen to any device as the old code did. Based on Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 2520fffd8b7a312e77009414d3201c9751d6448c Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4879): budget-ci IR: integrate with ir-common This converts the budget-ci driver so that it uses ir-common for some of its IR processing. In particular, the keymap for the Nova-T (sub 13c2:1011) is switched to the Hauppauge grey/black keymap, of which the keys on the supplied R808 remote control form a subset. The old budget-ci keymap is moved to ir-keymaps.c and is used for other remotes. The debounce logic for buggy remotes (i.e. Zenith) is made conditional the new debounce parameter and defaults to off (so that repeat keypresses aren't ignored for all working remotes). Some parts are based on Darren Salt's dvb-ir patchset. Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit ee579bc9332ef8a67e20f512e7bc91e3efb92225 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4878): budget-ci IR: be more verbose in case of init failure Trivial change to help the user understand what went wrong. Taken from Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 8cc532ef5bf1230ed6345aebe5bd11ea8567ba52 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4877): budget-ci IR: improve error checking in init and deinit functions Improve the error checking in the IR init and deinit functions. Based on Darren Salt's dvb-ir patchset. Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 5cc8ae000233e8dad667edcdbb921668c317b627 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4876): budget-ci IR: support EVIOCGPHYS This patch adds a 'phys' string, of the same form as used by various other DVB cards' IR drivers, for access by any program which uses the EVIOCPHYS ioctl or may read /sys/class/input/*/phys (e.g. udev) to identify input device nodes. Taken from Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit dd2f398ccb73530a99582e972aa57e3ed2fd73c6 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4875): budget-ci IR: groundwork for following patches This patch lays down some groundwork for later budget-ci patches. The bulk of this consists of moving a few members into a new struct and renaming a few of them. It also allocates extra space for the device name (the "name" field in /proc/bus/input/devices and in the relevant sysfs dir) to avoid truncation and uses snprintf rather than sprintf in case the extra space shouldn't be enough. Taken from Darren Salt's dvb-ir patchset Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 5cfbacd0d3ee0c9f68e1ad3f24c4e1f879cc47a7 Author: Hartmut Hackmann Date: Tue Nov 21 19:59:27 2006 -0300 V4L/DVB (4872): Saa7134-alsa improvements The change does the following: - At device open, it sets the recording source to the current input instead of LINE2. So it is no longer necessary to set the recording source with a mixer application. - Connects the mixer volume control to the input sensitivity selection of the analog sound inputs. This allows only one 6db step. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 444dadc4391b978b43a778a5a56dfaed1c4ddc61 Author: Mauro Carvalho Chehab Date: Tue Nov 21 11:32:12 2006 -0300 V4L/DVB (4871): Fix i2c dependencies of VIDEO_TVEEPROM and VIDEO_TUNER Signed-off-by: Mauro Carvalho Chehab commit fd83e2487e9149d8cd7c8b1e7d6f0e5231b79f8a Author: Michael Krufky Date: Mon Nov 20 17:03:48 2006 -0300 V4L/DVB (4869): Lgh06xf: use return value of dvb_pll_configure() Use return value of dvb_pll_configure() to fill priv->frequency In lgh06xf_set_params: Rename int variable "err" to "result". Remove needless calculation of the set frequency, since this value is now being returned by dvb_pll_configure(). Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 89faeefcf875c16d8923eaed50bd57731c221bcc Author: Michael Krufky Date: Mon Nov 20 16:45:29 2006 -0300 V4L/DVB (4868): Dvb-pll: return frequency set by dvb_pll_configure() This patch removes some duplicated code by returning the frequency set by dvb_pll_configure(), instead of recalculating it again in dvb_pll_set_params() and dvb_pll_calc_regs(). If the return value of dvb_pll_configure is less than zero, it is an error code. Otherwise, the return value is the frequency actually set by the function. Signed-off-by: Michael Krufky Acked-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 47ae9ae895a5228e7a3ca47b1c9ab00a3f641923 Author: Michael Krufky Date: Mon Nov 20 16:38:42 2006 -0300 V4L/DVB (4867): Whitespace cleanup - adhere to 80-column limit - replace some spaces with tabs Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bc2e3913c786d7387e21ee0818c1a3b66a571703 Author: Patrick Boettcher Date: Sat Dec 2 21:16:04 2006 -0200 V4L/DVB (4863): Adding support for Pinnacle PCTV 400e DVB-S Adding support for Pinnacle PCTV 400e DVB-S. The module name is called ttusb2, because it this device (and other Pinnacle devices) is using the USB-protocol originally used by Technotrend device. I'm suspecting Technotrend as the device-designer. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8949f1a2424a38a4080a2a3561a2698f215a7c4a Author: Patrick Boettcher Date: Tue Nov 21 05:35:10 2006 -0300 V4L/DVB (4864): TDA826x I2C read with 2 messages Added a dump I2C message to the TDA826x-driver to fix I2C read for identification with ttusb2-driver. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 499c18698990463b84c23ddc98104517fe759ee8 Author: audetto@tiscali.it Date: Mon Nov 20 18:27:44 2006 -0300 V4L/DVB (4862): Fixes uninitialized variables passed to VIDIOC_G_FBUF. Signed-off-by: Andrea A Odetti Signed-off-by: Mauro Carvalho Chehab commit e75f9cee32827853fc2f9d1ceb6352e3edc33e9d Author: Mauro Carvalho Chehab Date: Mon Nov 20 13:19:20 2006 -0300 V4L/DVB (4861): Remove the need of a STD array for drivers using video_ioctl2 video_ioctl2 will auto-generate standard entries at ENUM_FMT. Also, now, a driver may return a subset of the video array at the return, to be stored as the current_norm. For example, a driver may ask for V4L2_STD_PAL. At return, driver may change it to V4L2_STD_PAL_B. This way, a futher call to G_STD will return the exact detected video std. Signed-off-by: Mauro Carvalho Chehab commit 207705cd7f82b9f160c6ed552d5788a823701fd1 Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:13:25 2006 -0300 V4L/DVB (4860): Optimization of v4l1 handling Signed-off-by: Mauro Carvalho Chehab commit 7964b1b1c27dea88eb89b10f774893ec11cf973d Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:10:43 2006 -0300 V4L/DVB (4859): Fix initializations on some video_ioctl2 handlers Signed-off-by: Mauro Carvalho Chehab commit 2aa92ffd58493887adde850fe510031e48f12bac Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:10:04 2006 -0300 V4L/DVB (4858): Fix: implement missing VIDIOCSTUNER on v4l1-compat module Signed-off-by: Mauro Carvalho Chehab commit c6aeb11127a8a4266d613563f737a1d60cfae628 Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:06:54 2006 -0300 V4L/DVB (4857): Cleans some ioctl structs before calling V4L2 counterpart Signed-off-by: Mauro Carvalho Chehab commit 61cebe9db7992c2c6ccb91f179f56008e74c2de1 Author: Andrew de Quincey Date: Sun Nov 19 14:10:59 2006 -0300 V4L/DVB (4855): Support KNC1 DVBC cards with alternative tda10021 i2c address For some reason, some of these cards have the tda10021 configured to a different address. This adds support for such cards Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit b07b4783fb30dee8c542fc76ed8993108d46d6aa Author: Dmitry Torokhov Date: Mon Nov 20 10:23:04 2006 -0300 V4L/DVB (4854): Handle errors from input_register_device() Also sprinkled some input_sync() throughout the code. Acked-by: Ricardo Cerqueira Acked-by: Oliver Endriss Acked-by: Andrew de Quincey Signed-off-by: Dmitry Torokhov Signed-off-by: Mauro Carvalho Chehab commit ff67c614e23bf5a3c16968e2c42ab442121c4beb Author: Mike Isely Date: Sun Nov 19 20:50:31 2006 -0300 V4L/DVB (4852): Pvrusb2: Fix horizontal resolution setting problem for 24xxx devices Fix long-standing issue which prevented use of 24xxx devices at any horizontal resolution other an 720. The problem is in the cx25840 module, if no attempt is made to initialize VBI there. Such a thing should not be needed, but the pvrusb2 driver is updated now to deal with this. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fa4cdd0dc4c066a1a4df19005912bf453dc37b6d Author: Michael Krufky Date: Sun Nov 19 22:58:19 2006 -0300 V4L/DVB (4850): Lgh06xf: fix compiler error when not selected fix build error: lgh06xf.h:29: error: syntax error before '{' token Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2213918a99d6292767b6d4aae3e3f4b0520528a5 Author: Michael Krufky Date: Sun Nov 19 19:49:11 2006 -0300 V4L/DVB (4847): Drivers/media/dvb/frontends: kfree() cleanups We don't have to check for NULL before kfree() Acked-by: Andrew de Quincey Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 76db93d03f1e9a9a3371f787ae30780cdf10400c Author: Michael Krufky Date: Sun Nov 19 19:45:26 2006 -0300 V4L/DVB (4846): Create new lgh06xf atsc tuner module This patch creates a new atsc tuner module for the LG TDVS-H06xF ATSC tuners, called lgh06xf. The purpose of this change is to reduce some duplicated code, and to allow the lgh06xf tuner code to take advantage of dvb_attach(). As a side effect, the dependency of dvb-bt8xx on dvb-pll has been removed, since the lgh06xf module itself will use dvb-pll, while remaining optional for the dvb-bt8xx driver through the use of DVB_FE_CUSTOMISE Acked-by: Andrew de Quincey Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f9a7615686a854cb94b5252e66b836a0a539ad9e Author: Jonathan Corbet Date: Sun Nov 19 19:04:55 2006 -0300 V4L/DVB (4842): Updated camera driver A couple of Cafe driver fixes, and support for the hue and saturation controls. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 96389bf5153d19151edc565b397363e122cab4a7 Author: Mauro Carvalho Chehab Date: Sun Nov 19 05:45:52 2006 -0300 V4L/DVB (4841): Added a newer PCI ID to CARDLIST.cx88 Signed-off-by: Mauro Carvalho Chehab commit 2d90fa4412549faa3830789ca606b77827cde827 Author: Jelle Foks Date: Sat Nov 18 15:47:15 2006 -0300 V4L/DVB (4839): Add support ptv-305 Add subvendor/device of the ADSTech Instant TV Deluxe PTV-305 to the card list as card=45 (KWORLD_HARDWARE_MPEG_TV_XPERT). Signed-off-by: Jelle Foks Signed-off-by: Mauro Carvalho Chehab commit 49c6b46a05ade5e1c572431844b77755527a152c Author: Jelle Foks Date: Sat Nov 18 15:47:11 2006 -0300 V4L/DVB (4838): Fix cx88-blackbird null pointer Allows 'debug=1' for cx88-blackbird module (dev needs to be valid for dprintk). Fixes a null-pointer dereference when using debug=1. Signed-off-by: Jelle Foks Signed-off-by: Mauro Carvalho Chehab commit 1f683cd8bc8512c02a7d1b8358d71937d4c5134b Author: Nico Sabbi Date: Wed Nov 15 22:06:56 2006 -0300 V4L/DVB (4836): Added support for both DVB frontends of the Lifeview Trio This card (like some others) supports both, DVB-T and a DVB-S. The patch adds an insmod option to select the frontend: use_frontend=0 -> DVB-T use_frontend=1 -> DVB-S Signed-off-by: Nico Sabbi Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 550a9a5e5f8086ae410832f134a5d80b9bd7fdb6 Author: Hartmut Hackmann Date: Wed Nov 15 21:31:54 2006 -0300 V4L/DVB (4835): Added support for the Terratec Cinergy HT PCMCIA module This is a hybrid cardbus module. Besides the card support, i modified the definition names for AGC and GPIO of the tda10046. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit ab33668f8e1bd686ebc87d51be3a0cf99a267a9f Author: Adrian Bunk Date: Fri Nov 17 11:59:22 2006 -0300 V4L/DVB (4834): Cafe_ccic.c: make a function static This patch makes the needlessly global cafe_v4l_dev_release() static. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit c01d1e486a0fc489a495ea304616484bcbcf0018 Author: Thomas Hamm Date: Fri Nov 17 07:12:58 2006 -0300 V4L/DVB (4833): Patch for SATELCO EasyWatch PCI (DVB-C) Add support for Satelco EasyWatch PCI DVBC cards Signed-off-by: Thomas Hamm Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit ed5801477addfbf5a40408866f5b2837e100451f Author: Mauro Carvalho Chehab Date: Thu Nov 16 11:02:28 2006 -0300 V4L/DVB (4829): v4l2_type_names table is incomplete Sliced VBI types are missing at the tables. Fixing it. Signed-off-by: Mauro Carvalho Chehab commit 5d9d171aaed2e0b1c5caac96efd4d4150eec97e1 Author: Mauro Carvalho Chehab Date: Tue Nov 14 12:40:07 2006 -0300 V4L/DVB (4825): FIX bug 5760: audio were not working on some bttv drivers This fixes a bug introduced by the -git commit: bbf7871e1cd58b89f77b1152f457250c6e94b614 It seems that some bttv apps can't work fine when audioset=0. Thanks to Christian Casteyde for pointing this. Signed-off-by: Mauro Carvalho Chehab commit ced8fecaecba6aa6b092abeb0c9e51deeeac9247 Author: Jose Carlos Garcia Sogo Date: Tue Nov 14 05:01:47 2006 -0300 V4L/DVB (4823): Add alternative device ID (0xb808) for AverMedia AverTV Volar dongles. Add alternative device ID (0xb808) for AverMedia AverTV Volar dongles. Signed-off-by: Jose Carlos Garcia Sogo Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f9aeba45000423cdf1211736592cb02c25f28437 Author: Stefan Traby Date: Sun Nov 12 13:02:51 2006 -0300 V4L/DVB (4819): Dib0700: Add support for new revision of Nova-T Stick Added support for Nova-T Stick with USB-pid: 0x7060 Signed-off-by: Stefan Traby Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9292e91b51dfd6238704519b2dc8097c7232941f Author: Paolo Ciarrocchi Date: Sun Nov 12 14:19:15 2006 -0300 V4L/DVB (4813): Added information about Technisat Sky2Pc cards Acked-by: Daniele Vallini Signed-off-by: Paolo Ciarrocchi Signed-off-by: Mauro Carvalho Chehab commit f2520106e78b250c2c4662608cb8db1169932a2d Author: Hans Verkuil Date: Sun Nov 12 09:28:46 2006 -0300 V4L/DVB (4812): Detect presence of IR receiver/IR transmitter in tveeprom Thanks to input from Steven Toth from Hauppauge the tveeprom module has been extended to detect the presence of an IR transmitter (aka IR-blaster). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c6e53daffc2c6e66069304b3970256744074abec Author: Thomas Genty Date: Sun Nov 5 14:17:30 2006 -0300 V4L/DVB (4806): Saa7134: add support for Hauppauge WinTV-HVR1110 DVB-T/Hybrid This patch adds support for the Hauppauge WinTV-HVR1110 DVB-T/Hybrid Signed-off-by: Thomas Genty Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8637a8759585b97ec1d54ff4a4f33f34be4f5b1c Author: Michael Krufky Date: Wed Nov 8 16:47:32 2006 -0300 V4L/DVB (4805): Dib0700: Add support for Leadtek Winfast DTV Dongle (STK7700P based) This patch adds support for the new, STK7700-based revision of the Leadtek Winfast DTV Dongle. Signed-off-by: Michal CIJOML Semler Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 111f33564e19b2b5f70e3df9a8f92c08c1c91fd9 Author: Jonathan Corbet Date: Sat Nov 4 09:26:00 2006 -0300 V4L/DVB (4798): OmniVision OV7670 driver This patch adds a V4L2 driver for the OmniVision OV7670 camera. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit d905b382d797a213e15868cbf3204f50ed52e30b Author: Jonathan Corbet Date: Sat Nov 4 09:25:53 2006 -0300 V4L/DVB (4797): Marvell 88ALP01 "cafe" driver A driver for the Marvell M88ALP01 "CAFE" CMOS integrated camera controller. This driver has been renamed "cafe_ccic" since my previous patch set. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 9c4dfadbde3cfa78b92c28597125b8c41d36ffd0 Author: Jonathan Corbet Date: Sat Nov 4 09:22:27 2006 -0300 V4L/DVB (4796): A couple of V4L2 defines needed by Cafe Camara driver Two defines for V4L2, needed by the Cafe camera driver: 1) Add the RGB444 image format 2) Add the "init" internal command which is separate from "reset". Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 589d069cfe7f2bb37c4836641ddffe9e2b51e74e Author: Andrew Morton Date: Thu Nov 2 19:45:13 2006 -0300 V4L/DVB (4794): Dvb: dibx000_common-fix Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit cbb94521cff24c98c2dbee28fb95e007c6bcaa43 Author: Hartmut Hackmann Date: Mon Oct 30 20:00:16 2006 -0300 V4L/DVB (4792): Add support for the Compro Videomate DVB-T200A This board has the same PCI ID as the T200, so the exact board type is determined from the eeprom. The original patch was provided by Francis Barber Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit a75ec3f033625fb02ccc855fcd2e322275633fc4 Author: Hartmut Hackmann Date: Mon Oct 30 19:56:59 2006 -0300 V4L/DVB (4791): Added autodetected flag to the saa7134_dev structure In case the exact board type needs to be determined by probing or evaluating the eeprom, this flag allows to still set the board type via the card=xx insmod option. This is an extract of a patch by Francis Barber. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 19be685a4a5475ecdbbbb579458eeda890d27a96 Author: Trent Piepho Date: Sun Oct 29 13:35:39 2006 -0300 V4L/DVB (4789): Lgdt330x: SNR and signal strength reporting Update the SNR calculations to use the new dvb_math log function, and add SNR calculations for all supported modulations for both lg dt3302 and dt3303. The QAM equations don't appear in the dt3302 datasheet, so the ones from the dt3303 datasheet were used. SNR returned is the actual value in dB as 8.8 fixed point. Reporting of real signal strength isn't supported, so rather than return 0, which confuses some software and users, a re-scaled SNR value is returned. Code originally by Rusty Scott. Signed-off-by: Trent Piepho Signed-off-by: Rusty Scott Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dbb2e6392b4fe350e549cdc2d42cebf3b3574a6a Author: Christoph Haubrich Date: Tue Oct 31 00:29:30 2006 -0300 V4L/DVB (4788): Tda8083: support for uncorrectable blocks and bit error rate Copied routines for uc blocks and BER from the removed tda80xx.c into tda8083.c. Signed-off-by: Christoph Haubrich Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit bf11f5e944b3bb7d310aff041a1664fb80a82078 Author: Patrick Boettcher Date: Thu Oct 19 08:17:43 2006 -0300 V4L/DVB (4778): Fixed device count Forgot to increase the device count for the STK7700P-devices Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 0ce215e1f0d40702d6233029d234293754610fd7 Author: Henning Schroeer Date: Thu Oct 19 07:58:22 2006 -0300 V4L/DVB (4776): Adding USB IDs for Uniwill STK7700P-ref-design Adding USB IDs for Uniwill STK7700P-ref-design Signed-off-by: Henning Schroeer Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 49a1376cf47b644f31d0fb2532054183fcec6fc8 Author: Tomi Koivulahti Date: Thu Oct 19 07:27:19 2006 -0300 V4L/DVB (4775): [patch] Add Compro USB IDs This patch adds Compro Videomate U500 to supported devices. Signed-off-by: Tomi Koivulahti Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit d92532d9860663cb39828e18a3e6aed27821f2bf Author: Patrick Boettcher Date: Wed Oct 18 08:35:16 2006 -0300 V4L/DVB (4773): Misc fixes for DiB3000 and DiB7000 This patch contains several fixes for the autosearch algorithm and other small ones. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a75763ffff4175bd8c115c217a39fbf445612aae Author: Patrick Boettcher Date: Wed Oct 18 08:34:16 2006 -0300 V4L/DVB (4772): Add support for DiBcom DiB7000PC This patch contains support for the DiB7000PC-driver. Signed-off-by: Francois KANOUNNIKOFF Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8364681766cc18b948cf9d7bd46d1b92f343743b Author: Hartmut Hackmann Date: Thu Oct 12 20:38:51 2006 -0300 V4L/DVB (4769): Added support for a ASUSTEK P7131 Dual DVB-T variant This card has no firmware eeprom. The old version still should not need a firmware file due to an undocumented feature of the TDA10046. The patch also includes Hermann Pitton's proposal for improved antenna switch handling Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7da6894a96ebbc1505763213c42b8fcf66aa3d90 Author: Hermann Pitton Date: Thu Oct 12 20:00:56 2006 -0300 V4L/DVB (4768): Add the Asus P7131 Dual hybrid to the new tda8290_i2c_gate_ctrl The gate control was moved to a separate function. Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit eb591af3a3703cb79e3efb5ad87b36dcd32b0712 Author: Hartmut Hackmann Date: Thu Oct 12 19:46:16 2006 -0300 V4L/DVB (4767): Make Remote control of the Pinnacle PCTV 310i work The remote control works, but we still need a better keymap. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 69ea31e7debdefcf1412e8d590ae9bd90cf9253f Author: Patrick Boettcher Date: Tue Oct 17 18:28:14 2006 -0300 V4L/DVB (4766): Add working dib7000m-module First working version of the dib7000m-driver. This commit also makes the Hauppauge NOVA-T Stick working. Signed-off-by: Francois Kanounnikoff Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3cc2e4c3a137075ee66e2d4ce95a95ba153bd7b9 Author: Luke Deller Date: Tue Oct 17 18:28:10 2006 -0300 V4L/DVB (4765): Dvb-usb/vp7045.c patch for extra key Add support for more keys on the remote control included with the DigitalNow tinyUSB2 DVB-T Receiver. Signed-off-by: Luke Deller Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit cc75aede1b1ce29a478911ad7dadee94ecd45bbf Author: Mike Isely Date: Sun Oct 15 21:35:14 2006 -0300 V4L/DVB (4763): Pvrusb2: Implement IR reception for 24xxx devices Unlike 29xxx devices, the 24xxx model series does not have a dedicated I2C device for reception of IR codes. Instead IR is handled directly by the FX2 microcontroller and the results are communicated via commands to the FX2. Rather than implement a whole new IR reception pathway for 24xxx devices, this changeset instead emulates the presence of the 29xxx device's I2C based IR receiver by intercepting commands to that chip and issuing appropriate FX2 commands to do the needed action. This has the result of allowing all the usual IR frameworks (ir-kbd-i2c or lirc) to continue working unmodified for 24xxx devices. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c85f49d49f437605550322bd2739af18230cf85b Author: Amit Choudhary Date: Tue Oct 17 11:39:06 2006 -0300 V4L/DVB (4761): Stv680.c: check kmalloc() return value. Signed-off-by: Amit Choudhary Signed-off-by: Mauro Carvalho Chehab commit fe16af26c849eb75134855c7be22352f1a15844c Author: Michael Krufky Date: Mon Oct 16 20:47:14 2006 -0300 V4L/DVB (4759): Cx88: use external adc for rca audio inputs on the ASUS PVR-416 For the ASUS PVR-416, the external adc must be used for the rca audio inputs, but television / radio inputs use the internal adc. Thanks to Alex Deucher for lending his card to me. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cc0f3f51357f46c08e2f34a7a22df1100f082de5 Author: Michael Krufky Date: Mon Oct 16 16:53:01 2006 -0300 V4L/DVB (4758): Cx88: use external adc for svideo/composite For the KWorld HardwareMpegTV XPert, the external adc must be used for svideo / composite inputs, but television / radio inputs use the internal adc. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f24546a95ade39b9cd292f06f92232becbbf35ae Author: Michael Krufky Date: Mon Oct 16 16:51:11 2006 -0300 V4L/DVB (4757): Cx88: determine whether or not to use external adc Some cx88-blackbird boards use an external adc, but not necessarily for all inputs. Thus, this needs to be configurable on the card level for each input. This patch allows for the usage of the external adc to be determined by a bit setting in the cx88_input struct for cards based on the cx88 blackbird design. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5b26c82f959e72cbd642ef4039a356ff8385cd58 Author: Michael Krufky Date: Mon Oct 16 16:07:51 2006 -0300 V4L/DVB (4756): Cx88: cleanups - fixed whitespace, replaced leading spaces with tabs - moved .mpeg descriptor below input settings Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5b9ed286759eb1c805f344398ee2c57191d7e2bd Author: Michael Krufky Date: Sun Oct 15 14:51:08 2006 -0300 V4L/DVB (4754): Cxusb: update copyright and author email address Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f71a56c17225392c873225f2d567f5caddc6b963 Author: Michael Krufky Date: Fri Oct 13 21:55:57 2006 -0300 V4L/DVB (4753): Cxusb: rename cxusb_lgdt3303_tuner_attach cxusb_lgdt3303_tuner_attach were renamed to cxusb_lgh064f_tuner_attach Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 01451e722793f191f6e13c5150dd8664f4439d17 Author: Patrick Boettcher Date: Fri Oct 13 11:34:46 2006 -0300 V4L/DVB (4749): Fixed DVB-USB-Adapter indention While converting everything to DVB-USB-Adapter, there was a wrong indention. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 019391e426266a346ac2f1b3d3c70c26b482ff31 Author: Steven Toth Date: Fri Oct 6 21:29:25 2006 -0300 V4L/DVB (4736): Cx88-blackbird module is rejected during probe. If the last cx88 board probed is not backbird based, and a previous board was, the entire module is unloaded leading to an oops during mpeg_open on the first /dev/videoN device. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 3ac706d2f77fd7bbef037a6137d08a72d7dc8334 Author: Mikhail Fedotov Date: Fri Oct 6 20:23:47 2006 -0300 V4L/DVB (4728): Add support for AverMedia AverTV Studio 507 This is just an additional analog board configuration. Signed-off-by: Mikhail Fedotov Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 587d2fd7f296dfb5ccf348e48d6d751bcc6a423a Author: Hartmut Hackmann Date: Fri Oct 6 19:13:50 2006 -0300 V4L/DVB (4726): Add support for Pinnacle 310i The driver supports analog TV, radio and DVB-T. It is based on the preliminary patch by Pierluigi Rolando. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7343826370dd5fe14a2dcec20968f2d3a4431ce6 Author: Steven Toth Date: Thu Oct 5 21:28:24 2006 -0300 V4L/DVB (4723): Bugfix: Select the correct cx8802_dev when enumerating by CX88_MPEG_type A bug in cx8802_get_driver() meant that in multiboard environments, when testing frontends on the non primary board, the incorrect device was returned resulting in "Unsupported value in .mpeg.." messages. Depending on the electrical design of the hardware (serial, parallel, rising/falling edge detect), transport would still be delivered and the problem went unnoticed. This patch ensures the correct instance of cx8802_dev is returned. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6c5be74c86f102c2d4e123bc51d2fa93155fd794 Author: Steven Toth Date: Sat Dec 2 21:15:51 2006 -0200 V4L/DVB (4676): Dynamic cx88 mpeg port management for HVR1300 MPEG2/DVB-T support. A series of patches to change the cx88 framework to allow the PCI mpeg port to be shared dynamically between different types of drivers or applications. This patch changes the cx88-dvb and cx88-blackbird drivers to become 'sub drivers' of a higher single cx88-mpeg driver. The cx88-mpeg driver is a superset of the previous cx88-mpeg/blackbird drivers and now owns the IRQ. cx88-dvb/blackbird now become mini drivers, registering themselves with cx88-mpeg through a standard interface with callbacks. Sub drivers request access to hardware via the cx88-mpeg driver. In turn the cx88-mpeg driver determines whether the hardware is busy and accepts or refuses the request, grant access using callbacks into the sub drivers. The net effect is that you are no longer able to tamper with the mpeg port from multiple different applications at the same time, potentially breaking a live mpeg2 hardware encoding or dvb stream. The mechanism extends to enable multiple dvb frontends to be registered and share the single resource. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 91bb9be6ff4101652bb104f9f083f340e73ba6dd Author: Patrick Boettcher Date: Sat Dec 2 21:15:51 2006 -0200 V4L/DVB (4524): Initial commit for the DiB7000M-demod Initial commit for the driver for the DiB7000M COFDM demodulator. Signed-off-by: Francois KANOUNNIKOFF Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 902fc997adb7b917e1bd06ad6f2f0d38aa482578 Author: Trent Piepho Date: Wed Oct 4 20:33:51 2006 -0300 V4L/DVB (4722): Cx88: Add support for VIDIOC_INT_[SR]_REGISTER ioctls Add support for the advanced debugging ioctls, to allow access to the cx88 registers from userspace. Only i2c_id == 0 is supported, for access to the cx88 adapter itself. There isn't any support for access to I2C clients of the adapter. Most of them don't have R/W registers anyway, and its necessary to use i2c-dev to talk to them from userspace. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 45a9b83fe4cf91b13900dc665f526f7fd94d484c Author: Patrick Boettcher Date: Thu Oct 19 08:15:40 2006 -0300 V4L/DVB (4777): Correct AVerMedia Volar USB ID correct AVerMedia Volar USB ID Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f0882589666440d573f657cb3a1d5f66f3caa157 Author: David S. Miller Date: Sun Dec 10 02:42:03 2006 -0800 [SPARC64]: Fix several kprobes bugs. - relbranch_fixup(), for non-branches, would end up setting regs->tnpc incorrectly, in fact it would set it equal to regs->tpc which would cause that instruction to execute twice Also, if this is not a PC-relative branch, we should just leave regs->tnpc as-is. This covers cases like 'jmpl' which branch to absolute values. - To be absolutely %100 safe, we need to flush the instruction cache for all assignments to kprobe->ainsn.insn[], including cases like add_aggr_kprobe() - prev_kprobe's status field needs to be 'unsigned long' to match the type of the value it is saving - jprobes were totally broken: = jprobe_return() can run in the stack frame of the jprobe handler, or in an even deeper stack frame, thus we'll be in the wrong register window than the one from the original probe state. So unwind using 'restore' instructions, if necessary, right before we do the jprobe_return() breakpoint trap. = There is no reason to save/restore the register window saved at %sp at jprobe trigger time. Those registers cannot be modified by the jprobe handler. Also, this code was saving and restoring "sizeof (struct sparc_stackf)" bytes. Depending upon the caller, this could clobber unrelated stack frame pieces if there is only a basic 128-byte register window stored on the stack, without the argument save area. So just saving and restoring struct pt_regs is sufficient. = Kill the "jprobe_saved_esp", totally unused. Also, delete "jprobe_saved_regs_location", with the stack frame unwind now done explicitly by jprobe_return(), this check is superfluous. Signed-off-by: David S. Miller commit 2f149228bb30ea08bfde740178f832d5c9081005 Author: David S. Miller Date: Sat Dec 9 15:41:53 2006 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 5ff42459af99427a393e3b576a77a900d43e730a Author: Mariusz Kozlowski Date: Fri Dec 1 20:19:59 2006 -0800 [SPARC64]: dma remove extra brackets Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 35bca36cf7b20a73a89f87aab34b1b4dfff6bf08 Author: Alexey Dobriyan Date: Fri Dec 1 20:18:40 2006 -0800 [SPARC{32,64}]: Propagate ptrace_traceme() return value. ptrace_traceme() consolidation made ret = ptrace_traceme(); dead write. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 982c2064d9a8b51404088d132489a25e2db807fd Author: Yan Burman Date: Thu Nov 30 17:13:09 2006 -0800 [SPARC64]: Replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: David S. Miller commit d4accd60d23f3c8a576fd08b727f88096f42d445 Author: David S. Miller Date: Thu Nov 30 17:11:26 2006 -0800 [SPARC]: Check kzalloc() return value in SUN4D irq/iommu init. Signed-off-by: David S. Miller commit c80892d150a872b18cedfbf789211bfbebfc67ce Author: Yan Burman Date: Thu Nov 30 17:07:04 2006 -0800 [SPARC]: Replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: David S. Miller commit a2c1e064c45f5126625121f58afa423e13c55efc Author: David S. Miller Date: Wed Nov 29 21:16:21 2006 -0800 [SPARC64]: Run ctrl-alt-del action for sun4v powerdown request. Signed-off-by: David S. Miller commit c449c38b5df1fad556ea210deb6cff3b27323e49 Author: David S. Miller Date: Tue Nov 28 20:18:05 2006 -0800 [SPARC64]: Unaligned accesses to userspace are hard errors. Userspace is forbidden from making unaligned loads and stores. So if we get an unaligned trap due to a {get,put}_user(), signal a fault and run the exception handler. Signed-off-by: David S. Miller commit 6e7726e16fb5e8f1169dbfcb75e321ac871af827 Author: David S. Miller Date: Sun Nov 19 14:38:25 2006 -0800 [SPARC64]: Call do_mathemu on illegal instruction traps too. To add this logic, put the VIS instruction check at the vis_emul() call site instead of inside of vis_emul(). Signed-off-by: David S. Miller commit 042cf50cfd0bc3e1769d8287465eb522e8a08ba6 Author: David S. Miller Date: Thu Nov 16 13:40:11 2006 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 10e267234cc0133bc9ed26bc34eb09de90c248c0 Author: David S. Miller Date: Thu Nov 16 13:38:57 2006 -0800 [SPARC64]: Add irqtrace/stacktrace/lockdep support. Signed-off-by: David S. Miller commit af1713e0f111647052953ba12fd10a59c74a5dde Merge: 9b3a89f... f0f32fc... Author: Linus Torvalds Date: Sat Dec 9 13:31:07 2006 -0800 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: [PATCH] x86-64: no paravirt for X86_VOYAGER or X86_VISWS [PATCH] i386: Fix io_apic.c warning [PATCH] i386: export smp_num_siblings for oprofile [PATCH] x86: Work around gcc 4.2 over aggressive optimizer [PATCH] x86: Fix boot hang due to nmi watchdog init code [PATCH] x86: Fix verify_quirk_intel_irqbalance() [PATCH] i386: Update defconfig [PATCH] x86-64: Update defconfig commit f0f32fccbffaaba8596d5c671153aa37aea9d4f0 Author: Randy Dunlap Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] x86-64: no paravirt for X86_VOYAGER or X86_VISWS Since Voyager and Visual WS already define ARCH_SETUP, it looks like PARAVIRT shouldn't be offered for them. In file included from arch/i386/kernel/setup.c:63: include/asm-i386/mach-visws/setup_arch.h:8:1: warning: "ARCH_SETUP" redefin= ed In file included from include/asm/msr.h:5, from include/asm/processor.h:17, from include/asm/thread_info.h:16, from include/linux/thread_info.h:21, from include/linux/preempt.h:9, from include/linux/spinlock.h:49, from include/linux/capability.h:45, from include/linux/sched.h:46, from arch/i386/kernel/setup.c:26: include/asm/paravirt.h:163:1: warning: this is the location of the previous= definition In file included from arch/i386/kernel/setup.c:63: include/asm-i386/mach-visws/setup_arch.h:8:1: warning: "ARCH_SETUP" redefin= ed In file included from include/asm/msr.h:5, from include/asm/processor.h:17, from include/asm/thread_info.h:16, from include/linux/thread_info.h:21, from include/linux/preempt.h:9, from include/linux/spinlock.h:49, from include/linux/capability.h:45, from include/linux/sched.h:46, from arch/i386/kernel/setup.c:26: include/asm/paravirt.h:163:1: warning: this is the location of the previous= definition Signed-off-by: Randy Dunlap commit 306a22c2a20edf3a440bfb4cf2b94c19dfd81a53 Author: Andi Kleen Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] i386: Fix io_apic.c warning gcc 4.2 warns linux/arch/i386/kernel/io_apic.c: In function ‘create_irq’: linux/arch/i386/kernel/io_apic.c:2488: warning: ‘vector’ may be used uninitialized in this function The warning is false, but somewhat legitimate so work around it. Signed-off-by: Andi Kleen commit 7e74437cf60cc84a655e301f1ee48027b3bcf96e Author: Randy Dunlap Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] i386: export smp_num_siblings for oprofile oprofile uses smp_num_siblings without testing for CONFIG_X86_HT. I looked at modifying oprofile, but this way is cleaner & simpler and I didn't see a good reason not to just export it when CONFIG_SMP. WARNING: "smp_num_siblings" [arch/i386/oprofile/oprofile.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen commit 1bac3b383a93a4a920ffc57441eb133c78567fbd Author: Andi Kleen Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] x86: Work around gcc 4.2 over aggressive optimizer The new PDA code uses a dummy _proxy_pda variable to describe memory references to the PDA. It is never referenced in inline assembly, but exists as input/output arguments. gcc 4.2 in some cases can CSE references to this which causes unresolved symbols. Define it to zero to avoid this. Signed-off-by: Andi Kleen commit 92715e282be7c7488f892703c8d39b08976a833b Author: Ravikiran G Thirumalai Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] x86: Fix boot hang due to nmi watchdog init code 2.6.19 stopped booting (or booted based on build/config) on our x86_64 systems due to a bug introduced in 2.6.19. check_nmi_watchdog schedules an IPI on all cpus to busy wait on a flag, but fails to set the busywait flag if NMI functionality is disabled. This causes the secondary cpus to spin in an endless loop, causing the kernel bootup to hang. Depending upon the build, the busywait flag got overwritten (stack variable) and caused the kernel to bootup on certain builds. Following patch fixes the bug by setting the busywait flag before returning from check_nmi_watchdog. I guess using a stack variable is not good here as the calling function could potentially return while the busy wait loop is still spinning on the flag. AK: I redid the patch significantly to be cleaner Signed-off-by: Ravikiran Thirumalai Signed-off-by: Shai Fultheim Signed-off-by: Andi Kleen commit 16d279d277aedd640d9dba5ddeb172b5e6bc7d75 Author: Andi Kleen Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] x86: Fix verify_quirk_intel_irqbalance() Fix verify_quirk_intel_irqbalance(). genapic checks should really happen only on affected versions of the E7520/E7320/E7525 based platforms. AK: This should akpm's Coyote SDV Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen commit e0f27981f2d5fd93b2795e8348327b081c512f83 Author: Andi Kleen Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] i386: Update defconfig Signed-off-by: Andi Kleen commit 9f25441fe6a4d8fc080a1f814078ac5d67adeea4 Author: Andi Kleen Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] x86-64: Update defconfig Signed-off-by: Andi Kleen commit 9b3a89f8b052f2a6193a9691e053f986144a65a0 Merge: 4594bf1... d942625... Author: Linus Torvalds Date: Sat Dec 9 12:26:37 2006 -0800 Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (21 commits) Fix http://bugzilla.kernel.org/show_bug.cgi?id=7606 drm: add flag for mapping PCI DMA buffers read-only. drm: fix up irqflags in drm_lock.c drm: i915 updates drm: i915: fix up irqflags arg drm: i915: Only return EBUSY after we've established we need to schedule a new swap. drm: i915: Fix 'sequence has passed' condition in i915_vblank_swap(). drm: i915: Add SAREA fileds for determining which pipe to sync window buffer swaps to. drm: Make handling of dev_priv->vblank_pipe more robust. drm: DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks. drm: Core vsync: Don't clobber target sequence number when scheduling signal. drm: Core vsync: Add flag DRM_VBLANK_NEXTONMISS. drm: Make locked tasklet handling more robust. drm: drm_rmdraw: Declare id and idx as signed so testing for < 0 works as intended. drm: Change first valid DRM drawable ID to be 1 instead of 0. drm: drawable locking + memory management fixes + copyright drm: Add support for interrupt triggered driver callback with lock held to DRM core. drm: Add support for tracking drawable information to core drm: add support for secondary vertical blank interrupt to i915 ... commit 4594bf159f1962cec3b727954b7c598b07e2e737 Author: David Howells Date: Thu Dec 7 11:33:26 2006 +0000 [PATCH] WorkStruct: Use direct assignment rather than cmpxchg() Use direct assignment rather than cmpxchg() as the latter is unavailable and unimplementable on some platforms and is actually unnecessary. The use of cmpxchg() was to guard against two possibilities, neither of which can actually occur: (1) The pending flag may have been unset or may be cleared. However, given where it's called, the pending flag is _always_ set. I don't think it can be unset whilst we're in set_wq_data(). Once the work is enqueued to be actually run, the only way off the queue is for it to be actually run. If it's a delayed work item, then the bit can't be cleared by the timer because we haven't started the timer yet. Also, the pending bit can't be cleared by cancelling the delayed work _until_ the work item has had its timer started. (2) The workqueue pointer might change. This can only happen in two cases: (a) The work item has just been queued to actually run, and so we're protected by the appropriate workqueue spinlock. (b) A delayed work item is being queued, and so the timer hasn't been started yet, and so no one else knows about the work item or can access it (the pending bit protects us). Besides, set_wq_data() _sets_ the workqueue pointer unconditionally, so it can be assigned instead. So, replacing the set_wq_data() with a straight assignment would be okay in most cases. The problem is where we end up tangling with test_and_set_bit() emulated using spinlocks, and even then it's not a problem _provided_ test_and_set_bit() doesn't attempt to modify the word if the bit was set. If that's a problem, then a bitops-proofed assignment will be required - equivalent to atomic_set() vs other atomic_xxx() ops. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d8a53b358257625778387925165eaa97839b2f52 Author: Kars de Jong Date: Sat Dec 9 10:51:03 2006 +0100 [PATCH] Amiga PCMCIA NE2000 Ethernet dev->irq init Amiga PCMCIA NE2000 Ethernet: Add missing initialization of dev->irq Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit bf8af91bcd8aadad4933a51c1219ea35e1ae0d77 Author: Geert Uytterhoeven Date: Sat Dec 9 10:50:15 2006 +0100 [PATCH] m68k: EXPORT_SYMBOL(cache_{clear,push}) bogus comment Remove bogus comments about unexporting cache_{push,clear}(), as inline dma_cache_maintenance() (used by at least bionet and pamsnet) calls them. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3f922221bbeb1a61146126cdec3c7ccf81539463 Author: Michael Schmitz Date: Sat Dec 9 10:46:30 2006 +0100 [PATCH] m68k/Atari: 2.6.18 Atari IDE interrupt needs SA_SHIRQ Atari IDE: The interrupt needs SA_SHIRQ now to get registered. Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit c39e7eee149b4105fc49df27a2cb04fad880bb00 Author: Sam Creasey Date: Sat Dec 9 10:37:05 2006 +0100 [PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again Make sun3 scsi drivers compile/work again (though with way too many warnings...) Tested on 3/50, 3/60. Signed-off-by: Sam Creasey Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit a3a79bd7c75f0055df16540c7e9dbe270060ebe8 Author: Sam Creasey Date: Sat Dec 9 10:34:38 2006 +0100 [PATCH] Sun3: General updates General compile fixes for 2.6.16 for sun3, and some updates to make the new bootloader work correctly. Tested on 3/50, 3/60, 3/80. Signed-off-by: Sam Creasey Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8e8858e932a81d827e194abf82faf32d02396f55 Author: Kars de Jong Date: Sat Dec 9 10:29:58 2006 +0100 [PATCH] m68k/HP300: HP LANCE updates - 7990: request_irq() should have SA_SHIRQ flag set - hplance_init() printed dev->name before register_netdev() had filled it in Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 99b48cff405333afe26ac603b37639c410a48e5d Merge: 200d018... d3dcc07... Author: Linus Torvalds Date: Sat Dec 9 09:38:59 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [NETLINK]: Put {IFA,IFLA}_{RTA,PAYLOAD} macros back for userspace. [NET_SCHED] sch_htb: turn intermediate classes into leaves [NET_SCHED] sch_cbq: deactivating when grafting, purging etc. [XFRM]: Fix XFRMGRP_REPORT to use correct multicast group. [NET]: Force a cache line split in hh_cache in SMP. [NETPOLL]: make arp replies through netpoll use mac address of sender [NETLINK]: Restore API compatibility of address and neighbour bits [AX.25]: Fix default address and broadcast address initialization. [AX.25]: Constify ax25 utility functions [BNX2]: Add an error check. [NET]: Convert hh_lock to seqlock. commit 200d018eff4be3a1fb9823441cfcebb7de86a677 Merge: eb991b3... f0647a5... Author: Linus Torvalds Date: Fri Dec 8 17:21:38 2006 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [PATCH] add STB810 support (Philips PNX8550-based) [MIPS] Qemu now has an ELF loader. [MIPS] Add GENERIC_HARDIRQS_NO__DO_IRQ for i8259 users [MIPS] Optimize csum_partial for 64bit kernel [MIPS] Optimize flow of csum_partial [MIPS] Make csum_partial more readable [MIPS] Rename SNI_RM200_PCI to just SNI_RM preparing for more RM machines commit d3dcc077bf88806201093f86325ec656e4dbfbce Author: David S. Miller Date: Fri Dec 8 17:05:13 2006 -0800 [NETLINK]: Put {IFA,IFLA}_{RTA,PAYLOAD} macros back for userspace. GLIBC uses them etc. They are guarded by ifndef __KERNEL__ so nobody will start accidently using them in the kernel again, it's just for userspace. Signed-off-by: David S. Miller commit 160d5e10f87b1dc88fd9b84b31b1718e0fd76398 Author: Jarek Poplawski Date: Fri Dec 8 00:26:56 2006 -0800 [NET_SCHED] sch_htb: turn intermediate classes into leaves - turn intermediate classes into leaves again when their last child is deleted (struct htb_class changed) Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit a37ef2e3258d65e43ec876233bba0b288a9d3260 Author: Jarek Poplawski Date: Fri Dec 8 00:25:55 2006 -0800 [NET_SCHED] sch_cbq: deactivating when grafting, purging etc. - deactivating of active classes when q.qlen drops to zero (cbq_drop) - a redundant instruction removed from cbq_deactivate_class PS: probably htb_deactivate in htb_delete and cbq_deactivate_class in cbq_delete are also redundant now. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 93366c537b3426261cac4db27acc10a99cd91b06 Author: J Hadi Salim Date: Fri Dec 8 00:12:15 2006 -0800 [XFRM]: Fix XFRMGRP_REPORT to use correct multicast group. XFRMGRP_REPORT uses 0x10 which is a group that belongs to events. The correct value is 0x20. We should really be using xfrm_nlgroups going forward; it was tempting to delete the definition of XFRMGRP_REPORT but it would break at least iproute2. Signed-off-by: J Hadi Salim Signed-off-by: David S. Miller commit f0490980a152958d25ce9762bfb296d8fd4c5512 Author: Eric Dumazet Date: Fri Dec 8 00:08:43 2006 -0800 [NET]: Force a cache line split in hh_cache in SMP. hh_lock was converted from rwlock to seqlock by Stephen. To have a 100% benefit of this change, I suggest to place read mostly fields of hh_cache in a separate cache line, because hh_refcnt may be changed quite frequently on some busy machines. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 47bbec0282cce900f16a8dd6397260e076400edb Author: Neil Horman Date: Fri Dec 8 00:05:55 2006 -0800 [NETPOLL]: make arp replies through netpoll use mac address of sender Back in 2.4 arp requests that were recevied by netpoll were processed in netconsole_receive_skb, where they were responded to using the src mac of the request sender. In the 2.6 kernel arp_reply is responsible for this function, but instead of using the src mac address of the incomming request, the stored mac address that was registered for the netconsole application is used. While this is usually ok, it can lead to failures in netpoll in some situations (specifically situations where a network may have two gateways, as arp requests from one may be responded to using the mac address of the other). This patch reverts the behavior to what we had in 2.4, in which all arp requests are sent back using the src address of the request sender. Signed-off-by: Neil Horman Acked-by: Chris Lalancette Signed-off-by: David S. Miller commit e07bca84cd9d31f76ed655d51e68b6a0ca15f162 Author: Thomas Graf Date: Thu Dec 7 23:49:45 2006 -0800 [NETLINK]: Restore API compatibility of address and neighbour bits Restore API compatibility due to bits moved from rtnetlink.h to separate headers. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 15b1c0e822f578306332d4f4c449250db5c5dceb Author: Ralf Baechle Date: Thu Dec 7 15:47:08 2006 -0800 [AX.25]: Fix default address and broadcast address initialization. Only the callsign but not the SSID part of an AX.25 address is ASCII based but Linux by initializes the SSID which should be just a 4-bit number from ASCII anyway. Fix that and convert the code to use a shared constant for both default addresses. While at it, use the same style for null_ax25_address also. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit e8cc49bb0fdb9e18a99e6780073d1400ba2b0d1f Author: Ralf Baechle Date: Thu Dec 7 15:43:13 2006 -0800 [AX.25]: Constify ax25 utility functions Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 6c1bbcc8836358294c431e0c09e85e3480895659 Author: Adrian Bunk Date: Thu Dec 7 15:10:06 2006 -0800 [BNX2]: Add an error check. This patch adds a missing error check spotted by the Coverity checker. Signed-off-by: Adrian Bunk Acked-by: Jeff Garzik Acked-by: Michael Chan Signed-off-by: David S. Miller commit 3644f0cee77494190452de132e82245107939284 Author: Stephen Hemminger Date: Thu Dec 7 15:08:17 2006 -0800 [NET]: Convert hh_lock to seqlock. The hard header cache is in the main output path, so using seqlock instead of reader/writer lock should reduce overhead. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f0647a52974daccbe20990fb6341f07792445fe0 Author: Vitaly Wool Date: Fri Dec 8 11:40:35 2006 +0300 [PATCH] add STB810 support (Philips PNX8550-based) Signed-off-by: Vitaly Wool Signed-off-by: Ralf Baechle commit c25c79d80e02db1bd993426f979c5f1b42a0f132 Author: Ralf Baechle Date: Fri Dec 8 12:55:42 2006 +0000 [MIPS] Qemu now has an ELF loader. So nuke kludge for flat binaries. Signed-off-by: Ralf Baechle commit 9fd32cfbb602f3e5e898faa61d83c4a7897bd48a Author: Atsushi Nemoto Date: Fri Dec 8 01:55:07 2006 +0900 [MIPS] Add GENERIC_HARDIRQS_NO__DO_IRQ for i8259 users Now that i8259A_chip uses new irq flow handler select GENERIC_HARDIRQS_NO__DO_IRQ on some more platforms. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ed99e2bc1dc5dc54eb5a019f4975562dbef20103 Author: Atsushi Nemoto Date: Fri Dec 8 01:04:51 2006 +0900 [MIPS] Optimize csum_partial for 64bit kernel Make csum_partial 64-bit powered. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 773ff78838ca3c07245e45c06235e0baaa5f710a Author: Atsushi Nemoto Date: Fri Dec 8 01:04:45 2006 +0900 [MIPS] Optimize flow of csum_partial Delete dead codes at end of the function and move small_csumcopy there. This makes some labels (maybe_end_cruft, small_memcpy, end_bytes, out) needless and eliminates some branches. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 52ffe760ea9ec407292d093c3f06c1cda5187228 Author: Atsushi Nemoto Date: Fri Dec 8 01:04:31 2006 +0900 [MIPS] Make csum_partial more readable Use standard o32 register name instead of T0, T1, etc, like memcpy.S. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 14b36af46a1d3652aff6734ea24816995dff8123 Author: Thomas Bogendoerfer Date: Tue Dec 5 17:05:44 2006 +0100 [MIPS] Rename SNI_RM200_PCI to just SNI_RM preparing for more RM machines Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit eb991b39385c7b04923d701764a34694ec54b53d Merge: 88032b3... 33ec32f... Author: Linus Torvalds Date: Fri Dec 8 16:46:30 2006 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix NTLMv2 mounts to Windows servers commit 88032b322a38b37335c8cb2e3473a45c81d280eb Merge: 63f3861... 028d9b3... Author: Linus Torvalds Date: Fri Dec 8 11:21:55 2006 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Poison init section before freeing it. [S390] Use add_active_range() and free_area_init_nodes(). [S390] Virtual memmap for s390. [S390] Update documentation for dynamic subchannel mapping. [S390] Use dev->groups for adding/removing the subchannel attribute group. [S390] Support for disconnected devices reappearing on another subchannel. [S390] subchannel lock conversion. [S390] Some preparations for the dynamic subchannel mapping patch. [S390] runtime switch for qdio performance statistics [S390] New DASD feature for ERP related logging [S390] add reset call handler to the ap bus. [S390] more workqueue fixes. [S390] workqueue fixes. [S390] uaccess_pt: add missing down_read() and convert to is_init(). commit 63f3861d2fbf8ccbad1386ac9ac8b822c036ea00 Author: Jiri Kosina Date: Fri Dec 8 18:41:30 2006 +0100 [PATCH] Generic HID layer - build This modifies Makefiles and Kconfigs to properly reflect the creation of generic HID layer. It also removes the dependency of BROKEN, which was introduced by the first patch in series (see the comment). Also updates credits. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 4c2ae844b5ef85fd4b571c9c91ac48afa6ef2dfc Author: Jiri Kosina Date: Fri Dec 8 18:41:22 2006 +0100 [PATCH] Generic HID layer - pb_fnmode pb_fnmode parameter has to be passed to usbhid, both for compatibility reasons and also because it logically belongs there. Also removes empty hid-input.c file in drivers/usb/input. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit aa8de2f038baec993f07ef66fb3e94481d1ec22b Author: Jiri Kosina Date: Fri Dec 8 18:41:17 2006 +0100 [PATCH] Generic HID layer - input and event reporting hid_input_report() was needlessly USB-specific in USB HID. This patch makes the function independent of HID implementation and fixes all the current users. Bluetooth patches comply with this prototype. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit aa938f7974b82cfd9ee955031987344f332b7c77 Author: Jiri Kosina Date: Fri Dec 8 18:41:10 2006 +0100 [PATCH] Generic HID layer - hiddev - hiddev is USB-only (agreed with Marcel Holtmann that Bluetooth currently doesn't need it, and future planned interface (rawhid) will be more flexible and usable) - both HID and USB-hid can be now compiled as modules (wasn't possible before hiddev was fully separated from generic HID layer) Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 4916b3a57fc94664677d439b911b8aaf86c7ec23 Author: Jiri Kosina Date: Fri Dec 8 18:41:03 2006 +0100 [PATCH] Generic HID layer - USB API - 'dev' in struct hid_device changed from struct usb_device to struct device and fixed all the users - renamed functions which are part of USB HID API from 'hid_*' to 'usbhid_*' - force feedback initialization moved from common part into USB-specific driver - added usbhid.h header for USB HID API users - removed USB-specific fields from struct hid_device and moved them to new usbhid_device, which is pointed to by hid_device->driver_data - fixed all USB users to use this new structure Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 229695e51efc4ed5e04ab471c82591d0f432909d Author: Jiri Kosina Date: Fri Dec 8 18:40:53 2006 +0100 [PATCH] Generic HID layer - API - fixed generic API (added neccessary EXPORT_SYMBOL, fixed hid.h to provide correct prototypes) - extended hid_device with open/close/event function pointers to driver-specific functions - added driver specific driver_data to hid_device Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit dde5845a529ff753364a6d1aea61180946270bfa Author: Jiri Kosina Date: Fri Dec 8 18:40:44 2006 +0100 [PATCH] Generic HID layer - code split The "big main" split of USB HID code into generic HID code and USB-transport specific HID handling. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 64bb67b1702958759f650adb64ab33496641e526 Author: Jiri Kosina Date: Fri Dec 8 18:40:37 2006 +0100 [PATCH] Generic HID layer - disable USB HID This patch is a part of generic HID layer introduction. USB HID is disabled, so that the code split and changes could be introduced in a way that is reviewable (i.e. separate patches), but not to break git bisect by uncompilable kernel throughout different stages of the code splitup and changes. The last patch of this series enables HID again. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 1709775828de83b099554176b6d4971ebc772962 Merge: 7bf6538... bf8c80a... Author: Linus Torvalds Date: Fri Dec 8 08:47:07 2006 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: mmc: fix au1xmmc build error mmc: pxamci compilation fix commit 7bf65382caeecea4ae7206138e92e732b676d6e5 Author: Andrew Morton Date: Fri Dec 8 02:41:14 2006 -0800 [PATCH] proc_misc build fix fs/proc/proc_misc.c: In function `version_read_proc': fs/proc/proc_misc.c:256: warning: implicit declaration of function `utsname' Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b1bdf4e08d6a8d4fae5a30224ed2c55bf1e43fc Author: Shaohua Li Date: Fri Dec 8 02:41:13 2006 -0800 [PATCH] CPU hotplug broken with 2GB VMSPLIT In VMSPLIT mode, kernel PGD might have more entries than user space. Acked-by: Jens Axboe Signed-off-by: Shaohua Li Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c642f9e03b3ca04fc806ba5d8d34cc821382e525 Author: Adrian Bunk Date: Fri Dec 8 02:41:13 2006 -0800 [PATCH] make drivers/md/dm-snap.c:ksnapd static Signed-off-by: Adrian Bunk Acked-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88b20a1a71d98d6e0b8373fa68fb784340b3ee51 Author: Jonathan E Brassow Date: Fri Dec 8 02:41:12 2006 -0800 [PATCH] dm: raid1: reset sync_search on resume Reset sync_search on resume. The effect is to retry syncing all out-of-sync regions when a mirror is resumed, including ones that previously failed. Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3ee6b2f621fec7bc8bfe43fb465e938c37c8d20 Author: Jonathan E Brassow Date: Fri Dec 8 02:41:11 2006 -0800 [PATCH] dm: log: rename complete_resync_work The complete_resync_work function only provides the ability to change an out-of-sync region to in-sync. This patch enhances the function to allow us to change the status from in-sync to out-of-sync as well, something that is needed when a mirror write to one of the devices or an initial resync on a given region fails. Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31c93a0c29bf96efd806ccf4ee81cacf04f255de Author: Milan Broz Date: Fri Dec 8 02:41:11 2006 -0800 [PATCH] dm: snapshot: abstract memory release Move the code that releases memory used by a snapshot into a separate function. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45e157206c732613d1c07e8ceeb1a3e497fb2abf Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:10 2006 -0800 [PATCH] dm: mpath: use noflush suspending Implement the pushback feature for the multipath target. The pushback request is used when: 1) there are no valid paths; 2) queue_if_no_path was set; 3) a suspend is being issued with the DMF_NOFLUSH_SUSPENDING flag. Otherwise bios are returned to applications with -EIO. To check whether queue_if_no_path is specified or not, you need to check both queue_if_no_path and saved_queue_if_no_path, because presuspend saves the original queue_if_no_path value to saved_queue_if_no_path. The check for 1 already exists in both map_io() and do_end_io(). So this patch adds __must_push_back() to check 2 and 3. Test results: See the test results in the preceding patch. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e93ccc1933d08d32d9bde3784c3823e67b9b030 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:09 2006 -0800 [PATCH] dm: suspend: add noflush pushback In device-mapper I/O is sometimes queued within targets for later processing. For example the multipath target can be configured to store I/O when no paths are available instead of returning it -EIO. This patch allows the device-mapper core to instruct a target to transfer the contents of any such in-target queue back into the core. This frees up the resources used by the target so the core can replace that target with an alternative one and then resend the I/O to it. Without this patch the only way to change the target in such circumstances involves returning the I/O with an error back to the filesystem/application. In the multipath case, this patch will let us add new paths for existing I/O to try after all the existing paths have failed. DMF_NOFLUSH_SUSPENDING ---------------------- If the DM_NOFLUSH_FLAG ioctl option is specified at suspend time, the DMF_NOFLUSH_SUSPENDING flag is set in md->flags during dm_suspend(). It is always cleared before dm_suspend() returns. The flag must be visible while the target is flushing pending I/Os so it is set before presuspend where the flush starts and unset after the wait for md->pending where the flush ends. Target drivers can check this flag by calling dm_noflush_suspending(). DM_MAPIO_REQUEUE / DM_ENDIO_REQUEUE ----------------------------------- A target's map() function can now return DM_MAPIO_REQUEUE to request the device mapper core queue the bio. Similarly, a target's end_io() function can return DM_ENDIO_REQUEUE to request the same. This has been labelled 'pushback'. The __map_bio() and clone_endio() functions in the core treat these return values as errors and call dec_pending() to end the I/O. dec_pending ----------- dec_pending() saves the pushback request in struct dm_io->error. Once all the split clones have ended, dec_pending() will put the original bio on the md->pushback list. Note that this supercedes any I/O errors. It is possible for the suspend with DM_NOFLUSH_FLAG to be aborted while in progress (e.g. by user interrupt). dec_pending() checks for this and returns -EIO if it happened. pushdback list and pushback_lock -------------------------------- The bio is queued on md->pushback temporarily in dec_pending(), and after all pending I/Os return, md->pushback is merged into md->deferred in dm_suspend() for re-issuing at resume time. md->pushback_lock protects md->pushback. The lock should be held with irq disabled because dec_pending() can be called from interrupt context. Queueing bios to md->pushback in dec_pending() must be done atomically with the check for DMF_NOFLUSH_SUSPENDING flag. So md->pushback_lock is held when checking the flag. Otherwise dec_pending() may queue a bio to md->pushback after the interrupted dm_suspend() flushes md->pushback. Then the bio would be left in md->pushback. Flag setting in dm_suspend() can be done without md->pushback_lock because the flag is checked only after presuspend and the set value is already made visible via the target's presuspend function. The flag can be checked without md->pushback_lock (e.g. the first part of the dec_pending() or target drivers), because the flag is checked again with md->pushback_lock held when the bio is really queued to md->pushback as described above. So even if the flag is cleared after the lockless checkings, the bio isn't left in md->pushback but returned to applications with -EIO. Other notes on the current patch -------------------------------- - md->pushback is added to the struct mapped_device instead of using md->deferred directly because md->io_lock which protects md->deferred is rw_semaphore and can't be used in interrupt context like dec_pending(), and md->io_lock protects the DMF_BLOCK_IO flag of md->flags too. - Don't issue lock_fs() in dm_suspend() if the DM_NOFLUSH_FLAG ioctl option is specified, because I/Os generated by lock_fs() would be pushed back and never return if there were no valid devices. - If an error occurs in dm_suspend() after the DMF_NOFLUSH_SUSPENDING flag is set, md->pushback must be flushed because I/Os may be queued to the list already. (flush_and_out label in dm_suspend()) Test results ------------ I have tested using multipath target with the next patch. The following tests are for regression/compatibility: - I/Os succeed when valid paths exist; - I/Os fail when there are no valid paths and queue_if_no_path is not set; - I/Os are queued in the multipath target when there are no valid paths and queue_if_no_path is set; - The queued I/Os above fail when suspend is issued without the DM_NOFLUSH_FLAG ioctl option. I/Os spanning 2 multipath targets also fail. The following tests are for the normal code path of new pushback feature: - Queued I/Os in the multipath target are flushed from the target but don't return when suspend is issued with the DM_NOFLUSH_FLAG ioctl option; - The I/Os above are queued in the multipath target again when resume is issued without path recovery; - The I/Os above succeed when resume is issued after path recovery or table load; - Queued I/Os in the multipath target succeed when resume is issued with the DM_NOFLUSH_FLAG ioctl option after table load. I/Os spanning 2 multipath targets also succeed. The following tests are for the error paths of the new pushback feature: - When the bdget_disk() fails in dm_suspend(), the DMF_NOFLUSH_SUSPENDING flag is cleared and I/Os already queued to the pushback list are flushed properly. - When suspend with the DM_NOFLUSH_FLAG ioctl option is interrupted, o I/Os which had already been queued to the pushback list at the time don't return, and are re-issued at resume time; o I/Os which hadn't been returned at the time return with EIO. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81fdb096dbcedcc3b94c7e47b59362b5214891e2 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:07 2006 -0800 [PATCH] dm: ioctl: add noflush suspend Provide a dm ioctl option to request noflush suspending. (See next patch for what this is for.) As the interface is extended, the version number is incremented. Other than accepting the new option through the interface, There is no change to existing behaviour. Test results: Confirmed the option is given from user-space correctly. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2a7ad29a810441e9dacbaddcc2f0c6045390008 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:06 2006 -0800 [PATCH] dm: map and endio symbolic return codes Update existing targets to use the new symbols for return values from target map and end_io functions. There is no effect on behaviour. Test results: Done build test without errors. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45cbcd798354251b99694086af9d57c99e89bb43 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:05 2006 -0800 [PATCH] dm: map and endio return code clarification Tighten the use of return values from the target map and end_io functions. Values of 2 and above are now explictly reserved for future use. There are no existing targets using such values. The patch has no effect on existing behaviour. o Reserve return values of 2 and above from target map functions. Any positive value currently indicates "mapping complete", but all existing drivers use the value 1. We now make that a requirement so we can assign new meaning to higher values in future. The new definition of return values from target map functions is: < 0 : error = 0 : The target will handle the io (DM_MAPIO_SUBMITTED). = 1 : Mapping completed (DM_MAPIO_REMAPPED). > 1 : Reserved (undefined). Previously this was the same as '= 1'. o Reserve return values of 2 and above from target end_io functions for similar reasons. DM_ENDIO_INCOMPLETE is introduced for a return value of 1. Test results: I have tested by using the multipath target. I/Os succeed when valid paths exist. I/Os are queued in the multipath target when there are no valid paths and queue_if_no_path is set. I/Os fail when there are no valid paths and queue_if_no_path is not set. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3d77d35be6f416a250c528c3ed5c70013a915e8 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:04 2006 -0800 [PATCH] dm: suspend: parameter change Change the interface of dm_suspend() so that we can pass several options without increasing the number of parameters. The existing 'do_lockfs' integer parameter is replaced by a flag DM_SUSPEND_LOCKFS_FLAG. There is no functional change to the code. Test results: I have tested 'dmsetup suspend' command with/without the '--nolockfs' option and confirmed the do_lockfs value is correctly set. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74859364633963cb660c4fa518adca9ab1ca4229 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:02 2006 -0800 [PATCH] dm: tidy core formatting Remove unnecessary spaces in dm.c. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f00b16ad665a9b489d46f612679181f3f914917b Author: Heinz Mauelshagen Date: Fri Dec 8 02:41:01 2006 -0800 [PATCH] dm io: fix bi_max_vecs The existing code allocates an extra slot in bi_io_vec[] and uses it to store the region number. This patch hides the extra slot from bio_add_page() so the region number can't get overwritten. Also remove a hard-coded SECTOR_SHIFT and fix a typo in a comment. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon Cc: Milan Broz Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cd307c5655c0b76d563b5f3f911742a32746841 Author: Randy Dunlap Date: Fri Dec 8 02:41:01 2006 -0800 [PATCH] linux-fbdev-devel is subscribers-only Update linux-fbdev mailing list to subscribers-only. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4b85dc0a1a6a6af9e67b7993fc833051222f40b Author: Mariusz Kozlowski Date: Fri Dec 8 02:41:00 2006 -0800 [PATCH] video: pm3fb macros fix Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4971bb70c0b0d0810e0c2b66927de2422ff82119 Author: Mariusz Kozlowski Date: Fri Dec 8 02:40:59 2006 -0800 [PATCH] video: neofb stray bracket fix This code is '#if 0'ed. Anyway if anyone wants to dump neo registers better to have it fixed. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a219a7e76b4db0c8e9ccb036e96a0a613d9fdfec Author: Mariusz Kozlowski Date: Fri Dec 8 02:40:58 2006 -0800 [PATCH] video: cyberfb broken macro removal Remove broken and unused macro. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9b2ec4d52275d20e6e2db80727d289b0bdd90b3 Author: James Simmons Date: Fri Dec 8 02:40:57 2006 -0800 [PATCH] Video Select set for VESA FB Automatically set VIDEO_SELECT when you select VESA FB. Currently if you select VESA FB with fbcon but don't select VGA console the box will not have its video mode set. Thus you get a blank screen. Signed-off-by: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58219896df521ddd749bee48a8465db69b6163f3 Author: Jordan Crouse Date: Fri Dec 8 02:40:56 2006 -0800 [PATCH] gxfb: Turn on the flatpanel power and data For Geode devices without a flatpanel aware BIOS, this enables the flatpanel power and data. Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53d53bd4ab3fd1498f728fa96635ab95d1ec8ba0 Author: Jordan Crouse Date: Fri Dec 8 02:40:55 2006 -0800 [PATCH] gxfb: Fixup flatpanel detection Use the right MSR and bits to detect if the GX is strapped for TFT or CRT Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16ef9870959621fa437d25ead28a7199acc6ce49 Author: Jordan Crouse Date: Fri Dec 8 02:40:54 2006 -0800 [PATCH] gxfb: Support command line options Add support for command line options for setting the mode and various settings. [akpm@osdl.org: cleanups] Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab1db0cfcf69f94a5c6831db230982cd6bbeb2e1 Author: Jordan Crouse Date: Fri Dec 8 02:40:54 2006 -0800 [PATCH] gxfb: Support flat panel timings Support TFT panels by correctly setting up the flat panel registers [akpm@osdl.org: cleanups] Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f378819a19e2b9639f17a1a82c5e12adc9512390 Author: Jordan Crouse Date: Fri Dec 8 02:40:53 2006 -0800 [PATCH] gxfb: Fixups for the AMD Geode GX framebuffer driver We cannot assume that the BIOS will be correctly setting up the hardware, so set some bits in various display registers to enable video output. Allow an advanced user to specify a frambuffer size, rather then probing the BIOS. All of these fixes were prompted by the OLPC effort. [akpm@osdl.org: cleanups] Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c1979c8963528cc6f52203ae62162ed22e171f4 Author: Jordan Crouse Date: Fri Dec 8 02:40:52 2006 -0800 [PATCH] FB: Get the Geode GX frambuffer size from the BIOS Use the Geode GX BIOS virtual registers to get the actual size of the framebuffer. Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4437cd1e98409e236a9d303fb742fdd53b3a20bb Author: Henrique de Moraes Holschuh Date: Fri Dec 8 02:40:49 2006 -0800 [PATCH] backlight: do not power off backlight when unregistering ACPI drivers like ibm-acpi are moving to the backlight sysfs infrastructure. During ibm-acpi testing, I have noticed that backlight_device_unregister() sets the display brightness and power to zero. This causes the display to be dimmed on ibm-acpi module removal. It will affect all other ACPI drivers that are being converted to use the backlight class, as well. It also affects a number of framebuffer devices that are used on desktops and laptops which might also not want such behaviour. Since working around this behaviour requires undesireable hacks, Richard Purdie decided that we would be better off reverting the changes in the sysfs class, and adding the code to dim and power off the backlight device to the drivers that want it. This patch is my attempt to do so. Patch against latest linux-2.6.git. Changes untested, as I lack the required hardware. Still, they are trivial enough that, apart from typos, there is little chance of getting them wrong. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Richard Purdie Acked-by: Pavel Machek Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 024cd7e08896884cfd58c78cd1f2103be12e3c09 Author: Franck Bui-Huu Date: Fri Dec 8 02:40:48 2006 -0800 [PATCH] softcursor.c: avoid unaligned accesses Fix some possible unaligned accesses when accessing fields of 'image' pointer. Indeed this pointer was obtained by allocating a block of memory that embeds a temporary array plus an image structure. The temporary buffer was located at the start of the allocated block and depending on its size, the image structure which comes right after can be unaligned. For example when using mini fonts (4x6) (cursor's width is 4 and its height is 6) the temporary buf size is 6 bytes. Therefore this patch moves the image structure to the start of the block and moves the temporary buffer right after. It makes 'image' pointer always aligned and since the tempo buf is a buffer of char, it's always correctly aligned as well. It also fixes the file header alignement. Signed-off-by: Franck Bui-Huu Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d5eeaddad9338f39d25ee0c6c2ab1eda1ed2ef6 Author: James Simmons Date: Fri Dec 8 02:40:47 2006 -0800 [PATCH] backlight: lcd: Remove dependenct from the framebuffer layer The backlight layer should be independent from the framebuffer layer. It can use the services offered by the framebuffer, but its absence should not prevent the backlight/lcd layer from functioning. [akpm@osdl.org: cleanups] Signed-off-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5bd1cec8999624fa2b32833ba9707eb4966df17 Author: Randy Dunlap Date: Fri Dec 8 02:40:46 2006 -0800 [PATCH] visws: sgivwfb as module needs exports With CONFIG_FB_SGIVW=m: WARNING: "sgivwfb_mem_size" [drivers/video/sgivwfb.ko] undefined! WARNING: "sgivwfb_mem_phys" [drivers/video/sgivwfb.ko] undefined! (or don't allow FB_SGIVW=m in Kconfig) Signed-off-by: Randy Dunlap Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfba7b3793f59adedfde5fb07dee565c5cc15ab8 Author: Alexey Dobriyan Date: Fri Dec 8 02:40:46 2006 -0800 [PATCH] drivers/video/*: use kmemdup() From: Eric Sesterhenn Signed-off-by: Eric Sesterhenn Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efc08a75d3a2d449edab7d1bee312eaa591f7669 Author: Ville Syrjala Date: Fri Dec 8 02:40:45 2006 -0800 [PATCH] atyfb: Improve power management Some register were only set in aty_init() which is not called on resume. I added the aty_resume_chip() function to reset those registers on resume. Susped-to-ram now works on a HP Omnibook 6000 with acpi_sleep=s3_bios. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ec3fd71e4f5d1201cb7d2374ffdb4f328091fb4 Author: Ville Syrjala Date: Fri Dec 8 02:40:44 2006 -0800 [PATCH] atyfb: Improve atyfb_atari_probe() Improve atyfb_atari_probe(): * Call correct_chipset() so that more par members, par->features in particular, get initialized. * If probe fails iounmap() the mapped regions and continue probing for more adapters. Only verified to cross-compile due to lack of hardware. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cab5901e93bfe4f3cfd8cf9cda2558d22568f7a2 Author: Ville Syrjala Date: Fri Dec 8 02:40:43 2006 -0800 [PATCH] atyfb: Remove aty_cmap_regs Remove aty_cmap_regs. Access the LUT in the same way as other registers. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5850e0cf9a2345498fe2545c37118ef9405044eb Author: Ville Syrjala Date: Fri Dec 8 02:40:42 2006 -0800 [PATCH] atyfb: Fix __init and __devinit annotations Fix some __init and __devinit annotations. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 044aaa32e789492e638a229b5f1930bfb8bc75a1 Author: Ville Syrjala Date: Fri Dec 8 02:40:41 2006 -0800 [PATCH] atyfb: Remove pointless aty_init() argument The 'name' argument of aty_init() is pointless because the bus type can be queried from the hardware. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27b6859799ea766281828588e1adb17751193075 Author: Ville Syrjala Date: Fri Dec 8 02:40:41 2006 -0800 [PATCH] atyfb: Fix blanking level transitions Fix a minor problem in blanking level transitions. Reducing the blanking level gradually was impossible. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b9817cc70709e10ffa9b27af35b2e8f1ef84798 Author: Ville Syrjala Date: Fri Dec 8 02:40:40 2006 -0800 [PATCH] atyfb: Fix sparse warnings Silence some sparse warnings: * Remove casts from atari out_le32() and friends. * Move accel functions' declarations to atyfb.h. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c98959f566e0c695b1b237ad8e0f8f825d31fa71 Author: Ville Syrjala Date: Fri Dec 8 02:40:39 2006 -0800 [PATCH] atyfb: Fix compiler warnings Fix some compiler warnings and remove an #ifdef. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05978501525802f00e9f458ce6bec9bdf886b2c0 Author: Ville Syrjala Date: Fri Dec 8 02:40:37 2006 -0800 [PATCH] atyfb: Remove FIXME atyfb has used the auxiliary register aperture for a long time. Remove a related FIXME which was accidentally left in. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ce4d39050017d368bb6bfa41d315bf62cb64773 Author: Raphael Assenat Date: Fri Dec 8 02:40:37 2006 -0800 [PATCH] mbxfb: Document the new ioctl This patch adds a new ioctl range for the mbxfb driver. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea465250d41c99b4ee7dac1e6eb87b7106f7b11e Author: Raphael Assenat Date: Fri Dec 8 02:40:36 2006 -0800 [PATCH] mbxfb: Add YUV video overlay support This patch adds a way to create and use the video plane (YUV overlay) and scaling video scaling features of the chip. The overlay is configured, resized and modified using a device specific ioctl. Also included in this patch: - If no platform data was passed, print an error and exit instead of crashing. - Added a write_reg(_dly) macro. This improves readability when manipulating chip registers. (no more udelay() after each write). - Comments about some issues. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 128806c3b3e263c579af12c061a9b04db3950016 Author: Raphael Assenat Date: Fri Dec 8 02:40:35 2006 -0800 [PATCH] mbxfb: add more registers to debugfs This patch fixes debugfs for mbxfb and adds some missing registers. The way registers were read was out of sync with the rest of the driver (direct access instead of using readl()) sdram controller registers are now accessible in the sdram/ subdirectory and some other registers are grouped in the misc/ subdirectory. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb137d5b7f2301f2717944322bba38039083c431 Author: Raphael Assenat Date: Fri Dec 8 02:40:34 2006 -0800 [PATCH] mbxfb: Add more registers bits access macros This patch adds register bits access macros for chip's Video Plane, Scaling and interrupt registers. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce7405fb380c097511d0a3d20db25bc167f3c5dc Author: Raphael Assenat Date: Fri Dec 8 02:40:33 2006 -0800 [PATCH] mbxfb: Fix HSCOEFF3 register address This patch corrects the address for register HSCOEFF3. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03ae4e0ccc10ad2d8b7f421fbbeac4fe44b806fb Author: Freddy Spierenburg Date: Fri Dec 8 02:40:31 2006 -0800 [PATCH] au11oofb: fix to remove flickering Currently a lot of flickering is seen on the VGA and LCD port when one starts a DBAu1100 board, with 'CONFIG_PRINTK=3Dy'. This patch removes the flickering and as a result all kernel messages come by in a nice steady fashion. Signed-off-by: Freddy Spierenburg Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec1a7b3d7b0c522742c2c4e6e50a5ee2230d4fc6 Author: Helge Deller Date: Fri Dec 8 02:40:31 2006 -0800 [PATCH] constify vga16fb.c - move some static data into the .rodata section - simplify source code for transl_l[] and transl_h[] which makes it more readable Signed-off-by: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4670358a7b5ac1eeec00c1805213d346253b91f6 Author: Helge Deller Date: Fri Dec 8 02:40:30 2006 -0800 [PATCH] annotate some variables in vesafb driver as __read_mostly - annotate some variables in vesafb driver as __read_mostly Signed-off-by: Helge Deller Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0128beeee8749e3cb01c27ef9d1da217f5d7b3b8 Author: Helge Deller Date: Fri Dec 8 02:40:29 2006 -0800 [PATCH] constify and annotate __read_mostly in vgacon.c and fbmem.c - annotate some variables from vgacon.c and fbmem.c as __read_mostly - move the mask[] array in fb_set_logo_truepalette() into the .rodata section Signed-off-by: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d95159cf1b12e8e4b169094b35cbd93b887cb939 Author: Helge Deller Date: Fri Dec 8 02:40:28 2006 -0800 [PATCH] various fbdev files: mark structs and array read-only - move some structs and arrays to the read-only (.rodata) section [akpm@osdl.org: build fix] Signed-off-by: Helge Deller Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adf6b206546414fd006098d027e81f2b576ea2aa Author: Helge Deller Date: Fri Dec 8 02:40:27 2006 -0800 [PATCH] fbcmap.c: mark structs const or __read_mostly - Mark the default colormaps read-only, as nobody should be allowed to modify them - Additionally mark color values as __read_mostly since they will only be modified (very seldom) by fb_invert_cmaps() - Add named C99-initializers in fb_cmap structs and use the ARRAY_SIZE() macro Signed-off-by: Helge Deller Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 357b819dda03e642f9c2d737596ad6cdc0022c00 Author: Arnaud Patard (Rtp Date: Fri Dec 8 02:40:23 2006 -0800 [PATCH] s3c2410fb: Add support for STN displays This patch adds support for stn displays on the s3c2410 arm SoC. The LCD type is choosen by a new field in the s3c2410fb_mach_info structure and its value is the value of the PNRMODE bits. This worth to be noted as a value of 0 means that you configure a 4 bit dual scan stn display. Signed-off-by: Arnaud Patard Cc: "Antonino A. Daplas" Cc: Russell King Cc: Ben Dooks Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c25623f5540694ba70af272170d67f1411be97b1 Author: Jordan Crouse Date: Fri Dec 8 02:40:21 2006 -0800 [PATCH] video: Get the default mode from the right database If no default mode is specified, it should be grabbed from the supplied database, not the default one. [teanropo@jyu.fi: fix it] [akpm@osdl.org: simplify it] [akpm@osdl.org: remove pointless DEFAULT_MODEDB_INDEX] Signed-off-by: Jordan Crouse Cc: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Tero Roponen Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 572c04b24bd7b7e4b6a684416325cc3751fa8f45 Author: Maciej W. Rozycki Date: Fri Dec 8 02:40:21 2006 -0800 [PATCH] pmagb-b-fb: Fix a default clock frequency Inspection of real hardware has revealed one of the clock frequencies known to be supported by PMAGB-B hardware is off by 3kHz. Following is a fix. Please apply. Signed-off-by: Maciej W. Rozycki Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b860e73a5488d9e75c2f2907174cb4277c2f9d21 Author: David Rientjes Date: Fri Dec 8 02:40:19 2006 -0800 [PATCH] video SiS: remove unnecessary variables in SiS_DDC2Delay Remove unnecesary iteration and accumulator variables from SiS_DDC2Delay. Originally spotted by Jesper Juhl . Cc: Jesper Juhl Cc: Thomas Winischhofer Signed-off-by: David Rientjes Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af342e939d3244624d3e03ece2e6b8e9056dfb72 Author: Alan Cox Date: Fri Dec 8 02:40:18 2006 -0800 [PATCH] igafb: switch to pci_get API Signed-off-by: Alan Cox Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd717689f46436fc212882ddc6e02a20be920634 Author: Jeff Garzik Date: Fri Dec 8 02:40:17 2006 -0800 [PATCH] atyfb, rivafb: minor fixes aty128fb: return an error in the unlikely event that we cannot calculate some key PLL info rivafb: * call CalcStateExt() directly, rather than via function pointers, since CalcStateExt() is the only value ever assigned to ->CalcStateExt(). * propagate error return back from CalcVClock() through callers Signed-off-by: Jeff Garzik Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 945f0ee257b4f91498b4061dc89b8a68c423ea6f Author: Amol Lad Date: Fri Dec 8 02:40:16 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/S3triofb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57354c42f177a2b58fb1f61125ad2cb2e8743a9b Author: Amol Lad Date: Fri Dec 8 02:40:16 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/amifb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6792951b6ad13d7b2fff71ae7d2982b2fa1d6788 Author: Amol Lad Date: Fri Dec 8 02:40:15 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/atafb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2a85aebf9d6cb671085d58dfbbd7b11269d49eb Author: Amol Lad Date: Fri Dec 8 02:40:14 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/atyfb_base ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8b8c0a697d60c7d58a3dbda2d78553fd27727b3 Author: Amol Lad Date: Fri Dec 8 02:40:13 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/cirrusfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d02abed8aa6bd37abcd802de64a63ed2af5e18ff Author: Amol Lad Date: Fri Dec 8 02:40:12 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/cyberfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d4c767ef56473b68a601274612d604c8c334dc9 Author: Amol Lad Date: Fri Dec 8 02:40:12 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/ffb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b3349fa448ce41eda5ae0e6d4dc52837d14ad11 Author: Amol Lad Date: Fri Dec 8 02:40:11 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/fm2fb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bedb0b2f60dd858fd12e5dd5681fa5da55175f5 Author: Amol Lad Date: Fri Dec 8 02:40:10 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/hpfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 164a765b9895f4f80f91cb7f1aab7539b3f8d335 Author: Amol Lad Date: Fri Dec 8 02:40:09 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/macfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f190017b889c45364576396a3bfa32acbb16bf2b Author: Amol Lad Date: Fri Dec 8 02:40:08 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/offb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b7574da255fef27cdb294e19bea26d911443511 Author: Amol Lad Date: Fri Dec 8 02:40:07 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/platinumfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 295a1b476749e8b6fa6c3c0978426360ac7dde4b Author: Amol Lad Date: Fri Dec 8 02:40:06 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/pvr2fb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 027b53dd92e3d1a23c56d85e006a9bb5e63314f9 Author: Amol Lad Date: Fri Dec 8 02:40:06 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/retz3fb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cf2014aad58076aa22faacf27742d9610dea05d Author: Amol Lad Date: Fri Dec 8 02:40:05 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/stifb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4bf051b4f3121c5abdde836b1429e4a4459adb4 Author: Amol Lad Date: Fri Dec 8 02:40:04 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/tgafb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a02f6402d5a18f5a4fd35cb82887c1097d0f7792 Author: Amol Lad Date: Fri Dec 8 02:40:03 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/tridentfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Knut Petersen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b88a57cc645c59a3652f391f8069b15d42ac0762 Author: Amol Lad Date: Fri Dec 8 02:40:02 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/vesafb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef26dd7ffa305382aabcd95fd574d01808a65c41 Author: Amol Lad Date: Fri Dec 8 02:40:02 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/virgefb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd607d23ff4cc004da2986d0b264a972c6a2da3e Author: Sergei Shtylyov Date: Fri Dec 8 02:40:01 2006 -0800 [PATCH] sl82c105: straighten up IDE control/status register caching Straighten up the IDE control/status register caching -- you *really* can't cache the shared register per-channel and hope that it won't get out ouf sync. Set the PIO fallback mode to PIO0 for the slave drive as well as master -- there was no point in having them different (most probably a resutl of typo). Do a bit of reformat and cleanup while at it... Signed-off-by: Sergei Shtylyov Acked-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b10a06866600d1eda9e72ff328999e70f077fb3a Author: Sergei Shtylyov Date: Fri Dec 8 02:39:59 2006 -0800 [PATCH] pdc202xx_new: fix PIO mode setup Fix pdcnew_tune_drive() to always set the PIO mode requested, not pick the best possible one, change pdcnew_config_drive_xfer_rate() accordingly, and get rid of the duplicate tuneproc() call in config_chipset_for_dma(). Signed-off-by: Sergei Shtylyov Cc: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1489009963b8c5132f2ffe23483e811d9ae5607 Author: Alan Cox Date: Fri Dec 8 02:39:58 2006 -0800 [PATCH] ide: more conversion to pci_get APIs This completes IDE except for one use which requires a new core PCI function and will be polished up at the end Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b49a257850fb8ad91f4c76bb712e9213141a34a Author: Eric W. Biederman Date: Fri Dec 8 02:39:57 2006 -0800 [PATCH] sysctl: fix sys_sysctl interface of ipc sysctls Currently there is a regression and the ipc sysctls don't show up in the binary sysctl namespace. This patch adds sysctl_ipc_data to read data/write from the appropriate namespace and deliver it in the expected manner. [akpm@osdl.org: warning fix] Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bc9a6bd3cf559bffe962c51efb062e8b5270ca9 Author: Eric W. Biederman Date: Fri Dec 8 02:39:56 2006 -0800 [PATCH] sysctl: simplify ipc ns specific sysctls Refactor the ipc sysctl support so that it is simpler, more readable, and prepares for fixing the bug with the wrong values being returned in the sys_sysctl interface. The function proc_do_ipc_string() was misnamed as it never handled strings. It's magic of when to work with strings and when to work with longs belonged in the sysctl table. I couldn't tell if the code would work if you disabled the ipc namespace but it certainly looked like it would have problems. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4b8b769fa9051838d2772886ecd0ee2a926ddc3 Author: Eric W. Biederman Date: Fri Dec 8 02:39:55 2006 -0800 [PATCH] sysctl: implement sysctl_uts_string() The problem: When using sys_sysctl we don't read the proper values for the variables exported from the uts namespace, nor do we do the proper locking. This patch introduces sysctl_uts_string which properly fetches the values and does the proper locking. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf9f151c7257683f489df85f94baf408d1d5694a Author: Eric W. Biederman Date: Fri Dec 8 02:39:55 2006 -0800 [PATCH] sysctl: simplify sysctl_uts_string The binary interface to the namespace sysctls was never implemented resulting in some really weird things if you attempted to use sys_sysctl to read your hostname for example. This patch series simples the code a little and implements the binary sysctl interface. In testing this patch series I discovered that our 32bit compatibility for the binary sysctl interface is imperfect. In particular KERN_SHMMAX and KERN_SMMALL are size_t sized quantities and are returned as 8 bytes on to 32bit binaries using a x86_64 kernel. However this has existing for a long time so it is not a new regression with the namespace work. Gads the whole sysctl thing needs work before it stops being easy to shoot yourself in the foot. Looking forward a little bit we need a better way to handle sysctls and namespaces as our current technique will not work for the network namespace. I think something based on the current overlapping sysctl trees will work but the proc side needs to be redone before we can use it. This patch: Introduce get_uts() and put_uts() (used later) and remove most of the special cases for when UTS namespace is compiled in. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b1b60f41eef3ba7b188fd72f1d6de478aafd93c Author: Don Mullis Date: Fri Dec 8 02:39:53 2006 -0800 [PATCH] fault-injection: defaults likely to please a new user Assign defaults most likely to please a new user: 1) generate some logging output (verbose=2) 2) avoid injecting failures likely to lock up UI (ignore_gfp_wait=1, ignore_gfp_highmem=1) Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1729c28a37e4f11ea5d9f468ab26adadb1aadab Author: Don Mullis Date: Fri Dec 8 02:39:53 2006 -0800 [PATCH] fault-injection: optimize and simplify should_fail() Trivial optimization and simplification of should_fail(). Do cheaper disqualification tests first (performance gain not quantified). Simplify logic; eliminate goto. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a124c28ef85d9b780c418b2c5d8f01cd6a06ff3e Author: Don Mullis Date: Fri Dec 8 02:39:52 2006 -0800 [PATCH] fault-injection: Clamp debugfs stacktrace-depth to MAX_STACK_TRACE_DEPTH Clamp /debug/fail*/stacktrace-depth to MAX_STACK_TRACE_DEPTH. Ensures that a read of /debug/fail*/stacktrace-depth always returns a truthful answer. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08b3df2d16cbebf7d72c09dcbc071696c14d07e3 Author: Don Mullis Date: Fri Dec 8 02:39:51 2006 -0800 [PATCH] fault-injection: Use bool-true-false throughout Use bool-true-false throughout. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d0ffa2b84e6f0fdc5bf96c0de6178f3d2779544 Author: Don Mullis Date: Fri Dec 8 02:39:50 2006 -0800 [PATCH] fault-injection: Correct, disambiguate, and reformat documentation Correct, disambiguate, and reformat documentation. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83ba254688f0edd6fa29512e538c721f1f46a424 Author: Andrew Morton Date: Fri Dec 8 02:39:49 2006 -0800 [PATCH] fault-injection: stacktrace filtering kconfig fix `select' doesn't work very well. With alpha `make allmodconfig' we end up with CONFIG_STACKTRACE enabled, so we end up with undefined save_stacktrace() at link time. Cc: Akinobu Mita Cc: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ab8509a31187998615e6dd7f53cc02db5be594c Author: Andrew Morton Date: Fri Dec 8 02:39:49 2006 -0800 [PATCH] fault-injection Kconfig cleanup - Fix some spelling and grammatical errors - Make the Kconfig menu more conventional. First you select fault-injection, then under that you select particular clients of it. Cc: Akinobu Mita Cc: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 329409aeda064c4aff00c51f837fcd3bbdaeeba6 Author: Akinobu Mita Date: Fri Dec 8 02:39:48 2006 -0800 [PATCH] fault injection: stacktrace filtering This patch provides stacktrace filtering feature. The stacktrace filter allows failing only for the caller you are interested in. For example someone may want to inject kmalloc() failures into only e100 module. they want to inject not only direct kmalloc() call, but also indirect allocation, too. - e100_poll --> netif_receive_skb --> packet_rcv_spkt --> skb_clone --> kmem_cache_alloc This patch enables to detect function calls like this by stacktrace and inject failures. The script Documentaion/fault-injection/failmodule.sh helps it. The range of text section of loaded e100 is expected to be [/sys/module/e100/sections/.text, /sys/module/e100/sections/.exit.text) So failmodule.sh stores these values into /debug/failslab/address-start and /debug/failslab/address-end. The maximum stacktrace depth is specified by /debug/failslab/stacktrace-depth. Please see the example that demonstrates how to inject slab allocation failures only for a specific module in Documentation/fault-injection/fault-injection.txt [dwm@meer.net: reject failure if any caller lies within specified range] Signed-off-by: Akinobu Mita Signed-off-by: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4f154fd920b2178382a6a24a236348e4429ebc1 Author: Akinobu Mita Date: Fri Dec 8 02:39:47 2006 -0800 [PATCH] fault injection: process filtering for fault-injection capabilities This patch provides process filtering feature. The process filter allows failing only permitted processes by /proc//make-it-fail Please see the example that demostrates how to inject slab allocation failures into module init/cleanup code in Documentation/fault-injection/fault-injection.txt Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c17bb4951752d3e0f49cd1ea9d2e868422f9e0d6 Author: Akinobu Mita Date: Fri Dec 8 02:39:46 2006 -0800 [PATCH] fault-injection capability for disk IO This patch provides fault-injection capability for disk IO. Boot option: fail_make_request=,,, -- specifies the interval of failures. -- specifies how often it should fail in percent. -- specifies the size of free space where disk IO can be issued safely in bytes. -- specifies how many times failures may happen at most. Debugfs: /debug/fail_make_request/interval /debug/fail_make_request/probability /debug/fail_make_request/specifies /debug/fail_make_request/times Example: fail_make_request=10,100,0,-1 echo 1 > /sys/blocks/hda/hda1/make-it-fail generic_make_request() on /dev/hda1 fails once per 10 times. Cc: Jens Axboe Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 933e312e73f8fc39652bd4d216a5393cc3a014b9 Author: Akinobu Mita Date: Fri Dec 8 02:39:45 2006 -0800 [PATCH] fault-injection capability for alloc_pages() This patch provides fault-injection capability for alloc_pages() Boot option: fail_page_alloc=,,, -- specifies the interval of failures. -- specifies how often it should fail in percent. -- specifies the size of free space where memory can be allocated safely in pages. -- specifies how many times failures may happen at most. Debugfs: /debug/fail_page_alloc/interval /debug/fail_page_alloc/probability /debug/fail_page_alloc/specifies /debug/fail_page_alloc/times /debug/fail_page_alloc/ignore-gfp-highmem /debug/fail_page_alloc/ignore-gfp-wait Example: fail_page_alloc=10,100,0,-1 The page allocation (alloc_pages(), ...) fails once per 10 times. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a8b6502fb669c3a0638a08955442814cedc86b1 Author: Akinobu Mita Date: Fri Dec 8 02:39:44 2006 -0800 [PATCH] fault-injection capability for kmalloc This patch provides fault-injection capability for kmalloc. Boot option: failslab=,,, -- specifies the interval of failures. -- specifies how often it should fail in percent. -- specifies the size of free space where memory can be allocated safely in bytes. -- specifies how many times failures may happen at most. Debugfs: /debug/failslab/interval /debug/failslab/probability /debug/failslab/specifies /debug/failslab/times /debug/failslab/ignore-gfp-highmem /debug/failslab/ignore-gfp-wait Example: failslab=10,100,0,-1 slab allocation (kmalloc(), kmem_cache_alloc(),..) fails once per 10 times. Cc: Pekka Enberg Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ff1cb355e628f8fc55fa2d01e269e5e1bbc2fe9 Author: Akinobu Mita Date: Fri Dec 8 02:39:43 2006 -0800 [PATCH] fault-injection capabilities infrastructure This patch provides base functions implement to fault-injection capabilities. - The function should_fail() is taken from failmalloc-1.0 (http://www.nongnu.org/failmalloc/) [akpm@osdl.org: cleanups, comments, add __init] Cc: Signed-off-by: Akinobu Mita Signed-off-by: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de1ba09b214056365d9082982905b255caafb7a2 Author: Akinobu Mita Date: Fri Dec 8 02:39:42 2006 -0800 [PATCH] fault injection: documentation and scripts This patch set provides some fault-injection capabilities. - kmalloc() failures - alloc_pages() failures - disk IO errors We can see what really happens if those failures happen. In order to enable these fault-injection capabilities: 1. Enable relevant config options (CONFIG_FAILSLAB, CONFIG_PAGE_ALLOC, CONFIG_MAKE_REQUEST) and if you want to configure them via debugfs, enable CONFIG_FAULT_INJECTION_DEBUG_FS. 2. Build and boot with this kernel 3. Configure fault-injection capabilities behavior by boot option or debugfs - Boot option failslab= fail_page_alloc= fail_make_request= - Debugfs /debug/failslab/* /debug/fail_page_alloc/* /debug/fail_make_request/* Please refer to the Documentation/fault-injection/fault-injection.txt for details. 4. See what really happens. Signed-off-by: Akinobu Mita Signed-off-by: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b3bb06bea649396490094780f90d315c152f6ab Author: Yan Burman Date: Fri Dec 8 02:39:41 2006 -0800 [PATCH] nfsd: replace kmalloc+memset with kcalloc + simplify NULL check Replace kmalloc+memset with kcalloc and simplify Signed-off-by: Yan Burman Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14d2b59e8c1634ceb995097b162592b0af139578 Author: Jesper Juhl Date: Fri Dec 8 02:39:40 2006 -0800 [PATCH] NFS3: Calculate 'w' a bit later in nfs3svc_encode_getaclres() NFS3: Calculate 'w' a bit later in nfs3svc_encode_getaclres() This is a small performance optimization since we can return before needing 'w'. It also saves a few bytes of .text : Before: text data bss dec hex filename 1632 140 0 1772 6ec fs/nfsd/nfs3acl.o After: text data bss dec hex filename 1624 140 0 1764 6e4 fs/nfsd/nfs3acl.o Signed-off-by: Jesper Juhl Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb65a5ba3dcef3184ef1ba026b1e268bd1a9323f Author: Jesper Juhl Date: Fri Dec 8 02:39:39 2006 -0800 [PATCH] NFS2: Calculate 'w' a bit later in nfsaclsvc_encode_getaclres() NFS2: Calculate 'w' a bit later in nfsaclsvc_encode_getaclres() This is a small performance optimization since we can return before needing 'w'. It also saves a few bytes of .text : Before: text data bss dec hex filename 2406 212 0 2618 a3a fs/nfsd/nfs2acl.o After: text data bss dec hex filename 2400 212 0 2612 a34 fs/nfsd/nfs2acl.o Signed-off-by: Jesper Juhl Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b75f78edcab291eb29fe9a205cbf7b80c1c644f Author: Peter Zijlstra Date: Fri Dec 8 02:39:38 2006 -0800 [PATCH] lockdep: annotate nfsd4 recover code > ============================================= > [ INFO: possible recursive locking detected ] > 2.6.18-1.2724.lockdepPAE #1 > --------------------------------------------- > nfsd/6884 is trying to acquire lock: > (&inode->i_mutex){--..}, at: [] vfs_rmdir+0x73/0xf4 > > but task is already holding lock: > (&inode->i_mutex){--..}, at: [] > nfsd4_clear_clid_dir+0x1f/0x3d [nfsd] > > other info that might help us debug this: > 3 locks held by nfsd/6884: > #0: (hash_sem){----}, at: [] nfsd+0x181/0x2ea [nfsd] > #1: (client_mutex){--..}, at: [] > nfsd4_setclientid_confirm+0x3b/0x2cf [nfsd] > #2: (&inode->i_mutex){--..}, at: [] > nfsd4_clear_clid_dir+0x1f/0x3d [nfsd] > > stack backtrace: > [] dump_trace+0x69/0x1af > [] show_trace_log_lvl+0x18/0x2c > [] show_trace+0xf/0x11 > [] dump_stack+0x15/0x17 > [] __lock_acquire+0x110/0x9b6 > [] lock_acquire+0x5c/0x7a > [] __mutex_lock_slowpath+0xde/0x234 > [] vfs_rmdir+0x73/0xf4 > [] nfsd4_clear_clid_dir+0x29/0x3d [nfsd] > [] nfsd4_remove_clid_dir+0xb8/0xf8 [nfsd] > [] nfsd4_setclientid_confirm+0x1b2/0x2cf [nfsd] > [] nfsd4_proc_compound+0x137a/0x166c [nfsd] > [] nfsd_dispatch+0xc5/0x180 [nfsd] > [] svc_process+0x3bd/0x631 [sunrpc] > [] nfsd+0x19a/0x2ea [nfsd] > [] kernel_thread_helper+0x7/0x10 > DWARF2 unwinder stuck at kernel_thread_helper+0x7/0x10 > Leftover inexact backtrace: > ======================= Some nesting annotation to the nfsd4 recovery code. The vfs operations called will take dentry->d_inode->i_mutex. Signed-off-by: Peter Zijlstra Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df61bec3ae8983984070db24ae481fe7297a6dff Author: Jeff Garzik Date: Fri Dec 8 02:39:37 2006 -0800 [PATCH] ISDN: fix warnings * diva, sedlbauer: the 'ready' label is only used in certain configurations * hfc_pci: - cast 'arg' to proper size for testing and printing - print out 'void __iomem *' variables with %p, rather than using incorrect casts that throw warnings Signed-off-by: Jeff Garzik Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 281f15e6d9bfe18f200119bf8ffcbc67e8a33718 Author: Adrian Bunk Date: Fri Dec 8 02:39:36 2006 -0800 [PATCH] i4l: remove the broken HISAX_AMD7930 option HISAX_AMD7930 was never anywhere near to being working, and this doesn't seem to change in the forseeable future. Signed-off-by: Adrian Bunk Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41f96935b4c41daea2c4dbbf137960375cf764c1 Author: Burman Yan Date: Fri Dec 8 02:39:35 2006 -0800 [PATCH] isdn: replace kmalloc+memset with kzalloc Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b2dd130a5a8774a30de1f94266f6b9a9892153c Author: Alexey Dobriyan Date: Fri Dec 8 02:39:34 2006 -0800 [PATCH] drivers/isdn/*: trivial vsnprintf() conversion Signed-off-by: Alexey Dobriyan Acked-by: Alan Cox Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6e2cdc8aa395ea813603bfd81b70b5c461a8ebf Author: Jesper Juhl Date: Fri Dec 8 02:39:34 2006 -0800 [PATCH] ISDN: Avoid a potential NULL ptr deref in ippp There's a potential problem in isdn_ppp.c::isdn_ppp_decompress(). dev_alloc_skb() may fail and return NULL. If it does we will be passing a NULL skb_out to ipc->decompress() and may also end up dereferencing a NULL pointer at *proto = isdn_ppp_strip_proto(skb_out); Correct this by testing 'skb_out' against NULL early and bail out. Signed-off-by: Jesper Juhl Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba6d14aff4112b9518856d2d3979a386cb3a2945 Author: Akinobu Mita Date: Fri Dec 8 02:39:33 2006 -0800 [PATCH] isdn: fix missing unregister_capi_driver unregister_capi_driver() needs to be called in module cleanup. (It fixes data corruption by reloading t1isa driver) Cc: Kai Germaschewski Acked-by: Karsten Keil Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2de257cf15d0508d29fa8a54a0dad78de4e75eb Author: Amol Lad Date: Fri Dec 8 02:39:32 2006 -0800 [PATCH] drivers/isdn: Handcrafted MIN/MAX Macro removal Cleanups done to use min/max macros from kernel.h. Handcrafted MIN/MAX macros are changed to use macros in kernel.h [akpm@osdl.org: warning fix] Signed-off-by: Amol Lad Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90cc301859ea8840634324a7f5b9680312377667 Author: Jiri Slaby Date: Fri Dec 8 02:39:31 2006 -0800 [PATCH] Char: cyclades, fix warnings fix gcc signed/unsigned warnings Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 096dcfce39f952292b019a2c42c241782c9ca226 Author: Jiri Slaby Date: Fri Dec 8 02:39:30 2006 -0800 [PATCH] Char: cyclades, cleanup - remove cvs rcsid and alter code that uses it. - allow a semicolon after use of macro to not confuse parsers (e.g. indent) by do {} while (0) - JIFFIES_DIFF is simple subtraction, subtract directly - returns cleanup -- do not put values in parenthesis and do not return nothing at the end of void functions - comments are /* */ in C (not //) Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02f1175c8737802b5609aa2c0b1fb3ca2c23069f Author: Jiri Slaby Date: Fri Dec 8 02:39:28 2006 -0800 [PATCH] Char: cyclades, Lindent the code make the code indented by tabs. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e941027f53648ac3384057032be1ac64da3e8cd0 Author: Jiri Slaby Date: Fri Dec 8 02:39:28 2006 -0800 [PATCH] Char: cyclades, save indent levels Save 3 indent levels in interrupt routine by moving the code to a separate function. This needs to be done to allow Lindent do its work, since only 4 columns are used for indenting now and hence Lindent makes a big mess in the code, when moves it 4*5 columns to the right. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff8efe978d18e2479f998c4722c1eaafd7cd2dd9 Author: Jiri Slaby Date: Fri Dec 8 02:39:27 2006 -0800 [PATCH] Char: istallion, use mod_timer Do not set expires by hand, use kernel helper, which also calls add_timer. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec3dde578a969ea4b0a8c3d45e02d73abab1b2d3 Author: Jiri Slaby Date: Fri Dec 8 02:39:26 2006 -0800 [PATCH] Char: istallion, dynamic tty device register tty device dynamically according to the count of board ports. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2362c9411e914642ffe216e10987bb9aae2a480 Author: Jiri Slaby Date: Fri Dec 8 02:39:25 2006 -0800 [PATCH] Char: istallion, change init sequence Reorganizate module init and exit and implement logic, when something fails in these functions. The former is needed for proper handling dynamic tty_register_device. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1cc54f8c6ad76cf41e21cbb4620b9549b882a01 Author: Jiri Slaby Date: Fri Dec 8 02:39:24 2006 -0800 [PATCH] Char: istallion, move init and exit code Let's have these function at the end of the driver and expand stli_init directly into module_init fucntion, since there is nothing other to have there. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 140e92abe2bc9a0cd3ccfd11744ff4eb65319bb3 Author: Jiri Slaby Date: Fri Dec 8 02:39:24 2006 -0800 [PATCH] Char: istallion, fix enabling Enable ISA cards before pci_register_driver and then, enable each PCI card in probe function. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f8f5a5808ffc322c9c59e44fc3c0306d4f92ea4 Author: Jiri Slaby Date: Fri Dec 8 02:39:23 2006 -0800 [PATCH] Char: istallion, correct fail paths Check more retvals and react somehow. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 390141728f2165889a8154bfb3ddddf6d95d9b8d Author: Jiri Slaby Date: Fri Dec 8 02:39:22 2006 -0800 [PATCH] Char: istallion, free only isa Only ISA cards should be freed in module exit. Pci probed are freed in pci_remove. Define a flag, where we store this info a what to check against. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b103b5cfcb8e6703b40124da631adfdd1470d878 Author: Jiri Slaby Date: Fri Dec 8 02:39:21 2006 -0800 [PATCH] Char: istallion, brdnr locking Kill possible race when getting brdnr by locking. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a00f33f3ab6385ef24f6e88bf970e8ac32b24099 Author: Jiri Slaby Date: Fri Dec 8 02:39:20 2006 -0800 [PATCH] Char: istallion, ifdef eisa code Disable compiling eisa stuff if STLI_EISAPROBE == 0. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1328d737f510e9933a621f66aa8de81c02b647a7 Author: Jiri Slaby Date: Fri Dec 8 02:39:19 2006 -0800 [PATCH] Char: istallion, variables cleanup - wipe gcc -W warnings by int -> uint conversion - move 2 global variables into their local place Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f8ec435e3516eb831bb98110cc2b2b28057154b Author: Jiri Slaby Date: Fri Dec 8 02:39:18 2006 -0800 [PATCH] Char: istallion, eliminate typedefs Use only struct instead of defining a new type . Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3f8d9d5e1e00e5953d7727f0b8426224af2ca15 Author: Jiri Slaby Date: Fri Dec 8 02:39:18 2006 -0800 [PATCH] Char: istallion, remove the mess - remove unneeded license text - remove functions, that are implemented in kernel -- call them (strtoul, min, tolower) - do not cast NULL - there is no static table, throw away code, which takes care of it -- find module param cards in that place instead. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 845bead4c3f2a65d2c25f0cb2fe82444b9057cbc Author: Jiri Slaby Date: Fri Dec 8 02:39:17 2006 -0800 [PATCH] Char: istallion, convert to pci probing Use probing for pci devices. Change some __inits to __devinits to use these functions in probe function. Create stli_cleanup_ports and move there cleanup code from module_exit() code to not have duplicite cleanup code. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aeaccfe42510d2c009a2c36452d220a5f4a0363e Author: Jiri Slaby Date: Fri Dec 8 02:39:16 2006 -0800 [PATCH] Char: stallion, use dynamic dev Use dynamic tty device registering depending on board's port count. (i -> retval change is relevant, since gcc complains about signedness of i) Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b2c9457bb377bf843f0a3ca2f4eb2ef69c67985 Author: Jiri Slaby Date: Fri Dec 8 02:39:15 2006 -0800 [PATCH] Char: stallion, variables cleanup - fix `gcc -W' un/signed warnings by converting some ints -> uints. - move 3 global variables into functions, where are they used. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c62429d93e003043109a0af86cb6bf1da45a1b71 Author: Jiri Slaby Date: Fri Dec 8 02:39:14 2006 -0800 [PATCH] Char: stallion, remove syntactic sugar Remove useless parenthesis and brackets. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79cfe7ab54dbf2784159f5be6b665153cafcee3c Author: Jiri Slaby Date: Fri Dec 8 02:39:14 2006 -0800 [PATCH] Char: stallion, brd struct locking Since assigning of stl_brds[brdnr] is racy, add locking to this critical section. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc06b5cf858787934110b9398d2d5a0c0493c1dd Author: Jiri Slaby Date: Fri Dec 8 02:39:13 2006 -0800 [PATCH] Char: stallion, fix fail paths Release everything what was allocated and check return value of isa probing. Release only ISA boards in module exit, since pci have their own pci-probing-remove. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 843b568cf0c800b87e48fcfb171a7a83318db39c Author: Jiri Slaby Date: Fri Dec 8 02:39:12 2006 -0800 [PATCH] Char: stallion, functions cleanup Delete macros and functions, that are implemented in kernel yet (strtoul, min, tolower). Expand one function body in place, where it is called from. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 705c186241844ba2103d15fc210dbf1def9bc3f0 Author: Jiri Slaby Date: Fri Dec 8 02:39:11 2006 -0800 [PATCH] Char: stallion, correct __init macros Some functions are now called from pci probing functiuon which is __devinit, not __init, correct this to not free functions after init if hotplug enabled. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b85b3413df1feb2b4ef17d829c1ee895fc64075 Author: Jiri Slaby Date: Fri Dec 8 02:39:10 2006 -0800 [PATCH] Char: stallion, implement fail paths This driver expect everything to work. Implement fail paths logic to release regions, irq hangler, memory... if something is in bad state. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fefaf9a789607d3a997d3d05bd2a72586ae0c901 Author: Jiri Slaby Date: Fri Dec 8 02:39:09 2006 -0800 [PATCH] Char: stallion, prints cleanup Too many information is printed out (they may be easily obtained through sysfs), wipe them out in probe function. Convert rest of them to dev_ variants. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1b84fe0d76b89534da706372ef719bbaa9fef0a Author: Jiri Slaby Date: Fri Dec 8 02:39:09 2006 -0800 [PATCH] Char: stallion, convert to pci probing Convert stallion driver to pci probing instead of pci_dev_get iteration. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30f4218ffc5500e6a622a680f01133f9af65f07d Author: Jiri Slaby Date: Fri Dec 8 02:39:08 2006 -0800 [PATCH] Char: sx, request regions Check regions if they are free before we touch them. Release them in failpaths. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39103494fd0c5325763edd06c88b121a5c21516e Author: Jiri Slaby Date: Fri Dec 8 02:39:07 2006 -0800 [PATCH] Char: sx, use pci_iomap Use pci_ friends for memory remapping of pci devices. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7eb9976f10354f0e3bc1a52b66b9cf857ff41088 Author: Jiri Slaby Date: Fri Dec 8 02:39:06 2006 -0800 [PATCH] Char: sx, fix return in module init If pci_register_driver fails, but eisa_driver_register doesn't, we don't call misc_deregister, but returns error. Return OK in such cases. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9594643c095da0a0ad4d5f0a1ff357a84e91524 Author: Jiri Slaby Date: Fri Dec 8 02:39:05 2006 -0800 [PATCH] Char: sx, simplify timer logic Use kernel helpers for changing timer internals. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15b611f63f0fb8709a5fae498c2d688b5d05edc9 Author: Jiri Slaby Date: Fri Dec 8 02:39:04 2006 -0800 [PATCH] Char: sx, whitespace cleanup Use Lindent to cleanup whitespace. Wrap long lines by hand. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55e7071a3c6cdb65fb5ce3ea9c692a8d78ed0844 Author: Jiri Slaby Date: Fri Dec 8 02:39:03 2006 -0800 [PATCH] Char: sx, remove duplicite code sx_remove_code contents were used twice. Call this function instead. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42f6384fe4747f65dc27e8a5f96502204558203b Author: Jiri Slaby Date: Fri Dec 8 02:39:03 2006 -0800 [PATCH] Char: sx, lock boards struct Fix race condition which may occurs when multiple cards are probed at the same time. Add mutex to critical sections to avoid this situation. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 927a6f9dd0d0b5f70cb2e0799ce7a3844f43d42f Author: Jiri Slaby Date: Fri Dec 8 02:39:02 2006 -0800 [PATCH] Char: sx, ifdef ISA code Most users won't need old probe code -- make it depndent on CONFIG_(E)ISA. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18f813ee693eaf51ad313020b725b118a891c3ee Author: Jiri Slaby Date: Fri Dec 8 02:39:01 2006 -0800 [PATCH] Char: sx, use eisa probing Instead of finding eisa directly, use eisa probing. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cda5265e7c5ba5f23c83f2f0693fef392b39e7e5 Author: Jiri Slaby Date: Fri Dec 8 02:39:00 2006 -0800 [PATCH] Char: sx, mark functions as devinit Mark as much as possible functions as __devinit to free them after driver initialization (if no hotplug). Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a7cb69badb4ca11fe0ba09aafac5c284922fc8f Author: Jiri Slaby Date: Fri Dec 8 02:38:59 2006 -0800 [PATCH] Char: sx, use kcalloc Convert self-implemented kzalloc to kernel kcalloc. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5572e10323a7d3cdccf639225553a6e2542049bd Author: Jiri Slaby Date: Fri Dec 8 02:38:58 2006 -0800 [PATCH] Char: sx, convert to pci probing Convert old pci code to pci probing. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17c4edf0c8ee670de7b33d2a24eddd7c6b7edcf6 Author: Jiri Slaby Date: Fri Dec 8 02:38:57 2006 -0800 [PATCH] Char: isicom, fix tty index check Since tty->index is signed and may be < 0, we should assign this to int not uint. There is already a check to ensure if it is not negative, but gcc complains with -W flag enabled and it is perfectly correct: drivers/char/isicom.c:953: warning: comparison of unsigned expression < 0 is always false Fix this issue by converting `line' variable from uint to int. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11c838772d58d9807b1cb7fa4e0bec1b0302e318 Author: Jiri Slaby Date: Fri Dec 8 02:38:56 2006 -0800 [PATCH] Char: isicom, remove cvs stuff We don't need RCS_ID & co. Extract them from the code and define only one macro -- SX_VERSION. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34b55b865ed12494e23b09b5d2e8da22047fd6a7 Author: Jiri Slaby Date: Fri Dec 8 02:38:55 2006 -0800 [PATCH] Char: isicom, simplify timer Don't init timer in such complicated way. Use DEFINE_TIMER and then only mod_timer to reset the expiration. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 906cdecbedae93e3f63651000f620acddf4debe9 Author: Jiri Slaby Date: Fri Dec 8 02:38:55 2006 -0800 [PATCH] Char: isicom, use completion Use wait_for_completion+complete instead of variables+msleep hack. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0671378426d9768bf20d5e0f8389374dcdc2abf Author: Jiri Slaby Date: Fri Dec 8 02:38:54 2006 -0800 [PATCH] Char: isicom, check kmalloc retval Value returned from kamlloc may be NULL, we should check if ENOMEM occured. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78028da91e05146c9ce0c9db2fea53e0cded1e81 Author: Jiri Slaby Date: Fri Dec 8 02:38:53 2006 -0800 [PATCH] Char: isicom, use pci_request_region Use pci_request_region in pci probing function instead of request_region. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 938a7023bbbc626b0ab7ece13fe8cb26cfcc486b Author: Jiri Slaby Date: Fri Dec 8 02:38:52 2006 -0800 [PATCH] Char: isicom, move to tty_register_device Instead of registering all devices in register_tty_driver, register devices in probe function and register only port_count devices. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8acef8fcab2d824c1c445857f457fb04facc765d Author: Jiri Slaby Date: Fri Dec 8 02:38:51 2006 -0800 [PATCH] Char: isicom, remove unneeded memset Memsetting of global static variables is not needed in the init code. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18234f88bc27473f15293a03c83bcb53da9018b4 Author: Jiri Slaby Date: Fri Dec 8 02:38:51 2006 -0800 [PATCH] Char: isicom, remove isa code ISA is not supported by this driver, remove parts, that take care of this. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca26200511776a0b54c5c832efde48ee6445a738 Author: Jiri Slaby Date: Fri Dec 8 02:38:50 2006 -0800 [PATCH] Char: isicom, rename init function Rename init function from setup to init and mark it as __init, not __devinit. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09a4a112559f4e93bb07d9683972e9064ae0418f Author: Jiri Slaby Date: Fri Dec 8 02:38:49 2006 -0800 [PATCH] Char: isicom, expand function Simple functions (those, that calls reuest_irq, request_region et al) may be expanded directly in code. It makes probe function more readable and transparent. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 592ee3a5e5e2a981ef2829a0380093006d045661 Author: Alan Cox Date: Fri Dec 8 02:38:48 2006 -0800 [PATCH] termios: Enable new style termios ioctls on x86-64 This turns on the split input/output speed features and arbitary baud rate handling for the x86-64 platform. Nothing should break if you use existing standard speeds. If you use the new speed stuff then you may see some drivers failing to report the speed changes properly in error cases. This will be worked on further. For the working cases this all seems happy. I'll post a test suite used to test the basic stuff as well. Patches for i386 will follow when I get a moment but are basically the same. If people could patch/test-suite other architectures and submit them that would be great. Signed-off-by: Alan Cox Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64bb6c5e1ddcd47c951740485026ef08975ee2e6 Author: Alan Cox Date: Fri Dec 8 02:38:47 2006 -0800 [PATCH] tty_ioctl: use termios for the old structure and termios2 for the new Having split out the user and kernel structures it turns out that some non glibc C libraries pull their termios struct from the kernel headers directly or indirectly. This means we must keep "struct termios" as the library sees it correct for the old ioctls. Not a big problem just shuffle the names and ifdef around a bit [akpm@osdl.org: build fix] Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 606d099cdd1080bbb50ea50dc52d98252f8f10a1 Author: Alan Cox Date: Fri Dec 8 02:38:45 2006 -0800 [PATCH] tty: switch to ktermios This is the grungy swap all the occurrences in the right places patch that goes with the updates. At this point we have the same functionality as before (except that sgttyb() returns speeds not zero) and are ready to begin turning new stuff on providing nobody reports lots of bugs If you are a tty driver author converting an out of tree driver the only impact should be termios->ktermios name changes for the speed/property setting functions from your upper layers. If you are implementing your own TCGETS function before then your driver was broken already and its about to get a whole lot more painful for you so please fix it 8) Also fill in c_ispeed/ospeed on init for most devices, although the current code will do this for you anyway but I'd like eventually to lose that extra paranoia [akpm@osdl.org: bluetooth fix] [mp3@de.ibm.com: sclp fix] [mp3@de.ibm.com: warning fix for tty3270] [hugh@veritas.com: fix tty_ioctl powerpc build] [jdike@addtoit.com: uml: fix ->set_termios declaration] Signed-off-by: Alan Cox Signed-off-by: Martin Peschke Acked-by: Peter Oberparleiter Cc: Cornelia Huck Signed-off-by: Hugh Dickins Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edc6afc5496875a640bef0913604be7550c1795d Author: Alan Cox Date: Fri Dec 8 02:38:44 2006 -0800 [PATCH] tty: switch to ktermios and new framework This is the core of the switch to the new framework. I've split it from the driver patches which are mostly search/replace and would encourage people to give this one a good hard stare. The references to BOTHER and ISHIFT are the termios values that must be defined by a platform once it wants to turn on "new style" ioctl support. The code patches here ensure that providing 1. The termios overlays the ktermios in memory 2. The only new kernel only fields are c_ispeed/c_ospeed (or none) the existing behaviour is retained. This is true for the patches at this point in time. Future patches will define BOTHER, ISHIFT and enable newer termios structures for each architecture, and once they are all done some of the ifdefs also vanish. [akpm@osdl.org: warning fix] [akpm@osdl.org: IRDA fix] Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be90038a24c814dc98bc5a813f41855779000018 Author: Alan Cox Date: Fri Dec 8 02:38:43 2006 -0800 [PATCH] tty: preparatory structures for termios revamp In order to sort out our struct termios and add proper speed control we need to separate the kernel and user termios structures. Glibc is fine but the other libraries rely on the kernel exported struct termios and we need to extend this without breaking the ABI/API To do so we add a struct ktermios which is the kernel view of a termios structure and overlaps the struct termios with extra fields on the end for now. (That limitation will go away in later patches). Some platforms (eg alpha) planned ahead and thus use the same struct for both, others did not. This just adds the structures but does not use them, it seems a sensible splitting point for bisect if there are compile failures (not that I expect them) Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96b066b85c8e5b28fa7f25a7f0644f70f46b8881 Author: Jiri Slaby Date: Fri Dec 8 02:38:42 2006 -0800 [PATCH] Char: stallion, remove many prototypes Many prototypes are useless, since functions are declared before they are called. Also some code was easy to move to resolve this dependency and delete prototypes. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40e82652128f67ffc2d8117e186736a92a15d64c Author: Jiri Slaby Date: Fri Dec 8 02:38:41 2006 -0800 [PATCH] Char: stallion, mark functions as init Use __init macro for functions, that may be freed after initialization. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60be481089524b88fc777433494c6842f1f652a4 Author: Jiri Slaby Date: Fri Dec 8 02:38:40 2006 -0800 [PATCH] Char: stallion, uninline functions - Do not inline such long functions, it won't speed up anything. - Remove prototypes of these functions. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23b85a152b4598ae007db7d5a5318458ea2fd647 Author: Jiri Slaby Date: Fri Dec 8 02:38:40 2006 -0800 [PATCH] Char: stallion, move init/deinit - Move code from stl_init into module init function, because calling it was the only one thing, that it did. - Move this code to the end of the driver (usual place for this) to resolve dependencies simply -- without prototypes. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca7ed0f22f4876986b2eb1fbd80ba78e07fd69d5 Author: Jiri Slaby Date: Fri Dec 8 02:38:39 2006 -0800 [PATCH] Char: stallion, kill typedefs Typedefs are considered ugly in the kernel. Eliminate them. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 615e4a71ec68ac4b56787affbe7249b52380688c Author: Jiri Slaby Date: Fri Dec 8 02:38:38 2006 -0800 [PATCH] Char: stallion, remove unneeded casts casts of NULL are unnecessary. And so casts to (void *) are. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0564e145525cf1ccbe17e0e3cd38db3b9e1b523 Author: Jiri Slaby Date: Fri Dec 8 02:38:37 2006 -0800 [PATCH] Char: stallion, use pr_debug macro Use pr_debug kernel macro instead of #ifdef DEBUG | printk() | #endif Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95a7b8b9a6453de2c52e469d1afdef80ca4607ae Author: Andrew Morton Date: Fri Dec 8 02:38:36 2006 -0800 [PATCH] mxser-workqueue-fixes Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e930790d2b2ed2166e68858f0068e629bfcf5c33 Author: Jiri Slaby Date: Fri Dec 8 02:38:35 2006 -0800 [PATCH] mxser_new: correct tty driver name Mxser tty driver name should be ttyMI, not ttyM. Correct this in mxser_new to avoid conflicts with isicom driver, which is ttyM. Acked-by: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d735410a275991db736b3c8d7ef2e17ee114f5a6 Author: Jiri Slaby Date: Fri Dec 8 02:38:35 2006 -0800 [PATCH] isicom, mxser MAINTAINERS update I can maintain moxa and isicom char drivers, because I've rewritten them to the new API. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8b74de92ef5b53d45d32934955cbb6e14812a5f Author: Jiri Slaby Date: Fri Dec 8 02:38:34 2006 -0800 [PATCH] Char: mxser_new, clean macros Celan redundant macros. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2094e757afb9ecf2daf433e54e02b61f99bf487f Author: Jiri Slaby Date: Fri Dec 8 02:38:33 2006 -0800 [PATCH] Char: mxser_new, pci probing Finally, the intention of the patch serie: PCI probing for this driver. add pci_driver structure, (un)register it and add some stuff, which this needs. Remove pdev pointer from board structure, because it's no longer needed. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dbda701fe9eba7a36205326c4a3e72a8206d576 Author: Jiri Slaby Date: Fri Dec 8 02:38:32 2006 -0800 [PATCH] Char: mxser_new, delete ttys and termios - Driver uses global tty_struct array, which tries to assign to the tty_driver's ttys. - the very same thing for termios - the same for termios_locked Kill such constructions. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1d1c8dd35aa95fbeb7051eee9811fc2475a81f4 Author: Jiri Slaby Date: Fri Dec 8 02:38:31 2006 -0800 [PATCH] Char: mxser_new, correct intr handler proto Prototype of the driver's interrupt handler is old-fashioned, past changes tell us, we won't get pt_regs as the 3rd argument. There are only 2 params. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e079f495b77726fafb77dd531873ec0daac34078 Author: Jiri Slaby Date: Fri Dec 8 02:38:31 2006 -0800 [PATCH] Char: mxser_new, comments cleanup mxser_new, comments cleanup - Remove commented code, since we have version control. - Remove comments containing "following added by..." and "above added by,..". It's useless. - Align other comments. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 925e9c1c08750096ddb4634f5d06b5451e4a92a8 Author: Jiri Slaby Date: Fri Dec 8 02:38:30 2006 -0800 [PATCH] Char: mxser_new, reverse if-else-paths patch This patch was intorduced in mxser to 1.9.1 conversion, but causes endless sleep in tcdrain userspace call. Thanks to Sergei Organov for testing and pointing this out. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd7ed64e1508d3275c20d072bf9037028ec34f56 Author: Jiri Slaby Date: Fri Dec 8 02:38:29 2006 -0800 [PATCH] Char: mxser_new, compact structures, round2 Too many structures are in the driver for each type of card. Make only one for all cards and appropriate alter the code. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 938ef1804049eb1c527e25568ff70c6a2a2bfdcc Author: Jiri Slaby Date: Fri Dec 8 02:38:28 2006 -0800 [PATCH] Char: mxser_new, register tty devices on the fly Register tty indexes only for real devices, udev then creates nodes for them (and only for them). Move tty_register_driver before probing, to be correct when calling tty_register_device. Also tell tty layer by tty_driver flags, that we are registering devices. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eae4436a4e513f5f912dcc5dac79038f22fb6403 Author: Jiri Slaby Date: Fri Dec 8 02:38:27 2006 -0800 [PATCH] Char: mxser_new, compress isa finding ISA cards finding was too complex -- 2 (module params + predefined) absolutely same routines, join them together with one for loop, one if and one indent level. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ead568c9cdab2592abdbd1f023931665cc24b5db Author: Jiri Slaby Date: Fri Dec 8 02:38:26 2006 -0800 [PATCH] Char: mxser_new, don't check tty_unregister retval Like other drivers silently unregister_tty_driver and put_tty_driver. It shouldn't be busy when module release function is called, since we are not bsd, no refs shouldn't be held. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 171d3a86788eef4f751b88265bac393c3232dbdd Author: Jiri Slaby Date: Fri Dec 8 02:38:25 2006 -0800 [PATCH] Char: mxser_new, correct fail paths Resources were not released in some fail paths. Correct this behaviour by implementing function and calling it when something fails. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 214efebba86260a0fb3ef84b9f5707b58cbc227b Author: Jiri Slaby Date: Fri Dec 8 02:38:25 2006 -0800 [PATCH] Char: mxser_new, testbit for bit testing Use testbit like in tty subsystem for TTY_IO_ERROR testing. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e8bcf9add02176be7e052b1f0675f7a462eaf3d Author: Jiri Slaby Date: Fri Dec 8 02:38:24 2006 -0800 [PATCH] Char: mxser_new, eliminate tty ldisc deref Use tty_ldisc_flush and tty_wakeup helpers for accessing ldisc internals. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6faa3778ff69309bd3673412f0eb1e7ffee9ff83 Author: Jiri Slaby Date: Fri Dec 8 02:38:23 2006 -0800 [PATCH] char: remove unneded termbits redefinitions (mxser_new) No need to redefine termbits in char tree. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1241f34eb21d01e000b827c74c098bfdca6eefc Author: Jiri Slaby Date: Fri Dec 8 02:38:22 2006 -0800 [PATCH] Char: mxser_new, CMSPAR is defined There is no need to have another (ifndeffed) definition of CMSPAR. It's defined in includes. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8dea4ec8012b5f55f8a68819a1809fe70635e29 Author: Jiri Slaby Date: Fri Dec 8 02:38:21 2006 -0800 [PATCH] Char: mxser_new, code upside down Reorder functions upside down not to have too many prototypes of each function and have some order (similar to other drivers). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c88cb8f952e28d11af6b168eca28c08560009cca Author: Jiri Slaby Date: Fri Dec 8 02:38:20 2006 -0800 [PATCH] Char: mxser_new, alter license terms - We don't need useless paragraphs in license terms. - Add me to copyright. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f5899252b5052387ee983d67bbc55eafd33a516 Author: Jiri Slaby Date: Fri Dec 8 02:38:20 2006 -0800 [PATCH] Char: mxser_new, debug printk dependent on DEBUG Print some debug info only when DEBUG is enabled (use pr_debug macro). Eliminate verbose kernel parameter which takes care of this. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7eafa3245be66b3db5d430e2fb3414b1a32298a Author: Jiri Slaby Date: Fri Dec 8 02:38:19 2006 -0800 [PATCH] Char: mxser_new, remove request for testers line Remove printk with info we are looking for a tester. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eba529ecf76fcea5f82ceaf803b030d5e0ce71f7 Author: Jiri Slaby Date: Fri Dec 8 02:38:18 2006 -0800 [PATCH] Char: mxser_new, revert spin_lock changes Some spinlock changes were introduced in 1.9.1 original moxa driver. Revert them, since they cause machine not responding. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06cc86b5bd4edcf5e7d68624f7d5c9951916f3d1 Author: Jiri Slaby Date: Fri Dec 8 02:38:17 2006 -0800 [PATCH] Char: mxser_new, kill unneeded memsets mxser_new, kill unneeded memsets There is no need to re-zero static global variables' memory, hence memsets doing this are useless. alloc_tty_struct also zeroes allocated memory: another candidate for removing. This fixes also a bug -- global structures are cleaned up after initialization of some its parts. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a7a5c3303a66c9000f270d6dd03ddeda8c80768 Author: Jiri Slaby Date: Fri Dec 8 02:38:17 2006 -0800 [PATCH] char: mxser_new, check request_region retvals mxser_new, check request_region retvals Return values of (pci_)request_region should be checked and error should be returned if something is in bad state. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 596280156afa99cb02f2193e0e06e6e4f2434f30 Author: Jiri Slaby Date: Fri Dec 8 02:38:16 2006 -0800 [PATCH] char: mxser_new, pci_request_region for pci regions mxser_new, pci_request_region for pci regions Use pci_request_region instead of standard request_region for pci device regions. More checking, simplier use. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 943f295903e152f940ba4260d1e790a05d2f64a3 Author: Jiri Slaby Date: Fri Dec 8 02:38:15 2006 -0800 [PATCH] char: mxser_new, use __(dev)init macros mxser_new, use __(dev)init macros Let kernel know what can be freed after init of the driver. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55b307da3e00b2281788860eefb42976a86d7752 Author: Jiri Slaby Date: Fri Dec 8 02:38:14 2006 -0800 [PATCH] Char: mxser_new, rework to allow dynamic structs This patch is preparation for further patches (pci probing) to allow allocated structures to be private data in pci_dev structure. Union two different structures used in the driver (hw_conf and port/board descriptor) to another 2: port and board not to initialize 2 different things and to have ports contained in board structure. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3306ce3d0554e2e59cc429b7133e17e1513307cb Author: Jiri Slaby Date: Fri Dec 8 02:38:13 2006 -0800 [PATCH] Char: mxser_new, upgrade to 1.9.1 Change cloned experimental driver according to original 1.9.1 moxa driver. Some int->ulong conversions, outb ~UART_IER_THRI constant. Remove commented stuff. I also added printk line with info, if somebody wants to test it, he may contact me as I can potentially debug the driver with him or just to confirm it works properly. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 771f2d1af80b6b8f3b23203d7d6b93bbe93435a8 Author: Jiri Slaby Date: Fri Dec 8 02:38:12 2006 -0800 [PATCH] Char: mxser_new, correct include file include mxser_new.h instead of original mxser.h Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08a4ae44a7f5a0106c38de95adfd31b2a654b109 Author: Andrew Morton Date: Fri Dec 8 02:38:12 2006 -0800 [PATCH] mxser: session warning fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 037ad48bdb5bb009cbc49b1ad49ed78877df2d57 Author: Jiri Slaby Date: Fri Dec 8 02:38:11 2006 -0800 [PATCH] mxser: make an experimental clone Clone a new driver for moxa smartio devices by copying mxser.c to mxser_new.c and mxser.h to mxser_new.h. No other changes are made. This is for purposes of updating the driver to the latest vendor version. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1187ece3db310cb1e7cd75083dc7253dbac39675 Author: Alan Cox Date: Fri Dec 8 02:38:10 2006 -0800 [PATCH] mxser: PCI refcounts Switch to pci ref counts for mxser when handling PCI devices. Use pci_get_device and drop the reference when we finish and unload. Signed-off-by: Alan Cox Cc: Greg KH Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae25f8ecdf65cd3e79e077dc0dba46416134d00c Author: Jiri Slaby Date: Fri Dec 8 02:38:09 2006 -0800 [PATCH] mxser: correct tty driver name Mxser tty driver name should be ttyMI, not ttyM. Correct this in mxser to avoid conflicts with isicom driver, which is ttyM. Acked-by: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10731b88a2725e0f1b21394433c8e53fde6a3634 Author: Haavard Skinnemoen Date: Fri Dec 8 02:38:08 2006 -0800 [PATCH] Generic ioremap_page_range: sh64 conversion Convert SH64 to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b3e1a85c2145813898ac50530c70e6d03a6aa19 Author: Haavard Skinnemoen Date: Fri Dec 8 02:38:07 2006 -0800 [PATCH] Generic ioremap_page_range: sh conversion Convert SH to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a151ca62d7c28d67a8ca0e950452b5208d1d572d Author: Haavard Skinnemoen Date: Fri Dec 8 02:38:06 2006 -0800 [PATCH] Generic ioremap_page_range: s390 conversion Convert S390 to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Cc: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e34067fdd2bf7a6e62808b9bbc49d2b2a1357216 Author: Haavard Skinnemoen Date: Fri Dec 8 02:38:05 2006 -0800 [PATCH] Generic ioremap_page_range: parisc conversion Convert parisc to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Acked-by: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e087929df884dbb13e383d49d192bdd6928ecbf Author: Haavard Skinnemoen Date: Fri Dec 8 02:38:04 2006 -0800 [PATCH] Generic ioremap_page_range: mips conversion Convert MIPS to use generic ioremap_page_range() [yoichi_yuasa@tripeaks.co.jp: build fix] Signed-off-by: Haavard Skinnemoen Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62dfb5541a025b47df9405ff0219c7829a97d83b Author: Oleg Nesterov Date: Fri Dec 8 02:38:03 2006 -0800 [PATCH] session_of_pgrp: kill unnecessary do_each_task_pid(PIDTYPE_PGID) All members of the process group have the same sid and it can't be == 0. NOTE: this code (and a similar one in sys_setpgid) was needed because it was possibe to have ->session == 0. It's not possible any longer since [PATCH] pidhash: don't use zero pids Commit: c7c6464117a02b0d54feb4ebeca4db70fa493678 Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f020bc468fe4a91d32046d448511978c7b611315 Author: Oleg Nesterov Date: Fri Dec 8 02:38:02 2006 -0800 [PATCH] sys_setpgid: eliminate unnecessary do_each_task_pid(PIDTYPE_PGID) All tasks in the process group have the same sid, we don't need to iterate them all to check that the caller of sys_setpgid() doesn't change its session. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84d737866e2babdeab0c6b18ea155c6a649663b8 Author: Sukadev Bhattiprolu Date: Fri Dec 8 02:38:01 2006 -0800 [PATCH] add child reaper to pid_namespace Add a per pid_namespace child-reaper. This is needed so processes are reaped within the same pid space and do not spill over to the parent pid space. Its also needed so containers preserve existing semantic that pid == 1 would reap orphaned children. This is based on Eric Biederman's patch: http://lkml.org/lkml/2006/2/6/285 Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cc1b22a4acef3816eaa5f8c227d93d749b23195 Author: Cedric Le Goater Date: Fri Dec 8 02:38:00 2006 -0800 [PATCH] use current->nsproxy->pid_ns Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a575a92db3312a40cdf0b0406d88de88ad9741e Author: Cedric Le Goater Date: Fri Dec 8 02:37:59 2006 -0800 [PATCH] to nsproxy Add the pid namespace framework to the nsproxy object. The copy of the pid namespace only increases the refcount on the global pid namespace, init_pid_ns, and unshare is not implemented. There is no configuration option to activate or deactivate this feature because this not relevant for the moment. Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61a58c6c238cc81f7742b8cc84212cc55fb57747 Author: Sukadev Bhattiprolu Date: Fri Dec 8 02:37:58 2006 -0800 [PATCH] rename struct pspace to struct pid_namespace Rename struct pspace to struct pid_namespace for consistency with other namespaces (uts_namespace and ipc_namespace). Also rename include/linux/pspace.h to include/linux/pid_namespace.h and variables from pspace to pid_ns. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 373beb35cd6b625e0ba4ad98baace12310a26aa8 Author: Cedric Le Goater Date: Fri Dec 8 02:37:57 2006 -0800 [PATCH] identifier to nsproxy Add an identifier to nsproxy. The default init_ns_proxy has identifier 0 and allocated nsproxies are given -1. This identifier will be used by a new syscall sys_bind_ns. Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b3286ed1169d74fea401367d6d4d6c6ec758a81 Author: Kirill Korotaev Date: Fri Dec 8 02:37:56 2006 -0800 [PATCH] rename struct namespace to struct mnt_namespace Rename 'struct namespace' to 'struct mnt_namespace' to avoid confusion with other namespaces being developped for the containers : pid, uts, ipc, etc. 'namespace' variables and attributes are also renamed to 'mnt_ns' Signed-off-by: Kirill Korotaev Signed-off-by: Cedric Le Goater Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ec320afdc9552c92191d5f89fcd1ebe588334ca Author: Cedric Le Goater Date: Fri Dec 8 02:37:55 2006 -0800 [PATCH] add process_session() helper routine: deprecate old field Add an anonymous union and ((deprecated)) to catch direct usage of the session field. [akpm@osdl.org: fix various missed conversions] [jdike@addtoit.com: fix UML bug] Signed-off-by: Jeff Dike Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 937949d9edbf4049bd41af6c9f92c26280584564 Author: Cedric Le Goater Date: Fri Dec 8 02:37:54 2006 -0800 [PATCH] add process_session() helper routine Replace occurences of task->signal->session by a new process_session() helper routine. It will be useful for pid namespaces to abstract the session pid number. Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef55d53caa055aedee13e77da82740987dd64f2d Author: David Howells Date: Fri Dec 8 02:37:53 2006 -0800 [PATCH] LOG2: Provide ilog2() fallbacks for powerpc Provide ilog2() fallbacks for powerpc for 32-bit numbers and 64-bit numbers on ppc64. Signed-off-by: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39d61db0edb34d60b83c5e0d62d0e906578cc707 Author: David Howells Date: Fri Dec 8 02:37:52 2006 -0800 [PATCH] LOG2: Alter get_order() so that it can make use of ilog2() on a constant Alter get_order() so that it can make use of ilog2() on a constant to produce a constant value, retaining the ability for an arch to override it in the non-const case. Signed-off-by: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 312a0c170945b49f319960afd2e492c05f9dd551 Author: David Howells Date: Fri Dec 8 02:37:51 2006 -0800 [PATCH] LOG2: Alter roundup_pow_of_two() so that it can use a ilog2() on a constant Alter roundup_pow_of_two() so that it can make use of ilog2() on a constant to produce a constant value, retaining the ability for an arch to override it in the non-const case. This permits the function to be used to initialise variables. Signed-off-by: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0d1b0b30d250a07627ad8b9fbbb5c7cc08422e8 Author: David Howells Date: Fri Dec 8 02:37:49 2006 -0800 [PATCH] LOG2: Implement a general integer log2 facility in the kernel This facility provides three entry points: ilog2() Log base 2 of unsigned long ilog2_u32() Log base 2 of u32 ilog2_u64() Log base 2 of u64 These facilities can either be used inside functions on dynamic data: int do_something(long q) { ...; y = ilog2(x) ...; } Or can be used to statically initialise global variables with constant values: unsigned n = ilog2(27); When performing static initialisation, the compiler will report "error: initializer element is not constant" if asked to take a log of zero or of something not reducible to a constant. They treat negative numbers as unsigned. When not dealing with a constant, they fall back to using fls() which permits them to use arch-specific log calculation instructions - such as BSR on x86/x86_64 or SCAN on FRV - if available. [akpm@osdl.org: MMC fix] Signed-off-by: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Herbert Xu Cc: David Howells Cc: Wojtek Kaniewski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3d7ae5f47a58a9f7b152deeaf7daa1fc558a8f1 Author: Josef Sipek Date: Fri Dec 8 02:37:48 2006 -0800 [PATCH] struct path: convert zorro Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad9a824e004067a3d888567a991603f1ac36efb2 Author: Josef Sipek Date: Fri Dec 8 02:37:48 2006 -0800 [PATCH] struct path: convert video Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 723731b2eef6599cf09af1fbfe0b12857b439e2d Author: Josef Sipek Date: Fri Dec 8 02:37:47 2006 -0800 [PATCH] struct path: convert v4l Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33cb89940082c54f348062db2f8bab6cf8fed816 Author: Josef Sipek Date: Fri Dec 8 02:37:46 2006 -0800 [PATCH] struct path: convert usb Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 592ccbf9fba665031765d9bb0f6c1ede1fa62f96 Author: Josef Sipek Date: Fri Dec 8 02:37:45 2006 -0800 [PATCH] struct path: convert unix Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 763454d6108ad1c6d4e1013321aef8bf5efb3a4f Author: Josef Sipek Date: Fri Dec 8 02:37:45 2006 -0800 [PATCH] struct path: convert ufs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5096e933a943c23bd9314b0ac7e14d07073cb2e5 Author: Josef Sipek Date: Fri Dec 8 02:37:44 2006 -0800 [PATCH] struct path: convert udf Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5495ca657d854ac57733ce5a52eee52255b3f4d8 Author: Josef Sipek Date: Fri Dec 8 02:37:43 2006 -0800 [PATCH] struct path: convert sysv Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 303b46bb77a4b1679fd39d7ab5597630743e0ff5 Author: Josef Sipek Date: Fri Dec 8 02:37:42 2006 -0800 [PATCH] struct path: convert sunrpc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1250ca4c8f48de482ec7c476cb024fe93ad1fbb3 Author: Josef Sipek Date: Fri Dec 8 02:37:41 2006 -0800 [PATCH] struct path: convert sparc64 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45e079810a27d4a072347d90d405948f95cee812 Author: Josef Sipek Date: Fri Dec 8 02:37:41 2006 -0800 [PATCH] struct path: convert sparc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bc563239e4c276afebd11d2e6e67ddc0cc65f0d Author: Josef Sipek Date: Fri Dec 8 02:37:40 2006 -0800 [PATCH] struct path: convert sound Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17b75e69493f655a09908045eddbb48718aef5de Author: Josef Sipek Date: Fri Dec 8 02:37:39 2006 -0800 [PATCH] struct path: convert smbfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c943c4b49c75f3cae89e5d993ce1ae859395caa2 Author: Josef Sipek Date: Fri Dec 8 02:37:38 2006 -0800 [PATCH] struct path: convert sh Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d5ff529ea222461a5fa3c4df05cbdc5eb56864d Author: Josef Sipek Date: Fri Dec 8 02:37:38 2006 -0800 [PATCH] struct path: convert selinux Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ac6207b2a6a5b828bc333f2530a3bd48197af3e Author: Josef Sipek Date: Fri Dec 8 02:37:37 2006 -0800 [PATCH] struct path: convert scsi Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fa95f726aba6033d7baffcfda484c31b8cfe153 Author: Josef Sipek Date: Fri Dec 8 02:37:36 2006 -0800 [PATCH] struct path: convert sbus Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d20343e7406a114a561030e683fafc4fdbc9c6bd Author: Josef Sipek Date: Fri Dec 8 02:37:35 2006 -0800 [PATCH] struct path: convert s390 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49522c97ac1c19188ff63598cdd0c980ba7f1239 Author: Josef Sipek Date: Fri Dec 8 02:37:34 2006 -0800 [PATCH] struct path: convert s390-drivers Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3027795e7b873da643e851d62d17f6bcc43d6e4a Author: Josef Sipek Date: Fri Dec 8 02:37:34 2006 -0800 [PATCH] struct path: convert romfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fc5adbd1916793c19d25347f484806c124d9be7 Author: Josef Sipek Date: Fri Dec 8 02:37:33 2006 -0800 [PATCH] struct path: convert reiserfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a57c4d65f70cb43c8503bc213c8be638011c22e7 Author: Josef Sipek Date: Fri Dec 8 02:37:32 2006 -0800 [PATCH] struct path: convert ramfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24e23c24e7a4754e50439dfc33bdbd05b09c4cc5 Author: Josef Sipek Date: Fri Dec 8 02:37:32 2006 -0800 [PATCH] struct path: convert qnx4 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2c8bbadbf6532e48025c9065231244f0c477c29 Author: Josef Sipek Date: Fri Dec 8 02:37:31 2006 -0800 [PATCH] struct path: convert ppc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4d1ab58c016f4dffef4ff1eb392fa84e3c35024 Author: Josef Sipek Date: Fri Dec 8 02:37:30 2006 -0800 [PATCH] struct path: convert powerpc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40fad04b224db982cce5f6226ebe3ceb6529b781 Author: Josef Sipek Date: Fri Dec 8 02:37:29 2006 -0800 [PATCH] struct path: convert pcmcia Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46cc65a767f458aec4d342b814a661a15dc31be1 Author: Josef Sipek Date: Fri Dec 8 02:37:28 2006 -0800 [PATCH] struct path: convert pci Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c5a5566892de5b240c89b9f72eb1c2e861206a0 Author: Josef Sipek Date: Fri Dec 8 02:37:28 2006 -0800 [PATCH] struct path: convert parisc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fb1430b14db30b8f113ddb4db389d316386f20b Author: Josef Sipek Date: Fri Dec 8 02:37:27 2006 -0800 [PATCH] struct path: convert oprofile Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80a067801d8cc9384f17991b90811f87ceab8225 Author: Josef Sipek Date: Fri Dec 8 02:37:26 2006 -0800 [PATCH] struct path: convert openpromfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d28c91740ae2cd1d963f9e4e3889789894cb6d52 Author: Josef Sipek Date: Fri Dec 8 02:37:25 2006 -0800 [PATCH] struct path: convert ocfs2 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6db5fc5d536560e31978c6911b1f5662e42083ac Author: Josef Sipek Date: Fri Dec 8 02:37:25 2006 -0800 [PATCH] struct path: convert netlink Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6df81ab22700aadbbefaf0aa00bb9a18f9f54028 Author: Josef Sipek Date: Fri Dec 8 02:37:24 2006 -0800 [PATCH] struct path: convert netfilter Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3126a42c4d40c2b963f880cd5c1e00f0b4fb0dc9 Author: Josef Sipek Date: Fri Dec 8 02:37:23 2006 -0800 [PATCH] struct path: convert net Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92e5baef8578a03335059a3dec933955c361edc1 Author: Josef Sipek Date: Fri Dec 8 02:37:22 2006 -0800 [PATCH] struct path: convert ncpfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17506041de973bdc718b9a255d822e571b12b421 Author: Josef Sipek Date: Fri Dec 8 02:37:22 2006 -0800 [PATCH] struct path: convert nbd Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9536ae7205d255bc94616b72910fc6e16c861fe Author: Josef Sipek Date: Fri Dec 8 02:37:21 2006 -0800 [PATCH] struct path: convert mm Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b04fe9a8ef10774174897b15d753b9de85fe9e9 Author: Josef Sipek Date: Fri Dec 8 02:37:20 2006 -0800 [PATCH] struct path: convert mips Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcf258ae682c2dbbe1a34624f2b3f56353d3874d Author: Josef Sipek Date: Fri Dec 8 02:37:19 2006 -0800 [PATCH] struct path: convert minix Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c649bb9c55e78dcff0e1383c13d91e0bfc2abb4a Author: Josef Sipek Date: Fri Dec 8 02:37:19 2006 -0800 [PATCH] struct path: convert md Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 225a719f79fbc4d0cd9d9ebc5b2e3ac0e95845aa Author: Josef Sipek Date: Fri Dec 8 02:37:18 2006 -0800 [PATCH] struct path: convert lockd Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7a005fd12b84392becca311f2a20d5bf2a1b7af Author: Josef Sipek Date: Fri Dec 8 02:37:17 2006 -0800 [PATCH] struct path: convert kernel Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff273773bfd4f2131bad1318e56519fcceac2339 Author: Josef Sipek Date: Fri Dec 8 02:37:16 2006 -0800 [PATCH] struct path: convert jfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec2e203c8297d576c74a101cebd657bc1f180dd1 Author: Josef Sipek Date: Fri Dec 8 02:37:16 2006 -0800 [PATCH] struct path: convert jffs2 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d832d460e13dd9c2cc93739ac0fd75bd8645e93 Author: Josef Sipek Date: Fri Dec 8 02:37:15 2006 -0800 [PATCH] struct path: convert jffs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1f229744ece0b7aa7ce89ecd1fb598b90305d5b Author: Josef Sipek Date: Fri Dec 8 02:37:14 2006 -0800 [PATCH] struct path: convert ixj Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4482dfad69d783d1df03ed3952838451a249985e Author: Josef Sipek Date: Fri Dec 8 02:37:13 2006 -0800 [PATCH] struct path: convert isdn Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b23463b9b94a00baf4cc3cf835c366cffff715c2 Author: Josef Sipek Date: Fri Dec 8 02:37:13 2006 -0800 [PATCH] struct path: convert isapnp Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 780884144248cbb6945b191c9867741bb8c0ad35 Author: Josef Sipek Date: Fri Dec 8 02:37:12 2006 -0800 [PATCH] struct path: convert ipmi Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d63079adde80bb549528371e6407f88e9d27bc3 Author: Josef Sipek Date: Fri Dec 8 02:37:11 2006 -0800 [PATCH] struct path: convert ipc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cfd6e648b5ea21b0d48bf6f18b129e4576557d5 Author: Josef Sipek Date: Fri Dec 8 02:37:10 2006 -0800 [PATCH] struct path: convert infiniband Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4db61081fac72623eb638f918819046361ff1508 Author: Josef Sipek Date: Fri Dec 8 02:37:10 2006 -0800 [PATCH] struct path: convert ieee1394 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b66ffad90429a2ed84c6e8954d205539f6cc86a9 Author: Josef Sipek Date: Fri Dec 8 02:37:09 2006 -0800 [PATCH] struct path: convert ia64 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cba0a128434f1fae6f90ba9f1fedf18be7abcf48 Author: Josef Sipek Date: Fri Dec 8 02:37:08 2006 -0800 [PATCH] struct path: convert i2c-drivers Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b39424e274a17c9c3233c9911dd328b10370de8f Author: Josef Sipek Date: Fri Dec 8 02:37:07 2006 -0800 [PATCH] struct path: convert hugetlbfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 471b17e7ed0cb29338458eaa09103902891d802a Author: Josef Sipek Date: Fri Dec 8 02:37:07 2006 -0800 [PATCH] struct path: convert hppfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 575800b3ccd51246f6bac3a07e253f72a61d74b9 Author: Josef Sipek Date: Fri Dec 8 02:37:06 2006 -0800 [PATCH] struct path: convert hpfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 680b0da9b10d97ddf3c325bf03ae8425ebf4fdec Author: Josef Sipek Date: Fri Dec 8 02:37:05 2006 -0800 [PATCH] struct path: convert hostfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f44ea03102a021b9c36cc82c7b6312cd23f23b3d Author: Josef Sipek Date: Fri Dec 8 02:37:04 2006 -0800 [PATCH] struct path: convert hfsplus Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c528896004793065b5ffd710e1cd844603ad8518 Author: Josef Sipek Date: Fri Dec 8 02:37:04 2006 -0800 [PATCH] struct path: convert hfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81454098f7c54118d290cd503bda2a41e3ac43fb Author: Josef Sipek Date: Fri Dec 8 02:37:03 2006 -0800 [PATCH] struct path: convert gfs2 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7706a9d6183da7701a9bca7155bccfcd182c670a Author: Josef Sipek Date: Fri Dec 8 02:37:02 2006 -0800 [PATCH] struct path: convert fuse Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f70ceccb8e9159118c1ac65a245b16406d9e721 Author: Josef Sipek Date: Fri Dec 8 02:37:01 2006 -0800 [PATCH] struct path: convert frv Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a90cd248deca1ceaf417c9a04bf3be6026e7a64 Author: Josef Sipek Date: Fri Dec 8 02:37:01 2006 -0800 [PATCH] struct path: convert freevxfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0191f2055cd16a2252219c621329b52d8b67194e Author: Josef Sipek Date: Fri Dec 8 02:37:00 2006 -0800 [PATCH] struct path: convert efs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc5ef55fd0d81f70b0afc86817aa1d305fd6aeaa Author: Josef Sipek Date: Fri Dec 8 02:36:59 2006 -0800 [PATCH] struct path: convert drm Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d817be9ca8766b521f6195f57281284c5ab0ff4c Author: Josef Sipek Date: Fri Dec 8 02:36:58 2006 -0800 [PATCH] struct path: convert cris Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 352d8af748a1bee0935987b811c9fc4693803d99 Author: Josef Sipek Date: Fri Dec 8 02:36:58 2006 -0800 [PATCH] struct path: convert cramfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f04538c38134edf5f424dc24fda6ef46da736734 Author: Josef Sipek Date: Fri Dec 8 02:36:57 2006 -0800 [PATCH] struct path: convert cosa Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4176d326d76ddea457a5e42ac8c2e3aed3430b1 Author: Josef Sipek Date: Fri Dec 8 02:36:56 2006 -0800 [PATCH] struct path: convert coda Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7113a966241b700aecc7b8cb326cecb62e3c4b2 Author: Josef Sipek Date: Fri Dec 8 02:36:55 2006 -0800 [PATCH] struct path: convert char-drivers Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c648be6f4183775679c1f2cc4d094128f104fb2 Author: Josef Sipek Date: Fri Dec 8 02:36:55 2006 -0800 [PATCH] struct path: convert block_drivers Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5a20b6c26efb58c2ba2ebebcc65748f5b92f662 Author: Josef Sipek Date: Fri Dec 8 02:36:54 2006 -0800 [PATCH] struct path: convert block Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61a8424ab8f611d199bfc8ca329ec0ea77a4d4ea Author: Josef Sipek Date: Fri Dec 8 02:36:53 2006 -0800 [PATCH] struct path: convert bfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f375fd6ff266d8e321648b36456f696cfae220 Author: Josef Sipek Date: Fri Dec 8 02:36:52 2006 -0800 [PATCH] struct path: convert befs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76a0f17429f5dd82186eec2ee2f37f5a5237d1a8 Author: Josef Sipek Date: Fri Dec 8 02:36:52 2006 -0800 [PATCH] struct path: convert atm Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ac0352bb20c5a8c051218c689d263b4591d50e1 Author: Josef Sipek Date: Fri Dec 8 02:36:51 2006 -0800 [PATCH] struct path: convert alpha Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d56a96956158d0fb1902c56ffa0e38caa39bddb Author: Josef Sipek Date: Fri Dec 8 02:36:50 2006 -0800 [PATCH] struct path: convert afs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 514653e25962c37b11fe648e4ef1c1130f697bcb Author: Josef Sipek Date: Fri Dec 8 02:36:50 2006 -0800 [PATCH] struct path: convert adfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e678fb0d523c118fc2f903d62cb54c89b6b68185 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:49 2006 -0800 [PATCH] xfs: change uses of f_{dentry,vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the xfs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd243a4b4b028d65a8178db5b57f8ed2cfc9707d Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:48 2006 -0800 [PATCH] ecryptfs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ecryptfs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6a002964cf376c2acb1d67c4741044dcd3b1622 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:48 2006 -0800 [PATCH] cifs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the cifs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 867fa491a2722cee6964a30dfda86e0e02dcb400 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:47 2006 -0800 [PATCH] configfs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the configfs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4669ed8ed982dab494c5d4f2b32921e5a6531d8 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:46 2006 -0800 [PATCH] autofs4: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the autofs4 filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81ed19b076f518e793283ccbd004fd0888877201 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:46 2006 -0800 [PATCH] autofs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the autofs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 010596cc311131421c7be3a73ee7174bda16d322 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:45 2006 -0800 [PATCH] affs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the affs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6f787bceeab37cd6b0823872efe01b2a20effb5 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:45 2006 -0800 [PATCH] 9p: change uses of f_{dentry,vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the 9p filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3ac7f892b7d07d61d0895caa4f6e190e43112f8 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:44 2006 -0800 [PATCH] mm: change uses of f_{dentry,vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in linux/mm/. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3a43f3f64bff8e205c3702f6b4804d66e306848 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:43 2006 -0800 [PATCH] kernel: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in linux/kernel/. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c941192aafe053ae445fb22f5d89bd34794c5442 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:43 2006 -0800 [PATCH] x86_64: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the x86_64 arch code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aab4c5a51cd6defc374ba1961c996781656d5283 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:42 2006 -0800 [PATCH] i386: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the i386 arch code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20d29372d3facfd078b4c7703637b951914d6759 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:41 2006 -0800 [PATCH] ntfs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ntfs filesystem code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7eaa36e2d470ed63bf0c4e4dd8b09cc4a9e1c481 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:41 2006 -0800 [PATCH] nfsd: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the nfs server code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01cce933d8b524d9312f5098c70fa1b6ac190572 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:40 2006 -0800 [PATCH] nfs: change uses of f_{dentry,vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the nfs client code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2485822d51f8b338d289abe00eb7ce5249794a08 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:40 2006 -0800 [PATCH] isofs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the isofs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dba32306099d6155b773ebe8fc5bcfab60d075d6 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:39 2006 -0800 [PATCH] fat: change uses of f_{dentry,vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the fat filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d549890e69156800878a486f832e92d8f3d7c97 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:38 2006 -0800 [PATCH] ext4: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ext4 filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe21a69389165b9641a8d0b89e00a71c4e5f5d59 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:38 2006 -0800 [PATCH] ext3: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ext3 filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c29c6934304a05781c9bd1611bd98870689f34e7 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:37 2006 -0800 [PATCH] ext2: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ext2 filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fddfeefeed703b7638af97aa3048f82a2d53b03 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:36 2006 -0800 [PATCH] proc: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the proc filesystem code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f427f5d5d6b0eb729505a2d9c0a6cad22734a74c Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:36 2006 -0800 [PATCH] sysfs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the sysfs filesystem code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f7fc9e4d03987fe29f6dd4aa67e4c56eb7ecb05 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:35 2006 -0800 [PATCH] VFS: change struct file to use struct path This patch changes struct file to use struct path instead of having independent pointers to struct dentry and struct vfsmount, and converts all users of f_{dentry,vfsmnt} in fs/ to use f_path.{dentry,mnt}. Additionally, it adds two #define's to make the transition easier for users of the f_dentry and f_vfsmnt. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b65d34fd465f19fbe2f32f2205a9a06ca7c2bdeb Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:34 2006 -0800 [PATCH] struct path: make eCryptfs a user of struct path Convert eCryptfs dentry-vfsmount pairs in dentry private data to struct path. Signed-off-by: Josef "Jeff" Sipek Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 346f20ff6020ffa11d40b789069079c56a444ae6 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:34 2006 -0800 [PATCH] struct path: move struct path from fs/namei.c into include/linux Moved struct path from fs/namei.c to include/linux/namei.h. This allows many places in the VFS, as well as any stackable filesystem to easily keep track of dentry-vfsmount pairs. Signed-off-by: Josef "Jeff" Sipek Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c922d5f7f5457da9e9b5a26dd53e2dcef6ca2f7d Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:33 2006 -0800 [PATCH] struct path: rename DM's struct path Rename DM's struct path to struct dm_path to prevent name collision between it and struct path from fs/namei.c. Signed-off-by: Josef "Jeff" Sipek Acked-by: Alasdair G Kergon Cc: Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fec6d055da71fb02a76f9c2c12427fa79974018b Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:32 2006 -0800 [PATCH] struct path: rename Reiserfs's struct path Rename Reiserfs's struct path to struct treepath to prevent name collision between it and struct path from fs/namei.c. Signed-off-by: Josef "Jeff" Sipek Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cc72dc7f050188d8d7344b1dd688cbc68d3cd30 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:31 2006 -0800 [PATCH] eCryptfs: Use fsstack's generic copy inode attr functions Replace eCryptfs specific code & calls with the more generic fsstack equivalents and remove the eCryptfs specific functions. Signed-off-by: Josef "Jeff" Sipek Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42cf11939becc717bd125d121a1a23415106a099 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:31 2006 -0800 [PATCH] fsstack: Introduce fsstack_copy_{attr,inode}_* Introduce several fsstack_copy_* functions which allow stackable filesystems (such as eCryptfs and Unionfs) to easily copy over (currently only) inode attributes. This prevents code duplication and allows for code reuse. [akpm@osdl.org: Remove unneeded wrapper] [bunk@stusta.de: fs/stack.c should #include ] Signed-off-by: Josef "Jeff" Sipek Cc: Michael Halcrow Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17b3cff079721bbc45e9d6de2fa3edb73561e27d Author: Akinobu Mita Date: Fri Dec 8 02:36:30 2006 -0800 [PATCH] isdn/gigaset: use bitrev8 Use bitrev8 for gigaset isdn driver. Acked-by: Karsten Keil Cc: Kai Germaschewski Acked-by: Hansjoerg Lipp Acked-by: Tilman Schmidt Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a8588578508a6c58a30ad1a7e23b285cfab49f3 Author: Akinobu Mita Date: Fri Dec 8 02:36:28 2006 -0800 [PATCH] atm/ambassador: use bitrev8 Use bitrev8 for ambassador driver. Cc: Chas Williams Cc: Giuliano Procida at Madge Networks Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60e657e377037d8ce82015903dd195851b7861ed Author: Akinobu Mita Date: Fri Dec 8 02:36:27 2006 -0800 [PATCH] isdn/hisax: use bitrev8 Use bitrev8 for hisax_st5481 driver. Acked-by: Karsten Keil Cc: Kai Germaschewski Cc: Frode Isaksen Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c6676825fe4cc03a71f253fc3e16ec17c6a3195 Author: Akinobu Mita Date: Fri Dec 8 02:36:26 2006 -0800 [PATCH] video: use bitrev8 Use bitrev8 for nvidiafb, rivafb, and tgafb drivers Cc: Antonino Daplas Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 906d66df18faa4aac8d898ae6920d1014694a932 Author: Akinobu Mita Date: Fri Dec 8 02:36:25 2006 -0800 [PATCH] crc32: replace bitreverse by bitrev32 This patch replaces bitreverse() by bitrev32. The only users of bitreverse() are crc32 itself and via-velocity. Cc: Jeff Garzik Cc: Matt Domsch Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5cfc1ec58a07074dacb6aa8c79eff864c966d12 Author: Akinobu Mita Date: Fri Dec 8 02:36:25 2006 -0800 [PATCH] bit reverse library This patch provides two bit reverse functions and bit reverse table. - reverse the order of bits in a u32 value u8 bitrev8(u8 x); - reverse the order of bits in a u32 value u32 bitrev32(u32 x); - byte reverse table const u8 byte_rev_table[256]; Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30e25b71e725b150585e17888b130e3324f8cf7c Author: Jeremy Fitzhardinge Date: Fri Dec 8 02:36:24 2006 -0800 [PATCH] Fix generic WARN_ON message A warning is a warning, not a BUG. Signed-off-by: Jeremy Fitzhardinge Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8605aef813f8eb3ef4b80d32cba6a671ef8deb0 Author: Judith Lebzelter Date: Fri Dec 8 02:36:23 2006 -0800 [PATCH] use generic BUG for ppc Switch ppc over to using the generic BUG implementation. Signed-off-by: Judith Lebzelter Cc: Jeremy Fitzhardinge Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e182c965b6ce0dffed0967a1be2173825a2ede2f Author: Jeff Dike Date: Fri Dec 8 02:36:23 2006 -0800 [PATCH] UML: add generic BUG support The BUG changes in -mm3 need some arch support. This patch adds the UML support needed. For the most part, it was stolen from the underlying architecture. The exception is the kernel eip < PAGE_OFFSET test, which is wrong for skas mode UMLs. Signed-off-by: Jeff Dike Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c31a0bf3e1bc581676618db7492f18798fd0a73f Author: Jeremy Fitzhardinge Date: Fri Dec 8 02:36:22 2006 -0800 [PATCH] Generic BUG for x86-64 This makes x86-64 use the generic BUG machinery. The main advantage in using the generic BUG machinery for x86-64 is that the inlined overhead of BUG is just the ud2a instruction; the file+line information are no longer inlined into the instruction stream. This reduces cache pollution. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Hugh Dickens Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91768d6c2bad0d2766a166f13f2f57e197de3458 Author: Jeremy Fitzhardinge Date: Fri Dec 8 02:36:21 2006 -0800 [PATCH] Generic BUG for i386 This makes i386 use the generic BUG machinery. There are no functional changes from the old i386 implementation. The main advantage in using the generic BUG machinery for i386 is that the inlined overhead of BUG is just the ud2a instruction; the file+line(+function) information are no longer inlined into the instruction stream. This reduces cache pollution, and makes disassembly work properly. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Hugh Dickens Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7664c5a1da4711bb6383117f51b94c8dc8f3f1cd Author: Jeremy Fitzhardinge Date: Fri Dec 8 02:36:19 2006 -0800 [PATCH] Generic BUG implementation This patch adds common handling for kernel BUGs, for use by architectures as they wish. The code is derived from arch/powerpc. The advantages of having common BUG handling are: - consistent BUG reporting across architectures - shared implementation of out-of-line file/line data - implement CONFIG_DEBUG_BUGVERBOSE consistently This means that in inline impact of BUG is just the illegal instruction itself, which is an improvement for i386 and x86-64. A BUG is represented in the instruction stream as an illegal instruction, which has file/line information associated with it. This extra information is stored in the __bug_table section in the ELF file. When the kernel gets an illegal instruction, it first confirms it might possibly be from a BUG (ie, in kernel mode, the right illegal instruction). It then calls report_bug(). This searches __bug_table for a matching instruction pointer, and if found, prints the corresponding file/line information. If report_bug() determines that it wasn't a BUG which caused the trap, it returns BUG_TRAP_TYPE_NONE. Some architectures (powerpc) implement WARN using the same mechanism; if the illegal instruction was the result of a WARN, then report_bug(Q) returns CONFIG_DEBUG_BUGVERBOSE; otherwise it returns BUG_TRAP_TYPE_BUG. lib/bug.c keeps a list of loaded modules which can be searched for __bug_table entries. The architecture must call module_bug_finalize()/module_bug_cleanup() from its corresponding module_finalize/cleanup functions. Unsetting CONFIG_DEBUG_BUGVERBOSE will reduce the kernel size by some amount. At the very least, filename and line information will not be recorded for each but, but architectures may decide to store no extra information per BUG at all. Unfortunately, gcc doesn't have a general way to mark an asm() as noreturn, so architectures will generally have to include an infinite loop (or similar) in the BUG code, so that gcc knows execution won't continue beyond that point. gcc does have a __builtin_trap() operator which may be useful to achieve the same effect, unfortunately it cannot be used to actually implement the BUG itself, because there's no way to get the instruction's address for use in generating the __bug_table entry. [randy.dunlap@oracle.com: Handle BUG=n, GENERIC_BUG=n to prevent build errors] [bunk@stusta.de: include/linux/bug.h must always #include Cc: Andi Kleen Cc: Hugh Dickens Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Rusty Russell Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c48f70c3d046f021b1c22438604ef2a583380eca Author: Peter Zijlstra Date: Fri Dec 8 02:36:18 2006 -0800 [PATCH] bdev: fix ->bd_part_count leak Don't leak a ->bd_part_count when the partition open fails with -ENXIO. Signed-off-by: Peter Zijlstra Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d63a5a74dee87883fda6b7d170244acaac5b05e8 Author: NeilBrown Date: Fri Dec 8 02:36:17 2006 -0800 [PATCH] lockdep: avoid lockdep warning in md md_open takes ->reconfig_mutex which causes lockdep to complain. This (normally) doesn't have deadlock potential as the possible conflict is with a reconfig_mutex in a different device. I say "normally" because if a loop were created in the array->member hierarchy a deadlock could happen. However that causes bigger problems than a deadlock and should be fixed independently. So we flag the lock in md_open as a nested lock. This requires defining mutex_lock_interruptible_nested. Cc: Ingo Molnar Acked-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6796bf54a64df36f96a42ae222423fffe36c58a5 Author: NeilBrown Date: Fri Dec 8 02:36:16 2006 -0800 [PATCH] lockdep: use mutex_lock_nested for bd_mutex to avoid lockdep warning Now that the nesting in blkdev_{get,put} is simpler, adding mutex_lock_nested is trivial. Cc: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37be41241f43109c55d92cdbf303399eea642f14 Author: NeilBrown Date: Fri Dec 8 02:36:16 2006 -0800 [PATCH] lockdep: simplify some aspects of bd_mutex nesting When we open (actually blkdev_get) a partition we need to also open (get) the whole device that holds the partition. The involves some limited recursion. This patch tries to simplify some aspects of this. As well as opening the whole device, we need to increment ->bd_part_count when a partition is opened (this is used by rescan_partitions to avoid a rescan if any partition is active, as that would be confusing). The main change this patch makes is to move the inc/dec of bd_part_count into blkdev_{get,put} for the whole rather than doing it in blkdev_{get,put} for the partition. More specifically, we introduce __blkdev_get and __blkdev_put which do exactly what blkdev_{get,put} did, only with an extra "for_part" argument (blkget_{get,put} then call the __ version with a '0' for the extra argument). If for_part is 1, then the blkdev is being get(put) because a partition is being opened(closed) for the first(last) time, and so bd_part_count should be updated (on success). The particular advantage of pushing this function down is that the bd_mutex lock (which is needed to update bd_part_count) is already held at the lower level. Note that this slightly changes the semantics of bd_part_count. Instead of updating it whenever a partition is opened or released, it is now only updated on the first open or last release. This is an adequate semantic as it is only ever tested for "== 0". Having introduced these functions we remove the current bd_part_count updates from do_open (which is really the body of blkdev_get) and call __blkdev_get(... 1). Similarly in blkget_put we remove the old bd_part_count updates and call __blkget_put(..., 1). This call is moved to the end of __blkdev_put to avoid nested locks of bd_mutex. Finally the mutex_lock on whole->bd_mutex in do_open can be removed. It was only really needed to protect bd_part_count, and that is now managed (and protected) within the recursive call. The observation that bd_part_count is central to the locking issues, and the modifications to create __blkdev_put are from Peter Zijlstra. Cc: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd27c7a1bfa9801544ca961cdb4ca0b4998580b8 Author: NeilBrown Date: Fri Dec 8 02:36:14 2006 -0800 [PATCH] lockdep: remove lock_key approach to managing nested bd_mutex locks The extra call to get_gendisk is not good. It causes a ->probe and possible module load before it is really appropriate to do this. Cc: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35a6027f1ab6594068cb8bca7705e4567753946b Author: Peter Zijlstra Date: Fri Dec 8 02:36:14 2006 -0800 [PATCH] new bd_mutex lockdep annotation Use the gendisk partition number to set a lock class. Signed-off-by: Peter Zijlstra Cc: Neil Brown Cc: Ingo Molnar Acked-by: Arjan van de Ven Cc: Jason Baron Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e7b651df113c8a463853e4169951c52c39f9d19 Author: Peter Zijlstra Date: Fri Dec 8 02:36:13 2006 -0800 [PATCH] remove the old bd_mutex lockdep annotation Remove the old complex and crufty bd_mutex annotation. Signed-off-by: Peter Zijlstra Cc: Neil Brown Cc: Ingo Molnar Cc: Arjan van de Ven Cc: Jason Baron Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32694850a91bd4fedcdd4a46292f870588be81d1 Author: Thomas Maier Date: Fri Dec 8 02:36:12 2006 -0800 [PATCH] pktcdvd: add sysfs and debugfs interface Add a sysfs and debugfs interface to the pktcdvd driver. Look into the Documentation/ABI/testing/* files in the patch for more info. Signed-off-by: Thomas Maier Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a0fc9601dd1024ec7171993bf075a789246e1ed Author: Thomas Maier Date: Fri Dec 8 02:36:11 2006 -0800 [PATCH] pktcdvd: bio write congestion using congestion_wait() This adds a bio write queue congestion control to the pktcdvd driver with fixed on/off marks. It prevents that the driver consumes a unlimited amount of write requests. [akpm@osdl.org: sync with congestion_wait() renaming] Signed-off-by: Thomas Maier Cc: Peter Osterlund Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d4eeec563a0472b68de3597c17f2d3b11c49c00 Author: Thomas Maier Date: Fri Dec 8 02:36:10 2006 -0800 [PATCH] pktcdvd: make procfs interface optional pktcdvd: Update Kconfig help text. Signed-off-by: Thomas Maier Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adb9250a07edb7d41a17ba3b96fcb84c4d8e4260 Author: Thomas Maier Date: Fri Dec 8 02:36:10 2006 -0800 [PATCH] pktcdvd: reusability of procfs functions This patch makes some of the procfs functions reusable (for coming sysfs patch e.g.): pkt_setup_dev() pkt_remove_dev() ... Signed-off-by: Thomas Maier Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dae3c5a0b7052ad7dd9fa78c51ecfab828c5007b Author: Oleg Nesterov Date: Fri Dec 8 02:36:09 2006 -0800 [PATCH] sys_unshare: remove a broken CLONE_SIGHAND code sys_unshare(CLONE_SIGHAND) is broken, the code under 'if (new_sigh)' is never executed but very wrong. Just remove it to avoid a confusion, task_lock() has nothing to do with ->sighand changing. Also, change the comment in unshare_sighand(). Yes, CLONE_THREAD implies CLONE_SIGHAND, but still it looks confusing. Also, we don't need to check current->sighand != NULL. Signed-off-by: Oleg Nesterov Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae424ae4b5bcd820ad6ee6f0b986c4e14ed4d6cf Author: Oleg Nesterov Date: Fri Dec 8 02:36:08 2006 -0800 [PATCH] make set_special_pids() static Make set_special_pids() static, the only caller is daemonize(). Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bcfa95e561f11a17720162935e4f704c5d6fda3 Author: Oleg Nesterov Date: Fri Dec 8 02:36:07 2006 -0800 [PATCH] do_acct_process(): don't take tty_mutex No need to take the global tty_mutex, signal->tty->driver can't go away while we are holding ->siglock. Signed-off-by: Oleg Nesterov Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 915935041281c64589e2b7fe38437be22567fb6f Author: Oleg Nesterov Date: Fri Dec 8 02:36:07 2006 -0800 [PATCH] do_task_stat(): don't take tty_mutex ->signal->tty is protected by ->siglock, no need to take the global tty_mutex. Signed-off-by: Oleg Nesterov Acked-by: Peter Zijlstra Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24ec839c431eb79bb8f6abc00c4e1eb3b8c4d517 Author: Peter Zijlstra Date: Fri Dec 8 02:36:04 2006 -0800 [PATCH] tty: ->signal->tty locking Fix the locking of signal->tty. Use ->sighand->siglock to protect ->signal->tty; this lock is already used by most other members of ->signal/->sighand. And unless we are 'current' or the tasklist_lock is held we need ->siglock to access ->signal anyway. (NOTE: sys_unshare() is broken wrt ->sighand locking rules) Note that tty_mutex is held over tty destruction, so while holding tty_mutex any tty pointer remains valid. Otherwise the lifetime of ttys are governed by their open file handles. This leaves some holes for tty access from signal->tty (or any other non file related tty access). It solves the tty SLAB scribbles we were seeing. (NOTE: the change from group_send_sig_info to __group_send_sig_info needs to be examined by someone familiar with the security framework, I think it is safe given the SEND_SIG_PRIV from other __group_send_sig_info invocations) [schwidefsky@de.ibm.com: 3270 fix] [akpm@osdl.org: various post-viro fixes] Signed-off-by: Peter Zijlstra Acked-by: Alan Cox Cc: Oleg Nesterov Cc: Prarit Bhargava Cc: Chris Wright Cc: Roland McGrath Cc: Stephen Smalley Cc: James Morris Cc: "David S. Miller" Cc: Jeff Dike Cc: Martin Schwidefsky Cc: Jan Kara Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 562f9c574e0707f9159a729ea41faf53b221cd30 Author: john stultz Date: Fri Dec 8 02:36:02 2006 -0800 [PATCH] time: re-add verify_pmtmr_rate This patch re-adds the verify_pmtmr_rate functionality from 2.6.17 that I dropped 2.6.18. This resolves problems seen on older K6 ASUS boards where the ACPI PM timer runs too fast. See: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=211902 http://bugme.osdl.org/show_bug.cgi?id=2375 Thanks to Ian Campbell for re-reporting this and testing the fix! Signed-off-by: John Stultz Cc: Andi Kleen Cc: Ian Campbell Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2ee8649ba6d71416712e798276bf7c40b64e6e5 Author: Herbert Poetzl Date: Fri Dec 8 02:36:00 2006 -0800 [PATCH] Fix linux banner utsname information utsname information is shown in the linux banner, which also is used for /proc/version (which can have different utsname values inside a uts namespaces). this patch makes the varying data arguments and changes the string to a format string, using those arguments. Signed-off-by: Herbert Poetzl Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e2ac66470976ad7f57e0948572669b2bdfea2d0 Author: Hidetoshi Seto Date: Fri Dec 8 02:35:58 2006 -0800 [PATCH] CPEI gets warning at kernel/irq/migration.c:27/move_masked_irq() While running my MCA test (hardware error injection) on 2.6.19, I got some warning like following: > BUG: warning at kernel/irq/migration.c:27/move_masked_irq() > > Call Trace: > [] show_stack+0x40/0xa0 > sp=e00000006b2578d0 bsp=e00000006b2510b0 > [] dump_stack+0x30/0x60 > sp=e00000006b257aa0 bsp=e00000006b251098 > [] move_masked_irq+0xb0/0x240 > sp=e00000006b257aa0 bsp=e00000006b251070 > [] move_native_irq+0xe0/0x180 > sp=e00000006b257aa0 bsp=e00000006b251040 > [] iosapic_end_level_irq+0x30/0xe0 > sp=e00000006b257aa0 bsp=e00000006b251020 > [] __do_IRQ+0x170/0x400 > sp=e00000006b257aa0 bsp=e00000006b250fd8 > [] ia64_handle_irq+0x1b0/0x260 > sp=e00000006b257aa0 bsp=e00000006b250fa8 > [] ia64_leave_kernel+0x0/0x280 > sp=e00000006b257aa0 bsp=e00000006b250fa8 > [] _spin_unlock_irqrestore+0x30/0x60 > sp=e00000006b257c70 bsp=e00000006b250f90 It comes from: [kernel/irq/migration.c] 26 if (CHECK_IRQ_PER_CPU(desc->status)) { 27 WARN_ON(1); 28 return; 29 } By putting some printk in kernel, I found that irqbalance is trying to move CPEI which is handled as PER_CPU irq. That's why. CPEI(Corrected Platform Error Interrupt) is ia64 specific irq, is allowed to pin to particular processor which selected by the platform, and even it is PER_CPU but it has set_affinity handler (=iosapic_set_affinity) as same as other IO-SAPIC-level interrupts. (I don't know why, but I guess that there would be typical situation where the handler for migration is needed, such as hotplug - the processor going to be offline/hot-removed.) To shut up this warning, there are 2 way at least: a) fix CPEI stuff b) prohibit setting affinity to PER_CPU irq I'm not sure what stuff of CPEI need to be fixed, but I think that returning error to attempting move PER_CPU irq is useful for all applications since it will never work. Following small patch takes b) style. It works, the warning disappeared and irqbalance still runs well. Signed-off-by: Hidetoshi Seto Cc: Arjan van de Ven Acked-by: Ingo Molnar Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aad094701c6355cb2b3d74a07ec0496f4a48c787 Author: Jan Beulich Date: Fri Dec 8 02:35:57 2006 -0800 [PATCH] move kallsyms data to .rodata Kallsyms data is never written to, so it can as well benefit from CONFIG_DEBUG_RODATA. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d93f7de8c5dfefb030a5e65d0857176879bf78e9 Author: Hirokazu Takata Date: Fri Dec 8 02:35:57 2006 -0800 [PATCH] m32r: bootloader support for OPSPUT platform This patch supports "m32r-g00ff" bootloader for an OPSPUT platform. Applying this patch, it is possible to do ATA-boot from an IDE drive or HTTP-boot from network by m32r-g00ff. * arch/m32r/boot/compressed/m32r_sio.c: Fix hangup on OPSPUT at boot. * arch/m32r/kernel/io_opsput.c: IDE support for OPSPUT. * arch/m32r/kernel/setup_opsput.c: ditto. * include/asm-m32r/ide.h: ditto. Signed-off-by: Kazuhiro Inaoka Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b8bd3f4b2e9d0fbfd0e7d75ba1cdc79c6876ecc Author: Hirokazu Takata Date: Fri Dec 8 02:35:56 2006 -0800 [PATCH] m32r: fix ace_handler to pass full 32-bit address Don't mask the lower 12-bit of the page fault address. In the current m32r kernel implementation, we use an access exception to detect page faults. This patch fixes ace_handler (access exception handler) for m32r. In order to check userspace address in do_page_fault, we have to pass full 32-bit address to do_page_fault. Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f894cb5c938de467e208e5934c90cb9deee7dc46 Author: Hirokazu Takata Date: Fri Dec 8 02:35:55 2006 -0800 [PATCH] m32r: support a synthesizable M32700 core This patch is for supporting a synthesizable M32700 core for the Mappi-II FPGA board. On the core, location of MFT (Multi-Function Timer) registers is slightly different from the M32700 chip. Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b03a632ef673bf1069ac9c96c97ff2830289312 Author: Hirokazu Takata Date: Fri Dec 8 02:35:54 2006 -0800 [PATCH] m32r: make userspace headers platform-independent The m32r kernel 2.6.18-rc1 or after cause build errors of "unknown isa configuration" for userspace application programs, such as glibc, gdb, etc. This is because the recent kernel do not include linux/config.h not to expose kernel headers for userspace. To fix the above compile errors, this patch fixes two headers ptrace.h and sigcontext.h for m32r and makes them platform-independent. Signed-off-by: Hirokazu Takata Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8b50b6519afa9891b753c4fffa89d89e04df66a Author: Paul Jackson Date: Fri Dec 8 02:35:53 2006 -0800 [PATCH] mm: fallback_alloc cpuset_zone_allowed irq fix fallback_alloc() could end up calling cpuset_zone_allowed() with interrupts disabled (by code in kmem_cache_alloc_node()), but without __GFP_HARDWALL set, leading to a possible call of a sleeping function with interrupts disabled. This results in the BUG report: BUG: sleeping function called from invalid context at kernel/cpuset.c:1520 in_atomic():0, irqs_disabled():1 Thanks to Paul Menage for catching this one. Signed-off-by: Paul Jackson Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01a732eb22dab153732b94962467eaabb1fd3797 Author: Randy Dunlap Date: Fri Dec 8 02:35:52 2006 -0800 [PATCH] ext4 calls journal_stop journal_stop() is not defined for ext4; change to ext4_journal_stop(). Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 028d9b3cc62cb9dd31f1b5929edb3c23612cfccc Author: Heiko Carstens Date: Fri Dec 8 15:56:13 2006 +0100 [S390] Poison init section before freeing it. The data patterns should allow us to easily tell if somebody accesses initdata/code after it was freed. Same code as on various other architectures. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 39b742f957a287a7514a8a35c9f516cdf30b9ff5 Author: Heiko Carstens Date: Fri Dec 8 15:56:10 2006 +0100 [S390] Use add_active_range() and free_area_init_nodes(). Size zones and holes in an architecture independent manner for s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f4eb07c17df2e6cf9bd58bfcd9cc9e05e9489d07 Author: Heiko Carstens Date: Fri Dec 8 15:56:07 2006 +0100 [S390] Virtual memmap for s390. Virtual memmap support for s390. Inspired by the ia64 implementation. Unlike ia64 we need a mechanism which allows us to dynamically attach shared memory regions. These memory regions are accessed via the dcss device driver. dcss implements the 'direct_access' operation, which requires struct pages for every single shared page. Therefore this implementation provides an interface to attach/detach shared memory: int add_shared_memory(unsigned long start, unsigned long size); int remove_shared_memory(unsigned long start, unsigned long size); The purpose of the add_shared_memory function is to add the given memory range to the 1:1 mapping and to make sure that the corresponding range in the vmemmap is backed with physical pages. It also initialises the new struct pages. remove_shared_memory in turn only invalidates the page table entries in the 1:1 mapping. The page tables and the memory used for struct pages in the vmemmap are currently not freed. They will be reused when the next segment will be attached. Given that the maximum size of a shared memory region is 2GB and in addition all regions must reside below 2GB this is not too much of a restriction, but there is room for improvement. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7f090145a14afc35844dce80174c9c24f9e66ec5 Author: Cornelia Huck Date: Fri Dec 8 15:56:02 2006 +0100 [S390] Update documentation for dynamic subchannel mapping. Signed-off-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 529192f3b90682e37c5fcab461d968d062f1e0e4 Author: Cornelia Huck Date: Fri Dec 8 15:55:57 2006 +0100 [S390] Use dev->groups for adding/removing the subchannel attribute group. Signed-off-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit d7b5a4c94f49131811112526f7d404a50f0b5ca7 Author: Cornelia Huck Date: Fri Dec 8 15:54:28 2006 +0100 [S390] Support for disconnected devices reappearing on another subchannel. - create a 'pseudo_subchannel' per channel subsystem (the 'orphanage') - use the orphanage as a shelter for ccw_devices that can't remain on the same subchannel Signed-off-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 2ec2298412e1ab4674b3780005058d4f0b8bd858 Author: Cornelia Huck Date: Fri Dec 8 15:54:26 2006 +0100 [S390] subchannel lock conversion. Convert the subchannel lock to a pointer to a lock. Needed for the dynamic subchannel mapping patch. Signed-off-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 7674da77cb2d27ae6559c55151da171ceb02beb4 Author: Cornelia Huck Date: Fri Dec 8 15:54:21 2006 +0100 [S390] Some preparations for the dynamic subchannel mapping patch. - Move adding subchannel attributes to css_register_subchannel(). - Don't call device_trigger_reprobe() for non-operational devices. - Introduce io_subchannel_create_ccwdev(). Signed-off-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 34249d0f9243fce773c2fa352934ba108320e234 Author: Ursula Braun Date: Fri Dec 8 15:54:18 2006 +0100 [S390] runtime switch for qdio performance statistics Remove CONFIG_QETH_PERF_STATS and use a sysfs attribute instead. We want to have the ability to turn the statistics on/off at runtime. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 9575bf265711cabe7147a68003a56a9f19f034da Author: Horst Hummel Date: Fri Dec 8 15:54:15 2006 +0100 [S390] New DASD feature for ERP related logging It is now possible to enable/disable ERP related logging without re-compile and re-ipl. A additional sysfs-attribute 'erplog' allows to switch the logging non-interruptive. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 85eca8503997cf3a869b159954f703530c865299 Author: Ralph Wuerthner Date: Fri Dec 8 15:54:07 2006 +0100 [S390] add reset call handler to the ap bus. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit c16375329c2ab4667df873394c4be7a61d163c62 Author: Martin Schwidefsky Date: Fri Dec 8 15:53:57 2006 +0100 [S390] more workqueue fixes. Signed-off-by: Martin Schwidefsky commit e45ccc0562e3f391dcba8b2e8a02551e8e42d8db Author: Andrew Morton Date: Fri Dec 8 15:53:52 2006 +0100 [S390] workqueue fixes. Cc: David Howells Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 22155914b66b348b7113a0b3baf96a72bd3f643d Author: Heiko Carstens Date: Fri Dec 8 15:53:49 2006 +0100 [S390] uaccess_pt: add missing down_read() and convert to is_init(). Doesn't seem to be a good idea to duplicate code :) Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bff19b1d0b2c62882ca4b8f900b52f410c09e967 Author: Dmitry Torokhov Date: Fri Dec 8 01:37:03 2006 -0500 Input: ucb1400 - fix compile error try_to_freeze() was moved into include/linux/freezer.h Signed-off-by: Dmitry Torokhov commit f90c34b8c6630beedbf293fcfcc3cbe327383b3a Author: Paul Mundt Date: Fri Dec 8 01:36:44 2006 -0500 Input: kill maple_keyb.c driver The bus for this was removed entirely some time ago, as well as most of the drivers that referenced it. maple_keyb seems to have been the odd one out, and was still sitting in the source tree (though not actually part of the build system). Kill off the rest of it.. Signed-off-by: Paul Mundt Signed-off-by: Dmitry Torokhov commit bb06ec3cc53bc1e4405561cf12756c51e8eecd6e Author: Dmitry Torokhov Date: Fri Dec 8 01:36:32 2006 -0500 Input: i8042 - add another Lifebook P7010 to nomux blacklist We already had entry for Fujitsu Lifebook P7010 in the nomux blacklist but for some reason Fujitsu decided to fiddle with DMI data... Signed-off-by: Dmitry Torokhov commit bef986502fa398b1785a3979b1aa17cd902d3527 Merge: 4bdbd28... c997679... Author: Dmitry Torokhov Date: Fri Dec 8 01:07:56 2006 -0500 Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/usb/input/hid.h commit 33ec32fae0e2c4433bfd1e74cbde6cb16604a719 Author: Steve French Date: Fri Dec 8 04:14:28 2006 +0000 [CIFS] Fix NTLMv2 mounts to Windows servers Windows servers are pickier about NTLMv2 than Samba. This enables more secure mounts to Windows (not just Samba) ie when "sec=ntlmv2" is specified on the mount. Signed-off-by: Steve French commit c99767974ebd2a719d849fdeaaa1674456f5283f Merge: ea14fad... ec9b7e1... Author: Linus Torvalds Date: Thu Dec 7 16:18:46 2006 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (55 commits) ieee1394: sbp2: code formatting around work_struct stuff ieee1394: nodemgr: remove a kcalloc ieee1394: conditionally export ieee1394_bus_type ieee1394: Consolidate driver registering ieee1394: sbp2: convert from PCI DMA to generic DMA ieee1394: nodemgr: spaces to tabs ieee1394: nodemgr: fix deadlock in shutdown ieee1394: nodemgr: remove duplicate assignment sbp2: make 1bit bitfield unsigned ieee1394: schedule *_oui sysfs attributes for removal ieee1394: schedule unused symbol exports for removal ieee1394: dv1394: schedule for feature removal ieee1394: raw1394: defer feature removal of old isoch interface ieee1394: ohci1394: call PMac code in shutdown only for proper machines ieee1394: ohci1394: reformat PPC_PMAC platform code ieee1394: ohci1394: add PPC_PMAC platform code to driver probe ieee1394: sbp2: wrap two functions into one ieee1394: sbp2: update comment on things to do ieee1394: sbp2: use list_move_tail() ieee1394: sbp2: more concise names for types and variables ... commit ea14fad0d416354a4e9bb1a04f32acba706f9548 Merge: 6ee7e78... 6705cda... Author: Linus Torvalds Date: Thu Dec 7 15:40:39 2006 -0800 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (76 commits) [ARM] 4002/1: S3C24XX: leave parent IRQs unmasked [ARM] 4001/1: S3C24XX: shorten reboot time [ARM] 3983/2: remove unused argument to __bug() [ARM] 4000/1: Osiris: add third serial port in [ARM] 3999/1: RX3715: suspend to RAM support [ARM] 3998/1: VR1000: LED platform devices [ARM] 3995/1: iop13xx: add iop13xx support [ARM] 3968/1: iop13xx: add iop13xx_defconfig [ARM] Update mach-types [ARM] Allow gcc to optimise arm_add_memory a little more [ARM] 3991/1: i.MX/MX1 high resolution time source [ARM] 3990/1: i.MX/MX1 more precise PLL decode [ARM] 3986/1: H1940: suspend to RAM support [ARM] 3985/1: ixp4xx clocksource cleanup [ARM] 3984/1: ixp4xx/nslu2: Fix disk LED numbering (take 2) [ARM] 3994/1: ixp23xx: fix handling of pci master aborts [ARM] 3981/1: sched_clock for PXA2xx [ARM] 3980/1: extend the ARM Versatile sched_clock implementation from 32 to 63 bit [ARM] 3979/1: extend the SA11x0 sched_clock implementation from 32 to 63 bit period [ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter ... commit 6ee7e78e7c78d871409ad4df30551c9355be7d0e Merge: 7f3af60... 52fd910... Author: Linus Torvalds Date: Thu Dec 7 15:39:22 2006 -0800 Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] replace kmalloc+memset with kzalloc [IA64] resolve name clash by renaming is_available_memory() [IA64] Need export for csum_ipv6_magic [IA64] Fix DISCONTIGMEM without VIRTUAL_MEM_MAP [PATCH] Add support for type argument in PAL_GET_PSTATE [IA64] tidy up return value of ip_fast_csum [IA64] implement csum_ipv6_magic for ia64. [IA64] More Itanium PAL spec updates [IA64] Update processor_info features [IA64] Add se bit to Processor State Parameter structure [IA64] Add dp bit to cache and bus check structs [IA64] SN: Correctly update smp_affinty mask [IA64] sparse cleanups [IA64] IA64 Kexec/kdump commit 6705cda24fad1cb0ac82ac4f312df8ec735b39b0 Merge: 0215ffb... 208a49f... d4f3e08... 05f96ef... 2dc20a5... 47d7e52... 285f5fa... Author: Russell King Date: Thu Dec 7 23:07:26 2006 +0000 [ARM] Merge individual ARM sub-trees Merge: Atmel AT91RM9200 and AT91SAM9260 changes General ARM developments Disconfiguous memory cleanups 64-bit/32-bit division and sched_clock extension patches EP93xx support changes IOP support changes Signed-off-by: Russell King commit 7f3af60e5a444b287d740a84998a8f480645dadf Merge: 21b4e73... 1769b46... Author: Linus Torvalds Date: Thu Dec 7 15:04:20 2006 -0800 Merge branch 'intx' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'intx' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: PCI MSI: always toggle legacy-INTx-enable bit upon MSI entry/exit commit d4f3e084adf5414539ebb01848b851fe0f888084 Author: Ben Dooks Date: Thu Dec 7 23:59:05 2006 +0100 [ARM] 4002/1: S3C24XX: leave parent IRQs unmasked Do not bother masking/unmasking the parent IRQ for the mulitplexed EINT irqs, as masking the leaf seems to be fine. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 32d2deeab91be4de630d22fa7f4dbb3d61eba474 Author: Ben Dooks Date: Thu Dec 7 23:53:21 2006 +0100 [ARM] 4001/1: S3C24XX: shorten reboot time Cut down the time between requesting a reboot and actually getting the reboot to happen by a quarter. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1769b46a3ed9ce68c835f84493be46e606e58ef1 Author: Jeff Garzik Date: Thu Dec 7 17:56:06 2006 -0500 PCI MSI: always toggle legacy-INTx-enable bit upon MSI entry/exit The current code (prior to this change) would disable the PCI INTx legacy interrupt when enabling MSI... but only on PCI Express. We should do this for all MSI devices, for safety's sake. Signed-off-by: Jeff Garzik commit 7174d852603ced7a161f47c6e3958073706114a9 Author: Nicolas Pitre Date: Thu Dec 7 19:09:20 2006 +0100 [ARM] 3983/2: remove unused argument to __bug() It appears that include/asm-arm/bug.h requires include/linux/stddef.h for the definition of NULL. It seems that stddef.h was always included indirectly in most cases, and that issue was properly fixed a while ago. Then commit 5047f09b56d0bc3c21aec9cb16de60283da645c6 incorrectly reverted change from commit ff10952a547dad934d9ed9afc5cf579ed1ccb53a (bad dwmw2) and the problem recently resurfaced. Because the third argument to __bug() is never used anyway, RMK suggested getting rid of it entirely instead of readding #include which this patch does. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit ca7aa4de81178babca16df67a7b72a063a7c6891 Author: Ben Dooks Date: Thu Dec 7 20:49:01 2006 +0100 [ARM] 4000/1: Osiris: add third serial port in Add the mapping for the third S3C2440 serial port into the default serial devices for the Osiris. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit bbf6f2809dbadc2bacfd73a052d8b0893dbf1762 Author: Ben Dooks Date: Thu Dec 7 20:47:58 2006 +0100 [ARM] 3999/1: RX3715: suspend to RAM support The RX3715 is similar to the H1940 in the way that suspend to RAM works, so we can use most of the extant support for the H1940 with only a few modifictions Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b2eba6bb44300b46cdd2e5d0b19d5f4bd7d001ac Author: Ben Dooks Date: Thu Dec 7 20:28:23 2006 +0100 [ARM] 3998/1: VR1000: LED platform devices Support for the GPIO attached LEDs on the VR1000 Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ec9b7e1044d718723d16390179abc6d4c8d9b0a1 Author: Stefan Richter Date: Thu Dec 7 23:23:25 2006 +0100 ieee1394: sbp2: code formatting around work_struct stuff Merge is finished, can bring the code in readable style again. Signed-off-by: Stefan Richter commit 1e4f7bc8f8ce07b850a5831d01a6eae83055bb42 Author: Stefan Richter Date: Sat Dec 2 22:23:34 2006 +0100 ieee1394: nodemgr: remove a kcalloc Was I sleepwalking when I wrote this? Signed-off-by: Stefan Richter commit 3015c7397876f5c5de0e178e2dfe22859b5d8754 Author: Stefan Richter Date: Fri Nov 24 20:19:09 2006 +0100 ieee1394: conditionally export ieee1394_bus_type Follow-up to patch "Consolidate driver registering": Since I plan the lifetime of Linux 2.6.20 to be the deprecation phase of CONFIG_IEEE1394_EXPORT_FULL_API, it seems fair to keep all previously exported symbols available with this option until this phase is over. Signed-off-by: Stefan Richter commit ed30c26ee809b060f437fd9f1b3453e1d0375e32 Author: Ben Collins Date: Thu Nov 23 13:59:48 2006 -0500 ieee1394: Consolidate driver registering This patch consolidates some bookkeeping for driver registering. It closely models what pci_register_driver() does. The main addition is that the owner of the driver is set, so we get a proper symlink for /sys/bus/ieee1394/driver/*/module. Also moves setting of name and bus type into nodemgr. Because of this, we can remove the EXPORT_SYMBOL for ieee1394_bus_type, since it's now only used in ieee1394.ko. Signed-off-by: Stefan Richter commit 9b7d9c096dd4e4baacc21b2588662bbb56f36c4e Author: Stefan Richter Date: Wed Nov 22 21:44:34 2006 +0100 ieee1394: sbp2: convert from PCI DMA to generic DMA API conversion without change in functionality Signed-off-by: Stefan Richter commit d41bba2d3adcddbdd7b5ed4d4abf07890cf6006f Author: Stefan Richter Date: Wed Nov 22 21:28:19 2006 +0100 ieee1394: nodemgr: spaces to tabs whitespace pedantry Signed-off-by: Stefan Richter commit 8252bbb1363b7fe963a3eb6f8a36da619a6f5a65 Author: Stefan Richter Date: Wed Nov 22 21:09:42 2006 +0100 ieee1394: nodemgr: fix deadlock in shutdown If "modprobe ohci1394" was quickly followed by "modprobe -r ohci1394", say with 1 second pause in between, the modprobe -r got stuck in uninterruptible sleep in kthread_stop. At the same time the knodemgrd slept uninterruptibly in bus_rescan_devices_helper. That's because driver_detach took the semaphore of the PCI device and bus_rescan_devices_helper wanted to take the semaphore of the FireWire host device's parent, which is the same semaphore. This was a regression since Linux 2.6.16, commit bf74ad5bc41727d5f2f1c6bedb2c1fac394de731, "Hold the device's parent's lock during probe and remove". The fix (or workaround) adds a dummy driver to the hpsb_host device. Now bus_rescan_devices_helper won't scan the host device anymore. This doesn't hurt since we have no drivers which will bind to these devices and it is unlikely that there will ever be such a driver. The dummy driver is befittingly presented as a representation of ieee1394 itself. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=6706 Signed-off-by: Stefan Richter commit cec1a31196a6edb1397ffb8fbdc0410dd8946d78 Author: Stefan Richter Date: Sat Nov 18 23:16:11 2006 +0100 ieee1394: nodemgr: remove duplicate assignment Signed-off-by: Stefan Richter commit ff6a4cd2e18430f04e59382103c7b1f53ba114e0 Author: Luca Tettamanti Date: Wed Nov 15 19:14:15 2006 +0100 sbp2: make 1bit bitfield unsigned A signed single-bit bitfield doesn't make much sense. Make it unsigned. Signed-off-by: Luca Tettamanti Signed-off-by: Stefan Richter commit 4e834da1da2d7e80547e493c4b21c809dcb0ae09 Author: Stefan Richter Date: Sun Nov 19 23:04:31 2006 +0100 ieee1394: schedule *_oui sysfs attributes for removal There is no manpower available to reform oui.db into a library for use in more kernel subsystems. The low ratio of usefulness to size and the occasional need to update oui.db from IEEE's official list suggest to drop oui.db. I plan to make a userspace script available which translates the remaining numeric sysfs attributes to names of organizations. Signed-off-by: Stefan Richter commit e9429dfdc34402de3832ab7335f8ff0104f3ae84 Author: Stefan Richter Date: Sun Nov 19 23:03:09 2006 +0100 ieee1394: schedule unused symbol exports for removal This also means that former parts of ieee1394's API will be subject to change or removal. Signed-off-by: Stefan Richter commit 861646f52217cf42a0e2e6558d85bd1172ca1611 Author: Stefan Richter Date: Mon Nov 20 00:07:26 2006 +0100 ieee1394: dv1394: schedule for feature removal Signed-off-by: Stefan Richter commit 9868e0ec03fd4ac9cb3943e5dae0ad6a14faa5ff Author: Stefan Richter Date: Mon Nov 20 00:05:05 2006 +0100 ieee1394: raw1394: defer feature removal of old isoch interface Known to be affected: - libdc1394: prefers video1394 for now, old-style raw1394 support might be dropped eventually - OpenH323 PWLib, AVC video input module: uses libraw1394's old API Signed-off-by: Stefan Richter commit 63cca59e89892497e95e1e9c7156d3345fb7e2e8 Author: Stefan Richter Date: Sat Nov 11 00:26:24 2006 +0100 ieee1394: ohci1394: call PMac code in shutdown only for proper machines There has been an if(...) missing, for ages. Signed-off-by: Stefan Richter commit 5370f1f5e94f1734f0706044bfb95007ea90fb23 Author: Stefan Richter Date: Sat Nov 11 00:23:50 2006 +0100 ieee1394: ohci1394: reformat PPC_PMAC platform code Adjust whitespace and line lengths Signed-off-by: Stefan Richter commit 48cfae44b4d6c7ca843d611a93ed2f94b59bcb38 Author: Stefan Richter Date: Sat Nov 11 00:22:35 2006 +0100 ieee1394: ohci1394: add PPC_PMAC platform code to driver probe Fixes http://bugzilla.kernel.org/show_bug.cgi?id=7431 iBook G3 threw a machine check exception and put the display backlight to full brightness after ohci1394 was unloaded and reloaded. Signed-off-by: Stefan Richter commit 58272c1c0330f5f899f130d45ce845ca085de044 Author: Stefan Richter Date: Sat Nov 4 09:55:33 2006 +0100 ieee1394: sbp2: wrap two functions into one Move the body of a function into its only caller. Signed-off-by: Stefan Richter commit 2a533b179dcfe941ccbe30344d14f39f6d7098ae Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: update comment on things to do Some people actually look at those comments. Signed-off-by: Stefan Richter commit cd641f68d628e5c44350447d4b8d661991419e60 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: use list_move_tail() It's OK to reorder list_del() and sbp2util_free_command_dma() here. Signed-off-by: Stefan Richter commit 138c8af8649ceea38aa52323b9326c10068bb597 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: more concise names for types and variables "struct scsi_id_instance_data" represents a logical unit. Rename it to "struct sbp2_lu", and "scsi_id" to "lu". Rename some other variables too. Wrap almost all lines after at most 80 columns. Signed-off-by: Stefan Richter commit 9117c6dc430578748ce732c6ff25eed8ed501a97 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove unused struct members Signed-off-by: Stefan Richter commit 28b066795f26196003353e1b4f7beaf63158ee74 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: proper unit in module parameter description It's 2^20 bit/s, not 0.001 bit. Signed-off-by: Stefan Richter commit ca0c7453995d3696034435820522e2a60bd59bfc Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: clean up sbp2_ namespace Prepend sbp2*_ to anything globally defined in sbp2.c except for some macros. Strip sbp2_ from names of struct members. Signed-off-by: Stefan Richter commit 5796aa7b11a6ba9d28a523fc82dddbc96c1a175e Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: some conditions in queue_command are unlikely Signed-off-by: Stefan Richter commit 52fd91088bcbaea5ab441d09d39c21eb684e54ea Author: Yan Burman Date: Mon Dec 4 14:58:35 2006 -0800 [IA64] replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 66888a6e5ffc756b9a4115fc766ee2258eefb928 Author: Christoph Lameter Date: Mon Dec 4 14:58:35 2006 -0800 [IA64] resolve name clash by renaming is_available_memory() There is a name clash with ia64 arch code in Andrew's tree. Rename is_avialable_memory() to is_memory_available() to avoid the clash. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit e8ca5668f1546dacc85abcc06511ed113fd929c3 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove superfluous comments And update and reformat remaining comments. Signed-off-by: Stefan Richter commit d19c77641412a257fa651662b96fec826e9e7e60 Author: Stefan Richter Date: Thu Dec 7 22:40:33 2006 +0100 ieee1394: sbp2: delayed_work -> work_struct This work is not delayed. Also bring the code format in a state which reduces my work to merge pending sbp2 patchs. Signed-off-by: Stefan Richter commit 21b4e736922f546e0f1aa7b9d6c442f309a2444a Merge: 34161db... 68380b5... Author: Trond Myklebust Date: Thu Dec 7 16:35:17 2006 -0500 Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ into merge_linus commit a5f8ee0291e75f92a27111eb01da82be93c9068e Author: Tony Luck Date: Thu Dec 7 13:18:57 2006 -0800 [IA64] Need export for csum_ipv6_magic Now we have our own highly optimized assembly code version of this routine (Thanks Ken!) we should export it so that it can be used. Signed-off-by: Tony Luck commit 34161db6b14d984fb9b06c735b7b42f8803f6851 Merge: 5847e1f... 620034c... Author: Trond Myklebust Date: Thu Dec 7 15:48:15 2006 -0500 Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ into merge_linus Conflicts: include/linux/sunrpc/xprt.h net/sunrpc/xprtsock.c Fix up conflicts with the workqueue changes. commit 424a9642b8b436bba04ad5d2d254b43757166cdf Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: coding style of some macros Adjust parentheses, indentation, line lengths. Signed-off-by: Stefan Richter commit edf1fb213e5df03983b91bb050bdd2914465a843 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove debug macros No need to keep them in released sources. Signed-off-by: Stefan Richter commit 35644090d82557d4ae5b4c75e29396406cc9d58a Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: consolidate log levels Replace some calls to SBP2_ERR and SBP2_WARN by SBP2_INFO. Remove logging macros SBP2_NOTICE and SBP2_WARN. Remove direct usage of HPSB_ logging macros. Signed-off-by: Stefan Richter commit 0b885449ac6fab42cd6808c9ea8d6e456e0e65b7 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove duplicate code The same case is handled further below in sbp2scsi_complete_command. Note, the second version behaves slightly different but looks preferable. It's an extremely unlikely case by the way. Signed-off-by: Stefan Richter commit 8c8009e69b31c60e875a348c1b032ed9543d1df6 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove dead code This has been within #if 0 for a long time and is wrong anyway. Signed-off-by: Stefan Richter commit ea42ea0f58aaa03e9cd245b124903e25629746e6 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: clean up function declarations Remove unnecessary function prototypes. Remove variable names from function prototypes. Move declarations from sbp2.h to sbp2.c. Move definitions of driver templates together near the top of sbp2.c. Signed-off-by: Stefan Richter commit 66743e061f6f31ac81fb8a1e9edb2ff92ef24df2 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove irritating log message The queue depth can be read from /sys/bus/scsi/devices/*/queue_depth, so don't log it. And the hint about speed improvements is misleading, at least under current kernels. If serialization is switched off, read performance is typically increased by less than 10%. (I did not test write performance recently.) On the other hand, serialize_io=0 is not yet safe due to some implementation issues that are not trivial to fix. Signed-off-by: Stefan Richter commit c0f00e279712923cc945604d29a252e52c7838e1 Author: Alexey Dobriyan Date: Mon Oct 30 15:51:52 2006 +0300 ohci1394: shortcut irq printing To print irq number no need to transform to string using %d, then print using %s. Just use %d. Signed-off-by: Alexey Dobriyan commit 1f72cf5251a8f806a8930ae2cd152aa79fd0de83 Author: Stefan Richter Date: Sun Oct 29 23:09:11 2006 +0100 ieee1394: nodemgr: take it easy if bus_rescan_devices fails This happens. No need to log a BUG trace. Signed-off-by: Stefan Richter commit bfe89d724527c8b1bb1b68b0da1d94907b094094 Author: Eric Sesterhenn Date: Sun Oct 29 23:13:40 2006 +0300 drivers/ieee1394/*: use kmemdup() Signed-off-by: Eric Sesterhenn Signed-off-by: Alexey Dobriyan Signed-off-by: Stefan Richter commit 5f8d17f6023ea9aca7c0063c5b472529f2664944 Author: Stefan Richter Date: Sun Oct 29 19:58:25 2006 +0100 ieee1394: ohci1394: proper log messages in suspend and resume - correct thinko in one of my last commits: cannot use PRINT macro with ohci == NULL - add log messages on ohci == NULL and on pci_enable_device != 0 - update log macros from patch "revert fail on error in suspend" to use PRINT and DBGMSG where possible Signed-off-by: Stefan Richter commit 2a3f8ad3a94c784f57958bd692428cb342ce4114 Author: Stefan Richter Date: Sun Oct 29 19:52:49 2006 +0100 ieee1394: ohci1394: revert fail on error in suspend Some errors during preparation for suspended state can be skipped with a warning instead of a failure of the whole suspend transition, notably an error in pci_set_power_state. Signed-off-by: Stefan Richter commit def4d8733b8b8fed521957a7fd546714dd491b91 Author: Randy Dunlap Date: Tue Oct 24 11:19:11 2006 -0700 ieee1394: only build OUI database files if config enabled Only build IEEE1394 OUI database files if the config option is enabled. Signed-off-by: Randy Dunlap Signed-off-by: Stefan Richter commit 7f5880394c8ab01854c0cba288352a1a77d5ea82 Author: Randy Dunlap Date: Mon Oct 23 21:44:36 2006 -0700 ieee1394: fix printk format warning Fix printk format warning: drivers/ieee1394/nodemgr.c:364: warning: long long unsigned int format, u64 arg (arg 3) Signed-off-by: Randy Dunlap Signed-off-by: Stefan Richter commit b07375b155a0d2ed21a64db68e737da1f19385f7 Author: Stefan Richter Date: Sun Oct 22 16:16:27 2006 +0200 ieee1394: nodemgr: revise semaphore protection of driver core data - The list "struct class.children" is supposed to be protected by class.sem, not by class.subsys.rwsem. - nodemgr_remove_uds() iterated over nodemgr_ud_class.children without proper protection. This was never observed as a bug since the code is usually only accessed by knodemgrd. All knodemgrds are currently globally serialized. But userspace can trigger this code too by writing to /sys/bus/ieee1394/destroy_node. - Clean up access to the FireWire bus type's subsys.rwsem: Access it uniformly via ieee1394_bus_type. Shrink rwsem protected regions where possible. Expand them where necessary. The latter wasn't a problem so far because knodemgr is globally serialized. This should harden the interaction of ieee1394 with sysfs and lay ground for deserialized operation of multiple knodemgrds and for implementation of subthreads for parallelized scanning and probing. Signed-off-by: Stefan Richter commit 7fdfc90945e308dc1be37e3914cd979a535263e9 Author: Stefan Richter Date: Sat Oct 21 01:23:56 2006 +0200 ieee1394: nodemgr: reflect which return values are errors Give better names to local variables. Signed-off-by: Stefan Richter commit b7cffc57a777722941cfd904fcdbb47fc615b808 Author: Stefan Richter Date: Sat Oct 21 01:22:36 2006 +0200 ieee1394: nodemgr: small fix after sysfs errors patch One hunk in "ieee1394: handle sysfs errors" was wrong. Signed-off-by: Stefan Richter commit 7b900c12cd689e4372afe3904a03f98253546449 Author: Stefan Richter Date: Fri Oct 20 21:01:58 2006 +0200 dv1394: remove BKL contention Purges the one remaining call to lock_kernel() from the 1394 subsystem. Signed-off-by: Stefan Richter commit 75dcf5dc5a0dc4e895944368780cc2fc40008a55 Author: Daniel Drake Date: Fri Oct 20 14:56:01 2006 +0100 video1394: remove BKL contention video1394 does not need to take the BKL. The data structures shared between file_operations and interrupts are already protected through context-specific spinlocks. The only other danger is video1394_release() being called during another operation, however this cannot happen because release is only ever invoked when the last thread has closed the fd. Signed-off-by: Daniel Drake Signed-off-by: Stefan Richter commit 3c21cfc4babaf4d20384f6f70def308e9b945159 Author: Daniel Drake Date: Wed Oct 18 21:37:14 2006 +0100 video1394: small optimizations to frame retrieval codepath Add some GCC branch prediction optimizations to unlikely error/safety conditions in the ioctl handling code commonly called during an application's capture loop. Signed-off-by: Daniel Drake Signed-off-by: Stefan Richter commit c1c9c7cd9f33ad6ff4407638060fe2730560bd56 Author: Stefan Richter Date: Tue Oct 10 21:19:21 2006 +0200 ieee1394: handle sysfs errors Handle driver core errors with as much care as appropriate. Signed-off-by: Stefan Richter commit 1ed891c6d49e97ebd3305d8c6213246a14f0800f Author: Stefan Richter Date: Tue Oct 10 21:12:39 2006 +0200 ieee1394: coding style in hosts.c Some 80-columns pedantry, and touch up of a // comment. Signed-off-by: Stefan Richter commit 5c37dcbe138ed3239c5e8b6c2626ce773a7cea2e Author: Stefan Richter Date: Tue Oct 10 21:11:43 2006 +0200 ieee1394: lock smaller region by host_num_alloc mutex We need the mutex only around the iteration over existing hosts. Signed-off-by: Stefan Richter commit b63d4fe95f29b6cadffcee8cdabd8435e8560cde Author: Stefan Richter Date: Sun Oct 8 11:45:13 2006 +0200 ieee1394: usecs_to_jiffies takes unsigned int argument Signed-off-by: Stefan Richter commit da256c55373cbc45e30f868e0bddb81ddc4067bf Author: Stefan Richter Date: Sun Sep 24 11:01:00 2006 +0200 ieee1394: ohci1394: suspend/resume cosmetics Reorder the definitions of ohci1394_pci_suspend and _resume. Remove redundant comments. Beautify return statements. Signed-off-by: Stefan Richter commit f011bf085cd41ee40c2c8e530f801ac6cb6e00d0 Author: Bernhard Kaindl Date: Wed Sep 6 14:58:30 2006 +0200 ohci1394: steps to implement suspend/resume I did a quick shot on what I described and the appended patch does the first thing needed for working suspend/resume in ohci1394 which is HW de- and re-initialisation. It works with suspend2disk on my Ricoh R5C552 IEEE 1394 Controller with the 2.6.17 kernel to the extent that if I call dvgrab --interactive after suspend2disk without unloading ohci1394, it does not lock up dvgrab with 100% CPU but properly connects to the camera, given that I first unplug and plug the camera after coming back from suspend. I guess that could be fixed by forcing a bus reset in the resume function. I cannot test suspend to RAM here at the moment and should follow the guidelines in Documentation/power/pci.txt also, so this is rather a quick report than a finished patch and there are some rough edges: However, with this patch, I have to unload at least some in-kernel users of ohci1394 like dv1394 or video1394 before suspending. Not doing that caused an Oops and a bad tasklet error, probably from not handling ISO tasklets during suspend/resume properly. Maybe these can be temporarily cleared or unregistered and re-registered for suspend/resume with help from the other layers or from the highlevel 1394 core, but I do not really know what these do. But this patch provides a useful base to start from and is already of much help for people which do not need dv1394 and video1394 or can unload them at least during suspend. I cannot test function with sbp2 at the moment, but raw1394 seems to work fine. Signed-off-by: Bernhard Kaindl Update 1: merge with previous two ohci1394 suspend/resume patches Update 2: version for application on top of Linux 2.6.19-rc4 Signed-off-by: Stefan Richter commit f9edc4f5c1dd9fab5ceedd69e77d20e508e41e8d Author: Stefan Richter Date: Thu Sep 14 22:06:48 2006 +0200 ieee1394: raw1394: add comments on lock usage Add a who-is-who about some locks and list heads in raw1394's struct definitions. Signed-off-by: Stefan Richter commit 23077f1d72d279244536f11db51258fc4759c81a Author: Stefan Richter Date: Mon Sep 11 20:17:14 2006 +0200 ieee1394: sbp2: slightly reorder sbp2scsi_abort Put the target's fetch agent into reset state before the underlying ORB DMA is unmapped and the ->done handler is called. It is highly unlikely but the target could access that ORB right before sbp2 sends the reset request. Signed-off-by: Stefan Richter commit 0e930f437eab6db6de5e3f0efbf10dafffca401a Author: Stefan Richter Date: Fri Sep 8 01:30:04 2006 +0200 ieee1394: remove unused struct member from highlevel API struct hpsb_highlevel's struct module *owner is neither used by the IEEE 1394 core nor set by any of the in-tree drivers or the two out-of-tree highlevel drivers I know about (dfg1394, mem1394) --- nor is this member documented. An unscheduled removal seems acceptable. Signed-off-by: Stefan Richter commit b0f40ea04a85b077193676cec78a86cd61495680 Author: Matthew Wilcox Date: Thu Nov 16 13:40:53 2006 -0700 [IA64] Fix DISCONTIGMEM without VIRTUAL_MEM_MAP make allnoconfig currently fails to build because it selects DISCONTIGMEM without VIRTUAL_MEM_MAP. I see no particular reason this combination ought to fail, so I fixed it by: - Including memory_model.h in all circumstances, except when both DISCONTIGMEM and VIRTUAL_MEM_MAP are enabled. - Defining ia64_pfn_valid() to 1 unless VIRTUAL_MEM_MAP is enabled Signed-off-by: Matthew Wilcox Signed-off-by: Tony Luck commit 17e77b1cc31454908aa286bb1db3c611295ce25c Author: Venkatesh Pallipadi Date: Fri Dec 1 15:28:14 2006 -0800 [PATCH] Add support for type argument in PAL_GET_PSTATE PAL_GET_PSTATE accepts a type argument to return different kinds of frequency information. Refer: Intel Itanium®Architecture Software Developer's Manual - Volume 2: System Architecture, Revision 2.2 (http://developer.intel.com/design/itanium/manuals/245318.htm) Add the support for type argument and use Instantaneous frequency in the acpi driver. Also fix a bug, where in return value of PAL_GET_PSTATE was getting compared with 'control' bits instead of 'status' bits. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Tony Luck commit 6dbfc19b7ea93f94f1efabaae71a921b49d8cae2 Author: Chen, Kenneth W Date: Wed Nov 8 16:29:25 2006 -0800 [IA64] tidy up return value of ip_fast_csum While working on implementing csum_ipv6_magic, I noticed that current version of ip_fast_csum will potentially return bits above "unsigned short" as 1. While no harm is done right now because all call sites will chop off the upper bits when it uses the return value. However, this is still dangerous and buggy. Here is a patch to enforce that the function really returns unsigned short in the native register format. The fix is free as there are plenty open slot to add one more asm instruction. Signed-off-by: Ken Chen Signed-off-by: Tony Luck commit 007d77d0c5eb36555443ff273ce2a27f90da8837 Author: Chen, Kenneth W Date: Fri Nov 10 13:17:50 2006 -0800 [IA64] implement csum_ipv6_magic for ia64. The asm version is 4.4 times faster than the generic C version and 10X smaller in code size. Signed-off-by: Ken Chen Signed-off-by: Tony Luck commit 5b4d5681ffaa6e1bf3b085beb701d87c7c7404da Author: Russ Anderson Date: Mon Nov 6 16:45:18 2006 -0600 [IA64] More Itanium PAL spec updates Additional updates to conform with Rev 2.2 of Volume 2 of "Intel Itanium Architecture Software Developer's Manual" (January 2006). Add pal_bus_features_s bits 52 & 53 (page 2:347) Add pal_vm_info_2_s field max_purges (page 2:2:451) Add PAL_GET_HW_POLICY call (page 2:381) Add PAL_SET_HW_POLICY call (page 2:439) Sample output before: --------------------------------------------------------------------- cobra:~ # cat /proc/pal/cpu0/vm_info Physical Address Space : 50 bits Virtual Address Space : 61 bits Protection Key Registers(PKR) : 16 Implemented bits in PKR.key : 24 Hash Tag ID : 0x2 Size of RR.rid : 24 Supported memory attributes : WB, UC, UCE, WC, NaTPage --------------------------------------------------------------------- Sample output after: --------------------------------------------------------------------- cobra:~ # cat /proc/pal/cpu0/vm_info Physical Address Space : 50 bits Virtual Address Space : 61 bits Protection Key Registers(PKR) : 16 Implemented bits in PKR.key : 24 Hash Tag ID : 0x2 Max Purges : 1 Size of RR.rid : 24 Supported memory attributes : WB, UC, UCE, WC, NaTPage --------------------------------------------------------------------- Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit 895309ff6f22a9d107e007521e44aac4400b365d Author: Russ Anderson Date: Thu Dec 7 11:06:35 2006 -0800 [IA64] Update processor_info features Add the printing of additional processor features to proc_features. Based on Rev 2.2 of Volume 2 of "Intel Itanium Architecture Software Developer's Manual" (January 2006) fields (pages 2:430-2:432). This patch gets the features back in sync with the spec. Sample output before: -------------------------------------------------------------- cobra:~ # cat /proc/pal/cpu0/processor_info XIP,XPSR,XFS implemented : On NoCtrl XR1-XR3 implemented : On NoCtrl Disable dynamic predicate prediction : NotImpl Disable processor physical number : NotImpl Disable dynamic data cache prefetch : NotImpl Disable dynamic inst cache prefetch : NotImpl Disable dynamic branch prediction : NotImpl Disable BINIT on processor time-out : On Ctrl Disable dynamic power management (DPM) : NotImpl Disable coherency : NotImpl Disable cache : NotImpl Enable CMCI promotion : Off Ctrl Enable MCA to BINIT promotion : Off Ctrl Enable MCA promotion : NotImpl Enable BERR promotion : NotImpl cobra:~ # -------------------------------------------------------------- Sample output after: -------------------------------------------------------------- cobra:~ # cat /proc/pal/cpu0/processor_info Unimplemented instruction address fault : NotImpl INIT, PMI, and LINT pins : NotImpl Simple unimplimented instr addresses : On NoCtrl Variable P-state performance : NotImpl Virtual machine features implemeted : On NoCtrl XIP,XPSR,XFS implemented : On NoCtrl XR1-XR3 implemented : On NoCtrl Disable dynamic predicate prediction : NotImpl Disable processor physical number : NotImpl Disable dynamic data cache prefetch : NotImpl Disable dynamic inst cache prefetch : NotImpl Disable dynamic branch prediction : NotImpl Disable P-states : Off Ctrl Enable MCA on Data Poisoning : Off Ctrl Enable vmsw instruction : On Ctrl Enable extern environmental notification : NotImpl Disable BINIT on processor time-out : On Ctrl Disable dynamic power management (DPM) : NotImpl Disable coherency : NotImpl Disable cache : NotImpl Enable CMCI promotion : Off Ctrl Enable MCA to BINIT promotion : Off Ctrl Enable MCA promotion : NotImpl Enable BERR promotion : NotImpl cobra:~ # -------------------------------------------------------------- Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit 6533bdedac9ae2049ae77ebd7c28c65af3619de0 Author: Russ Anderson Date: Thu Oct 26 11:53:17 2006 -0500 [IA64] Add se bit to Processor State Parameter structure Rev 2.2 of Volume 2 of "Intel Itanium Architecture Software Developer's Manual" (January 2006) adds a se bit to the Processor State Parameter fields (pages 2:299). This patch gets the structs back in sync with the spec. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit 323cbb09917024cab522bc7ce5c343659cbe8818 Author: Russ Anderson Date: Wed Oct 25 14:18:27 2006 -0500 [IA64] Add dp bit to cache and bus check structs Rev 2.2 of Volume 2 of "Intel Itanium Architecture Software Developer's Manual" (January 2006) adds a dp bit to the cache_check and bus_check fields (pages 2:401-2:404). This patch gets the structs back in sync with the spec. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit c69577711a8fd232e6b309c3e99f9a8f96f63082 Author: John Keller Date: Mon Nov 6 14:10:50 2006 -0600 [IA64] SN: Correctly update smp_affinty mask On Altix systems, the /proc/irq/nn/smp_affinity mask is not being setup at device iniitalization, or updated after an interrupt redirection. This patch resolves those issues. Signed-off-by: John Keller Signed-off-by: Tony Luck commit d61b49c1aa49efc657aa0cf270cf931444680563 Author: Matthew Wilcox Date: Thu Oct 26 12:22:32 2006 -0600 [IA64] sparse cleanups 0/NULL confusion and some missing UL on constants. Signed-off-by: Matthew Wilcox Signed-off-by: Tony Luck commit a79561134f38de12dce14ed72138f38e55ef53fc Author: Zou Nan hai Date: Thu Dec 7 09:51:35 2006 -0800 [IA64] IA64 Kexec/kdump Changes and updates. 1. Remove fake rendz path and related code according to discuss with Khalid Aziz. 2. fc.i offset fix in relocate_kernel.S. 3. iospic shutdown code eoi and mask race fix from Fujitsu. 4. Warm boot hook in machine_kexec to SN SAL code from Jack Steiner. 5. Send slave to SAL slave loop patch from Jay Lan. 6. Kdump on non-recoverable MCA event patch from Jay Lan 7. Use CTL_UNNUMBERED in kdump_on_init sysctl. Signed-off-by: Zou Nan hai Signed-off-by: Tony Luck commit 68380b581383c028830f79ec2670f4a193854aa6 Author: Linus Torvalds Date: Thu Dec 7 09:28:19 2006 -0800 Add "run_scheduled_work()" workqueue function This allows workqueue users to run just their own pending work, rather than wait for the whole workqueue to finish running. This solves the deadlock with networking libphy that was due to other workqueue entries possibly needing a lock that was held by the routine that wanted to flush its own work. It's not wonderful: if you absolutely need to synchronize with the work function having been executed, any user strictly speaking should have its own completion tracking logic, since when we run things explicitly by hand, the generic workqueue layer can no longer help us synchronize. Also, this is strictly only usable for work that has been scheduled without any delayed timers. You can not mix the new interface with schedule_delayed_work(). But it's better than what we had currently. Acked-by: Maciej W. Rozycki Signed-off-by: Linus Torvalds commit 285f5fa7e9a35e75d9022f9b036ed709721c5cdf Author: Dan Williams Date: Thu Dec 7 02:59:39 2006 +0100 [ARM] 3995/1: iop13xx: add iop13xx support The iop348 processor integrates an Xscale (XSC3 512KB L2 Cache) core with a Serial Attached SCSI (SAS) controller, multi-ported DDR2 memory controller, 3 Application Direct Memory Access (DMA) controllers, a 133Mhz PCI-X interface, a x8 PCI-Express interface, and other peripherals to form a system-on-a-chip RAID subsystem engine. The iop342 processor replaces the SAS controller with a second Xscale core for dual core embedded applications. The iop341 processor is the single core version of iop342. This patch supports the two Intel customer reference platforms iq81340mc for external storage and iq81340sc for direct attach (HBA) development. The developer's manual is available here: ftp://download.intel.com/design/iio/docs/31503701.pdf Changelog: * removed virtual addresses from resource definitions * cleaned up some unnecessary #include's Signed-off-by: Dan Williams Signed-off-by: Russell King commit 4dbda6a50ae34d853353f15d30a166c87143408f Author: Dan Williams Date: Fri Dec 1 21:40:37 2006 +0100 [ARM] 3968/1: iop13xx: add iop13xx_defconfig Signed-off-by: Dan Williams Signed-off-by: Russell King commit c324113f20637cbc9b71f8d873409be90bfac167 Author: Russell King Date: Thu Dec 7 17:19:58 2006 +0000 [ARM] Update mach-types Signed-off-by: Russell King commit 2fd8507d14ef7af3ae05316b3277044cf6daa381 Merge: 1c1afa3... fd3367a... Author: Linus Torvalds Date: Thu Dec 7 09:16:07 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [PATCH] libata: Incorrect timing computation for PIO5/6 [PATCH] sata_promise: new EH conversion, take 2 [PATCH] libata: let ATA_FLAG_PIO_POLLING use polling pio for ATA_PROT_NODATA [PATCH] sata_promise: cleanups, take 2 commit 1c1afa3c053d4ccdf44e5a4e159005cdfd48bfc6 Merge: 0a01707... ac33d07... Author: Linus Torvalds Date: Thu Dec 7 09:13:20 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * master.kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (73 commits) [DLM] Clean up lowcomms [GFS2] Change gfs2_fsync() to use write_inode_now() [GFS2] Fix indent in recovery.c [GFS2] Don't flush everything on fdatasync [GFS2] Add a comment about reading the super block [GFS2] Mount problem with the GFS2 code [GFS2] Remove gfs2_check_acl() [DLM] fix format warnings in rcom.c and recoverd.c [GFS2] lock function parameter [DLM] don't accept replies to old recovery messages [DLM] fix size of STATUS_REPLY message [GFS2] fs/gfs2/log.c:log_bmap() fix printk format warning [DLM] fix add_requestqueue checking nodes list [GFS2] Fix recursive locking in gfs2_getattr [GFS2] Fix recursive locking in gfs2_permission [GFS2] Reduce number of arguments to meta_io.c:getbuf() [GFS2] Move gfs2_meta_syncfs() into log.c [GFS2] Fix journal flush problem [GFS2] mark_inode_dirty after write to stuffed file [GFS2] Fix glock ordering on inode creation ... commit 0a01707b289853f56d1c000057b27e243c039722 Merge: 2685b26... 0ae8513... Author: Linus Torvalds Date: Thu Dec 7 09:09:52 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (43 commits) [wireless] zd1211rw: workqueue-related build fixes [netdrvr] netxen: workqueue-related build fixes [PATCH] sky2: sparse warnings [PATCH] skge: fix sparse warnings [PATCH] myri10ge: write as 2 32-byte blocks in myri10ge_submit_8rx [PATCH] sky2: receive queue watermark tweak [PATCH] sky2: beter ram buffer partitioning [PATCH] sky2: add comments to PCI ids [PATCH] sky2: add PCI for 88ec033 [PATCH] AT91RM9200 Ethernet: Use dev_alloc_skb() [PATCH] AT91RM9200 Ethernet: Add netpoll / netconsole support [PATCH] AT91RM9200 Ethernet: Move check_timer variable and use mod_timer() [PATCH] AT91RM9200 Ethernet: Remove 'at91_dev' and use netdev_priv() [PATCH] ipw2200: Fix debug output endian issue [PATCH] ipw2200: Fix a typo [PATCH] ipw2200: Update version stamp to 1.2.0 [PATCH] ipw2200: Add IEEE80211_RADIOTAP_TSFT for promiscuous mode [PATCH] softmac: fix unbalanced mutex_lock/unlock in ieee80211softmac_wx_set_mlme [PATCH] softmac: Fixed handling of deassociation from AP [PATCH] ipw2200: replace kmalloc+memset with kcalloc ... commit 2685b267bce34c9b66626cb11664509c32a761a5 Merge: 4522d58... 272491e... Author: Linus Torvalds Date: Thu Dec 7 09:05:15 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (48 commits) [NETFILTER]: Fix non-ANSI func. decl. [TG3]: Identify Serdes devices more clearly. [TG3]: Use msleep. [TG3]: Use netif_msg_*. [TG3]: Allow partial speed advertisement. [TG3]: Add TG3_FLG2_IS_NIC flag. [TG3]: Add 5787F device ID. [TG3]: Fix Phy loopback. [WANROUTER]: Kill kmalloc debugging code. [TCP] inet_twdr_hangman: Delete unnecessary memory barrier(). [NET]: Memory barrier cleanups [IPSEC]: Fix inetpeer leak in ipv4 xfrm dst entries. audit: disable ipsec auditing when CONFIG_AUDITSYSCALL=n audit: Add auditing to ipsec [IRDA] irlan: Fix compile warning when CONFIG_PROC_FS=n [IrDA]: Incorrect TTP header reservation [IrDA]: PXA FIR code device model conversion [GENETLINK]: Fix misplaced command flags. [NETLIK]: Add a pointer to the Generic Netlink wiki page. [IPV6] RAW: Don't release unlocked sock. ... commit 4522d58275f124105819723e24e912c8e5bf3cdd Merge: 6cf24f0... 64a26a7... Author: Linus Torvalds Date: Thu Dec 7 08:59:11 2006 -0800 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (156 commits) [PATCH] x86-64: Export smp_call_function_single [PATCH] i386: Clean up smp_tune_scheduling() [PATCH] unwinder: move .eh_frame to RODATA [PATCH] unwinder: fully support linker generated .eh_frame_hdr section [PATCH] x86-64: don't use set_irq_regs() [PATCH] x86-64: check vector in setup_ioapic_dest to verify if need setup_IO_APIC_irq [PATCH] x86-64: Make ix86 default to HIGHMEM4G instead of NOHIGHMEM [PATCH] i386: replace kmalloc+memset with kzalloc [PATCH] x86-64: remove remaining pc98 code [PATCH] x86-64: remove unused variable [PATCH] x86-64: Fix constraints in atomic_add_return() [PATCH] x86-64: fix asm constraints in i386 atomic_add_return [PATCH] x86-64: Correct documentation for bzImage protocol v2.05 [PATCH] x86-64: replace kmalloc+memset with kzalloc in MTRR code [PATCH] x86-64: Fix numaq build error [PATCH] x86-64: include/asm-x86_64/cpufeature.h isn't a userspace header [PATCH] unwinder: Add debugging output to the Dwarf2 unwinder [PATCH] x86-64: Clarify error message in GART code [PATCH] x86-64: Fix interrupt race in idle callback (3rd try) [PATCH] x86-64: Remove unwind stack pointer alignment forcing again ... Fixed conflict in include/linux/uaccess.h manually Signed-off-by: Linus Torvalds commit 6cf24f031bc97cb5a7c9df3b6e73c45b628b2b28 Author: Andrew Morton Date: Wed Dec 6 20:41:39 2006 -0800 [PATCH] elf.h: forward declare struct file In file included from include/asm/patch.h:14, from arch/ia64/kernel/patch.c:10: include/linux/elf.h:375: warning: "struct file" declared inside parameter list include/linux/elf.h:375: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3ed11c35635487d34ad476e1d6a66dd298ab2de Author: Paul Menage Date: Wed Dec 6 20:41:37 2006 -0800 [PATCH] cpuset: allow a larger buffer for writes to cpuset files When using fake NUMA setup, the number of memory nodes can greatly exceed the number of CPUs. So the current limit in cpuset_common_file_write() is insufficient. Signed-off-by: Paul Menage Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09b882520bbe01f2e5044642109c1c1d19fe3559 Author: Avantika Mathur Date: Wed Dec 6 20:41:36 2006 -0800 [PATCH] ext4: Eliminate inline functions Removes all inline keywords, since the compiler will make static functions inline when it is appropriate. Signed-off-by: Avantika Mathur Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d4958f923f431e148d9ba8ff894209a134b943e Author: Avantika Mathur Date: Wed Dec 6 20:41:35 2006 -0800 [PATCH] ext4: kmalloc to kzalloc Performs kmalloc to kzalloc conversion Signed-off-by: Avantika Mathur Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e0289766a0750a56260565bd3b74eb544483d45 Author: Avantika Mathur Date: Wed Dec 6 20:41:33 2006 -0800 [PATCH] ext4: if expression format changes instances of if ((lhs = expression)) { to the preferred coding style lhs=expression; if (lhs) { Signed-off-by: Avantika Mathur Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d1c520bb57e4b5e94ec937c13553dccf473341b Author: Hugh Dickins Date: Wed Dec 6 20:41:30 2006 -0800 [PATCH] ext3 balloc: fix _with_rsv freeze Port fix to the off-by-one in find_next_usable_block's memscan from ext2 to ext3; but it didn't cause a serious problem for ext3 because the additional ext3_test_allocatable check rescued it from the error. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2823b5535efad71e950ef50c2ce5f9e4dbaedc17 Author: Hugh Dickins Date: Wed Dec 6 20:41:28 2006 -0800 [PATCH] ext3 balloc: use io_error label ext3_new_blocks has a nice io_error label for setting -EIO, so goto that in the one place that doesn't already use it. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c56d2561f7189762c4fce854630d4f7f6d64ccee Author: Hugh Dickins Date: Wed Dec 6 20:41:27 2006 -0800 [PATCH] ext3 balloc: say rb_entry not list_entry The reservations tree is an rb_tree not a list, so it's less confusing to use rb_entry() than list_entry() - though they're both just container_of(). Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff50dc562bf6de00fec264b11531e2745209ba12 Author: Hugh Dickins Date: Wed Dec 6 20:41:25 2006 -0800 [PATCH] ext3 balloc: fix off-by-one against rsv_end rsv_end is the last block within the reservation, so alloc_new_reservation should accept start_block == rsv_end as success. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1650242324a0c19d629a8be0d5a8ecdc174d31f8 Author: Hugh Dickins Date: Wed Dec 6 20:41:25 2006 -0800 [PATCH] ext3 balloc: fix off-by-one against grp_goal grp_goal 0 is a genuine goal (unlike -1), so ext3_try_to_allocate_with_rsv should treat it as such. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef5036782e619ab394daaec5c00876fa6b17d7a1 Author: Hugh Dickins Date: Wed Dec 6 20:41:23 2006 -0800 [PATCH] ext3 balloc: reset windowsz when full ext3_new_blocks should reset the reservation window size to 0 when squeezing the last blocks out of an almost full filesystem, so the retry doesn't skip any groups with less than half that free, reporting ENOSPC too soon. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1aa16eeacd6f10c202da1cf0cff5c81107dac942 Author: Randy Dunlap Date: Wed Dec 6 20:41:20 2006 -0800 [PATCH] IPMI: fix PROC_FS=n warnings Fix build warnings for PROC_FS=n. drivers/char/ipmi/ipmi_poweroff.c:707: warning: label 'out_err' defined but not used drivers/char/ipmi/ipmi_msghandler.c:1774: warning: 'ipmb_file_read_proc' defined but not used drivers/char/ipmi/ipmi_msghandler.c:1790: warning: 'version_file_read_proc' defined but not used drivers/char/ipmi/ipmi_msghandler.c:1801: warning: 'stat_file_read_proc' defined but not used Signed-off-by: Randy Dunlap Cc: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a1099baa86c17c521859f417c4c1353d0ae9096 Author: Corey Minyard Date: Wed Dec 6 20:41:16 2006 -0800 [PATCH] IPMI: increase KCS message size Increase the maximum message size a KCS interface supports to the maximum message size the rest of the driver supports. Some systems really support messages this big. Signed-off-by: Corey Minyard Cc: Patrick Schoeller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d7cbac7c870ca66d8fb27d68188efbb5de2dffa Author: Corey Minyard Date: Wed Dec 6 20:41:14 2006 -0800 [PATCH] IPMI: Fix BT long busy The IPMI BT subdriver has been patched to survive "long busy" timeouts seen during firmware upgrades and resets. The patch never returns the HOSED state, synthesizes response messages with meaningful completion codes, and recovers gracefully when the hardware finishes the long busy. The subdriver now issues a "Get BT Capabilities" command and properly uses those results. More informative completion codes are returned on error from transaction starts; this logic was propogated to the KCS and SMIC subdrivers. Finally, indent and other style quirks were normalized. Signed-off-by: Rocky Craig Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 168b35a7f67c5a8189e6b92780dfb5262604057c Author: Corey Minyard Date: Wed Dec 6 20:41:11 2006 -0800 [PATCH] IPMI: fix pci warning Change pci_module_init() to the new interface, and check the return code to avoid warnings and give the user useful information if this fails. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d8ba9669a28f650001093ebbb6ecc3b0a72926f Author: Corey Minyard Date: Wed Dec 6 20:41:09 2006 -0800 [PATCH] IPMI: add pigeonpoint poweroff X86 boards generally use ACPI for the power management interactions with the BMC. However, non-x86 boards need some help. This patch adds the help for the Motorola PigeonPoint-based IPMCs. Signed-off-by: Joseph Barnett Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b361e27bba261ba59c73df464fa640f7c0fe3553 Author: Corey Minyard Date: Wed Dec 6 20:41:07 2006 -0800 [PATCH] IPMI: system interface hotplug Add the ability to hot add and remove interfaces in the ipmi_si driver. Any users who have the device open will get errors if they try to send a message. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15c62e10bb49eebf3da2b010a9196f5095947b0b Author: Corey Minyard Date: Wed Dec 6 20:41:06 2006 -0800 [PATCH] IPMI: add poll delay Make sure to delay a little in the IPMI poll routine so we can pass in a timeout time and thus time things out. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55162fb165571b3ba4283fe657f1a5968cef361a Author: Corey Minyard Date: Wed Dec 6 20:41:04 2006 -0800 [PATCH] IPMI: fix request events When the IPMI message handler requested that the interface look for events, the ipmi_si driver would request flags, see if the event buffer full flag was set, then request events. It's better to just send the request for events, as it cuts one message out of the transaction if there happens to be events, and it will fetch events even if the event buffer was not full. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9675136e2ad95156fb93be6155f17590bb26fd7 Author: Corey Minyard Date: Wed Dec 6 20:41:02 2006 -0800 [PATCH] IPMI: Add maintenance mode Some commands and operations on a BMC can cause the BMC to "go away" for a while. This can cause the automatic flag processing and other things of that nature to timeout and generate annoying logs, or possibly cause other bad things to happen when in firmware update mode. Add detection of those commands (cold reset, warm reset, and any firmware command) and turns off automatic processing for 30 seconds. It also add a manual override either way. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2c03941b50944a268ee4d5823872f220809a3ba Author: Corey Minyard Date: Wed Dec 6 20:41:00 2006 -0800 [PATCH] IPMI: Allow hot system interface remove This modifies the IPMI driver so that a lower-level interface can be dynamically removed while in use so it can support hot-removal of hardware. It also adds the ability to specify and dynamically change the IPMI interface the watchdog timer and the poweroff code use. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 759643b874907e76ae81e34df62f41ab6683f5c2 Author: Corey Minyard Date: Wed Dec 6 20:40:59 2006 -0800 [PATCH] IPMI: pass sysfs name from lower level driver Pass in the sysfs name from the lower-level IPMI driver, as the coming IPMI serial driver will need that to link properly from the serial device sysfs directory. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bca0324d09e413ee089f44cc71263ae1fc582b35 Author: Corey Minyard Date: Wed Dec 6 20:40:57 2006 -0800 [PATCH] IPMI: remove interface number limits Remove the arbitrary limit of number of IPMI interfaces. This has been tested with 8 interfaces. Signed-off-by: Corey Minyard Cc: Carol Hebert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0b55da0d2701230e973866c9dfbf932d8b884cb Author: Corey Minyard Date: Wed Dec 6 20:40:54 2006 -0800 [PATCH] IPMI: Fix device model name Add the product id to the driver model platform device name, in addition to the device id. The IPMI spec does not require that individual BMCs in a system have unique devices IDs, but it does require that the product id/device id combination be unique. This also removes a redundant check and cleans up error handling when the sysfs registration fails. Signed-off-by: Corey Minyard Cc: Carol Hebert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b39bb6548d60b9a18826134b5ccd5c3cef85fe2 Author: Paul Clements Date: Wed Dec 6 20:40:53 2006 -0800 [PATCH] nbd: show nbd client pid in sysfs Allow nbd to expose the nbd-client daemon's PID in /sys/block/nbd/pid. This is helpful for tracking connection status of a device and for determining which nbd devices are currently in use. Signed-off-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 792908225064b1d841a8990b9d1d1cfc4e0e5bb2 Author: Ingo Molnar Date: Wed Dec 6 20:40:51 2006 -0800 [PATCH] add ignore_loglevel boot option Sometimes the kernel prints something interesting while userspace bootup keeps messages turned off via loglevel. Enable the printing of /all/ kernel messages via the "ignore_loglevel" boot option. Off by default. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70e4506765602cca047cfa31933836e354c61a63 Author: Ingo Molnar Date: Wed Dec 6 20:40:50 2006 -0800 [PATCH] lockdep: register_lock_class() fix The hash_lock must only ever be taken with irqs disabled. This happens in all the important places, except one codepath: register_lock_class(). The race should trigger rarely because register_lock_class() is quite rare and single-threaded (happens during init most of the time). The fix is to disable irqs. ( bug found live in -rt: there preemption is alot more agressive and preempting with the hash-lock held caused a lockup.) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72be2ccfff0e0e332b32f7ef8372890e39b7c4cb Author: Erik Mouw Date: Wed Dec 6 20:40:49 2006 -0800 [PATCH] Update ext[23] mailing list address The ext[23] mailing list moved from sf.net to vger.kernel.org so update the MAINTAINERS file. Signed-off-by: Erik Mouw Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit feb189274638ea357750a9e809f5a6e2223a082e Author: Johann Lombardi Date: Wed Dec 6 20:40:46 2006 -0800 [PATCH] ext4: fix credit calculation in ext4_ext_calc_credits_for_insert Fix a nit in ext4_ext_calc_credits_for_insert(). Besides, credits for the new root are already added in the index split accounting. Signed-off-by: Johann Lombardi Signed-off-by: Alex Tomas Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97d2a80584b30b5cd32da411deca1986ef61877a Author: Benjamin LaHaise Date: Wed Dec 6 20:40:45 2006 -0800 [PATCH] aio: remove ki_retried debugging member Remove the ki_retried member from struct kiocb. I think the idea was bounced around a while back, but Arnaldo pointed out another reason that we should dig it up when he pointed out that the last cacheline of struct kiocb only contains 4 bytes. By removing the debugging member, we save more than the 8 byte on 64 bit machines. Signed-off-by: Benjamin LaHaise Acked-by: Ken Chen Acked-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b62e8ec2ac580b47c11eb76e8852ac1ec7d617cd Author: Chen, Kenneth W Date: Wed Dec 6 20:40:43 2006 -0800 [PATCH] aio: kill pointless ki_nbytes assignment in aio_setup_single_vector io_submit_one assigns ki_left = ki_nbytes = iocb->aio_nbytes, then calls down to aio_setup_iocb, then to aio_setup_single_vector. In there, ki_nbytes is reassigned to the same value it got two call stack above it. There is no need to do so. Signed-off-by: Ken Chen Acked-by: Zach Brown Cc: Benjamin LaHaise Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85916f8166b59eeac63d2b4f7f1df8de849334b4 Author: Magnus Damm Date: Wed Dec 6 20:40:41 2006 -0800 [PATCH] Kexec / Kdump: Unify elf note code The elf note saving code is currently duplicated over several architectures. This cleanup patch simply adds code to a common file and then replaces the arch-specific code with calls to the newly added code. The only drawback with this approach is that s390 doesn't fully support kexec-on-panic which for that arch leads to introduction of unused code. Signed-off-by: Magnus Damm Cc: Vivek Goyal Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d4df677f8a60ea6bc0ef1a596c1a3a79b1d4882 Author: Alexey Dobriyan Date: Wed Dec 6 20:40:39 2006 -0800 [PATCH] do_coredump() and not stopping rewrite attacks? On Sat, Dec 02, 2006 at 11:47:44PM +0300, Alexey Dobriyan wrote: > David Binderman compiled 2.6.19 with icc and grepped for "was set but never > used". Many warnings are on > http://coderock.org/kj/unused-2.6.19-fs Heh, the very first line: fs/exec.c(1465): remark #593: variable "flag" was set but never used fs/exec.c: 1477 /* 1478 * We cannot trust fsuid as being the "true" uid of the 1479 * process nor do we know its entire history. We only know it 1480 * was tainted so we dump it as root in mode 2. 1481 */ 1482 if (mm->dumpable == 2) { /* Setuid core dump mode */ 1483 flag = O_EXCL; /* Stop rewrite attacks */ 1484 current->fsuid = 0; /* Dump root private */ 1485 } And then filp_open follows with "flag" totally ignored. (akpm: this restores the code to Alan's original version. Andi's "Support piping into commands in /proc/sys/kernel/core_pattern" (cset d025c9db) broke it). Cc: Alan Cox Cc: Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d1362c0d05b8543807ab403ac8ce813cab41fa4 Author: Adrian Bunk Date: Wed Dec 6 20:40:38 2006 -0800 [PATCH] cleanup asm/setup.h userspace visibility Make the contents of the userspace asm/setup.h header consistent on all architectures: - export setup.h to userspace on all architectures - export only COMMAND_LINE_SIZE to userspace - frv: move COMMAND_LINE_SIZE from param.h - i386: remove duplicate COMMAND_LINE_SIZE from param.h - arm: - export ATAGs to userspace - change u8/u16/u32 to __u8/__u16/__u32 Signed-off-by: Adrian Bunk Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f46ba2235feab5e686b1234c328a0577cde86e21 Author: Jun Chen Date: Wed Dec 6 20:40:37 2006 -0800 [PATCH] fs: make nls_cp936.c handle some U00XY characters and U20AC correctly Twenty characters in cp936 are not correctly handled. They're all in the U00 plane. nls_cp936 converts all U00XY to XY but this is not correct for some characters.(e.g. U00B7 -> A1A4, U00A8 -> A1A7). This problem is fixed by generating u2c_00 based on all c2u_xx and changing uni2char() to give U00 plane a special handling. The "€"(U20AC,80 in cp936) is also be handled properly. Acked-by: Gang Chen Cc: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15ad7cdcfd76450d4beebc789ec646664238184d Author: Helge Deller Date: Wed Dec 6 20:40:36 2006 -0800 [PATCH] struct seq_operations and struct file_operations constification - move some file_operations structs into the .rodata section - move static strings from policy_types[] array into the .rodata section - fix generic seq_operations usages, so that those structs may be defined as "const" as well [akpm@osdl.org: couple of fixes] Signed-off-by: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a08a9f68168e547c2baf100020e9b96cae5fbd1 Author: Yan Burman Date: Wed Dec 6 20:40:34 2006 -0800 [PATCH] jffs: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0172a6dd906cf813cd56aeb133a85abf9a36c8e Author: Yan Burman Date: Wed Dec 6 20:40:33 2006 -0800 [PATCH] arm26: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman CC: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b593e48d2bf09c40c0f5165f2f2a10cc3983ea51 Author: Yan Burman Date: Wed Dec 6 20:40:32 2006 -0800 [PATCH] affs: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d2d3cec1da18123b301270381eb748e5ba4f638 Author: Adrian Bunk Date: Wed Dec 6 20:40:31 2006 -0800 [PATCH] remove drivers/block/paride/jumbo Let's remove this pre-historic paride building script. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9828673d7d24a09fcc3931b3b84c539146979224 Author: Adrian Bunk Date: Wed Dec 6 20:40:29 2006 -0800 [PATCH] paride: remove parport #ifdef's CONFIG_PARIDE depends on CONFIG_PARPORT_PC, so there's no reason for these #ifdef's. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b358e22064b4551aa8b4dcfe3efe70a13548676 Author: Adrian Bunk Date: Wed Dec 6 20:40:28 2006 -0800 [PATCH] cleanup include/asm-generic/atomic.h cleanup asm-generic/atomic.h - no longer a userspace header - remove the unneeded #include - #else/#endif comments [akpm@osdl.org: fix arm build] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccdea2f88b5689f0fd29c3804be43a3acf0311e3 Author: Ralf Baechle Date: Wed Dec 6 20:40:26 2006 -0800 [PATCH] futex: remove unneeded barrier When disassembling a kernel I found around over 90 sync Instructions from mb, rmb and wmb calls in the kernel and only few of those make any sense to me. So here's the first one - I think the wmb() in kernel/futex.c is not needed on uniprocessors so should become an smb_wmb(). Signed-off-by: Ralf Baechle Acked-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e384bd1692bab6a1d9aa40c849ac373a68769de2 Author: Adrian Bunk Date: Wed Dec 6 20:40:25 2006 -0800 [PATCH] MAINTAINERS: remove the non-existing sun3 list sun3-list@redhat.com does no longer exist. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af69c7f924b272927f9aea378f34f4548d3888d9 Author: Paul Fulghum Date: Wed Dec 6 20:40:24 2006 -0800 [PATCH] generic HDLC synclink config mismatch fix Fix compile errors on mismatch between generic HDLC and synclink drivers. Notes: generic HDLC support for synclink drivers is *optional* so you can't just use depend on in Kconfig This solution is deemed the best after 7 months of review and criticism by many developers including AKPM. Read the threads on LKML before posting about this solution. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ee6f61ca0720c71086a9eaf3f5bd0f7c51fe139 Author: Adrian Bunk Date: Wed Dec 6 20:40:23 2006 -0800 [PATCH] remove NFSD_OPTIMIZE_SPACE This patch removes the unused NFSD_OPTIMIZE_SPACE. Additionally, it does differently what NFSD_OPTIMIZE_SPACE was supposed to do: Nowadays, gcc knows best when to inline code, and CONFIG_CC_OPTIMIZE_FOR_SIZE even tells gcc globally whether to optimize for size or for speed. Therefore, this patch also removes all inline's from these files. Signed-off-by: Adrian Bunk Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 219576e127c4f7770aa985f719e815936bc54367 Author: Adrian Bunk Date: Wed Dec 6 20:40:22 2006 -0800 [PATCH] include/asm-h8300/: "extern inline" -> "static inline" "extern inline" generates a warning with -Wmissing-prototypes and I'm currently working on getting the kernel cleaned up for adding this to the CFLAGS since it will help us to avoid a nasty class of runtime errors. If there are places that really need a forced inline, __always_inline would be the correct solution. Signed-off-by: Adrian Bunk Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb8cc641653d785e3f3b8d3b0182a69edf825802 Author: Adrian Bunk Date: Wed Dec 6 20:40:21 2006 -0800 [PATCH] include/asm-cris/: "extern inline" -> "static inline" "extern inline" generates a warning with -Wmissing-prototypes and I'm currently working on getting the kernel cleaned up for adding this to the CFLAGS since it will help us to avoid a nasty class of runtime errors. If there are places that really need a forced inline, __always_inline would be the correct solution. Signed-off-by: Adrian Bunk Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30aaa5c67e72849ccf290b9a7cad58e43bbb47ac Author: Torben Mathiasen Date: Wed Dec 6 20:40:20 2006 -0800 [PATCH] New updated devices.txt - LANANA [jengelh@linux01.gwdg.de: cleanups] Signed-off-by: Jan Engelhardt Acked-by: Torben Mathiasen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 012d3ca8d85bf3ae5278ba897dd1ca3999247107 Author: Josh Triplett Date: Wed Dec 6 20:40:19 2006 -0800 [PATCH] Add Sparse annotations to SRCU wrapper functions in rcutorture The SRCU wrapper functions srcu_torture_read_lock and srcu_torture_read_unlock in rcutorture intentionally change the SRCU context; annotate them accordingly, to avoid a warning. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a09c17a6fdad9ae5b5ea1c3383080f84ec76ab20 Author: David Rientjes Date: Wed Dec 6 20:40:18 2006 -0800 [PATCH] sys: remove unused variable Remove unused 'new_ruid' variable. Reported by David Binderman . Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8de61e69c2feb10e5391cca67a3faf1d2bf77ce0 Author: David Rientjes Date: Wed Dec 6 20:40:16 2006 -0800 [PATCH] fs: remove unused variable Removed unused 'have_pt_gnu_stack' variable. Reported by David Binderman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 045f147f3290395661b56b9231fc4d221e150963 Author: Adrian Bunk Date: Wed Dec 6 20:40:15 2006 -0800 [PATCH] remove EXPORT_UNUSED_SYMBOL'ed symbols In time for 2.6.20, we can get rid of this junk. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8f48a95619cbce8f85423480e7d0a1bf971a62b Author: Eric Sandeen Date: Wed Dec 6 20:40:13 2006 -0800 [PATCH] ext3/4: don't do orphan processing on readonly devices If you do something like: # touch foo # tail -f foo & # rm foo # # you'll panic, because ext3/4 tries to do orphan list processing on the readonly snapshot device, and: kernel: journal commit I/O error kernel: Assertion failure in journal_flush_Rsmp_e2f189ce() at journal.c:1356: "!journal->j_checkpoint_transactions" kernel: Kernel panic: Fatal exception for a truly readonly underlying device, it's reasonable and necessary to just skip orphan list processing. Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0e7688df1484fbf4d6d61c31f7d61a5d8cacf3c Author: Robert P. J. Day Date: Wed Dec 6 20:40:12 2006 -0800 [PATCH] Kbuild: add 3 more header files to get properly "unifdef"ed Add 3 more files to get "unifdef"ed when creating sanitized headers with "make headers_install". Signed-off-by: Robert P. J. Day Acked-by: David Woodhouse Acked-by: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5296c7bec8c85aa0a6964eca9ff4a1a8847fba8a Author: Mariusz Kozlowski Date: Wed Dec 6 20:40:10 2006 -0800 [PATCH] fs: reiserfs add missing brackets Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71a3d1b4f7633835048f96a4ba79c8c87f03df4b Author: Mariusz Kozlowski Date: Wed Dec 6 20:40:09 2006 -0800 [PATCH] fs: ufs add missing bracket Signed-off-by: Mariusz Kozlowski Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65867beb0de4d055637476327b533e5ffbec2b97 Author: Jordan Crouse Date: Wed Dec 6 20:40:07 2006 -0800 [PATCH] Trivial cleanup in the PCI IDs for the CS5535 Rename a poorly worded PCI ID for the Geode GX and CS5535 companion chips. The graphics processor and host bridge actually live in the northbridge on the integrated processor, not in the companion chip. Signed-off-by: Jordan Crouse Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd6ed52568e161ce924593ebc798050a2d23cca0 Author: Adrian Bunk Date: Wed Dec 6 20:40:06 2006 -0800 [PATCH] arch/i386/kernel/reboot.c should #include Every file should #include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0ce7d0346132808d7170b56a01fa582324a7f4d Author: Adrian Bunk Date: Wed Dec 6 20:40:05 2006 -0800 [PATCH] remove drivers/char/riscom8.c:baud_table[] Commit c7bce3097c0f9bbed76ee6fd03742f2624031a45 removed all usages of baud_table[] but not the array itself. Spotted by the GNU C compiler. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0da1480ec33d4bac8c32051c1d33202be6dc439f Author: Adrian Bunk Date: Wed Dec 6 20:40:03 2006 -0800 [PATCH] proper prototype for remove_inode_dquot_ref() Add a proper prototype for remove_inode_dquot_ref() in include/linux/quotaops.h Signed-off-by: Adrian Bunk Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3982cd99c30285ebc71d405cd8530a3dfb7265de Author: Adrian Bunk Date: Wed Dec 6 20:40:01 2006 -0800 [PATCH] fs/sysv/: doc cleanup Remove two different changelog files from fs/sysv/ and merges the INTRO file into Documentation/filesystems/sysv-fs.txt Signed-off-by: Adrian Bunk Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1a60dbf68061e5a5364cbc723786b355637ffd3 Author: Andrew Morton Date: Wed Dec 6 20:39:59 2006 -0800 [PATCH] gcc-4.1.0 is bust Keith says Compiling 2.6.19-rc6 with gcc version 4.1.0 (SUSE Linux), wait_hpet_tick is optimized away to a never ending loop and the kernel hangs on boot in timer setup. 0000001a : 1a: 55 push %ebp 1b: 89 e5 mov %esp,%ebp 1d: eb fe jmp 1d This is not a problem with gcc 3.3.5. Adding barrier() calls to wait_hpet_tick does not help, making the variables volatile does. And the consensus is that gcc-4.1.0 is busted. Suse went and shipped gcc-4.1.0 so we cannot ban it. Add a warning. Cc: Keith Owens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4ed06ad83acc3b7dafc018bc0b27469e787e27d Author: Lennert Buytenhek Date: Wed Dec 6 20:39:57 2006 -0800 [PATCH] amba-pl010: clear error flags on rx error The pl010 primecell documentation specifies that an error indicated via RSR should be cleared by a write to ECR. We didn't do this, which was causing errors to be re-reported on every call to pl010_rx_chars(). Doing a write to ECR once we detect an error appears to prevent the ep93xx console UART driver from going into a mode where it reports "ttyAM0: X input overrun(s)" every couple of keystrokes. Signed-off-by: Lennert Buytenhek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9468f687d95d1825fd2f2c2f74e1a59429ef25d3 Author: Olaf Hering Date: Wed Dec 6 20:39:55 2006 -0800 [PATCH] winbond IDE depends on IDEDMA winbond ide depends on idedma. Move the option into the IDEDMA section. drivers/built-in.o: In function `.sl82c105_ide_dma_timeout': sl82c105.c:(.text+0x624d0): undefined reference to `.__ide_dma_timeout' drivers/built-in.o: In function `.sl82c105_ide_dma_off_quietly': sl82c105.c:(.text+0x6274c): undefined reference to `.__ide_dma_off_quietly' drivers/built-in.o: In function `.sl82c105_ide_dma_on': sl82c105.c:(.text+0x6284c): undefined reference to `.__ide_dma_on' drivers/built-in.o: In function `.sl82c105_check_drive': sl82c105.c:(.text+0x628ec): undefined reference to `.__ide_dma_bad_drive' sl82c105.c:(.text+0x62934): undefined reference to `.__ide_dma_good_drive' drivers/built-in.o: In function `.sl82c105_ide_dma_start': sl82c105.c:(.text+0x62c24): undefined reference to `.ide_dma_start' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Olaf Hering Acked-by: "Bartlomiej Zolnierkiewicz" Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12d40e43d251de4fa1f982567fc8b4ee5e858367 Author: Arnaldo Carvalho de Melo Date: Wed Dec 6 20:39:53 2006 -0800 [PATCH] Save some bytes in struct inode [acme@newtoy net-2.6.20]$ pahole --cacheline 64 fs/inode.o inode /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/dcache.h:86 */ struct inode { struct hlist_node i_hash; /* 0 8 */ struct list_head i_list; /* 8 8 */ struct list_head i_sb_list; /* 16 8 */ struct list_head i_dentry; /* 24 8 */ long unsigned int i_ino; /* 32 4 */ atomic_t i_count; /* 36 4 */ umode_t i_mode; /* 40 2 */ /* XXX 2 bytes hole, try to pack */ unsigned int i_nlink; /* 44 4 */ uid_t i_uid; /* 48 4 */ gid_t i_gid; /* 52 4 */ dev_t i_rdev; /* 56 4 */ loff_t i_size; /* 60 8 */ struct timespec i_atime; /* 68 8 */ struct timespec i_mtime; /* 76 8 */ struct timespec i_ctime; /* 84 8 */ unsigned int i_blkbits; /* 92 4 */ long unsigned int i_version; /* 96 4 */ blkcnt_t i_blocks; /* 100 4 */ short unsigned int i_bytes; /* 104 2 */ /* XXX 2 bytes hole, try to pack */ spinlock_t i_lock; /* 108 40 */ struct mutex i_mutex; /* 148 76 */ struct rw_semaphore i_alloc_sem; /* 224 64 */ struct inode_operations * i_op; /* 288 4 */ const struct file_operations * i_fop; /* 292 4 */ struct super_block * i_sb; /* 296 4 */ struct file_lock * i_flock; /* 300 4 */ struct address_space * i_mapping; /* 304 4 */ struct address_space i_data; /* 308 188 */ struct list_head i_devices; /* 496 8 */ union ; /* 504 4 */ int i_cindex; /* 508 4 */ __u32 i_generation; /* 512 4 */ /* ---------- cacheline 8 boundary ---------- */ long unsigned int i_dnotify_mask; /* 516 4 */ struct dnotify_struct * i_dnotify; /* 520 4 */ struct list_head inotify_watches; /* 524 8 */ struct mutex inotify_mutex; /* 532 76 */ long unsigned int i_state; /* 608 4 */ long unsigned int dirtied_when; /* 612 4 */ unsigned int i_flags; /* 616 4 */ atomic_t i_writecount; /* 620 4 */ void * i_security; /* 624 4 */ void * i_private; /* 628 4 */ }; /* size: 632, sum members: 628, holes: 2, sum holes: 4 */ [acme@newtoy net-2.6.20]$ So just moving i_mode to after i_bytes we save 4 bytes by nuking both holes: [acme@newtoy net-2.6.20]$ codiff -V /tmp/inode.o.before fs/inode.o /pub/scm/linux/kernel/git/acme/net-2.6.20/fs/inode.c: struct inode | -4 i_mode; from: umode_t /* 40(0) 2(0) */ to: umode_t /* 102(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ I've prunned all the other offset changes, only this one is of interest here. So now we have: [acme@newtoy net-2.6.20]$ pahole --cacheline 64 ../OUTPUT/qemu/net-2.6.20/fs/inode.o inode /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/dcache.h:86 */ struct inode { struct hlist_node i_hash; /* 0 8 */ struct list_head i_list; /* 8 8 */ struct list_head i_sb_list; /* 16 8 */ struct list_head i_dentry; /* 24 8 */ long unsigned int i_ino; /* 32 4 */ atomic_t i_count; /* 36 4 */ unsigned int i_nlink; /* 40 4 */ uid_t i_uid; /* 44 4 */ gid_t i_gid; /* 48 4 */ dev_t i_rdev; /* 52 4 */ loff_t i_size; /* 56 8 */ /* ---------- cacheline 1 boundary ---------- */ struct timespec i_atime; /* 64 8 */ struct timespec i_mtime; /* 72 8 */ struct timespec i_ctime; /* 80 8 */ unsigned int i_blkbits; /* 88 4 */ long unsigned int i_version; /* 92 4 */ blkcnt_t i_blocks; /* 96 4 */ short unsigned int i_bytes; /* 100 2 */ umode_t i_mode; /* 102 2 */ spinlock_t i_lock; /* 104 40 */ struct mutex i_mutex; /* 144 76 */ struct rw_semaphore i_alloc_sem; /* 220 64 */ struct inode_operations * i_op; /* 284 4 */ const struct file_operations * i_fop; /* 288 4 */ struct super_block * i_sb; /* 292 4 */ struct file_lock * i_flock; /* 296 4 */ struct address_space * i_mapping; /* 300 4 */ struct address_space i_data; /* 304 188 */ struct list_head i_devices; /* 492 8 */ union ; /* 500 4 */ int i_cindex; /* 504 4 */ __u32 i_generation; /* 508 4 */ /* ---------- cacheline 8 boundary ---------- */ long unsigned int i_dnotify_mask; /* 512 4 */ struct dnotify_struct * i_dnotify; /* 516 4 */ struct list_head inotify_watches; /* 520 8 */ struct mutex inotify_mutex; /* 528 76 */ long unsigned int i_state; /* 604 4 */ long unsigned int dirtied_when; /* 608 4 */ unsigned int i_flags; /* 612 4 */ atomic_t i_writecount; /* 616 4 */ void * i_security; /* 620 4 */ void * i_private; /* 624 4 */ }; /* size: 628 */ [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 652d3a3ed7610bb09530127ca297b538fe7d245a Author: Mariusz Kozlowski Date: Wed Dec 6 20:39:43 2006 -0800 [PATCH] char: ip2 remove broken macro This macro is broken and unused so why not remove it. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9231a0ca1afd05543d9f83539d6ecd5c018e8cf Author: Torsten Ertbjerg Rasmussen Date: Wed Dec 6 20:39:41 2006 -0800 [PATCH] rtc: ds1743 support The real time clocks ds1742 and ds1743 differs only in the size of the nvram. This patch changes the existing ds1742 driver to support also ds1743. The main change is that the nvram size is determined from the resource attached to the device. The patch have benefitted from suggestions from Atsushi Nemeto, who is the author of the ds1742 driver. Signed-off-by: Torsten Rasmussen Rasmussen Acked-by: Alessandro Zummo Acked-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3908fd2ed920af818aa596672da68ba26173ff27 Author: Zachary Amsden Date: Wed Dec 6 20:39:39 2006 -0800 [PATCH] softirq: remove BUG_ONs which can incorrectly trigger It is possible to have tasklets get scheduled before softirqd has had a chance to spawn on all CPUs. This is totally harmless; after success during action CPU_UP_PREPARE, action CPU_ONLINE will be called, which immediately wakes softirqd on the appropriate CPU to process the already pending tasklets. So there is no danger of having a missed wakeup for any tasklets that were already pending. In particular, i386 is affected by this during startup, and is visible when using a very large initrd; during the time it takes for the initrd to be decompressed, a timer IRQ can come in and schedule RCU callbacks. It is also possible that resending of a hardware IRQ via a softirq triggers the same bug. Because of different timing conditions, this shows up in all emulators and virtual machines tested, including Xen, VMware, Virtual PC, and Qemu. It is also possible to trigger on native hardware with a large enough initrd, although I don't have a reliable case demonstrating that. Signed-off-by: Zachary Amsden Cc: Cc: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c949d4eb40ce021b1abc3b63af23aa535662cb17 Author: Jiri Kosina Date: Wed Dec 6 20:39:38 2006 -0800 [PATCH] autofs: fix error code path in autofs_fill_sb() When kernel is compiled with old version of autofs (CONFIG_AUTOFS_FS), and new (observed at least with 5.x.x) automount deamon is started, kernel correctly reports incompatible version of kernel and userland daemon, but then screws things up instead of correct handling of the error: autofs: kernel does not match daemon version ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- automount/4199 is trying to release lock (&type->s_umount_key) at: [] get_sb_nodev+0x76/0xa4 but there are no more locks to release! other info that might help us debug this: no locks held by automount/4199. stack backtrace: [] dump_trace+0x68/0x1b2 [] show_trace_log_lvl+0x18/0x2c [] show_trace+0xf/0x11 [] dump_stack+0x12/0x14 [] print_unlock_inbalance_bug+0xe7/0xf3 [] lock_release+0x8d/0x164 [] up_write+0x14/0x27 [] get_sb_nodev+0x76/0xa4 [] vfs_kern_mount+0x83/0xf6 [] do_kern_mount+0x2d/0x3e [] do_mount+0x607/0x67a [] sys_mount+0x72/0xa4 [] sysenter_past_esp+0x5f/0x99 DWARF2 unwinder stuck at sysenter_past_esp+0x5f/0x99 Leftover inexact backtrace: ======================= and then deadlock comes. The problem: autofs_fill_super() returns EINVAL to get_sb_nodev(), but before that, it calls kill_anon_super() to destroy the superblock which won't be needed. This is however way too soon to call kill_anon_super(), because get_sb_nodev() has to perform its own cleanup of the superblock first (deactivate_super(), etc.). The correct time to call kill_anon_super() is in the autofs_kill_sb() callback, which is called by deactivate_super() at proper time, when the superblock is ready to be killed. I can see the same faulty codepath also in autofs4. This patch solves issues in both filesystems in a same way - it postpones the kill_anon_super() until the proper time is signalized by deactivate_super() calling the kill_sb() callback. [raven@themaw.net: update comment] Signed-off-by: Jiri Kosina Acked-by: Ian Kent Cc: Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 595142e0490918af5ffae5a833a2b2acd7097c02 Author: Jean Delvare Date: Wed Dec 6 20:39:36 2006 -0800 [PATCH] MAINTAINERS: Update the i2c and hwmon subsystems info The i2c and hwmon trees have moved to a new location. The lm-sensors project moved to a new home as well. Signed-off-by: Jean Delvare Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f29219f17ae46cc182123bc7d2089b69869935ae Author: Mike Galbraith Date: Wed Dec 6 20:39:35 2006 -0800 [PATCH] make 8250_pnp serial driver work after suspend to ram Add suspend/resume methods to drivers/serial/8250_pnp.c. Tested on a P4/HT 16550A box, ttyS0 login survives across suspend to ram. [akpm@osdl.org: cleanups] Signed-off-by: Mike Galbraith Cc: "Rafael J. Wysocki" Cc: Pavel Machek Cc: Russell King Cc: Adam Belay Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aaeab80bdbc0d10a98adc6fa76c29ca2f1816553 Author: Alan Cox Date: Wed Dec 6 20:39:33 2006 -0800 [PATCH] ide_scsi: allow it to be used for non CD only Some people want to use ide_cd for CD-ROM but still dynamically load ide-scsi for things like tape drives. If you compile in the CD driver this works out but if you want them modular you need an option to ensure that whoever loads first the right things happen. This replaces the original draft patch which leaked a scsi host reference [akpm@osdl.org: add MODULE_PARM_DESC] Signed-off-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ee91f197c0bc654b24eed5831fd12aa0d566a7d Author: Ingo Molnar Date: Wed Dec 6 20:39:32 2006 -0800 [PATCH] lockdep: show more details about self-test failures Make the locking self-test failures (of 'FAILURE' type) easier to debug by printing more information. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50cc670aebf4fc64afaf533fb9fa1c8570f09d74 Author: Ingo Molnar Date: Wed Dec 6 20:39:30 2006 -0800 [PATCH] lockdep: more chains Some have reported a chain-table overflow - double its size. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9d55f9dbcf048a882478b437fa3f87becf8a770 Author: Evgeniy Polyakov Date: Wed Dec 6 20:39:27 2006 -0800 [PATCH] better CONFIG_W1_SLAVE_DS2433_CRC handling CONFIG_W1_SLAVE_DS2433_CRC can be used directly, there's no reason for the indirection of defining a different variable in the Makefile. Signed-off-by: Adrian Bunk Signed-off-by: Evgeniy Polyakov Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec0837f230e57afde65db72539e748d2a75abed0 Author: Hugh Dickins Date: Wed Dec 6 20:39:26 2006 -0800 [PATCH] ext4 balloc: fix _with_rsv freeze Port fix to the off-by-one in find_next_usable_block's memscan from ext2 to ext4; but it didn't cause a serious problem for ext4 because the additional ext4_test_allocatable check rescued it from the error. [akpm@osdl.org: build fix] Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 341cee438593ff9c4520fb73c561460074f29a9a Author: Hugh Dickins Date: Wed Dec 6 20:39:24 2006 -0800 [PATCH] ext4 balloc: use io_error label ext4_new_blocks has a nice io_error label for setting -EIO, so goto that in the one place that doesn't already use it. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b78a657f0a64134b3813bbdf4e1853d1420eb8d4 Author: Hugh Dickins Date: Wed Dec 6 20:39:21 2006 -0800 [PATCH] ext4 balloc: say rb_entry not list_entry The reservations tree is an rb_tree not a list, so it's less confusing to use rb_entry() than list_entry() - though they're both just container_of(). Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2f2c76d17b68869914a1ec3ab04c7674668f60d Author: Hugh Dickins Date: Wed Dec 6 20:39:20 2006 -0800 [PATCH] ext4 balloc: fix off-by-one against rsv_end rsv_end is the last block within the reservation, so alloc_new_reservation should accept start_block == rsv_end as success. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7dc95db2695dc92b223cdc49227ac57e63406d2 Author: Hugh Dickins Date: Wed Dec 6 20:39:19 2006 -0800 [PATCH] ext4 balloc: fix off-by-one against grp_goal grp_goal 0 is a genuine goal (unlike -1), so ext4_try_to_allocate_with_rsv should treat it as such. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd16c8f72aaaf2af06969d1441051b90010f7041 Author: Hugh Dickins Date: Wed Dec 6 20:39:18 2006 -0800 [PATCH] ext4 balloc: reset windowsz when full ext4_new_blocks should reset the reservation window size to 0 when squeezing the last blocks out of an almost full filesystem, so the retry doesn't skip any groups with less than half that free, reporting ENOSPC too soon. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 126039256cf164f69d8cfa20f1952d00fa61f52f Author: Hisashi Hifumi Date: Wed Dec 6 20:39:17 2006 -0800 [PATCH] jbd2: wait for already submitted t_sync_datalist buffer to complete In the current jbd code, if a buffer on BJ_SyncData list is dirty and not locked, the buffer is refiled to BJ_Locked list, submitted to the IO and waited for IO completion. But the fsstress test showed the case that when a buffer was already submitted to the IO just before the buffer_dirty(bh) check, the buffer was not waited for IO completion. Following patch solves this problem. If it is assumed that a buffer is submitted to the IO before the buffer_dirty(bh) check and still being written to disk, this buffer is refiled to BJ_Locked list. Signed-off-by: Hisashi Hifumi Cc: Jan Kara Cc: "Stephen C. Tweedie" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 702a28b1e64be3dc313f5f0ceb6dc95edfbc5e18 Author: Randy Dunlap Date: Wed Dec 6 20:39:16 2006 -0800 [PATCH] lib functions: always build hweight for loadable modules Always build hweight8/16/32/64() functions into the kernel so that loadable modules may use them. I didn't remove GENERIC_HWEIGHT since ALPHA_EV67, ia64, and some variants of UltraSparc(64) provide their own hweight functions. Fixes config/build problems with NTFS=m and JOYSTICK_ANALOG=m. Kernel: arch/x86_64/boot/bzImage is ready (#19) Building modules, stage 2. MODPOST 94 modules WARNING: "hweight32" [fs/ntfs/ntfs.ko] undefined! WARNING: "hweight16" [drivers/input/joystick/analog.ko] undefined! WARNING: "hweight8" [drivers/input/joystick/analog.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b71c8e76d20d0329bf7e54f172389f3c343dc41 Author: Stephane Eranian Date: Wed Dec 6 20:39:15 2006 -0800 [PATCH] remove useless carta_random32.h Remove the carta_random32.h header file. The carta_random32() function was was put in and removed in favor of random32(). In the removal process, the header file was forgotten. Signed-off-by: Stephane Eranian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e229beff7ee43d3d5e387ec91188b20f6267c00 Author: Randy Dunlap Date: Wed Dec 6 20:39:14 2006 -0800 [PATCH] REPORTING-BUGS: request .config file Add kernel .config file to REPORTING-BUGS. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6f24f99cd70a383699bdb34ddd9e6e51c83304c Author: Riku Voipio Date: Wed Dec 6 20:39:13 2006 -0800 [PATCH] rtc-rs5c372: change register reading method According to the datasheet rs5c372 supports three different methods for reading register values. Change from method #1 to method #3, since method #3 is the only one that works on Thecus N2100 board with this RTC. Signed-off-by: Riku Voipio Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c55747682e938c57a9a859d3b26f2c4c83cea011 Author: Vladimir V. Saveliev Date: Wed Dec 6 20:39:12 2006 -0800 [PATCH] reiserfs: do not add save links for O_DIRECT writes We add a save link for O_DIRECT writes to protect the i_size against the crashes before we actually finish the I/O. If we hit an -ENOSPC in aops->prepare_write(), we would do a truncate() to release the blocks which might have got initialized. Now the truncate would add another save link for the same inode causing a reiserfs panic for having multiple save links for the same inode. Signed-off-by: Vladimir V. Saveliev Signed-off-by: Amit Arora Signed-off-by: Suzuki K P Cc: Jeff Mahoney Cc: Chris Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 301827acbe49d0ba7ec9770803970893ac9ded97 Author: Chris Caputo Date: Wed Dec 6 20:39:11 2006 -0800 [PATCH] sched: correct output of show_state() At present show_state prints a header the does not match the output of show_task, as follows: - sibling task PC pid father child younger older init S 00000000 0 1 0 2 (NOTLB) - This patch corrects the output of show_state so that the header is aligned with the data, ala: - free sibling task PC stack pid father child younger older init S 00000000 0 1 0 2 (NOTLB) - Signed-off-by: Chris Caputo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd9b0bac6f601655044fc35978e26231dffee03e Author: BP, Praveen Date: Wed Dec 6 20:39:09 2006 -0800 [PATCH] sysctl: string length calculated is wrong if it contains negative numbers In the functions do_proc_dointvec() and do_proc_doulongvec_minmax(), there seems to be a bug in string length calculation if string contains negative integer. The console log given below explains the bug. Setting negative values may not be a right thing to do for "console log level" but then the test (given below) can be used to demonstrate the bug in the code. # echo "-1 -1 -1 -123456" > /proc/sys/kernel/printk # cat /proc/sys/kernel/printk -1 -1 -1 -1234 # # echo "-1 -1 -1 123456" > /proc/sys/kernel/printk # cat /proc/sys/kernel/printk -1 -1 -1 1234 # (akpm: the bug is that 123456 gets truncated) It works as expected if string contains all +ve integers # echo "1 2 3 4" > /proc/sys/kernel/printk # cat /proc/sys/kernel/printk 1 2 3 4 # The patch given below fixes the issue. Signed-off-by: Praveen BP Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36499dc2bc8025bc931a0fb22bbe0ac0e46ffb14 Author: Akinobu Mita Date: Wed Dec 6 20:39:06 2006 -0800 [PATCH] synclink_gt: fix init error handling Initialization synclink_gt forgot to unregister pci driver on error path. Signed-off-by: Akinobu Mita Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b92ff01c2cd21567c3342c1c77d5e4f1a2bd699 Author: Akinobu Mita Date: Wed Dec 6 20:39:05 2006 -0800 [PATCH] spi: check platform_device_register_simple() error Check the return value of platform_device_register_simple(). Cc: David Brownell Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95362fa90312ff2d52c0b4d42412cd7ceeb3b89b Author: Akinobu Mita Date: Wed Dec 6 20:39:03 2006 -0800 [PATCH] futex: init error check Check register_filesystem() and kern_mount() return values. Cc: Ingo Molnar Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01afb2134ed079fa4551b4d26f62423df6790c09 Author: Yan Burman Date: Wed Dec 6 20:39:01 2006 -0800 [PATCH] reiser: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9399575dd30edcb84e821583daf81d4ba774a95b Author: Maciej W. Rozycki Date: Wed Dec 6 20:38:59 2006 -0800 [PATCH] dz: Fixes to make it work This a set of fixes mostly to make the driver actually work: 1. Actually select the line for setting parameters and receiver disable/enable. 2. Select the line for receive and transmit interrupt handling correctly. 3. Report the transmitter empty state correctly. 4. Set the I/O type of ports correctly. 5. Perform polled transmission correctly. 6. Don't fix the console line at ttyS3. 7. Magic SysRq support. 8. Various small bits here and there. Tested with a DECstation 2100 (thanks Flo for making this possible). [akpm@osdl.org: fix typo] Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7dff2b12654149c9cac8d8c79b6588759edd5a9 Author: Gautham R Shenoy Date: Wed Dec 6 20:38:58 2006 -0800 [PATCH] Handle per-subsystem mutexes for CONFIG_HOTPLUG_CPU not set Provide a common interface for all the subsystems to lock and unlock their per-subsystem hotcpu mutexes. When CONFIG_HOTPLUG_CPU is not set, these operations would be no-ops. [akpm@osdl.org: macros -> inlines] Signed-off-by: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3fa72e4556ec1f04e46a0d561d9e785ecaa173d Author: Ralf Baechle Date: Wed Dec 6 20:38:56 2006 -0800 [PATCH] Pass struct dev pointer to dma_cache_sync() Pass struct dev pointer to dma_cache_sync() dma_cache_sync() is ill-designed in that it does not have a struct device pointer argument which makes proper support for systems that consist of a mix of coherent and non-coherent DMA devices hard. Change dma_cache_sync to take a struct device pointer as first argument and fix all its callers to pass it. Signed-off-by: Ralf Baechle Cc: James Bottomley Cc: "David S. Miller" Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f67637ee4b5d90d41160d755b9a8cca18c394586 Author: Ralf Baechle Date: Wed Dec 6 20:38:54 2006 -0800 [PATCH] Add struct dev pointer to dma_is_consistent() dma_is_consistent() is ill-designed in that it does not have a struct device pointer argument which makes proper support for systems that consist of a mix of coherent and non-coherent DMA devices hard. Change dma_is_consistent to take a struct device pointer as first argument and fix the sole caller to pass it. Signed-off-by: Ralf Baechle Cc: James Bottomley Cc: "David S. Miller" Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83b7b44e1c1e9e493ccd4146558481ab5af0116a Author: Eric Dumazet Date: Wed Dec 6 20:38:53 2006 -0800 [PATCH] fs: reorder some 'struct inode' fields to speedup i_size manipulations On 32bits SMP platforms, 64bits i_size is protected by a seqcount (i_size_seqcount). When i_size is read or written, i_size_seqcount is read/written as well, so it make sense to group these two fields together in the same cache line. This patch moves i_size_seqcount next to i_size, and also moves i_version to let offsetof(struct inode, i_size) being 0x40 instead of 0x3c (for 32bits platforms). For 64 bits platforms, i_size_seqcount doesnt exist, and the move of a 'long i_version' should not introduce a new hole because of padding. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea82c74093f48b28e632d03eeff22faf99727a8c Author: Randy Dunlap Date: Wed Dec 6 20:38:52 2006 -0800 [PATCH] kernel-doc: stricter function pointer recognition Be more careful about function pointer args: look for "(...*" instead of just "(". This line in include/linux/input.h fools the current kernel-doc script into deciding that this is a function pointer: unsigned long ffbit[NBITS(FF_MAX)]; Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4668edc334ee90cf50c382c3e423cfc510b5a126 Author: Burman Yan Date: Wed Dec 6 20:38:51 2006 -0800 [PATCH] kernel core: replace kmalloc+memset with kzalloc Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 304e61e6fbadec586dfe002b535f169a04248e49 Author: Eric Dumazet Date: Wed Dec 6 20:38:49 2006 -0800 [PATCH] net: don't insert socket dentries into dentry_hashtable We currently insert socket dentries into the global dentry hashtable. This is suboptimal because there is currently no way these entries can be used for a lookup(). (/proc/xxx/fd/xxx uses a different mechanism). Inserting them in dentry hashtable slows dcache lookups. To let __dpath() still work correctly (ie not adding a " (deleted)") after dentry name, we do : - Right after d_alloc(), pretend they are hashed by clearing the DCACHE_UNHASHED bit. - Call d_instantiate() instead of d_add() : dentry is not inserted in hash table. __dpath() & friends work as intended during dentry lifetime. - At dismantle time, once dput() must clear the dentry, setting again DCACHE_UNHASHED bit inside the custom d_delete() function provided by socket code, so that dput() can just kill_it. Signed-off-by: Eric Dumazet Cc: Al Viro Acked-by: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3423415fbc2e5461605826317da1c8dbbf21f97 Author: Eric Dumazet Date: Wed Dec 6 20:38:48 2006 -0800 [PATCH] dcache: avoid RCU for never-hashed dentries Some dentries don't need to be globally visible in dentry hashtable. (pipes & sockets) Such dentries dont need to wait for a RCU grace period at delete time. Being able to free them permits a better CPU cache use (hot cache) This patch combined with (dont insert pipe dentries into dentry_hashtable) reduced time of { pipe(p); close(p[0]); close(p[1]);} on my UP machine (1.6 GHz Pentium-M) from 3.23 us to 2.86 us (But this patch does not depend on other patches, only bench results) Signed-off-by: Eric Dumazet Cc: Al Viro Cc: Maneesh Soni Cc: "Paul E. McKenney" Cc: Dipankar Sarma Acked-by: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d18de5a2721f84ffd6a5d637915746ed47becc1c Author: Eric Dumazet Date: Wed Dec 6 20:38:45 2006 -0800 [PATCH] don't insert pipe dentries into dentry_hashtable. We currently insert pipe dentries into the global dentry hashtable. This is suboptimal because there is currently no way these entries can be used for a lookup(). (/proc/xxx/fd/xxx uses a different mechanism). Inserting them in dentry hashtable slows dcache lookups. To let __dpath() still work correctly (ie not adding a " (deleted)") after dentry name, we do : - Right after d_alloc(), pretend they are hashed by clearing the DCACHE_UNHASHED bit. - Call d_instantiate() instead of d_add() : dentry is not inserted in hash table. __dpath() & friends work as intended during dentry lifetime. - At dismantle time, once dput() must clear the dentry, setting again DCACHE_UNHASHED bit inside the custom d_delete() function provided by pipe code, so that dput() can just kill_it. This patch, combined with (avoid RCU for never hashed dentries) reduced time of { pipe(p); close(p[0]); close(p[1]);} on my UP machine (1.6GHz Pentium-M) from 3.23 us to 2.86 us (But this patch does not depend on other patches, only bench results) Signed-off-by: Eric Dumazet Acked-by: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c69d921ed9cc6593ad4f60c0f9951cb0d62b0b4 Author: Eric Dumazet Date: Wed Dec 6 20:38:44 2006 -0800 [PATCH] rcu: add a prefetch() in rcu_do_batch() On some workloads, (for example when lot of close() syscalls are done), RCU qlen can be quite large, and RCU heads are no longer in cpu cache when rcu_do_batch() is called. This patch adds a prefetch() in rcu_do_batch() to give CPU a hint to bring back cache lines containing 'struct rcu_head's. Most list manipulations macros include prefetch(), but not open coded ones (at least with current C compilers :) ) I got a nice speedup on a trivial benchmark (3.48 us per iteration instead of 3.95 us on a 1.6 GHz Pentium-M) while (1) { pipe(p); close(fd[0]); close(fd[1]);} Signed-off-by: Eric Dumazet Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a0efbb8795e8c5acb279d984b53d6af6ecdd00f Author: Randy Dunlap Date: Wed Dec 6 20:38:44 2006 -0800 [PATCH] kernel-api book: remove videodev chapter Remove the videodev chapter from the kernel-api book. It's done much better in the videobook kernel-doc. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9489fb60614794cbca4b6b173c60ed9388974c6 Author: Randy Dunlap Date: Wed Dec 6 20:38:43 2006 -0800 [PATCH] kernel-doc: fix fusion and i2o docs Correct lots of typos, kernel-doc warnings, & kernel-doc usage in fusion and i2o drivers. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da39aa8fbc031029b1f06f1abf2a933e1042fe99 Author: Randy Dunlap Date: Wed Dec 6 20:38:42 2006 -0800 [PATCH] kernel-doc: add fusion and i2o to kernel-api book Add Fusion and I2O message-based device interfaces to kernel-api book. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bf93226073db0c957664592ba2f1aaeef57bb82 Author: Randy Dunlap Date: Wed Dec 6 20:38:41 2006 -0800 [PATCH] export toshiba SMM support for neofb module When CONFIG_TOSHIBA=y and CONFIG_FB_NEOMAGIC=m, tosh_smm() needs to be exported for neofb to use it. WARNING: "tosh_smm" [drivers/video/neofb.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e29fe837a512229f4757cd93fdd7163d027d103 Author: Randy Dunlap Date: Wed Dec 6 20:38:40 2006 -0800 [PATCH] CISS: require same SCSI module support Building CCISS SCSI tape support in-kernel when SCSI=m causes build errors, so require SCSI support to be =y or same as CCISS SCSI tape support. drivers/built-in.o: In function `cciss_remove_one': cciss.c:(.text+0x79d4c): undefined reference to `scsi_remove_host' cciss.c:(.text+0x79d55): undefined reference to `scsi_host_put' drivers/built-in.o: In function `cciss_update_non_disk_devices': cciss.c:(.text+0x7bb54): undefined reference to `scsi_device_type' cciss.c:(.text+0x7bcc8): undefined reference to `scsi_device_type' cciss.c:(.text+0x7be81): undefined reference to `scsi_device_type' cciss.c:(.text+0x7bf81): undefined reference to `scsi_device_type' drivers/built-in.o: In function `cciss_proc_write': cciss.c:(.text+0x7c175): undefined reference to `scsi_host_alloc' cciss.c:(.text+0x7c1ed): undefined reference to `scsi_add_host' cciss.c:(.text+0x7c1f9): undefined reference to `scsi_scan_host' cciss.c:(.text+0x7c206): undefined reference to `scsi_host_put' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Acked-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 403aac965eba17a360a93c3b679f57b21030d4cd Author: Yoichi Yuasa Date: Wed Dec 6 20:38:38 2006 -0800 [PATCH] add return value checking of get_user() in set_vesa_blanking() [akpm@osdl.org: bugfix] Signed-off-by: Yoichi Yuasa Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db68b189f4b8026b2f532e1b1bbdba5fcb36638c Author: David Brownell Date: Wed Dec 6 20:38:36 2006 -0800 [PATCH] add rtc-omap driver This creates a new RTC-framework driver for the RTC/calendar module found in various OMAP1 chips. (OMAP2 and OMAP3 use external RTCs, like those in TI's multifunction PM companion chips.) It's been in the Linux-OMAP tree for several months now, and other trees before that, so it's quite stable. The most notable issue is that the OMAP IRQ code doesn't yet support the RTC IRQ as a wakeup event. Once that's fixed, a patch will be needed. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da015a6744f3648d34b83d1c4e015e6a798b8c56 Author: Randy Dunlap Date: Wed Dec 6 20:38:35 2006 -0800 [PATCH] agp-amd64: section mismatches with HOTPLUG=n When CONFIG_HOTPLUG=n, agp_amd64_resume() calls nforce3_agp_init(), which is __devinit == __init, so has been discarded and is not usable for resume. WARNING: drivers/char/agp/amd64-agp.o - Section mismatch: reference to .init.text: from .text between 'agp_amd64_resume' (at offset 0x249) and 'amd64_tlbflush' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4438982f56b7e2ecb7932612601ba0390972ce3b Author: Randy Dunlap Date: Wed Dec 6 20:38:33 2006 -0800 [PATCH] parport: section mismatches with HOTPLUG=n When CONFIG_HOTPLUG=n, parport_pc calls some __devinit == __init code that could be discarded. These calls are made from parport_irq_probe(), which is called from parport_pc_probe_port(), which is an exported symbol, so the calls could (possibly) happen after init time. WARNING: drivers/parport/parport_pc.o - Section mismatch: reference to .init.text: from .text between 'parport_irq_probe' (at offset 0x31d) and 'parport_pc_probe_port' WARNING: drivers/parport/parport_pc.o - Section mismatch: reference to .init.text: from .text between 'parport_irq_probe' (at offset 0x346) and 'parport_pc_probe_port' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9711ef9945ce33b2b4ecb51a4db3f65f7d784876 Author: Adrian Bunk Date: Wed Dec 6 20:38:31 2006 -0800 [PATCH] make fs/proc/base.c:proc_pid_instantiate() static Signed-off-by: Adrian Bunk Acked-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c585646dd1d98caf0a5f2e85c794c1441df6fac1 Author: Adrian Bunk Date: Wed Dec 6 20:38:29 2006 -0800 [PATCH] fs/lockd/host.c: make 2 functions static Make the following needlessly global functions static: - nlm_lookup_host() - nsm_find() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ddae86095794cce4364740edd8463c77654a265 Author: Adrian Bunk Date: Wed Dec 6 20:38:27 2006 -0800 [PATCH] make fs/jbd2/transaction.c:__kbd2_journal_temp_unlink_buffer() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d394e122bc1adba0f3eb1ebec1cedb8a8c524741 Author: Adrian Bunk Date: Wed Dec 6 20:38:26 2006 -0800 [PATCH] make fs/jbd/transaction.c:__journal_temp_unlink_buffer() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8487f2e4067839ad3d009c240d51b682264320ae Author: Adrian Bunk Date: Wed Dec 6 20:38:25 2006 -0800 [PATCH] make ecryptfs_version_str_map[] static Signed-off-by: Adrian Bunk Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f13a603786819cc8f2eef6a89bc4a6c88f40ee60 Author: Randy Dunlap Date: Wed Dec 6 20:38:24 2006 -0800 [PATCH] I2O: fix I2O_CONFIG without Adaptec extension With I2O_CONFIG=y and I2O_EXT_ADAPTEC=n, kernel build gets: drivers/message/i2o/i2o_config.c:1115: error: 'i2o_cfg_compat_ioctl' undeclared here (not in a function) Signed-off-by: Randy Dunlap Cc: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d69b7d3d115d0db3ddd87f09e496db7ecf72650 Author: Randy Dunlap Date: Wed Dec 6 20:38:23 2006 -0800 [PATCH] I2O: handle __copy_from_user Handle __copy_from_user() return value. Noticed by inspection, not from build warning. Signed-off-by: Randy Dunlap Cc: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3228a887cae75ef2b8b1211c31c539bef5a5698 Author: Adrian Bunk Date: Wed Dec 6 20:38:22 2006 -0800 [PATCH] make kernel/signal.c:kill_proc_info() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebe7e5fe4b41deeb2731c5b52d8c8e6ac08b1f74 Author: Adrian Bunk Date: Wed Dec 6 20:38:21 2006 -0800 [PATCH] remove kernel/lockdep.c:lockdep_internal Remove the no longer used lockdep_internal(). Signed-off-by: Adrian Bunk Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f370a23f2a3101886953add4bd7f529e3bba016 Author: Adrian Bunk Date: Wed Dec 6 20:38:21 2006 -0800 [PATCH] make mm/shmem.c:shmem_xattr_security_handler static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fed806f4072badad614699e1d40202e0ffef5c63 Author: Jan Beulich Date: Wed Dec 6 20:38:20 2006 -0800 [PATCH] allow hwrandom core to be a module Despite it being small, there should be the option of making it a module... Signed-off-by: Jan Beulich Cc: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1df1e63b9e9340015c01b85817568fb9afde10bc Author: Mingming Cao Date: Wed Dec 6 20:38:19 2006 -0800 [PATCH] ext4: fix reservation extension Hugh Dickins wrote: > Not found anything relevant, but I keep noticing these lines > in ext2_try_to_allocate_with_rsv(), ext3 and ext4 similar: > > } else if (grp_goal > 0 && > (my_rsv->rsv_end - grp_goal + 1) < *count) > try_to_extend_reservation(my_rsv, sb, > *count-my_rsv->rsv_end + grp_goal - 1); > > They're wrong, a no-op in most groups, aren't they? rsv_end is an > absolute block number, whereas grp_goal is group-relative, so the > calculation ought to bring in group_first_block? Or I'm confused. > Signed-off-by: Mingming Cao Cc: "linux-ext4@vger.kernel.org" Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bd94bd79e5bfa217714f78e5d6d7b6517ca546f Author: Mingming Cao Date: Wed Dec 6 20:38:18 2006 -0800 [PATCH] ext3: fix reservation extension Hugh Dickins wrote: > Not found anything relevant, but I keep noticing these lines > in ext2_try_to_allocate_with_rsv(), ext3 and ext4 similar: > > } else if (grp_goal > 0 && > (my_rsv->rsv_end - grp_goal + 1) < *count) > try_to_extend_reservation(my_rsv, sb, > *count-my_rsv->rsv_end + grp_goal - 1); > > They're wrong, a no-op in most groups, aren't they? rsv_end is an > absolute block number, whereas grp_goal is group-relative, so the > calculation ought to bring in group_first_block? Or I'm confused. > Signed-off-by: Mingming Cao Cc: "linux-ext4@vger.kernel.org" Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02316067852187b8bec781bec07410e91af79627 Author: Ingo Molnar Date: Wed Dec 6 20:38:17 2006 -0800 [PATCH] hotplug CPU: clean up hotcpu_notifier() use There was lots of #ifdef noise in the kernel due to hotcpu_notifier(fn, prio) not correctly marking 'fn' as used in the !HOTPLUG_CPU case, and thus generating compiler warnings of unused symbols, hence forcing people to add #ifdefs. the compiler can skip truly unused functions just fine: text data bss dec hex filename 1624412 728710 3674856 6027978 5bfaca vmlinux.before 1624412 728710 3674856 6027978 5bfaca vmlinux.after [akpm@osdl.org: topology.c fix] Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a38a44c1a93078fc5fadc4ac2df8dea4697069e2 Author: Andrew Morton Date: Wed Dec 6 20:38:16 2006 -0800 [PATCH] smp_call_function_single() check that local interrupts are enabled smp_call_function_single() can deadlock if the caller disabled local interrupts (the target CPU could be spinning on call_lock). Check for that. Why on earth do these functions use spin_lock_bh()?? Cc: "Randy.Dunlap" Cc: Andi Kleen Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83df8db9e62129975fab6d800fb381faf0dfee74 Author: Randy Dunlap Date: Wed Dec 6 20:38:14 2006 -0800 [PATCH] declare smp_call_function_single in generic code smp_call_function_single() needs to be visible in non-SMP builds, to fix: arch/x86_64/kernel/vsyscall.c:283: warning: implicit declaration of function 'smp_call_function_single' Signed-off-by: Randy Dunlap Cc: Ingo Molnar Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4c6c34a530b4d1c626f4ac0a884e0a9b849378c Author: Masami Hiramatsu Date: Wed Dec 6 20:38:11 2006 -0800 [PATCH] kprobes: enable booster on the preemptible kernel When we are unregistering a kprobe-booster, we can't release its instruction buffer immediately on the preemptive kernel, because some processes might be preempted on the buffer. The freeze_processes() and thaw_processes() functions can clean most of processes up from the buffer. There are still some non-frozen threads who have the PF_NOFREEZE flag. If those threads are sleeping (not preempted) at the known place outside the buffer, we can ensure safety of freeing. However, the processing of this check routine takes a long time. So, this patch introduces the garbage collection mechanism of insn_slot. It also introduces the "dirty" flag to free_insn_slot because of efficiency. The "clean" instruction slots (dirty flag is cleared) are released immediately. But the "dirty" slots which are used by boosted kprobes, are marked as garbages. collect_garbage_slots() will be invoked to release "dirty" slots if there are more than INSNS_PER_PAGE garbage slots or if there are no unused slots. Cc: "Keshavamurthy, Anil S" Cc: Ananth N Mavinakayanahalli Cc: "bibo,mao" Cc: Prasanna S Panchamukhi Cc: Yumiko Sugita Cc: Satoshi Oshima Cc: Hideo Aoki Signed-off-by: Masami Hiramatsu Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c15bb296403f1ce448384d58742e0dc04f49d664 Author: Linas Vepstas Date: Wed Dec 6 20:38:07 2006 -0800 [PATCH] HVCS char driver janitoring: move block of code Move a block of code from the bottom of the file to the top, which is needed to enable the cleanup. Signed-off-by: Linas Vepstas Cc: Ryan S. Arnold Cc: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 940cc2df935d00e704c7b8366bdaedda379abf85 Author: Mariusz Kozlowski Date: Wed Dec 6 20:38:04 2006 -0800 [PATCH] make 1-bit bitfields unsigned Keeps sparse happy. Signed-of-by: Mariusz Kozlowski Cc: Russell King Cc: Mauro Carvalho Chehab Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c67220480e0dc6442851691c81c2ff7aa48f9d8f Author: Adrian Bunk Date: Wed Dec 6 20:38:02 2006 -0800 [PATCH] The scheduled removal of some OSS options The scheduled removal of the OSS drivers depending on OSS_OBSOLETE_DRIVER. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de21c57b90b3716f6f951e88e039d00ab6729ce9 Author: Alexey Dobriyan Date: Wed Dec 6 20:38:02 2006 -0800 [PATCH] reiserfs: add missing D-cache flushing Looks like, reiserfs_prepare_file_region_for_write() doesn't contain several flush_dcache_page() calls. Found with help from Dmitriy Monakhov [akpm@osdl.org: small speedup] Signed-off-by: Alexey Dobriyan Cc: Dmitriy Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 360276042d7a8369ce912acff99c1c4de394b312 Author: Magnus Damm Date: Wed Dec 6 20:38:00 2006 -0800 [PATCH] elf: fix kcore note size calculation - Define "CORE" string as CORE_STR in single common place. - Include terminating zero in CORE_STR length calculation for elf_buflen. - Use roundup(,4) to include alignment in elf_buflen calculation. [akpm@osdl.org: simplification suggested by Roland] Signed-off-by: Magnus Damm Cc: Daniel Jacobowitz Cc: Roland McGrath Cc: Jakub Jelinek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 584236ac7cdddeec0fdff25d2e475471ef91d028 Author: Magnus Damm Date: Wed Dec 6 20:37:56 2006 -0800 [PATCH] elf: include terminating zero in n_namesz The ELF32 spec says we should plus we include the zero on other platforms. Signed-off-by: Magnus Damm Cc: Daniel Jacobowitz Cc: Roland McGrath Cc: Jakub Jelinek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 386d9a7edd9f3492c99124b0a659e9ed7abb30f9 Author: Magnus Damm Date: Wed Dec 6 20:37:53 2006 -0800 [PATCH] elf: Always define elf_addr_t in linux/elf.h Define elf_addr_t in linux/elf.h. The size of the type is determined using ELF_CLASS. This allows us to remove the defines that today are spread all over .c and .h files. Signed-off-by: Magnus Damm Cc: Daniel Jacobowitz Cc: Roland McGrath Cc: Jakub Jelinek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 651971cb7242e8f6d7ebd153e69bd271cb731223 Author: suzuki Date: Wed Dec 6 20:37:48 2006 -0800 [PATCH] Fix the size limit of compat space msgsize Currently we allocate 64k space on the user stack and use it the msgbuf for sys_{msgrcv,msgsnd} for compat and the results are later copied in user [ by copy_in_user]. This patch introduces helper routines for sys_{msgrcv,msgsnd} as below: do_msgsnd() : Accepts the mtype and user space ptr to the buffer along with the msqid and msgflg. do_msgrcv() : Accepts a kernel space ptr to mtype and a userspace ptr to the buffer. The mtype has to be copied back the user space msgbuf by the caller. These changes avoid the need to allocate the msgsize on the userspace ( thus removing the size limt ) and the overhead of an extra copy_in_user(). Signed-off-by: Suzuki K P Cc: Arnd Bergmann Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19e5d9c0d2194b4b47189cbec2921cbf72b0bd1c Author: Henry Nestler Date: Wed Dec 6 20:37:45 2006 -0800 [PATCH] initrd: remove unused false condition for initrd_start After LOADER_TYPE && INITRD_START are true, the short if-condition for INITRD_START can never be false. Remove unused code from the else condition. Signed-off-by: Henry Nestler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 319e799abb89d9215a203e32c2cad51115d302f4 Author: Valdis Kletnieks Date: Wed Dec 6 20:37:43 2006 -0800 [PATCH] ver_linux additions scripts/ver_linux needed some minor clean-ups, as follows: 1) Add reporting of actual oprofile release 2) Add reporting of actual wireless-tools release 3) Add reporting of actual pcmciautils release Signed-off-by: Valdis Kletnieks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c36264dfb2d6fa6383082de0a1bba8e12b477da1 Author: Mike Galbraith Date: Wed Dec 6 20:37:42 2006 -0800 [PATCH] remove the syslog interface when printk is disabled Attempts to read() from the non-existent dmesg buffer will return zero and userspace tends to get stuck in a busyloop. So just remove /dev/kmsg altogether if CONFIG_PRINTK=n. Signed-off-by: Mike Galbraith Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44ddc4f5673a62c9ecdbb7b502fe7b8206b0f945 Author: akpm@osdl.org Date: Wed Dec 6 20:37:41 2006 -0800 [PATCH] qconf: support old QT Might make qconf compilable with qt-3.1 as well as qt-3.3 Cc: greg chesson Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfd1893477fa94bb0915e39afa2f044ac978b5c6 Author: Thomas Gleixner Date: Wed Dec 6 20:37:38 2006 -0800 [PATCH] ktime: Fix signed / unsigned mismatch in ktime_to_ns The 32 bit implementation of ktime_to_ns returns unsigned value, while the 64 bit version correctly returns an signed value. There is no current user affected by this, but it has to be fixed, as ktime values can be negative. Pointed-out-by: Helmut Duregger Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b46be05004abb419e303e66e143eed9f8a6e9f3f Author: Andrey Savochkin Date: Wed Dec 6 20:37:36 2006 -0800 [PATCH] retries in ext4_prepare_write() violate ordering requirements In journal=ordered or journal=data mode retry in ext4_prepare_write() breaks the requirements of journaling of data with respect to metadata. The fix is to call commit_write to commit allocated zero blocks before retry. Signed-off-by: Kirill Korotaev Cc: Ingo Molnar Cc: Ken Chen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e92a4d595b464c4aae64be39ca61a9ffe9c8b278 Author: Andrey Savochkin Date: Wed Dec 6 20:37:34 2006 -0800 [PATCH] retries in ext3_prepare_write() violate ordering requirements In journal=ordered or journal=data mode retry in ext3_prepare_write() breaks the requirements of journaling of data with respect to metadata. The fix is to call commit_write to commit allocated zero blocks before retry. Signed-off-by: Kirill Korotaev Cc: Ingo Molnar Cc: Ken Chen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04903664325acb3f199dd8a4b8f1aa437e9fd6b2 Author: Andrew Morton Date: Wed Dec 6 20:37:33 2006 -0800 [PATCH] remove HASH_HIGHMEM It has no users and it's doubtful that we'll need it again. Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93f210dd9e614ddab7ecef0b4c9ba6ad3720d860 Author: Andrew Morton Date: Wed Dec 6 20:37:33 2006 -0800 [PATCH] protect ext2 ioctl modifying append_only immutable etc with i_mutex Port commit a090d9132c1e53e3517111123680c15afb25c0a4 into ext2: All modifications of ->i_flags in inodes that might be visible to somebody else must be under ->i_mutex. That patch fixes ext2 ioctl() setting S_APPEND. Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5738ceed46782aea7663d62cb6398eb05fc4ce0 Author: Arnd Bergmann Date: Wed Dec 6 20:37:29 2006 -0800 [PATCH] remove kernel syscalls The last thing we agreed on was to remove the macros entirely for 2.6.19, on all architectures. Unfortunately, I think nobody actually _did_ that, so they are still there. [akpm@osdl.org: x86_64 fix] Cc: David Woodhouse Cc: Greg Schafer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28ec24e23229ae3d333f8d7f0e6b31fa8ea7bf46 Author: Andrew Morton Date: Wed Dec 6 20:37:29 2006 -0800 [PATCH] driver/base/memory.c: handle errors properly Do proper error-checking and propagation in drivers/base/memory.c, hence fix __must_check warnings. Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d75565f1e8f098b80a34ccf70db450f60618ec8 Author: Kristian Kielhofner Date: Wed Dec 6 20:37:28 2006 -0800 [PATCH] PCEngines WRAP LED Support A driver for the PCEngines WRAP boards (http://www.pcengines.ch), which are very similar to the Soekris net4801 (same NS SC1100 geode reference design). The LEDs on the WRAP are on different GPIO lines and I have modified and copied the net48xx error led support for this. It also includes support for an "extra" led (in addition to error). The three LEDs on the WRAP are at GPIO lines 2,3,18 (WRAP LEDs from left to right). This driver gives access to the second and third LEDs by twiddling GPIO lines 3 & 18. Because these boards are so similar to the net48xx, I basically sed-ed that driver to form the basis for leds-wrap.c. The only changes from leds-net48xx.c are: - #define WRAP_EXTRA_LED_GPIO - name changes - duplicate relevant sections to provide support for the "extra" led - reverse the various *_led_set values. The WRAP is "backwards" from the net48xx, and these needed to be updated for that. [akpm@osdl.org: build fix] Signed-off-by: Kristian Kielhofner Acked-by: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40fcfc87222e2e8af6379ec366f0cb2a411570cd Author: Alan Cox Date: Wed Dec 6 20:37:27 2006 -0800 [PATCH] HZ: 300Hz support Fix two things. Firstly the unit is "Hz" not "HZ". Secondly it is useful to have 300Hz support when doing multimedia work. 250 is fine for us in Europe but the US frame rate is 30fps (29.99 blah for pedants). 300 gives us a tick divisible by both 25 and 30, and for interlace work 50 and 60. It's also giving similar performance to 250Hz. I'd argue we should remove 250 and add 300, but that might be excess disruption for now. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5abe669172f20a4129a711de0f250a4e07db298 Author: Peter Zijlstra Date: Wed Dec 6 20:37:26 2006 -0800 [PATCH] debug: workqueue locking sanity Workqueue functions should not leak locks, assert so, printing the last function ran. Use macros in lockdep.h to avoid include dependency pains. [akpm@osdl.org: build fix] Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fb50ea79cb869667adaa71ed32cc15dd73986de Author: Adrian Bunk Date: Wed Dec 6 20:37:25 2006 -0800 [PATCH] ext4_ext_split(): remove dead code The Coverity checker noted that this was dead code, since in all places above in this function, "err" is immediately checked. Signed-off-by: Adrian Bunk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ece8a684c75df215320b4155944979e3f78c5c93 Author: Ingo Molnar Date: Wed Dec 6 20:37:24 2006 -0800 [PATCH] sleep profiling Implement prof=sleep profiling. TASK_UNINTERRUPTIBLE sleeps will be taken as a profile hit, and every millisecond spent sleeping causes a profile-hit for the call site that initiated the sleep. Sample readprofile output on i386: 306 ps2_sendbyte 1.3973 432 call_usermodehelper_keys 1.9548 484 ps2_command 0.6453 790 __driver_attach 4.7879 1593 msleep 44.2500 3976 sync_buffer 64.1290 4076 do_lookup 12.4648 8587 sync_page 122.6714 20820 total 0.0067 (NOTE: architectures need to check whether get_wchan() can be called from deep within the wakeup path.) akpm: we need to mark more functions __sched. lock_sock(), msleep(), others.. akpm: the contention in do_lookup() is a surprise. Presumably doing disk reads for directory contents while holding i_mutex. [akpm@osdl.org: various fixes] Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70888bd5b70579e278d5ef1b7e1ec6a420d38b9e Author: Vasily Averin Date: Wed Dec 6 20:37:23 2006 -0800 [PATCH] Documentation: remount_fs() needs lock_kernel Fixed long-lived typo: remount_fs() needs BKL Signed-off-by: Vasily Averin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cfd76a26d9fe2ba54b9d496a48c1d9285e5c5ed Author: Peter Zijlstra Date: Wed Dec 6 20:37:22 2006 -0800 [PATCH] lockdep: name some old style locks Name some of the remaning 'old_style_spin_init' locks Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4c410f00f7ca4bd448b0d63f6f882fd244dc991 Author: Peter Zijlstra Date: Wed Dec 6 20:37:21 2006 -0800 [PATCH] lockdep: print current locks on in_atomic warnings Add debug_show_held_locks(current) to __might_sleep() and schedule(); this makes finding the offending lock leak easier. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bb0269160df2a60764013994d0bc5165406cf4a Author: Phillip Lougher Date: Wed Dec 6 20:37:20 2006 -0800 [PATCH] corrupted cramfs filesystems cause kernel oops Steve Grubb's fzfuzzer tool (http://people.redhat.com/sgrubb/files/ fsfuzzer-0.6.tar.gz) generates corrupt Cramfs filesystems which cause Cramfs to kernel oops in cramfs_uncompress_block(). The cause of the oops is an unchecked corrupted block length field read by cramfs_readpage(). This patch adds a sanity check to cramfs_readpage() which checks that the block length field is sensible. The (PAGE_CACHE_SIZE << 1) size check is intentional, even though the uncompressed data is not going to be larger than PAGE_CACHE_SIZE, gzip sometimes generates compressed data larger than the original source data. Mkcramfs checks that the compressed size is always less than or equal to PAGE_CACHE_SIZE << 1. Of course Cramfs could use the original uncompressed data in this case, but it doesn't. Signed-off-by: Phillip Lougher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e591bbc0d563e12f5a260fbbca0df7d5810910e Author: Arjan van de Ven Date: Wed Dec 6 20:37:19 2006 -0800 [PATCH] Make initramfs printk a warning on incorrect cpio type It turns out that the "-c" option of cpio is highly unportable even between distros let alone unix variants, and may actually make the wrong type of cpio archive. I just wasted quite some time on this, and the kernel can detect this and warn about it (it's __init memory so it gets thrown away and thus there is no runtime overhead) Signed-off-by: Arjan van de Ven Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6337e2af42f9ea9ce296cfa18966dcf4f045f7d Author: Mariusz Kozlowski Date: Wed Dec 6 20:37:17 2006 -0800 [PATCH] i2lib unused variable cleanup In file included from drivers/char/ip2/ip2main.c:285: drivers/char/ip2/i2lib.c: In function `i2Output': drivers/char/ip2/i2lib.c:1019: warning: unused variable `rc' Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8984d137df669a6e94dbce7b87095e4ce80b9e67 Author: Andrew Morton Date: Wed Dec 6 20:37:15 2006 -0800 [PATCH] ext4: uninline large functions Saves nearly 4kbytes on x86. Cc: Arnaldo Carvalho de Melo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a229b39eb8497ae5f8077f81f7c8c3e1aacd624 Author: Andrew Morton Date: Wed Dec 6 20:37:14 2006 -0800 [PATCH] ext3: uninline large functions Saves nearly 4kbytes on x86. Cc: Arnaldo Carvalho de Melo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 072330584404392dae44cd0793ac9b316cff045b Author: Andrew Morton Date: Wed Dec 6 20:37:12 2006 -0800 [PATCH] vfs_getattr(): remove dead code As Mikulas points out, (1 << anything) won't be evaluating to zero. This code is long-dead. Cc: Mikulas Patocka Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22f2e280179946b8be1e2205b8654f2cb4abbf64 Author: Derek Fults Date: Wed Dec 6 20:37:11 2006 -0800 [PATCH] get_options to allow a hypenated range for isolcpus This allows a hyphenated range of positive numbers in the string passed to command line helper function, get_options. Currently the command line option "isolcpus=" takes as its argument a list of cpus. Format: ,..., Valid values of include all cpus, 0 to "number of CPUs in system - 1". This can get extremely long when isolating the majority of cpus on a large system. The kernel isolcpus code would not need any changing to use this feature. To use it, the change would be in the command line format for 'isolcpus=' Format: ,..., or - (must be a positive range in ascending order.) or a mixture ,...,- Signed-off-by: Derek Fults Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f63fdbbd6de7d734c036948bf7c4b2bebe3ad99 Author: Dave Jones Date: Wed Dec 6 20:37:09 2006 -0800 [PATCH] More list debugging context Print the other (hopefully) known good pointer when list_head debugging too, which may yield additional clues. Also fix for 80-columns to win akpm brownie points. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d469ec0f40d65b2a0a704402990a43b2dafe197 Author: Neil Horman Date: Wed Dec 6 20:37:08 2006 -0800 [PATCH] Correct misc_register return code handling in several drivers Clean up several code points in which the return code from misc_register is not handled properly. Several modules failed to deregister various hooks when misc_register fails, and this patch cleans them up. Also there are a few modules that legitimately don't care about the failure status of misc register. These drivers however unilaterally call misc_deregister on module unload. Since misc_register doesn't initialize the list_head in the init_routine if it fails, the deregister operation is at risk for oopsing when list_del is called. The initial solution was to manually init the list in the miscdev structure in each of those modules, but the consensus in this thread was to consolodate and do that universally inside misc_register. Signed-off-by: Neil Horman Cc: Bjorn Helgaas Cc: Kylene Jo Hall Cc: Dmitry Torokhov Cc: Olaf Hering Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc168427e6250a5a24c59f34afed6538092dab42 Author: Vasily Averin Date: Wed Dec 6 20:37:07 2006 -0800 [PATCH] VFS: extra check inside dentry_unhash() d_count check after dget() is always true. Signed-off-by: Vasily Averin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ac29e62be2a581ec77953eca64d85ddeef488f0 Author: Alexey Dobriyan Date: Wed Dec 6 20:37:06 2006 -0800 [PATCH] drivers/cdrom/*: trivial vsnprintf() conversion Fixing sbpcd.c baroque error printing in process. Signed-off-by: Alexey Dobriyan Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18debbbcce1306f0bbb1c71cf587fd90413acab6 Author: Randy Dunlap Date: Wed Dec 6 20:37:05 2006 -0800 [PATCH] hpfs: fix printk format warnings Fix hpfs printk warnings: fs/hpfs/dir.c:87: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' fs/hpfs/dir.c:147: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long int' fs/hpfs/dir.c:148: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long int' fs/hpfs/dnode.c:537: warning: format '%08x' expects type 'unsigned int', but argument 5 has type 'long unsigned int' fs/hpfs/dnode.c:854: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'loff_t' fs/hpfs/ea.c:247: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' fs/hpfs/inode.c:254: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' fs/hpfs/map.c:129: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'ino_t' fs/hpfs/map.c:135: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'ino_t' fs/hpfs/map.c:140: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'ino_t' fs/hpfs/map.c:147: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'ino_t' fs/hpfs/map.c:154: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'ino_t' Signed-off-by: Randy Dunlap Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 352d94d040053d93bf1cf4acb4be9635e69d9200 Author: Alexey Dobriyan Date: Wed Dec 6 20:37:04 2006 -0800 [PATCH] hpfs: bring hpfs_error() into shape - switch to error message buffer in .bss - missing va_end() (htf it worked before?) - use vsnprintf() - rename variables to understandable "fmt", "args". - "const char *fmt", yes. - add __attribute__((format ... Still, put that coffee down before reading more. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a6e617a4bec9fb2ee4a16cf59565b2af5049e12 Author: Alexey Dobriyan Date: Wed Dec 6 20:37:04 2006 -0800 [PATCH] fs/*: trivial vsnprintf() conversion It would very lame to get buffer overflow via one of the following. Signed-off-by: Alexey Dobriyan Cc: Dave Kleikamp Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0980dafa329d33bb88edc8a3ef9fab4e070590c Author: Paul B Schroeder Date: Wed Dec 6 20:37:03 2006 -0800 [PATCH] Exar quad port serial This is on our "Envoy" boxes which we have, according to the documentation, an "Exar ST16C554/554D Quad UART with 16-byte Fifo's". The box also has two other "on-board" serial ports and a modem chip. The two on-board serial UARTs were being detected along with the first two Exar UARTs. The last two Exar UARTs were not showing up and neither was the modem. This patch was the only way I could the kernel to see beyond the standard four serial ports and get all four of the Exar UARTs to show up. [akpm@osdl.org: build fix] Signed-off-by: Paul B Schroeder Cc: Lennart Sorensen Acked-by: Alan Cox Cc: Russell King Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f89d75f224dc530f1c173d9093f75865345840a1 Author: Peter Zijlstra Date: Wed Dec 6 20:36:59 2006 -0800 [PATCH] lockdep: annotate bcsp driver ============================================= [ INFO: possible recursive locking detected ] 2.6.18-1.2699.fc6 #1 --------------------------------------------- swapper/0 is trying to acquire lock: (&list->lock#3){+...}, at: [] skb_dequeue+0x12/0x43 but task is already holding lock: (&list->lock#3){+...}, at: [] bcsp_dequeue+0x6a/0x11e [hci_uart] Two different list locks nest, annotate so. Signed-off-by: Peter Zijlstra Acked-by: Marcel Holtmann Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9774a1f54f173ad18e816496c8979f1bf8ef666a Author: Alexey Dobriyan Date: Wed Dec 6 20:36:56 2006 -0800 [PATCH] Compile-time check re world-writeable module params One of the mistakes a module_param() user can make is to supply default value of module parameter as the last argument. module_param() accepts permissions instead. If default value is, say, 3 (-------wx), parameter becomes world-writeable. So far, the only remedy was to apply grep(1) and read drivers submitted to -mm. BTDT. With this patch applied, compiler will finally do some job. *) bounds checking on permissions *) world-writeable bit checking on permissions *) compile breakage if checks trigger First version of this check (only "& 2" part) directly caught 4 out of 7 places during my last grep. Subject: Neverending module_param() bugs [X] drivers/acpi/sbs.c:101:module_param(capacity_mode, int, CAPACITY_UNIT); [X] drivers/acpi/sbs.c:102:module_param(update_mode, int, UPDATE_MODE); [ ] drivers/acpi/sbs.c:103:module_param(update_info_mode, int, UPDATE_INFO_MODE); [ ] drivers/acpi/sbs.c:104:module_param(update_time, int, UPDATE_TIME); [ ] drivers/acpi/sbs.c:105:module_param(update_time2, int, UPDATE_TIME2); [X] drivers/char/watchdog/sbc8360.c:203:module_param(timeout, int, 27); [X] drivers/media/video/tuner-simple.c:13:module_param(offset, int, 0666); Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37167485302c8876cb0303af113696e88c2945aa Author: Oleg Nesterov Date: Wed Dec 6 20:36:55 2006 -0800 [PATCH] taskstats: cleanup reply assembling Thomas Graf wrote: > > nla_nest_start() may return NULL, either rely on prepare_reply() to be > correct and BUG() on failure or do proper error handling for all > functions. nla_put() in taskstat.c can fail only if the 'size' argument of alloc_skb() was not right. This is a kernel bug, we should not hide it. So add 'BUG()' on error path and check for 'na == NULL'. > genlmsg_cancel() is only required in error paths for dumping > procedures. So we can remove 'genlmsg_cancel()' calls and 'void *reply' (saves 227 bytes). Signed-off-by: Oleg Nesterov Cc: Thomas Graf Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51de4d90852ba4cfa5743594ec4a7f158b52dc43 Author: Oleg Nesterov Date: Wed Dec 6 20:36:54 2006 -0800 [PATCH] taskstats: use nla_reserve() for reply assembling Currently taskstats_user_cmd()/taskstats_exit() do: 1) allocate stats 2) fill stats 3) make a temporary copy on stack (236 bytes) 4) copy that copy to skb 5) free stats With the help of nla_reserve() we can operate on skb->data directly, thus avoiding all these steps except 2). So, before this patch: // copy *stats to skb->data int mk_reply(skb, ..., struct taskstats *stats); fill_pid(stats); mk_reply(skb, ..., stats); After: // return a pointer to skb->data struct taskstats *mk_reply(skb, ...); stat = mk_reply(skb, ...); fill_pid(stats); Shrinks taskatsks.o by 162 bytes. A stupid benchmark (send one million TASKSTATS_CMD_ATTR_PID) shows the real user sys before: 4.02 0.06 3.96 4.02 0.04 3.98 4.02 0.04 3.97 after: 3.86 0.08 3.78 3.88 0.10 3.77 3.89 0.09 3.80 but this looks suspiciously good. Signed-off-by: Oleg Nesterov Acked-by: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Cc: Thomas Graf Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68062b86fc0f480b806d270a8278709a5a41bb67 Author: Oleg Nesterov Date: Wed Dec 6 20:36:53 2006 -0800 [PATCH] taskstats: factor out reply assembling Introduce mk_reply() helper which does all nla_put()s on reply. Saves 453 bytes and a preparation for the next patch. Signed-off-by: Oleg Nesterov Acked-by: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Cc: Thomas Graf Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34ec12349c8a9505adc59d72f92b4595bc2483ff Author: Oleg Nesterov Date: Wed Dec 6 20:36:52 2006 -0800 [PATCH] taskstats: cleanup ->signal->stats allocation Allocate ->signal->stats on demand in taskstats_exit(), this allows us to remove taskstats_tgid_alloc() (the last non-trivial inline) from taskstat's public interface. Signed-off-by: Oleg Nesterov Cc: Balbir Singh Cc: Shailabh Nagar Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 115085ea0794c0f339be8f9d25505c7f9861d824 Author: Oleg Nesterov Date: Wed Dec 6 20:36:51 2006 -0800 [PATCH] taskstats: cleanup do_exit() path do_exit: taskstats_exit_alloc() ... taskstats_exit_send() taskstats_exit_free() I think this is not good, let it be a single function exported to the core kernel, taskstats_exit(), which does alloc + send + free itself. Signed-off-by: Oleg Nesterov Cc: Balbir Singh Cc: Shailabh Nagar Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 128fb95650b3273a8dc9ba5514b6fe7db8ea30bf Author: Oleg Nesterov Date: Wed Dec 6 20:36:50 2006 -0800 [PATCH] taskstats_exit_alloc: optimize/simplify If there are no listeners, every task does unneeded kmem_cache alloc/free on exit. We don't need listeners->sem for 'if (!list_empty())' check. Yes, we may have a false positive, but this doesn't differ from the case when the listener is unregistered after we drop the semaphore. So we don't need to do allocation beforehand. Signed-off-by: Oleg Nesterov Cc: Balbir Singh Acked-by: Shailabh Nagar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38da288b8ba2b07b4e07165027e650b61d7c8ffc Author: OGAWA Hirofumi Date: Wed Dec 6 20:36:46 2006 -0800 [PATCH] read_cache_pages() cleanup Use put_pages_list() instead of opencoding it. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bca98cabf6db738b06d6f3b6d4b6c5f2a5cb7b6 Author: Akinobu Mita Date: Wed Dec 6 20:36:43 2006 -0800 [PATCH] paride: return proper error code This patch makes module init return proper value instead of -1 (-EPERM). Cc: Tim Waugh Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 138ae6631a3d6f86851dd53686fa88295d1398bd Author: Andrew Morton Date: Wed Dec 6 20:36:41 2006 -0800 [PATCH] slab: use probe_kernel_address() Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20aa7b21b1cbd1aa3fbf5fc14da5f7484a61a824 Author: Andrew Morton Date: Wed Dec 6 20:36:40 2006 -0800 [PATCH] probe_kernel_address() needs to do set_fs() probe_kernel_address() purports to be generic, only it forgot to select KERNEL_DS, so it presently won't work right on all architectures. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c140e110019f25ffa1c6f3f365b0c9103d0b8475 Author: Ryan Underwood Date: Wed Dec 6 20:36:38 2006 -0800 [PATCH] parport_pc: Add support for OX16PCI952 parallel port Add support for the parallel port (implemented as separate PCI function) on the Oxford Semiconductor OX16PCI952. Signed-off-by: Ryan Underwood Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3b8b6e5f20031890e09a8eab72fd596d2e2227d Author: Randy Dunlap Date: Wed Dec 6 20:36:38 2006 -0800 [PATCH] kconfig: PRINTK_TIME depends on PRINTK Make PRINTK_TIME depend on PRINTK. Only display/offer it if PRINTK is enabled. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 064b022c7adb2d853378078a9dc141f8288d1c73 Author: Heiko Carstens Date: Wed Dec 6 20:36:37 2006 -0800 [PATCH] profile: fix uaccess handling Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7116e994b47f3988389be4ceee67dac64b56e0d0 Author: Heiko Carstens Date: Wed Dec 6 20:36:36 2006 -0800 [PATCH] compat: fix uaccess handling Signed-off-by: Heiko Carstens Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 841d5fb7c75260f76ae682648b28a3dca724940d Author: Heiko Carstens Date: Wed Dec 6 20:36:35 2006 -0800 [PATCH] binfmt: fix uaccess handling Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fec1d0115240593b39898289e6e1413ea6e44a84 Author: Roland McGrath Date: Wed Dec 6 20:36:34 2006 -0800 [PATCH] Disable CLONE_CHILD_CLEARTID for abnormal exit The CLONE_CHILD_CLEARTID flag is used by NPTL to have its threads communicate via memory/futex when they exit, so pthread_join can synchronize using a simple futex wait. The word of user memory where NPTL stores a thread's own TID is what it passes; this gets reset to zero at thread exit. It is not desireable to touch this user memory when threads are dying due to a fatal signal. A core dump is more usefully representative of the dying program state if the threads live at the time of the crash have their NPTL data structures unperturbed. The userland expectation of CLONE_CHILD_CLEARTID has only ever been that it works for a thread making an _exit system call. This problem was identified by Ernie Petrides . Signed-off-by: Roland McGrath Cc: Ernie Petrides Cc: Jakub Jelinek Acked-by: Ingo Molnar Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 736c4b8572ac24b1e6fd58d00872305a120ac700 Author: Mika Kukkonen Date: Wed Dec 6 20:36:29 2006 -0800 [PATCH] Function v9fs_get_idpool returns int, not u32 as called twice in fs/9p/vfs_inode.c Function v9fs_get_idpool returns int, not u32. Actually it returns -1 on errors, and these two callers check if the value is smaller than 0, which was caught by gcc with extra warning flags. Compile tested only but should be OK, as the value computed in v9fs_get_idpool() is also int. Signed-of-by: Mika Kukkonen Cc: Eric Van Hensbergen Cc: Ron Minnich Cc: Latchesar Ionkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3316eaa31e638d21dfa4a81a3322f8898981c591 Author: Randy Dunlap Date: Wed Dec 6 20:36:29 2006 -0800 [PATCH] tifm: fix NULL ptr and style Fix sparse NULL warning; drivers/misc/tifm_core.c:223:17: warning: Using plain integer as NULL pointer Fix style while there. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6c4021190c828d7fa24a464db589f86c6708341 Author: Eric Sandeen Date: Wed Dec 6 20:36:28 2006 -0800 [PATCH] handle ext4 directory corruption better I've been using Steve Grubb's purely evil "fsfuzzer" tool, at http://people.redhat.com/sgrubb/files/fsfuzzer-0.4.tar.gz Basically it makes a filesystem, splats some random bits over it, then tries to mount it and do some simple filesystem actions. At best, the filesystem catches the corruption gracefully. At worst, things spin out of control. As you might guess, we found a couple places in ext4 where things spin out of control :) First, we had a corrupted directory that was never checked for consistency... it was corrupt, and pointed to another bad "entry" of length 0. The for() loop looped forever, since the length of ext4_next_entry(de) was 0, and we kept looking at the same pointer over and over and over and over... I modeled this check and subsequent action on what is done for other directory types in ext4_readdir... (adding this check adds some computational expense; I am testing a followup patch to reduce the number of times we check and re-check these directory entries, in all cases. Thanks for the idea, Andreas). Next we had a root directory inode which had a corrupted size, claimed to be > 200M on a 4M filesystem. There was only really 1 block in the directory, but because the size was so large, readdir kept coming back for more, spewing thousands of printk's along the way. Per Andreas' suggestion, if we're in this read error condition and we're trying to read an offset which is greater than i_blocks worth of bytes, stop trying, and break out of the loop. With these two changes fsfuzz test survives quite well on ext4. Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40b851348fe9bf49c26025b34261d25142269b60 Author: Eric Sandeen Date: Wed Dec 6 20:36:26 2006 -0800 [PATCH] handle ext3 directory corruption better I've been using Steve Grubb's purely evil "fsfuzzer" tool, at http://people.redhat.com/sgrubb/files/fsfuzzer-0.4.tar.gz Basically it makes a filesystem, splats some random bits over it, then tries to mount it and do some simple filesystem actions. At best, the filesystem catches the corruption gracefully. At worst, things spin out of control. As you might guess, we found a couple places in ext3 where things spin out of control :) First, we had a corrupted directory that was never checked for consistency... it was corrupt, and pointed to another bad "entry" of length 0. The for() loop looped forever, since the length of ext3_next_entry(de) was 0, and we kept looking at the same pointer over and over and over and over... I modeled this check and subsequent action on what is done for other directory types in ext3_readdir... (adding this check adds some computational expense; I am testing a followup patch to reduce the number of times we check and re-check these directory entries, in all cases. Thanks for the idea, Andreas). Next we had a root directory inode which had a corrupted size, claimed to be > 200M on a 4M filesystem. There was only really 1 block in the directory, but because the size was so large, readdir kept coming back for more, spewing thousands of printk's along the way. Per Andreas' suggestion, if we're in this read error condition and we're trying to read an offset which is greater than i_blocks worth of bytes, stop trying, and break out of the loop. With these two changes fsfuzz test survives quite well on ext3. Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59287c0913cc9a6c75712a775f6c1c1ef418ef3b Author: Marcus Meissner Date: Wed Dec 6 20:36:24 2006 -0800 [PATCH] binfmt_elf: randomize PIE binaries (2nd try) Randomizes -pie compiled binaries from 64k (0x10000) up to ELF_ET_DYN_BASE. 0 -> 64k is excluded to allow NULL ptr accesses to fail. Signed-off-by: Marcus Meissner Cc: Ingo Molnar Cc: Dave Jones Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b23984d0a12a4821b2e9712c71550f321eb88bb5 Author: Jarek Poplawski Date: Wed Dec 6 20:36:23 2006 -0800 [PATCH] lockdep: misc fixes in lockdep.c - numeric string size replaced with constant in print_lock_name and print_lockdep_cache, - return on null pointer in print_lock_dependencies, - one more lockdep return with 0 with unlocking fix in mark_lock. Signed-off-by: Jarek Poplawski Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 910b1b2e6d7d10e1c3bffdd12a90ec82f535f9a5 Author: Jarek Poplawski Date: Thu Dec 7 10:45:25 2006 +0100 [PATCH] lockdep: internal locking fixes Here are mainly some lockdep returns with 0 with unlocking fixes. Signed-off-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit b4178ab58aa81f4ed3c75c48940682fe3b45d880 Author: Alexey Dobriyan Date: Wed Dec 6 20:36:21 2006 -0800 [PATCH] paride_register(): shuffle return values paride_register() returns 1 on success, 0 on failure and module init code looks like static int __init foo_init(void) { return paride_register(&foo) - 1; } which is not what one get used to. Converted to usual 0/-E convention. In case of kbic driver, unwind registration. It was just return (paride_register(&k951)||paride_register(&k971))-1; Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4330002d11f032559954cbff68a5cad95b6d27f Author: Alexey Dobriyan Date: Wed Dec 6 20:36:20 2006 -0800 [PATCH] paride: rename pi_register() and pi_unregister() We're about to change the semantics of pi_register()'s return value, so rename it to something else first, so that any unconverted code reliaby breaks. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3bd0f6943520e459659d10f3282285e43d3990f1 Author: Hans-Christian Egtvedt Date: Wed Dec 6 20:36:19 2006 -0800 [PATCH] spi: set kset of master class dev explicitly In order for spi_busnum_to_master to work spi master devices must be linked into the spi_master_class.subsys.kset list. At the moment the default class_obj_subsys.kset is used and we can't enumerate the master devices. Signed-off-by: Hans-Christian Egtvedt Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4740d387f3cb9e63f48f2488815b38a2c92755c8 Author: Hans-Christian Egtvedt Date: Wed Dec 6 20:36:17 2006 -0800 [PATCH] spi: correct bus_num and buffer bug in spi core Correct the following in driver/spi/spi.c in function spi_busnum_to_master: * must allow bus_num 0, the if is really not needed. * correct the name buffer which is too small for bus_num >= 10000. It should be 9 bytes big, not 8. Signed-off-by: Hans-Christian Egtvedt Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed2908f31398049c4371de9b100700e80704e95f Author: Andreas Gruenbacher Date: Wed Dec 6 20:36:16 2006 -0800 [PATCH] Remove superfluous lock_super() in extN xattr code lock_super() is unnecessary for setting super-block feature flags. Use the provided *_SET_COMPAT_FEATURE() macros as well. Signed-off-by: Andreas Gruenbacher Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 696040670a12f66b17a839011f96d9ca376f688b Author: Paul Jackson Date: Wed Dec 6 20:36:15 2006 -0800 [PATCH] cpuset: minor code refinements A couple of minor code simplifications to the kernel/cpuset.c code. No functional change. Just a little less code and a little more readable. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ec68b2e310437e99c297ba04e1afc5297aa6de1 Author: Jan Engelhardt Date: Wed Dec 6 20:36:14 2006 -0800 [PATCH] pull in necessary header files for cdev.h linux/cdev.h uses struct kobject and other structs and should therefore include them. Currently, a module either needs to add the missing includes itself, or, in case a module includes other headers already, needs to put last, which goes against a alphabetically-sorted include list. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a2239b1174bdf0952a21ed328cd74240d2dd173 Author: Peter Zijlstra Date: Wed Dec 6 20:36:13 2006 -0800 [PATCH] lockdep: fix ide/proc interaction rmmod/3080 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: (proc_subdir_lock){--..}, at: [] remove_proc_entry+0x40/0x191 and this task is already holding: (ide_lock){++..}, at: [] ide_unregister_subdriver+0x39/0xc8 which would create a new lock dependency: (ide_lock){++..} -> (proc_subdir_lock){--..} but this new dependency connects a hard-irq-safe lock: (ide_lock){++..} ... which became hard-irq-safe at: [] lock_acquire+0x4b/0x6b [] _spin_lock_irqsave+0x22/0x32 [] ide_intr+0x17/0x1a9 [] handle_IRQ_event+0x20/0x4d [] __do_IRQ+0x94/0xef [] do_IRQ+0x9e/0xbd to a hard-irq-unsafe lock: (proc_subdir_lock){--..} ... which became hard-irq-unsafe at: ... [] lock_acquire+0x4b/0x6b [] _spin_lock+0x19/0x28 [] xlate_proc_name+0x1b/0x99 [] proc_create+0x46/0xdf [] create_proc_entry+0x62/0xa5 [] proc_misc_init+0x1c/0x1d2 [] proc_root_init+0x4c/0xe9 [] start_kernel+0x294/0x3b3 Move ide_remove_proc_entries() out from under ide_lock; there is nothing that indicates that this is needed. In specific, the call to ide_add_proc_entries() is unprotected, and there is nothing else in the file using the respective ->proc fields. Also the lock order around destroy_proc_ide_interface() suggests this. Alan sayeth: proc_ide_write_settings walks the setting list under ide_setting_sem, read ditto. remove_proc_entry is doing proc side housekeeping. Looks fine to me, although that old code is such a mess anything could be going on. Signed-off-by: Peter Zijlstra Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23a1b2a78705caa2ecaccf8422a1e22eaca59574 Author: Alan Cox Date: Wed Dec 6 20:36:12 2006 -0800 [PATCH] via82cxxx: handle error condition properly Jeff noted that the via driver returned an error to an unsigned int in a a case where errors are not permitted. Move the check down earlier so we can handle it properly. Not as pretty but it works this way and avoids hacking up ugly stuff in the legacy ide core. Signed-off-by: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87b4126f10cce2d49687df227f6228fa5a9ac6c6 Author: Suzuki K P Date: Wed Dec 6 20:36:10 2006 -0800 [PATCH] fix reiserfs bad path release panic One of our test team hit a reiserfs_panic while running fsstress tests on 2.6.19-rc1. The message looks like : REISERFS: panic(device Null superblock): reiserfs[5676]: assertion !(p->path_length != 1 ) failed at fs/reiserfs/stree.c:397:reiserfs_check_path: path not properly relsed. The backtrace looked : kernel BUG in reiserfs_panic at fs/reiserfs/prints.c:361! .reiserfs_check_path+0x58/0x74 .reiserfs_get_block+0x1444/0x1508 .__block_prepare_write+0x1c8/0x558 .block_prepare_write+0x34/0x64 .reiserfs_prepare_write+0x118/0x1d0 .generic_file_buffered_write+0x314/0x82c .__generic_file_aio_write_nolock+0x350/0x3e0 .__generic_file_write_nolock+0x78/0xb0 .generic_file_write+0x60/0xf0 .reiserfs_file_write+0x198/0x2038 .vfs_write+0xd0/0x1b4 .sys_write+0x4c/0x8c syscall_exit+0x0/0x4 Upon debugging I found that the restart_transaction was not releasing the path if the th->refcount was > 1. /*static*/ int restart_transaction(struct reiserfs_transaction_handle *th, struct inode *inode, struct path *path) { [...] /* we cannot restart while nested */ if (th->t_refcount > 1) { <<- Path is not released in this case! return 0; } pathrelse(path); <<- Path released here. [...] This could happen in such a situation : In reiserfs/inode.c: reiserfs_get_block() :: if (repeat == NO_DISK_SPACE || repeat == QUOTA_EXCEEDED) { /* restart the transaction to give the journal a chance to free ** some blocks. releases the path, so we have to go back to ** research if we succeed on the second try */ SB_JOURNAL(inode->i_sb)->j_next_async_flush = 1; -->> retval = restart_transaction(th, inode, &path); <<-- We are supposed to release the path, no matter we succeed or fail. But if the th->refcount is > 1, the path is still valid. And, if (retval) goto failure; repeat = _allocate_block(th, block, inode, &allocated_block_nr, NULL, create); If the above allocate_block fails with NO_DISK_SPACE or QUOTA_EXCEEDED, we would have path which is not released. if (repeat != NO_DISK_SPACE && repeat != QUOTA_EXCEEDED) { goto research; } if (repeat == QUOTA_EXCEEDED) retval = -EDQUOT; else retval = -ENOSPC; goto failure; [...] failure: [...] reiserfs_check_path(&path); << Panics here ! Attached here is a patch which could fix the issue. fix reiserfs/inode.c : restart_transaction() to release the path in all cases. The restart_transaction() doesn't release the path when the the journal handle has a refcount > 1. This would trigger a reiserfs_panic() if we encounter an -ENOSPC / -EDQUOT in reiserfs_get_block(). Signed-off-by: Suzuki K P Cc: "Vladimir V. Saveliev" Cc: Cc: Jeff Mahoney Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cf303487d5dddaace2daca8437c555f3f0bc1aa Author: Ralf Baechle Date: Wed Dec 6 20:36:06 2006 -0800 [PATCH] Export pm_suspend for the shared APM emulation The new shared APM emulation just like its ARM and MIPS predecessors uses pm_suspend() which was only exported on SH. Move export to close to it's definition where it really should be anyway. Signed-off-by: Ralf Baechle Cc: Russell King Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49033c81845f1bd2a69e53485f20d55a0e7bace5 Author: Filipe Date: Wed Dec 6 20:36:04 2006 -0800 [PATCH] io/storage: Documentation update to as-iosched.txt Documentation update, adding references to CFQ scheduler and to another document about selecting IO Schedulers. Signed-off-by: Filipe Lautert Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 593be07ae8f6f4a1b1b98813fabb155328f8bc0c Author: Tejun Heo Date: Wed Dec 6 20:36:01 2006 -0800 [PATCH] file: kill unnecessary timer in fdtable_defer free_fdtable_rc() schedules timer to reschedule fddef->wq if schedule_work() on it returns 0. However, schedule_work() guarantees that the target work is executed at least once after the scheduling regardless of its return value. 0 return simply means that the work was already pending and thus no further action was required. Another problem is that it used contant '5' as @expires argument to mod_timer(). Kill unnecessary fddef->timer. Signed-off-by: Tejun Heo Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e59e2ae2c29700117a54e85c106017c24837119f Author: Ingo Molnar Date: Wed Dec 6 20:35:59 2006 -0800 [PATCH] SysRq-X: show blocked tasks Add SysRq-X support: show blocked (TASK_UNINTERRUPTIBLE) tasks only. Useful for debugging IO stalls. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 875d95ec9eb69ffb334116fb44d04d9a64dcbfbb Author: Miklos Szeredi Date: Wed Dec 6 20:35:54 2006 -0800 [PATCH] fuse: fix compile without CONFIG_BLOCK Randy Dunlap wote: > Should FUSE depend on BLOCK? Without that and with BLOCK=n, I get: > > inode.c:(.text+0x3acc5): undefined reference to `sb_set_blocksize' > inode.c:(.text+0x3a393): undefined reference to `get_sb_bdev' > fs/built-in.o:(.data+0xd718): undefined reference to `kill_block_super Most fuse filesystems work fine without block device support, so I think a better solution is to disable the 'fuseblk' filesystem type if BLOCK=n. Signed-off-by: Miklos Szeredi Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ec7ca41f6f0f74a394a7d686bc0ee8afef84887 Author: Miklos Szeredi Date: Wed Dec 6 20:35:52 2006 -0800 [PATCH] fuse: add DESTROY operation Add a DESTROY operation for block device based filesystems. With the help of this operation, such a filesystem can flush dirty data to the device synchronously before the umount returns. This is needed in situations where the filesystem is assumed to be clean immediately after unmount (e.g. ejecting removable media). Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2d2272fae1e1df26ec8f93a6d5baea891dcce37 Author: Miklos Szeredi Date: Wed Dec 6 20:35:51 2006 -0800 [PATCH] fuse: add bmap support Add support for the BMAP operation for block device based filesystems. This is needed to support swap-files and lilo. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d809161402e9f99aefe8848c4e701597ac367269 Author: Miklos Szeredi Date: Wed Dec 6 20:35:48 2006 -0800 [PATCH] fuse: add blksize option Add 'blksize' option for block device based filesystems. During initialization this is used to set the block size on the device and the super block. The default block size is 512bytes. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6392f873f1d09974d5c92c52715fa422ad7c625 Author: Miklos Szeredi Date: Wed Dec 6 20:35:44 2006 -0800 [PATCH] fuse: add support for block device based filesystems I never intended this, but people started using fuse to implement block device based "real" filesystems (ntfs-3g, zfs). The following four patches add better support for these kinds of filesystems. Unlike "normal" fuse filesystems, using this feature should require superuser privileges (enforced by the fusermount utility). Thanks to Szabolcs Szakacsits for the input and testing. This patch adds a 'fuseblk' filesystem type, which is only different from the 'fuse' filesystem type in how the 'dev_name' mount argument is interpreted. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdcf25080438ba71bb24b885e7c102de72c25c9d Author: Miklos Szeredi Date: Wed Dec 6 20:35:41 2006 -0800 [PATCH] fuse: minor cleanup in fuse_dentry_revalidate Remove unneeded code from fuse_dentry_revalidate(). This made some sense while the validity time could wrap around, but now it's a very obvious no-op. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9168c189fd54171124b5d25644024d99869e6a8 Author: Miklos Szeredi Date: Wed Dec 6 20:35:38 2006 -0800 [PATCH] fuse: update userspace interface to version 7.8 Add a flag to the RELEASE message which specifies that a FLUSH operation should be performed as well. This interface update is needed for the FreeBSD port, and doesn't actually touch the Linux implementation at all. Also rename the unused 'flush_flags' in the FLUSH message to 'unused'. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48ed214d10ae3c3999af938970f7b5b58df77be3 Author: Jan Engelhardt Date: Wed Dec 6 20:35:37 2006 -0800 [PATCH] constify inode accessors Change the signature of i_size_read(), IMINOR() and IMAJOR() because they, or the functions they call, will never modify the argument. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89fc9a1a79725c3e5c3b66cb6bd2c7d9eeab29fa Author: Jeff Garzik Date: Wed Dec 6 20:35:35 2006 -0800 [PATCH] SPI: improve sysfs compiler complaint handling Signed-off-by: Jeff Garzik Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e45f4676108d19ae93918f06cb6731c86108341a Author: Jeff Garzik Date: Wed Dec 6 20:35:34 2006 -0800 [PATCH] sound/oss/emu10k1: handle userspace copy errors Propagate copy_to/from_user() errors back through callers. Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91046a8a693823d434f0aa70419c48ebeb8e1b11 Author: Jeff Garzik Date: Wed Dec 6 20:35:34 2006 -0800 [PATCH] RTC: handle sysfs errors Signed-off-by: Jeff Garzik Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfc7ee207078e8ca51264355805e6f56b485be4b Author: Jeff Garzik Date: Wed Dec 6 20:35:33 2006 -0800 [PATCH] PNP: handle sysfs errors Signed-off-by: Jeff Garzik Cc: Adam Belay Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3889b26bebd3e3cf5a3b95da683bab2f6462133d Author: Jeff Garzik Date: Wed Dec 6 20:35:31 2006 -0800 [PATCH] I2O: more error checking i2o_scsi: handle sysfs failure i2o_device: * convert i2o_device_add() to return integer error code rather than pointer. Fortunately -nobody- checks the return code of this function, so changing has nil impact. * handle errors thrown by device_register() More work in i2o_device remains. Signed-off-by: Jeff Garzik Cc: Markus Lidel Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07354a00901d103085e4376b7df0aad264c1836a Author: Adam B. Jerome Date: Wed Dec 6 20:35:30 2006 -0800 [PATCH] /proc/kallsyms reports lower-case types for some non-exported symbols This patch addresses incorrect symbol type information reported through /proc/kallsyms. A lowercase character should designate the symbol as local (or non-exported). An uppercase character should designate the symbol as global (or external). Without this patch, some non-exported symbols are incorrectly assigned an upper-case designation in /proc/kallsyms. This patch corrects this condition by converting non-exported symbols types to lower case when appropriate and eliminates the superfluous upcase_if_global function Signed-off-by: Adam B. Jerome Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 960cc398a7a2acfe455b2ec33c64dc6018c83aab Author: Pekka Enberg Date: Wed Dec 6 20:35:29 2006 -0800 [PATCH] ext4: fsid for statvfs Update ext4_statfs to return an FSID that is a 64 bit XOR of the 128 bit filesystem UUID as suggested by Andreas Dilger. See the following Bugzilla entry for details: http://bugzilla.kernel.org/show_bug.cgi?id=136 Cc: Andreas Dilger Cc: Stephen Tweedie Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50ee0a32b192902e32a2b596df7ec3496c4bf485 Author: Pekka Enberg Date: Wed Dec 6 20:35:28 2006 -0800 [PATCH] ext3: fsid for statvfs Update ext3_statfs to return an FSID that is a 64 bit XOR of the 128 bit filesystem UUID as suggested by Andreas Dilger. See the following Bugzilla entry for details: http://bugzilla.kernel.org/show_bug.cgi?id=136 Cc: Andreas Dilger Cc: Stephen Tweedie Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4fca01ea2b41c41a82f4ca3537f6ebc237adde5 Author: Pekka Enberg Date: Wed Dec 6 20:35:27 2006 -0800 [PATCH] ext2: fsid for statvfs Update ext2_statfs to return an FSID that is a 64 bit XOR of the 128 bit filesystem UUID as suggested by Andreas Dilger. See the following Bugzilla entry for details: http://bugzilla.kernel.org/show_bug.cgi?id=136 Cc: Andreas Dilger Cc: Stephen Tweedie Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 317a40ac2237732aba531eee2c7b5e39dd40e959 Author: Stas Sergeev Date: Wed Dec 6 20:35:25 2006 -0800 [PATCH] honour MNT_NOEXEC for access() Make access(X_OK) take the "noexec" mount option into account. Signed-off-by: Stas Sergeev Cc: Jakub Jelinek Cc: Arjan van de Ven Cc: Alan Cox Cc: Hugh Dickins Cc: Ulrich Drepper Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed07536ed6731775219c1df7fa26a7588753e693 Author: Peter Zijlstra Date: Wed Dec 6 20:35:24 2006 -0800 [PATCH] lockdep: annotate nfs/nfsd in-kernel sockets Stick NFS sockets in their own class to avoid some lockdep warnings. NFS sockets are never exposed to user-space, and will hence not trigger certain code paths that would otherwise pose deadlock scenarios. [akpm@osdl.org: cleanups] Signed-off-by: Peter Zijlstra Signed-off-by: Steven Dickson Acked-by: Ingo Molnar Cc: Trond Myklebust Acked-by: Neil Brown Cc: "David S. Miller" Signed-off-by: Andrew Morton [ Fixed patch corruption by quilt, pointed out by Peter Zijlstra ] Signed-off-by: Linus Torvalds commit b9d85b08c689dbf54b9943a02f73cb54c2b0fccf Author: Amol Lad Date: Wed Dec 6 20:35:23 2006 -0800 [PATCH] sound/oss/btaudio.c: ioremap balanced with iounmap ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa8a8d664828c7184a2e775fb50611324ef21b5c Author: Amol Lad Date: Wed Dec 6 20:35:22 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/char/istallion.c Signed-off-by: Amol Lad Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41bdabbb6d951cf4a9fbfe33783749b87662b02d Author: Amol Lad Date: Wed Dec 6 20:35:21 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/char/moxa.c Signed-off-by: Amol Lad Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8684265412518858c48a56c2f0aa86f280978b74 Author: Amol Lad Date: Wed Dec 6 20:35:19 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/char/rio/rio_linux.c Signed-off-by: Amol Lad Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 238b8721a554a33a451a3f13bdb5be8fe5cfc927 Author: Peter Korsgaard Date: Wed Dec 6 20:35:17 2006 -0800 [PATCH] serial uartlite driver Add a driver for the Xilinx uartlite serial controller used in boards with the PPC405 core in the Xilinx V2P/V4 fpgas. The hardware is very simple (baudrate/start/stopbits fixed and no break support). See the datasheet for details: http://www.xilinx.com/bvdocs/ipcenter/data_sheet/opb_uartlite.pdf See http://thread.gmane.org/gmane.linux.serial/1237/ for the email thread. Signed-off-by: Peter Korsgaard Acked-by: Olof Johansson Cc: Russell King Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57881dd9df40b76dc7fc6a0d13fd75f337accb32 Author: Suzuki K P Date: Wed Dec 6 20:35:16 2006 -0800 [PATCH] Fix check_partition routines check_partition() stops its probe once it hits an I/O error from the partition checkers. This would prevent the actual partition checker getting a chance to verify the partition. So this patch lets check_partition() continue probing untill it hits a success while recording the I/O error which might have been reported by the checking routines. Also, it does some cleanup of the partition methods for ibm, atari and amiga to return -1 upon hitting an I/O error. Signed-off-by: Suzuki K P Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5127d002f9769ba6b1691de78dd3a5c14635e183 Author: Suzuki Kp Date: Wed Dec 6 20:35:14 2006 -0800 [PATCH] fix rescan_partitions to return errors properly The current rescan_partition implementation ignores the errors that comes from the lower layer. It reports success for unknown partitions as well as I/O error cases while reading the partition information. The unknown partition is not (and will not be) considered as an error in the kernel, since there are legal users of it (e.g, members of a RAID5 MD Device or a new disk which is not partitioned at all ). Changing this behaviour would scare the user about a serious problem with their disk and is not recommended. Thus for both "unknown partitions" to the Linux (eg., DEC VMS,Novell Netware) and the legal users of NULL partition, would still be reported as "SUCCESS". The patch attached here, scares the user about something which he does need to worry about. i.e, returning -EIO on disk I/O errors while reading the partition information. Signed-off-by: Suzuki K P Cc: Erik Mouw Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ecb9c0f3c9ef6af77c39a9f584940691847ccf4 Author: Mike Miller Date: Wed Dec 6 20:35:13 2006 -0800 [PATCH] cciss: cleanup cciss_interrupt mode A pretty simple cleanup for cciss_interrupt_mode. Signed-off-by: Mike Miller Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 799202cbd0ef6a201446d99fcbd78b9f0bda6ae5 Author: Mike Miller Date: Wed Dec 6 20:35:12 2006 -0800 [PATCH] cciss: add support for 1024 logical volumes Add the support for a large number of logical volumes. We will soon have hardware that support up to 1024 logical volumes. Signed-off-by: Mike Miller Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3833a748aa75dd39494bb861ab018216b0a2c14e Author: Mike Miller Date: Wed Dec 6 20:35:10 2006 -0800 [PATCH] cciss: remove unused revalidate_allvol function Remove the no longer used revalidate_allvol function. It was replaced by rebuild_lun_table. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a06f789e0a1b46e4ed2a68f885cbe5ff74a34d6 Author: Mike Miller Date: Wed Dec 6 20:35:08 2006 -0800 [PATCH] cciss: change cciss_open for consistency Change our open to test for drv->heads like we do in other places in the driver. Mostly for consistency. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92c4231aef720bd5e1d634d2f7335f31277318da Author: Mike Miller Date: Wed Dec 6 20:35:06 2006 -0800 [PATCH] cciss: set sector_size to 2048 for performance Change the blk_queue_max_sectors from 512 to 2048. This helps increase performance. [akpm@osdl.org: s/sector_size/max_sectors/] Signed-off-by: Mike Miller Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f92e2f5f889803306e50c06e17ee330403e91b8d Author: Mike Miller Date: Wed Dec 6 20:35:04 2006 -0800 [PATCH] cciss: disable DMA prefetch on P600 Unconditionally disable DMA prefetch on the P600 controller. An ASIC bug may result in prefetching beyond the end of physical memory. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de9239167158c0210c5b9a709d67cea1b6f8ae56 Author: Mike Miller Date: Wed Dec 6 20:35:03 2006 -0800 [PATCH] cciss: fix pci ssid for the E500 controller Change the SSID on the E500 as a workaround for a firmware bug. It looks like the original patch was backed out between rc2 and rc4. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f880632f963c3611d096d9373d16663c076310c7 Author: Mike Miller Date: Wed Dec 6 20:35:01 2006 -0800 [PATCH] cciss: increase number of commands on controller Remove #define NR_CMDS and replace it w/hba[i]->nr_cmds. Most Smart Array controllers can support up to 1024 commands but the E200 family can only support 128. To prevent annoying "fifo full" messages we define nr_cmds on a per controller basis by adding it the product table. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ff9a9a4baff2627d7bcf65d0ec07d647bc1ad29 Author: Mike Miller Date: Wed Dec 6 20:35:00 2006 -0800 [PATCH] cciss: reference driver support Add the support to fire up on any HP RAID class device that has a valid cciss signature. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d827c9e8a9d8592167ac3fdc3a50544c86302b1 Author: Mike Miller Date: Wed Dec 6 20:34:58 2006 -0800 [PATCH] cciss: version change Change the cciss version number to 3.6.14 to reflect the following functionality changes added by the rest of the set. They include: - Support to fire up on any HP RAID class controller - Increase nr_cmds to 512 for most controllers by adding it to the product table - PCI subsystem ID fix fix was pulled - Disable DMA prefetch for the P600 on IPF platforms - Change from 512 to 2048 sector_size for performance - Fix in cciss_open for consistency - Remove the no longer used revalidate_allvol function - Bug fix for busy configuring - Support for more than 16 logical volumes - Cleanups in cciss_interrupt_mode - Fix for iostats, it's been broken for several kernel releases Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eef88d16a2cb641d9915bfdf6377e70fccec9fde Author: Adrian Bunk Date: Wed Dec 6 20:34:55 2006 -0800 [PATCH] fix v850 compilation More fallout of the post 2.6.19-rc1 IRQ changes... CC init/main.o In file included from /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/include/linux/rtc.h:102, from /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/include/linux/efi.h:19, from /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/init/main.c:43: /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/include/linux/interrupt.h:67: error: conflicting types for 'irq_handler_t' include2/asm/irq.h:49: error: previous declaration of 'irq_handler_t' was here Signed-off-by: Adrian Bunk Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8210fd2a9fe4b36e99ab777a1a81eb47b703c235 Author: Jeff Dike Date: Wed Dec 6 20:34:55 2006 -0800 [PATCH] uml: use get_random_bytes() after random pool is seeded When the UML network driver generates random MACs for its devices, it was possible for a number of UMLs to get the same MACs because the ethernet initialization was done before the random pool was properly seeded. This patch moves the initialization later so that it gets better randomness. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e46962fdd28f8b30b465e507b657627aa4c1a409 Author: Jeff Dike Date: Wed Dec 6 20:34:54 2006 -0800 [PATCH] uml: size register files correctly We were using the wrong symbol to size register files. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b65fee21c6bff68711b48e0aa1cfd42b3198312 Author: Jeff Dike Date: Wed Dec 6 20:34:53 2006 -0800 [PATCH] uml: include asm/page.h in order to get PAGE_SHIFT Include the proper header to get a definition of PAGE_SHIFT. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54f9a398e18a49e302e2187fa694043250391d80 Author: Jeff Dike Date: Wed Dec 6 20:34:52 2006 -0800 [PATCH] uml: include stddef.h correctly We were not including stddef.h in files that used offsetof. One file was also including linux/stddef.h for no perciptible reason. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bcbdf603bc4bf24c2bcfa071871afb03dd3ae80 Author: Yan Burman Date: Wed Dec 6 20:34:51 2006 -0800 [PATCH] m68k: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Cc: Roman Zippel Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58e14b148ddb56f0bf999965d6279932ed4a00bc Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:50 2006 -0800 [PATCH] Use freezeable workqueues in XFS Make the workqueues used by XFS freezeable, so their worker threads don't submit any I/O after the suspend image has been created. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Cc: David Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 341a595850dac1b0503df34260257d71b4fdf72c Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:49 2006 -0800 [PATCH] Support for freezeable workqueues Make it possible to create a workqueue the worker thread of which will be frozen during suspend, along with other kernel threads. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Cc: David Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5045cfc103566878228ca36d05a0ae0076673e5a Author: Pavel Machek Date: Wed Dec 6 20:34:48 2006 -0800 [PATCH] swsusp: kill write-only variable Cleanup write-only variable, suggested by D Binderman. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d87595ea628ea58415ba4638c553a8c2fbd90e2 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:47 2006 -0800 [PATCH] PM: Fix swsusp debug mode testproc The 'testproc' swsusp debug mode thaws tasks twice in a row, which is _very_ confusing. Fix that. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06df6a5c181f462c71ddcc20ff6c7ea0bec18ec8 Author: Pavel Machek Date: Wed Dec 6 20:34:46 2006 -0800 [PATCH] s2ram debugging documentation Linus posted quite nice TRACE_RESUME how-to, and I think it is too nice to be hidden in archives of mailing list, so I turned it into Documentation piece. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59a493350e7aefff7e262efa39e017517b31b8e8 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:44 2006 -0800 [PATCH] swsusp: Fix labels Move all labels in the swsusp code to the second column, so that they won't fool diff -p. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b6d15de2d4c8149902a680a6cd1d3b26cd2e828 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:43 2006 -0800 [PATCH] swsusp: Fix coding style in suspend.c Fix coding style in suspend.c. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11b2ce2ba90f801e2a5ebba4e6b7da72d87f2b13 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:40 2006 -0800 [PATCH] swsusp: Untangle freeze_processes Move the loop from freeze_processes() to a separate function and call it independently for user space processes and kernel threads so that the order of freezing tasks is clearly visible. Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9b6f562f14dc28fb4b2415f0f275cede0abe9b5 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:37 2006 -0800 [PATCH] swsusp: Untangle thaw_processes Move the loop from thaw_processes() to a separate function and call it independently for kernel threads and user space processes so that the order of thawing tasks is clearly visible. Drop thaw_kernel_threads() which is never used. Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6d70980602e6f1869ebcdcbfaf55a0a5941583e Author: Stephen Hemminger Date: Wed Dec 6 20:34:35 2006 -0800 [PATCH] convert pm_sem to a mutex The power management semaphore is only used as mutex, so convert it. [akpm@osdl.org: fix rotten bug] Signed-off-by: Stephen Hemminger Acked-by: Ingo Molnar Acked-by: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eb1b3a40722cbb46631db373af66d13d1e7ac81 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:34 2006 -0800 [PATCH] suspend to disk fails if gdb is suspended with a traced child Fix http://bugzilla.kernel.org/show_bug.cgi?id=7534 Fix the freezing of processes so that it won't fail if there is a traced process the parent of which has been stopped. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: maurice barnum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d3a9abe8ae055e1052295698bcd0722c92eff47 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:32 2006 -0800 [PATCH] swsusp: Measure memory shrinking time Make swsusp measure and print the time needed to shrink memory during the suspend. Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 112cecb2cc0e7341db92281ba04b26c41bb8146d Author: Siddha, Suresh B Date: Wed Dec 6 20:34:31 2006 -0800 [PATCH] suspend: don't change cpus_allowed for task initiating the suspend Don't modify the cpus_allowed of the task initiating the suspend. _cpu_down() already makes sure that the task doing the suspend doesn't run on dying cpu. Signed-off-by: Suresh Siddha Cc: Venkatesh Pallipadi Cc: Pavel Machek Cc: "Rafael J. Wysocki" Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d4a34c9365c6e3f94a5b26ce296e1fce9b66c8b Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:29 2006 -0800 [PATCH] swsusp: Support i386 systems with PAE or without PSE Make swsusp support i386 systems with PAE or without PSE. This is done by creating temporary page tables located in resume-safe page frames before the suspend image is restored in the same way as x86_64 does it. Signed-off-by: Rafael J. Wysocki Cc: Andi Kleen Cc: Dave Jones Cc: Nigel Cunningham Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff39593ad0ff7a79a3717edac6634407aa8200c2 Author: Nigel Cunningham Date: Wed Dec 6 20:34:28 2006 -0800 [PATCH] swsusp: thaw userspace and kernel space separately Modify process thawing so that we can thaw kernel space without thawing userspace, and thaw kernelspace first. This will be useful in later patches, where I intend to get swsusp thawing kernel threads only before seeking to free memory. Signed-off-by: Nigel Cunningham Cc: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14b5b7cfaa110b1d25b8f80b01a8c97cf2db30bc Author: Nigel Cunningham Date: Wed Dec 6 20:34:26 2006 -0800 [PATCH] swsusp: clean up whitespace in freezer output Minor whitespace and formatting modifications for the freezer. Signed-off-by: Nigel Cunningham Acked-by: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32d50f57dab94d8c46566a903bbb633ee72fdcc2 Author: Nigel Cunningham Date: Wed Dec 6 20:34:25 2006 -0800 [PATCH] swsusp: quieten Freezer if !CONFIG_PM_DEBUG The freezer currently prints an '=' for every process that is frozen. This is pretty pointless, as the equals sign says nothing about which process is frozen, and makes logs look messier (especially if there were a large number of processes running). All we really need to know is that we started trying to freeze processes and what processes (if any) failed to freeze, or that we succeeded. Signed-off-by: Nigel Cunningham Acked-by: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dfb71030f7636a0d65200158113c37764552f93 Author: Nigel Cunningham Date: Wed Dec 6 20:34:23 2006 -0800 [PATCH] Add include/linux/freezer.h and move definitions from sched.h Move process freezing functions from include/linux/sched.h to freezer.h, so that modifications to the freezer or the kernel configuration don't require recompiling just about everything. [akpm@osdl.org: fix ueagle driver] Signed-off-by: Nigel Cunningham Cc: "Rafael J. Wysocki" Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a05aac2631aa0e6494d9dc990f8c68ed8b8fde7 Author: Stefan Seyfried Date: Wed Dec 6 20:34:21 2006 -0800 [PATCH] swsusp: fix platform mode At some point after 2.6.13, in-kernel software suspend got "incomplete" for the so-called "platform" mode. pm_ops->prepare() is never called. A visible sign of this is the "moon" light on thinkpads not flashing during suspend. Fix by readding the pm_ops->prepare call during suspend. Signed-off-by: Stefan Seyfried Acked-by: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 859491218770315ba95ee3fa09961fc71c506cae Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:19 2006 -0800 [PATCH] swsusp: use __GFP_WAIT swsusp uses GFP_ATOMIC, but it can afford to use __GFP_WAIT, which will permit it to reclaim clean pagecache instead of emitting scary page-allocation-failure messages. Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8357376d3df21b7d6f857931a57ac50da9c66e26 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:18 2006 -0800 [PATCH] swsusp: Improve handling of highmem Currently swsusp saves the contents of highmem pages by copying them to the normal zone which is quite inefficient (eg. it requires two normal pages to be used for saving one highmem page). This may be improved by using highmem for saving the contents of saveable highmem pages. Namely, during the suspend phase of the suspend-resume cycle we try to allocate as many free highmem pages as there are saveable highmem pages. If there are not enough highmem image pages to store the contents of all of the saveable highmem pages, some of them will be stored in the "normal" memory. Next, we allocate as many free "normal" pages as needed to store the (remaining) image data. We use a memory bitmap to mark the allocated free pages (ie. highmem as well as "normal" image pages). Now, we use another memory bitmap to mark all of the saveable pages (highmem as well as "normal") and the contents of the saveable pages are copied into the image pages. Then, the second bitmap is used to save the pfns corresponding to the saveable pages and the first one is used to save their data. During the resume phase the pfns of the pages that were saveable during the suspend are loaded from the image and used to mark the "unsafe" page frames. Next, we try to allocate as many free highmem page frames as to load all of the image data that had been in the highmem before the suspend and we allocate so many free "normal" page frames that the total number of allocated free pages (highmem and "normal") is equal to the size of the image. While doing this we have to make sure that there will be some extra free "normal" and "safe" page frames for two lists of PBEs constructed later. Now, the image data are loaded, if possible, into their "original" page frames. The image data that cannot be written into their "original" page frames are loaded into "safe" page frames and their "original" kernel virtual addresses, as well as the addresses of the "safe" pages containing their copies, are stored in one of two lists of PBEs. One list of PBEs is for the copies of "normal" suspend pages (ie. "normal" pages that were saveable during the suspend) and it is used in the same way as previously (ie. by the architecture-dependent parts of swsusp). The other list of PBEs is for the copies of highmem suspend pages. The pages in this list are restored (in a reversible way) right before the arch-dependent code is called. Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf73bae6ba0dc4bd4f1e570feb34a06b72725af6 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:16 2006 -0800 [PATCH] swsusp: update userland interface documentation The swsusp userland interface has recently changed for a couple of times, but the changes have not been documented. Fix this, and document the SNAPSHOT_SET_SWAP_AREA ioctl(). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37b2ba12df88f0e29f2d52aaf1ab22789377d5b5 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:15 2006 -0800 [PATCH] swsusp: add ioctl for swap files support To be able to use swap files as suspend storage from the userland suspend tools we need an additional ioctl() that will allow us to provide the kernel with both the swap header's offset and the identification of the resume partition. The new ioctl() should be regarded as a replacement for the SNAPSHOT_SET_SWAP_FILE ioctl() that from now on will be considered as obsolete, but has to stay for backwards compatibility of the interface. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ecbd0da1eced957e0cbb611b4a4cb5b0cf63ba31 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:13 2006 -0800 [PATCH] swsusp: document support for swap files Document the "resume_offset=" command line parameter as well as the way in which swap files are supported by swsusp. Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a154d9d95b7b9845938242f5c62505b3cab5bcd Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:12 2006 -0800 [PATCH] swsusp: add resume_offset command line parameter Add the kernel command line parameter "resume_offset=" allowing us to specify the offset, in units, from the beginning of the partition pointed to by the "resume=" parameter at which the swap header is located. This offset can be determined, for example, by an application using the FIBMAP ioctl to obtain the swap header's block number for given file. [akpm@osdl.org: we don't know what type sector_t is] Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3aef83e0ef1ffb8ea3bea97be46821a45c952173 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:10 2006 -0800 [PATCH] swsusp: use block device offsets to identify swap locations Make swsusp use block device offsets instead of swap offsets to identify swap locations and make it use the same code paths for writing as well as for reading data. This allows us to use the same code for handling swap files and swap partitions and to simplify the code, eg. by dropping rw_swap_page_sync(). Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fc6b34f4803b959c1e30c15247e2180cd529115 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:09 2006 -0800 [PATCH] swsusp: rearrange swap-handling code Rearrange the code in kernel/power/swap.c so that the next patch is more readable. [This patch only moves the existing code.] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 915bae9ebe41e52d71ad8b06d50e4ab26189f964 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:07 2006 -0800 [PATCH] swsusp: use partition device and offset to identify swap areas The Linux kernel handles swap files almost in the same way as it handles swap partitions and there are only two differences between these two types of swap areas: (1) swap files need not be contiguous, (2) the header of a swap file is not in the first block of the partition that holds it. From the swsusp's point of view (1) is not a problem, because it is already taken care of by the swap-handling code, but (2) has to be taken into consideration. In principle the location of a swap file's header may be determined with the help of appropriate filesystem driver. Unfortunately, however, it requires the filesystem holding the swap file to be mounted, and if this filesystem is journaled, it cannot be mounted during a resume from disk. For this reason we need some other means by which swap areas can be identified. For example, to identify a swap area we can use the partition that holds the area and the offset from the beginning of this partition at which the swap header is located. The following patch allows swsusp to identify swap areas this way. It changes swap_type_of() so that it takes an additional argument representing an offset of the swap header within the partition represented by its first argument. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3592695c363c3f3119621bdcf5ed852d6b9d1a5c Author: Stefan Seyfried Date: Wed Dec 6 20:34:06 2006 -0800 [PATCH] uswsusp: add pmops->{prepare,enter,finish} support (aka "platform mode") Add an ioctl to the userspace swsusp code that enables the usage of the pmops->prepare, pmops->enter and pmops->finish methods (the in-kernel suspend knows these as "platform method"). These are needed on many machines to (among others) speed up resuming by letting the BIOS skip some steps or let my hp nx5000 recognise the correct ac_adapter state after resume again. It also ensures on many machines, that changed hardware (unplugged AC adapters) gets correctly detected and that kacpid does not run wild after resume. Signed-off-by: Stefan Seyfried Cc: "Rafael J. Wysocki" Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 074cec54d1049ab580ecd0026623b553e0e270c4 Author: Alan Cox Date: Wed Dec 6 20:33:59 2006 -0800 [PATCH] alpha: switch to pci_get API Now that we have pci_get_bus_and_slot we can do the job correctly. Note that some of these calls intentionally leak a device - this is because the device in question is always needed from boot to reboot. Signed-off-by: Alan Cox Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3869aa292fbd24103b8338937cb351459efe3f82 Author: Mariusz Kozlowski Date: Wed Dec 6 20:33:57 2006 -0800 [PATCH] h8300 stray bracket fix Signed-off-by: Mariusz Kozlowski Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d3eeeac97a6e4fc1ff3ad184f1c3bf328de7cb6 Author: Paul Mundt Date: Wed Dec 6 20:33:54 2006 -0800 [PATCH] avr32: fixup kprobes preemption handling While working on SH kprobes, I noticed that avr32 got the preemption handling wrong in the no probe case. The idea is that upon entry of kprobe_handler() preemption is disabled outright across the life of the kprobe, only to be re-enabled in post_kprobe_handler(). However, in the event that the probe is never activated, there's never any chance of hitting the post probe handler, which allows for the current avr32 implementation to disable preemption indefinitely, as it's currently missing a re-enable when no probe is activated. Signed-off-by: Paul Mundt Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9c1528a429c831458e54c8701a0b80ba563a7a8 Author: Adrian Bunk Date: Wed Dec 6 20:33:50 2006 -0800 [PATCH] arch/frv/kernel/futex.c must #include This patch fixes the following compile error with -Werror-implicit-function-declaration (without -Werror-implicit-function-declaration it's a link error): ... CC arch/frv/kernel/futex.o /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/arch/frv/kernel/futex.c: In function 'futex_atomic_op_inuser': /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/arch/frv/kernel/futex.c:203: error: implicit declaration of function 'pagefault_disable' /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/arch/frv/kernel/futex.c:226: error: implicit declaration of function 'pagefault_enable' make[2]: *** [arch/frv/kernel/futex.o] Error 1 ... Signed-off-by: Adrian Bunk Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48ad504ee7d598431cb2d0b2f01c6d1aff1d2a07 Author: Eric Sesterhenn Date: Wed Dec 6 20:33:47 2006 -0800 [PATCH] security/keys/*: user kmemdup() Signed-off-by: Eric Sesterhenn Signed-off-by: Alexey Dobriyan Acked-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7cf9c2c76c1a17b32f2da85b50cd4fe468ed44b5 Author: Nick Piggin Date: Wed Dec 6 20:33:44 2006 -0800 [PATCH] radix-tree: RCU lockless readside Make radix tree lookups safe to be performed without locks. Readers are protected against nodes being deleted by using RCU based freeing. Readers are protected against new node insertion by using memory barriers to ensure the node itself will be properly written before it is visible in the radix tree. Each radix tree node keeps a record of their height (above leaf nodes). This height does not change after insertion -- when the radix tree is extended, higher nodes are only inserted in the top. So a lookup can take the pointer to what is *now* the root node, and traverse down it even if the tree is concurrently extended and this node becomes a subtree of a new root. "Direct" pointers (tree height of 0, where root->rnode points directly to the data item) are handled by using the low bit of the pointer to signal whether rnode is a direct pointer or a pointer to a radix tree node. When a reader wants to traverse the next branch, they will take a copy of the pointer. This pointer will be either NULL (and the branch is empty) or non-NULL (and will point to a valid node). [akpm@osdl.org: cleanups] [Lee.Schermerhorn@hp.com: bugfixes, comments, simplifications] [clameter@sgi.com: build fix] Signed-off-by: Nick Piggin Cc: "Paul E. McKenney" Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36de6437866bbb1d37e2312ff4f95ee4ed6d2b61 Author: Arnaldo Carvalho de Melo Date: Wed Dec 6 20:33:42 2006 -0800 [PATCH] Save some bytes in struct mm_struct Before: [acme@newtoy net-2.6.20]$ pahole --cacheline 32 kernel/sched.o mm_struct /* include2/asm/processor.h:542 */ struct mm_struct { struct vm_area_struct * mmap; /* 0 4 */ struct rb_root mm_rb; /* 4 4 */ struct vm_area_struct * mmap_cache; /* 8 4 */ long unsigned int (*get_unmapped_area)(); /* 12 4 */ void (*unmap_area)(); /* 16 4 */ long unsigned int mmap_base; /* 20 4 */ long unsigned int task_size; /* 24 4 */ long unsigned int cached_hole_size; /* 28 4 */ /* ---------- cacheline 1 boundary ---------- */ long unsigned int free_area_cache; /* 32 4 */ pgd_t * pgd; /* 36 4 */ atomic_t mm_users; /* 40 4 */ atomic_t mm_count; /* 44 4 */ int map_count; /* 48 4 */ struct rw_semaphore mmap_sem; /* 52 64 */ spinlock_t page_table_lock; /* 116 40 */ struct list_head mmlist; /* 156 8 */ mm_counter_t _file_rss; /* 164 4 */ mm_counter_t _anon_rss; /* 168 4 */ long unsigned int hiwater_rss; /* 172 4 */ long unsigned int hiwater_vm; /* 176 4 */ long unsigned int total_vm; /* 180 4 */ long unsigned int locked_vm; /* 184 4 */ long unsigned int shared_vm; /* 188 4 */ /* ---------- cacheline 6 boundary ---------- */ long unsigned int exec_vm; /* 192 4 */ long unsigned int stack_vm; /* 196 4 */ long unsigned int reserved_vm; /* 200 4 */ long unsigned int def_flags; /* 204 4 */ long unsigned int nr_ptes; /* 208 4 */ long unsigned int start_code; /* 212 4 */ long unsigned int end_code; /* 216 4 */ long unsigned int start_data; /* 220 4 */ /* ---------- cacheline 7 boundary ---------- */ long unsigned int end_data; /* 224 4 */ long unsigned int start_brk; /* 228 4 */ long unsigned int brk; /* 232 4 */ long unsigned int start_stack; /* 236 4 */ long unsigned int arg_start; /* 240 4 */ long unsigned int arg_end; /* 244 4 */ long unsigned int env_start; /* 248 4 */ long unsigned int env_end; /* 252 4 */ /* ---------- cacheline 8 boundary ---------- */ long unsigned int saved_auxv[44]; /* 256 176 */ unsigned int dumpable:2; /* 432 4 */ cpumask_t cpu_vm_mask; /* 436 4 */ mm_context_t context; /* 440 68 */ long unsigned int swap_token_time; /* 508 4 */ /* ---------- cacheline 16 boundary ---------- */ char recent_pagein; /* 512 1 */ /* XXX 3 bytes hole, try to pack */ int core_waiters; /* 516 4 */ struct completion * core_startup_done; /* 520 4 */ struct completion core_done; /* 524 52 */ rwlock_t ioctx_list_lock; /* 576 36 */ struct kioctx * ioctx_list; /* 612 4 */ }; /* size: 616, sum members: 613, holes: 1, sum holes: 3, cachelines: 20, last cacheline: 8 bytes */ After: [acme@newtoy net-2.6.20]$ pahole --cacheline 32 kernel/sched.o mm_struct /* include2/asm/processor.h:542 */ struct mm_struct { struct vm_area_struct * mmap; /* 0 4 */ struct rb_root mm_rb; /* 4 4 */ struct vm_area_struct * mmap_cache; /* 8 4 */ long unsigned int (*get_unmapped_area)(); /* 12 4 */ void (*unmap_area)(); /* 16 4 */ long unsigned int mmap_base; /* 20 4 */ long unsigned int task_size; /* 24 4 */ long unsigned int cached_hole_size; /* 28 4 */ /* ---------- cacheline 1 boundary ---------- */ long unsigned int free_area_cache; /* 32 4 */ pgd_t * pgd; /* 36 4 */ atomic_t mm_users; /* 40 4 */ atomic_t mm_count; /* 44 4 */ int map_count; /* 48 4 */ struct rw_semaphore mmap_sem; /* 52 64 */ spinlock_t page_table_lock; /* 116 40 */ struct list_head mmlist; /* 156 8 */ mm_counter_t _file_rss; /* 164 4 */ mm_counter_t _anon_rss; /* 168 4 */ long unsigned int hiwater_rss; /* 172 4 */ long unsigned int hiwater_vm; /* 176 4 */ long unsigned int total_vm; /* 180 4 */ long unsigned int locked_vm; /* 184 4 */ long unsigned int shared_vm; /* 188 4 */ /* ---------- cacheline 6 boundary ---------- */ long unsigned int exec_vm; /* 192 4 */ long unsigned int stack_vm; /* 196 4 */ long unsigned int reserved_vm; /* 200 4 */ long unsigned int def_flags; /* 204 4 */ long unsigned int nr_ptes; /* 208 4 */ long unsigned int start_code; /* 212 4 */ long unsigned int end_code; /* 216 4 */ long unsigned int start_data; /* 220 4 */ /* ---------- cacheline 7 boundary ---------- */ long unsigned int end_data; /* 224 4 */ long unsigned int start_brk; /* 228 4 */ long unsigned int brk; /* 232 4 */ long unsigned int start_stack; /* 236 4 */ long unsigned int arg_start; /* 240 4 */ long unsigned int arg_end; /* 244 4 */ long unsigned int env_start; /* 248 4 */ long unsigned int env_end; /* 252 4 */ /* ---------- cacheline 8 boundary ---------- */ long unsigned int saved_auxv[44]; /* 256 176 */ cpumask_t cpu_vm_mask; /* 432 4 */ mm_context_t context; /* 436 68 */ long unsigned int swap_token_time; /* 504 4 */ char recent_pagein; /* 508 1 */ unsigned char dumpable:2; /* 509 1 */ /* XXX 2 bytes hole, try to pack */ int core_waiters; /* 512 4 */ struct completion * core_startup_done; /* 516 4 */ struct completion core_done; /* 520 52 */ rwlock_t ioctx_list_lock; /* 572 36 */ struct kioctx * ioctx_list; /* 608 4 */ }; /* size: 612, sum members: 610, holes: 1, sum holes: 2, cachelines: 20, last cacheline: 4 bytes */ [acme@newtoy net-2.6.20]$ codiff -V /tmp/sched.o.before kernel/sched.o /pub/scm/linux/kernel/git/acme/net-2.6.20/kernel/sched.c: struct mm_struct | -4 dumpable:2; from: unsigned int /* 432(30) 4(2) */ to: unsigned char /* 509(6) 1(2) */ < SNIP other offset changes > 1 struct changed [acme@newtoy net-2.6.20]$ I'm not aware of any problem about using 2 byte wide bitfields where previously a 4 byte wide one was, holler if there is any, I wouldn't be surprised, bitfields are things from hell. For the curious, 432(30) means: at offset 432 from the struct start, at offset 30 in the bitfield (yeah, it comes backwards, hellish, huh?) ditto for 509(6), while 4(2) and 1(2) means "struct field size(bitfield size)". Now we have a 2 bytes hole and are using only 4 bytes of the last 32 bytes cacheline, any takers? :-) Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33f2ef89f8e181486b63fdbdc97c6afa6ca9f34b Author: Andy Whitcroft Date: Wed Dec 6 20:33:32 2006 -0800 [PATCH] mm: make compound page destructor handling explicit Currently we we use the lru head link of the second page of a compound page to hold its destructor. This was ok when it was purely an internal implmentation detail. However, hugetlbfs overrides this destructor violating the layering. Abstract this out as explicit calls, also introduce a type for the callback function allowing them to be type checked. For each callback we pre-declare the function, causing a type error on definition rather than on use elsewhere. [akpm@osdl.org: cleanups] Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c517a6132098ca37e122a2980fc64a9e798b0d7 Author: Christoph Lameter Date: Wed Dec 6 20:33:29 2006 -0800 [PATCH] slab: better fallback allocation behavior Currently we simply attempt to allocate from all allowed nodes using GFP_THISNODE. However, GFP_THISNODE does not do reclaim (it wont do any at all if the recent GFP_THISNODE patch is accepted). If we truly run out of memory in the whole system then fallback_alloc may return NULL although memory may still be available if we would perform more thorough reclaim. This patch changes fallback_alloc() so that we first only inspect all the per node queues for available slabs. If we find any then we allocate from those. This avoids slab fragmentation by first getting rid of all partial allocated slabs on every node before allocating new memory. If we cannot satisfy the allocation from any per node queue then we extend a slab. We now call into the page allocator without specifying GFP_THISNODE. The page allocator will then implement its own fallback (in the given cpuset context), perform necessary reclaim (again considering not a single node but the whole set of allowed nodes) and then return pages for a new slab. We identify from which node the pages were allocated and then insert the pages into the corresponding per node structure. In order to do so we need to modify cache_grow() to take a parameter that specifies the new slab. kmem_getpages() can no longer set the GFP_THISNODE flag since we need to be able to use kmem_getpage to allocate from an arbitrary node. GFP_THISNODE needs to be specified when calling cache_grow(). One key advantage is that the decision from which node to allocate new memory is removed from slab fallback processing. The patch allows to go back to use of the page allocators fallback/reclaim logic. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 952f3b51beb592f3f1de15adcdef802fc086ea91 Author: Christoph Lameter Date: Wed Dec 6 20:33:26 2006 -0800 [PATCH] GFP_THISNODE must not trigger global reclaim The intent of GFP_THISNODE is to make sure that an allocation occurs on a particular node. If this is not possible then NULL needs to be returned so that the caller can choose what to do next on its own (the slab allocator depends on that). However, GFP_THISNODE currently triggers reclaim before returning a failure (GFP_THISNODE means GFP_NORETRY is set). If we have over allocated a node then we will currently do some reclaim before returning NULL. The caller may want memory from other nodes before reclaim should be triggered. (If the caller wants reclaim then he can directly use __GFP_THISNODE instead). There is no flag to avoid reclaim in the page allocator and adding yet another GFP_xx flag would be difficult given that we are out of available flags. So just compare and see if all bits for GFP_THISNODE (__GFP_THISNODE, __GFP_NORETRY and __GFP_NOWARN) are set. If so then we return NULL before waking up kswapd. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bcd234d881d83ac0259c6d42d98f134e31c60a8 Author: Christoph Lameter Date: Wed Dec 6 20:33:24 2006 -0800 [PATCH] slab: fix two issues in kmalloc_node / __cache_alloc_node This addresses two issues: 1. Kmalloc_node() may intermittently return NULL if we are allocating from the current node and are unable to obtain memory for the current node from the page allocator. This is because we call ___cache_alloc() if nodeid == numa_node_id() and ____cache_alloc is not able to fallback to other nodes. This was introduced in the 2.6.19 development cycle. <= 2.6.18 in that case does not do a restricted allocation and blindly trusts the page allocator to have given us memory from the indicated node. It inserts the page regardless of the node it came from into the queues for the current node. 2. If kmalloc_node() is used on a node that has not been bootstrapped yet then we may try to pass an invalid node number to ____cache_alloc_node() triggering a BUG(). Change the function to call fallback_alloc() instead. Only call fallback_alloc() if we are allowed to fallback at all. The need to handle a node not bootstrapped yet also first surfaced in the 2.6.19 cycle. Update the comments since they were still describing the old kmalloc_node from 2.6.12. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b1cec4bbc59feac89670d5d6d222a02545bac94 Author: Andrew Morton Date: Wed Dec 6 20:33:22 2006 -0800 [PATCH] slab: deprecate kmem_cache_t Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e18b890bb0881bbab6f4f1a6cd20d9c60d66b003 Author: Christoph Lameter Date: Wed Dec 6 20:33:20 2006 -0800 [PATCH] slab: remove kmem_cache_t Replace all uses of kmem_cache_t with struct kmem_cache. The patch was generated using the following script: #!/bin/sh # # Replace one string by another in all the kernel sources. # set -e for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do quilt add $file sed -e "1,\$s/$1/$2/g" $file >/tmp/$$ mv /tmp/$$ $file quilt refresh done The script was run like this sh replace kmem_cache_t "struct kmem_cache" Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 441e143e95f5aa1e04026cb0aa71c801ba53982f Author: Christoph Lameter Date: Wed Dec 6 20:33:19 2006 -0800 [PATCH] slab: remove SLAB_DMA SLAB_DMA is an alias of GFP_DMA. This is the last one so we remove the leftover comment too. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e94b1766097d53e6f3ccfb36c8baa562ffeda3fc Author: Christoph Lameter Date: Wed Dec 6 20:33:17 2006 -0800 [PATCH] slab: remove SLAB_KERNEL SLAB_KERNEL is an alias of GFP_KERNEL. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54e6ecb23951b195d02433a741c7f7cb0b796c78 Author: Christoph Lameter Date: Wed Dec 6 20:33:16 2006 -0800 [PATCH] slab: remove SLAB_ATOMIC SLAB_ATOMIC is an alias of GFP_ATOMIC Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7267c0c0721fd02ad3dc37c3d6dd24ccd81d4d6 Author: Christoph Lameter Date: Wed Dec 6 20:33:15 2006 -0800 [PATCH] slab: remove SLAB_USER SLAB_USER is an alias of GFP_USER Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6b4f8da3a88457148038bc952043e99a7fdba64 Author: Christoph Lameter Date: Wed Dec 6 20:33:14 2006 -0800 [PATCH] slab: remove SLAB_NOFS SLAB_NOFS is an alias of GFP_NOFS. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55acbda0965ca0a29b0ca276e7d17a55edc11d1b Author: Christoph Lameter Date: Wed Dec 6 20:33:13 2006 -0800 [PATCH] slab: remove SLAB_NOIO SLAB_NOIO is an alias of GFP_NOIO with a single instance of use. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a06d72c1dcbff015250df6ad9f0b1d18c02113bf Author: Christoph Lameter Date: Wed Dec 6 20:33:12 2006 -0800 [PATCH] slab: remove SLAB_LEVEL_MASK SLAB_LEVEL_MASK is only used internally to the slab and is and alias of GFP_LEVEL_MASK. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e0eaa4b05cf53ca5caa702fd2760a5b3376be69 Author: Christoph Lameter Date: Wed Dec 6 20:33:10 2006 -0800 [PATCH] slab: remove SLAB_NO_GROW It is only used internally in the slab. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d4d862f729f0cb1ad8027203aceff49dc9f63fa Author: Hugh Dickins Date: Wed Dec 6 20:33:09 2006 -0800 [PATCH] kill install_file_pte's pte_val David Binderman and his Intel C compiler rightly observe that install_file_pte no longer has any use for its pte_val. Signed-off-by: Hugh Dickins Cc: d binderman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce421c799b5bde77aa60776d6fb61036ae0aea11 Author: Andy Whitcroft Date: Wed Dec 6 20:33:08 2006 -0800 [PATCH] mm: cleanup indentation on switch for CPU operations These patches introduced new switch statements which are indented contrary to the concensus in mm/*.c. Fix them up to match that concensus. [PATCH] node local per-cpu-pages [PATCH] ZVC: Scale thresholds depending on the size of the system commit e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a commit df9ecaba3f152d1ea79f2a5e0b87505e03f47590 Signed-off-by: Andy Whitcroft Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d1854e15ee979f8e27330f0d3ce5e2703afa1dc Author: Eric Sandeen Date: Wed Dec 6 20:33:06 2006 -0800 [PATCH] reject corrupt swapfiles earlier The fsfuzzer found this; with a corrupt small swapfile that claims to have many pages: [root]# file swap.741.img swap.741.img: Linux/i386 swap file (new style) 1 (4K pages) size 1040191487 pages [root]# ls -l swap.741.img -rw-r--r-- 1 root root 16777216 Nov 22 05:18 swap.741.img sys_swapon() will try to vmalloc all those pages, and -then- check to see if the file is actually that large: if (!(p->swap_map = vmalloc(maxpages * sizeof(short)))) { if (swapfilesize && maxpages > swapfilesize) { printk(KERN_WARNING "Swap area shorter than signature indicates\n"); It seems to me that it would make more sense to move this test up before the vmalloc, with the other checks, to avoid the OOM-killer in this situation... Signed-off-by: Eric Sandeen Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4af2bfc1202041006a0f01d0591a975f6c573f09 Author: Andy Whitcroft Date: Wed Dec 6 20:33:04 2006 -0800 [PATCH] silence unused pgdat warning from alloc_bootmem_node and friends x86 NUMA systems only define bootmem for node 0. alloc_bootmem_node() and friends therefore ignore the passed pgdat and use NODE_DATA(0) in all cases. This leads to the following warnings as we are not using the passed parameter: .../mm/page_alloc.c: In function 'zone_wait_table_init': .../mm/page_alloc.c:2259: warning: unused variable 'pgdat' One option would be to define all variables used with these macros __attribute__ ((unused)), but this would leave us exposed should these become genuinely unused. The key here is that we _are_ using the value, we ignore it but that is a deliberate action. This patch adds a nested local variable within the alloc_bootmem_node helper to which the pgdat parameter is assigned making it 'used'. The nested local is marked __attribute__ ((unused)) to silence this same warning for it. Signed-off-by: Andy Whitcroft Cc: Christoph Lameter Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25ba77c141dbcd2602dd0171824d0d72aa023a01 Author: Andy Whitcroft Date: Wed Dec 6 20:33:03 2006 -0800 [PATCH] numa node ids are int, page_to_nid and zone_to_nid should return int NUMA node ids are passed as either int or unsigned int almost exclusivly page_to_nid and zone_to_nid both return unsigned long. This is a throw back to when page_to_nid was a #define and was thus exposing the real type of the page flags field. In addition to fixing up the definitions of page_to_nid and zone_to_nid I audited the users of these functions identifying the following incorrect uses: 1) mm/page_alloc.c show_node() -- printk dumping the node id, 2) include/asm-ia64/pgalloc.h pgtable_quicklist_free() -- comparison against numa_node_id() which returns an int from cpu_to_node(), and 3) mm/mpolicy.c check_pte_range -- used as an index in node_isset which uses bit_set which in generic code takes an int. Signed-off-by: Andy Whitcroft Cc: Christoph Lameter Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc4ba393c007248f76c05945abb7b7b892cdd1cc Author: Christoph Lameter Date: Wed Dec 6 20:33:02 2006 -0800 [PATCH] drain_node_page(): Drain pages in batch units drain_node_pages() currently drains the complete pageset of all pages. If there are a large number of pages in the queues then we may hold off interrupts for too long. Duplicate the method used in free_hot_cold_page. Only drain pcp->batch pages at one time. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebe29738f3934ad6a93c8bd76e30aa5d797a269d Author: Christoph Lameter Date: Wed Dec 6 20:32:59 2006 -0800 [PATCH] Remove uses of kmem_cache_t from mm/* and include/linux/slab.h Remove all uses of kmem_cache_t (the most were left in slab.h). The typedef for kmem_cache_t is then only necessary for other kernel subsystems. Add a comment to that effect. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b86c089b83b8ae2bc814db865057768a9ba787b5 Author: Christoph Lameter Date: Wed Dec 6 20:32:57 2006 -0800 [PATCH] Move names_cachep to linux/fs.h The names_cachep is used for getname() and putname(). So lets put it into fs.h near those two definitions. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa362a83e78d2e9320da588805cf2a0b53356bc3 Author: Christoph Lameter Date: Wed Dec 6 20:32:54 2006 -0800 [PATCH] Move fs_cachep to linux/fs_struct.h fs_cachep is only used in kernel/exit.c and in kernel/fork.c. It is used to store fs_struct items so it should be placed in linux/fs_struct.h Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b7d91eb7f6a3e8f0caaa613937bda5ab7dc7dc2 Author: Christoph Lameter Date: Wed Dec 6 20:32:52 2006 -0800 [PATCH] Move filep_cachep to include/file.h filp_cachep is only used in fs/file_table.c and in fs/dcache.c where it is defined. Move it to related definitions in linux/file.h. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d6538fcf231faccb2ac42f92851d259d00e62f9 Author: Christoph Lameter Date: Wed Dec 6 20:32:50 2006 -0800 [PATCH] Move files_cachep to include/file.h Proper place is in file.h since files_cachep uses are rated to file I/O. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c43692e85f306667545b91194c748a6e46c1f8b4 Author: Christoph Lameter Date: Wed Dec 6 20:32:48 2006 -0800 [PATCH] Move vm_area_cachep to include/mm.h vm_area_cachep is used to store vm_area_structs. So move to mm.h. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 298ec1e2ac85cecce3eddd167286359358c44d5d Author: Christoph Lameter Date: Wed Dec 6 20:32:47 2006 -0800 [PATCH] Move sighand_cachep to include/signal.h Move sighand_cachep definitioni to linux/signal.h The sighand cache is only used in fs/exec.c and kernel/fork.c. It is defined in kernel/fork.c but only used in fs/exec.c. The sighand_cachep is related to signal processing. So add the definition to signal.h. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54cc211ce3fc73a9d21c6316886db0676beaca95 Author: Christoph Lameter Date: Wed Dec 6 20:32:45 2006 -0800 [PATCH] Remove bio_cachep from slab.h Remove bio_cachep from slab.h - it no longer exists. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e30500557eca09ddd340806ce44abf84d9115ab1 Author: Adrian Bunk Date: Wed Dec 6 20:32:43 2006 -0800 [PATCH] make mm/thrash.c:global_faults static This patch makes the needlessly global "global_faults" static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c309a64d6afa90a0a07813c836ba480aeaeca8c Author: Christian Krafft Date: Wed Dec 6 20:32:41 2006 -0800 [PATCH] enable booting a NUMA system where some nodes have no memory When booting a NUMA system with nodes that have no memory (eg by limiting memory), bootmem_alloc_core tried to find pages in an uninitialized bootmem_map. This caused a null pointer access. This fix adds a check, so that NULL is returned. That will enable the caller (bootmem_alloc_nopanic) to alloc memory on other without a panic. Signed-off-by: Christian Krafft Cc: Christoph Lameter Cc: Andy Whitcroft Cc: Martin Bligh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a120586873d3d64de93bd6d593d237e131994e58 Author: Alan Stern Date: Wed Dec 6 20:32:37 2006 -0800 [PATCH] Allow NULL pointers in percpu_free The patch (as824b) makes percpu_free() ignore NULL arguments, as one would expect for a deallocation routine. (Note that free_percpu is #defined as percpu_free in include/linux/percpu.h.) A few callers are updated to remove now-unneeded tests for NULL. A few other callers already seem to assume that passing a NULL pointer to percpu_free() is okay! The patch also removes an unnecessary NULL check in percpu_depopulate(). Signed-off-by: Alan Stern Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b30973f877fea1a3fb84e05599890fcc082a88e5 Author: Christoph Hellwig Date: Wed Dec 6 20:32:36 2006 -0800 [PATCH] node-aware skb allocation Node-aware allocation of skbs for the receive path. Details: - __alloc_skb gets a new node argument and cals the node-aware slab functions with it. - netdev_alloc_skb passed the node number it gets from dev_to_node to it, everyone else passes -1 (any node) Signed-off-by: Christoph Hellwig Cc: Christoph Lameter Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 873481367edb18a7d0d7e5a285e6728c16bb44a9 Author: Christoph Hellwig Date: Wed Dec 6 20:32:33 2006 -0800 [PATCH] add numa node information to struct device For node-aware skb allocations we need information about the node in struct net_device or struct device. Davem suggested to put it into struct device which this patch does. In particular: - struct device gets a new int numa_node member if CONFIG_NUMA is set - there are two new helpers, dev_to_node and set_dev_node to transparently deal with the non-numa case - for pci devices the node-info is set to the value we get from pcibus_to_node. Note that for some architectures pcibus_to_node doesn't work yet at the time we call it currently. This is harmless and will just mean skb allocations aren't node-local on this architectures until the implementation of pcibus_to_node on these architectures have been updated (There are patches for x86 and x86_64 floating around) [akpm@osdl.org: cleanup] Signed-off-by: Christoph Hellwig Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b98c1699eba23cfd2e8b366625c50ff5fd1415b Author: Christoph Hellwig Date: Wed Dec 6 20:32:30 2006 -0800 [PATCH] leak tracking for kmalloc_node We have variants of kmalloc and kmem_cache_alloc that leave leak tracking to the caller. This is used for subsystem-specific allocators like skb_alloc. To make skb_alloc node-aware we need similar routines for the node-aware slab allocator, which this patch adds. Note that the code is rather ugly, but it mirrors the non-node-aware code 1:1: [akpm@osdl.org: add module export] Signed-off-by: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 881e4aabe4c6b3fce93674b67c6adc646fe2683b Author: Suleiman Souhlal Date: Wed Dec 6 20:32:28 2006 -0800 [PATCH] Always print out the header line in /proc/swaps It would be possible for /proc/swaps to not always print out the header: swapon /dev/hdc2 swapon /dev/hde2 swapoff /dev/hdc2 At this point /proc/swaps would not have a header. Signed-off-by: Suleiman Souhlal Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b43a57bb4dae72e8f7232e7c821a8799eda30022 Author: Kirill Korotaev Date: Wed Dec 6 20:32:27 2006 -0800 [PATCH] OOM can panic due to processes stuck in __alloc_pages() OOM can panic due to the processes stuck in __alloc_pages() doing infinite rebalance loop while no memory can be reclaimed. OOM killer tries to kill some processes, but unfortunetaly, rebalance label was moved by someone below the TIF_MEMDIE check, so buddy allocator doesn't see that process is OOM-killed and it can simply fail the allocation :/ Observed in reality on RHEL4(2.6.9)+OpenVZ kernel when a user doing some memory allocation tricks triggered OOM panic. Signed-off-by: Denis Lunev Signed-off-by: Kirill Korotaev Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3eea484f7a1aadb70ed6665338026a09ad6ce85 Author: Rik Bobbaers Date: Wed Dec 6 20:32:25 2006 -0800 [PATCH] mlock cleanup mm is defined as vma->vm_mm, so use that. Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fb4fc68ca391862b061b3d358a288ccf6abed39 Author: Guillem Jover Date: Wed Dec 6 20:32:24 2006 -0800 [PATCH] Allow user processes to raise their oom_adj value Currently a user process cannot rise its own oom_adj value (i.e. unprotecting itself from the OOM killer). As this value is stored in the task structure it gets inherited and the unprivileged childs will be unable to rise it. The EPERM will be handled by the generic proc fs layer, as only processes with the proper caps or the owner of the process will be able to write to the file. So we allow only the processes with CAP_SYS_RESOURCE to lower the value, otherwise it will get an EACCES which seems more appropriate than EPERM. Signed-off-by: Guillem Jover Acked-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b17979bda74493633364c2c263b452b7788e350 Author: Jeremy Fitzhardinge Date: Wed Dec 6 20:32:22 2006 -0800 [PATCH] Fix kunmap_atomic's use of kpte_clear_flush() kunmap_atomic() will call kpte_clear_flush with vaddr/ptep arguments which don't correspond if the vaddr is just a normal lowmem address (ie, not in the KMAP area). This patch makes sure that the pte is only cleared if kmap area was actually used for the mapping. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Cc: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad76fb6b5a5183255279e0ab5260715481770678 Author: Peter Zijlstra Date: Wed Dec 6 20:32:21 2006 -0800 [PATCH] mm: k{,um}map_atomic() vs in_atomic() Make kmap_atomic/kunmap_atomic denote a pagefault disabled scope. All non trivial implementations already do this anyway. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a866374aecc90c7d90619727ccd851ac096b2fc7 Author: Peter Zijlstra Date: Wed Dec 6 20:32:20 2006 -0800 [PATCH] mm: pagefault_{disable,enable}() Introduce pagefault_{disable,enable}() and use these where previously we did manual preempt increments/decrements to make the pagefault handler do the atomic thing. Currently they still rely on the increased preempt count, but do not rely on the disabled preemption, this might go away in the future. (NOTE: the extra barrier() in pagefault_disable might fix some holes on machines which have too many registers for their own good) [heiko.carstens@de.ibm.com: s390 fix] Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6edaf68a87d17570790fd55f0c451a29ec1d6703 Author: Peter Zijlstra Date: Wed Dec 6 20:32:18 2006 -0800 [PATCH] mm: arch do_page_fault() vs in_atomic() In light of the recent pagefault and filemap_copy_from_user work I've gone through all the arch pagefault handlers to make sure the inc_preempt_count() 'feature' works as expected. Several sections of code (including the new filemap_copy_from_user) rely on the fact that faults do not take locks under increased preempt count. arch/x86_64 - good arch/powerpc - good arch/cris - fixed arch/i386 - good arch/parisc - fixed arch/sh - good arch/sparc - good arch/s390 - good arch/m68k - fixed arch/ppc - good arch/alpha - fixed arch/mips - good arch/sparc64 - good arch/ia64 - good arch/arm - fixed arch/um - good arch/avr32 - good arch/h8300 - NA arch/m32r - good arch/v850 - good arch/frv - fixed arch/m68knommu - NA arch/arm26 - fixed arch/sh64 - fixed arch/xtensa - good Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3395ee0588795b0b3bd889c260e55959cf2b61f5 Author: Paul Menage Date: Wed Dec 6 20:32:16 2006 -0800 [PATCH] mm: add noaliencache boot option to disable numa alien caches When using numa=fake on non-NUMA hardware there is no benefit to having the alien caches, and they consume much memory. Add a kernel boot option to disable them. Christoph sayeth "This is good to have even on large NUMA. The problem is that the alien caches grow by the square of the size of the system in terms of nodes." Cc: Christoph Lameter Cc: Pekka Enberg Cc: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f5be20bf87da7c7c59c5cc84f630a1eca5cc99c Author: Ravikiran G Thirumalai Date: Wed Dec 6 20:32:14 2006 -0800 [PATCH] mm: slab: eliminate lock_cpu_hotplug from slab Here's an attempt towards doing away with lock_cpu_hotplug in the slab subsystem. This approach also fixes a bug which shows up when cpus are being offlined/onlined and slab caches are being tuned simultaneously. http://marc.theaimsgroup.com/?l=linux-kernel&m=116098888100481&w=2 The patch has been stress tested overnight on a 2 socket 4 core AMD box with repeated cpu online and offline, while dbench and kernbench process are running, and slab caches being tuned at the same time. There were no lockdep warnings either. (This test on 2,6.18 as 2.6.19-rc crashes at __drain_pages http://marc.theaimsgroup.com/?l=linux-kernel&m=116172164217678&w=2 ) The approach here is to hold cache_chain_mutex from CPU_UP_PREPARE until CPU_ONLINE (similar in approach as worqueue_mutex) . Slab code sensitive to cpu_online_map (kmem_cache_create, kmem_cache_destroy, slabinfo_write, __cache_shrink) is already serialized with cache_chain_mutex. (This patch lengthens cache_chain_mutex hold time at kmem_cache_destroy to cover this). This patch also takes the cache_chain_sem at kmem_cache_shrink to protect sanity of cpu_online_map at __cache_shrink, as viewed by slab. (kmem_cache_shrink->__cache_shrink->drain_cpu_caches). But, really, kmem_cache_shrink is used at just one place in the acpi subsystem! Do we really need to keep kmem_cache_shrink at all? Another note. Looks like a cpu hotplug event can send CPU_UP_CANCELED to a registered subsystem even if the subsystem did not receive CPU_UP_PREPARE. This could be due to a subsystem registered for notification earlier than the current subsystem crapping out with NOTIFY_BAD. Badness can occur with in the CPU_UP_CANCELED code path at slab if this happens (The same would apply for workqueue.c as well). To overcome this, we might have to use either a) a per subsystem flag and avoid handling of CPU_UP_CANCELED, or b) Use a special notifier events like LOCK_ACQUIRE/RELEASE as Gautham was using in his experiments, or c) Do not send CPU_UP_CANCELED to a subsystem which did not receive CPU_UP_PREPARE. I would prefer c). Signed-off-by: Ravikiran Thirumalai Signed-off-by: Shai Fultheim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a44b56d354b49f9abb184e5a14f71889856283bb Author: Kevin Hilman Date: Wed Dec 6 20:32:11 2006 -0800 [PATCH] slab debug and ARCH_SLAB_MINALIGN don't get along When CONFIG_SLAB_DEBUG is used in combination with ARCH_SLAB_MINALIGN, some debug flags should be disabled which depend on BYTES_PER_WORD alignment. The disabling of these debug flags is not properly handled when BYTES_PER_WORD < ARCH_SLAB_MEMALIGN < cache_line_size() This patch fixes that and also adds an alignment check to cache_alloc_debugcheck_after() when ARCH_SLAB_MINALIGN is used. Signed-off-by: Kevin Hilman Cc: Pekka Enberg Cc: Christoph Lameter Cc: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cace673d376d97b0c66ffa0a49b8d588a696d5d2 Author: Chen, Kenneth W Date: Wed Dec 6 20:32:07 2006 -0800 [PATCH] htlb forget rss with pt sharing Imprecise RSS accounting is an irritating ill effect with pt sharing. After consulted with several VM experts, I have tried various methods to solve that problem: (1) iterate through all mm_structs that share the PT and increment count; (2) keep RSS count in page table structure and then sum them up at reporting time. None of the above methods yield any satisfactory implementation. Since process RSS accounting is pure information only, I propose we don't count them at all for hugetlb page. rlimit has such field, though there is absolutely no enforcement on limiting that resource. One other method is to account all RSS at hugetlb mmap time regardless they are faulted or not. I opt for the simplicity of no accounting at all. Hugetlb page are special, they are reserved up front in global reservation pool and is not reclaimable. From physical memory resource point of view, it is already consumed regardless whether there are users using them. If the concern is that RSS can be used to control resource allocation, we already can specify hugetlb fs size limit and sysadmin can enforce that at mount time. Combined with the two points mentioned above, I fail to see if there is anything got affected because of this patch. Signed-off-by: Ken Chen Acked-by: Hugh Dickins Cc: Dave McCracken Cc: William Lee Irwin III Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: David Gibson Cc: Adam Litke Cc: Paul Mundt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa Author: Chen, Kenneth W Date: Wed Dec 6 20:32:03 2006 -0800 [PATCH] shared page table for hugetlb page Following up with the work on shared page table done by Dave McCracken. This set of patch target shared page table for hugetlb memory only. The shared page table is particular useful in the situation of large number of independent processes sharing large shared memory segments. In the normal page case, the amount of memory saved from process' page table is quite significant. For hugetlb, the saving on page table memory is not the primary objective (as hugetlb itself already cuts down page table overhead significantly), instead, the purpose of using shared page table on hugetlb is to allow faster TLB refill and smaller cache pollution upon TLB miss. With PT sharing, pte entries are shared among hundreds of processes, the cache consumption used by all the page table is smaller and in return, application gets much higher cache hit ratio. One other effect is that cache hit ratio with hardware page walker hitting on pte in cache will be higher and this helps to reduce tlb miss latency. These two effects contribute to higher application performance. Signed-off-by: Ken Chen Acked-by: Hugh Dickins Cc: Dave McCracken Cc: William Lee Irwin III Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: David Gibson Cc: Adam Litke Cc: Paul Mundt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1dbeda60a7ea9e82a908d93c07308d104d50d79 Author: Andrew Morton Date: Wed Dec 6 20:32:01 2006 -0800 [PATCH] balance_pdgat() cleanup Despaghettify balance_pdgat() a bit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc102509074bba0316f2b5deebd7ef4447da295e Author: Nick Piggin Date: Wed Dec 6 20:32:00 2006 -0800 [PATCH] mm: add arch_alloc_page Add an arch_alloc_page to match arch_free_page. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7602bdf2fd14a40dd9b104e516fdc05e1bd17952 Author: Ashwin Chaugule Date: Wed Dec 6 20:31:57 2006 -0800 [PATCH] new scheme to preempt swap token The new swap token patches replace the current token traversal algo. The old algo had a crude timeout parameter that was used to handover the token from one task to another. This algo, transfers the token to the tasks that are in need of the token. The urgency for the token is based on the number of times a task is required to swap-in pages. Accordingly, the priority of a task is incremented if it has been badly affected due to swap-outs. To ensure that the token doesnt bounce around rapidly, the token holders are given a priority boost. The priority of tasks is also decremented, if their rate of swap-in's keeps reducing. This way, the condition to check whether to pre-empt the swap token, is a matter of comparing two task's priority fields. [akpm@osdl.org: cleanups] Signed-off-by: Ashwin Chaugule Cc: Rik van Riel Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 098fe651f7e9d759d1117c78c1a642b9b3945922 Author: Ashwin Chaugule Date: Wed Dec 6 20:31:54 2006 -0800 [PATCH] grab swap token reordered Make sure the contention for the token happens _before_ any read-in and kicks the swap-token algo only when the VM is under pressure. Signed-off-by: Ashwin Chaugule Cc: Rik van Riel Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd54e7e54318d333227b13186f9a464bf1f68d27 Author: Nick Piggin Date: Wed Dec 6 20:31:53 2006 -0800 [PATCH] mm: incorrect VM_FAULT_OOM returns from drivers Some drivers are returning OOM when it is not in response to a memory shortage. Signed-off-by: Nick Piggin Cc: Dave Airlie Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2a2a7108aa0039ba7a5fe7a0d2ecef2219a7584 Author: Nick Piggin Date: Wed Dec 6 20:31:52 2006 -0800 [PATCH] oom: less memdie Don't cause all threads in all other thread groups to gain TIF_MEMDIE otherwise we'll get a thundering herd eating our memory reserve. This may not be the optimal scheme, but it fits our policy of allowing just one TIF_MEMDIE in the system at once. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3af38d30c18538d069a95e624a3db7c3d486a1e Author: Nick Piggin Date: Wed Dec 6 20:31:51 2006 -0800 [PATCH] oom: cleanup messages Clean up the OOM killer messages to be more consistent. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c33e0fca3508f0aa387b1c10d0ef158102deb140 Author: Nick Piggin Date: Wed Dec 6 20:31:50 2006 -0800 [PATCH] oom: don't kill unkillable children or siblings Abort the kill if any of our threads have OOM_DISABLE set. Having this test here also prevents any OOM_DISABLE child of the "selected" process from being killed. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7253f4ef04b1cd138baf2b29a95473743ac0a307 Author: Paul Jackson Date: Wed Dec 6 20:31:49 2006 -0800 [PATCH] memory page_alloc zonelist caching reorder structure Rearrange the struct members in the 'struct zonelist_cache' structure, so as to put the readonly (once initialized) z_to_n[] array first, where it will come right after the zones[] array in struct zonelist. This pretty much eliminates the chance that the two frequently written elements of 'struct zonelist_cache', the fullzones bitmap and last_full_zap times, will end up on the same cache line as the performance sensitive, frequently read, never (after init) written zones[] array. Keeping frequently written data off frequently read cache lines is good for performance. Thanks to Rohit Seth for the suggestion. Signed-off-by: Paul Jackson Cc: Rohit Seth Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9276b1bc96a132f4068fdee00983c532f43d3a26 Author: Paul Jackson Date: Wed Dec 6 20:31:48 2006 -0800 [PATCH] memory page_alloc zonelist caching speedup Optimize the critical zonelist scanning for free pages in the kernel memory allocator by caching the zones that were found to be full recently, and skipping them. Remembers the zones in a zonelist that were short of free memory in the last second. And it stashes a zone-to-node table in the zonelist struct, to optimize that conversion (minimize its cache footprint.) Recent changes: This differs in a significant way from a similar patch that I posted a week ago. Now, instead of having a nodemask_t of recently full nodes, I have a bitmask of recently full zones. This solves a problem that last weeks patch had, which on systems with multiple zones per node (such as DMA zone) would take seeing any of these zones full as meaning that all zones on that node were full. Also I changed names - from "zonelist faster" to "zonelist cache", as that seemed to better convey what we're doing here - caching some of the key zonelist state (for faster access.) See below for some performance benchmark results. After all that discussion with David on why I didn't need them, I went and got some ;). I wanted to verify that I had not hurt the normal case of memory allocation noticeably. At least for my one little microbenchmark, I found (1) the normal case wasn't affected, and (2) workloads that forced scanning across multiple nodes for memory improved up to 10% fewer System CPU cycles and lower elapsed clock time ('sys' and 'real'). Good. See details, below. I didn't have the logic in get_page_from_freelist() for various full nodes and zone reclaim failures correct. That should be fixed up now - notice the new goto labels zonelist_scan, this_zone_full, and try_next_zone, in get_page_from_freelist(). There are two reasons I persued this alternative, over some earlier proposals that would have focused on optimizing the fake numa emulation case by caching the last useful zone: 1) Contrary to what I said before, we (SGI, on large ia64 sn2 systems) have seen real customer loads where the cost to scan the zonelist was a problem, due to many nodes being full of memory before we got to a node we could use. Or at least, I think we have. This was related to me by another engineer, based on experiences from some time past. So this is not guaranteed. Most likely, though. The following approach should help such real numa systems just as much as it helps fake numa systems, or any combination thereof. 2) The effort to distinguish fake from real numa, using node_distance, so that we could cache a fake numa node and optimize choosing it over equivalent distance fake nodes, while continuing to properly scan all real nodes in distance order, was going to require a nasty blob of zonelist and node distance munging. The following approach has no new dependency on node distances or zone sorting. See comment in the patch below for a description of what it actually does. Technical details of note (or controversy): - See the use of "zlc_active" and "did_zlc_setup" below, to delay adding any work for this new mechanism until we've looked at the first zone in zonelist. I figured the odds of the first zone having the memory we needed were high enough that we should just look there, first, then get fancy only if we need to keep looking. - Some odd hackery was needed to add items to struct zonelist, while not tripping up the custom zonelists built by the mm/mempolicy.c code for MPOL_BIND. My usual wordy comments below explain this. Search for "MPOL_BIND". - Some per-node data in the struct zonelist is now modified frequently, with no locking. Multiple CPU cores on a node could hit and mangle this data. The theory is that this is just performance hint data, and the memory allocator will work just fine despite any such mangling. The fields at risk are the struct 'zonelist_cache' fields 'fullzones' (a bitmask) and 'last_full_zap' (unsigned long jiffies). It should all be self correcting after at most a one second delay. - This still does a linear scan of the same lengths as before. All I've optimized is making the scan faster, not algorithmically shorter. It is now able to scan a compact array of 'unsigned short' in the case of many full nodes, so one cache line should cover quite a few nodes, rather than each node hitting another one or two new and distinct cache lines. - If both Andi and Nick don't find this too complicated, I will be (pleasantly) flabbergasted. - I removed the comment claiming we only use one cachline's worth of zonelist. We seem, at least in the fake numa case, to have put the lie to that claim. - I pay no attention to the various watermarks and such in this performance hint. A node could be marked full for one watermark, and then skipped over when searching for a page using a different watermark. I think that's actually quite ok, as it will tend to slightly increase the spreading of memory over other nodes, away from a memory stressed node. =============== Performance - some benchmark results and analysis: This benchmark runs a memory hog program that uses multiple threads to touch alot of memory as quickly as it can. Multiple runs were made, touching 12, 38, 64 or 90 GBytes out of the total 96 GBytes on the system, and using 1, 19, 37, or 55 threads (on a 56 CPU system.) System, user and real (elapsed) timings were recorded for each run, shown in units of seconds, in the table below. Two kernels were tested - 2.6.18-mm3 and the same kernel with this zonelist caching patch added. The table also shows the percentage improvement the zonelist caching sys time is over (lower than) the stock *-mm kernel. number 2.6.18-mm3 zonelist-cache delta (< 0 good) percent GBs N ------------ -------------- ---------------- systime mem threads sys user real sys user real sys user real better 12 1 153 24 177 151 24 176 -2 0 -1 1% 12 19 99 22 8 99 22 8 0 0 0 0% 12 37 111 25 6 112 25 6 1 0 0 -0% 12 55 115 25 5 110 23 5 -5 -2 0 4% 38 1 502 74 576 497 73 570 -5 -1 -6 0% 38 19 426 78 48 373 76 39 -53 -2 -9 12% 38 37 544 83 36 547 82 36 3 -1 0 -0% 38 55 501 77 23 511 80 24 10 3 1 -1% 64 1 917 125 1042 890 124 1014 -27 -1 -28 2% 64 19 1118 138 119 965 141 103 -153 3 -16 13% 64 37 1202 151 94 1136 150 81 -66 -1 -13 5% 64 55 1118 141 61 1072 140 58 -46 -1 -3 4% 90 1 1342 177 1519 1275 174 1450 -67 -3 -69 4% 90 19 2392 199 192 2116 189 176 -276 -10 -16 11% 90 37 3313 238 175 2972 225 145 -341 -13 -30 10% 90 55 1948 210 104 1843 213 100 -105 3 -4 5% Notes: 1) This test ran a memory hog program that started a specified number N of threads, and had each thread allocate and touch 1/N'th of the total memory to be used in the test run in a single loop, writing a constant word to memory, one store every 4096 bytes. Watching this test during some earlier trial runs, I would see each of these threads sit down on one CPU and stay there, for the remainder of the pass, a different CPU for each thread. 2) The 'real' column is not comparable to the 'sys' or 'user' columns. The 'real' column is seconds wall clock time elapsed, from beginning to end of that test pass. The 'sys' and 'user' columns are total CPU seconds spent on that test pass. For a 19 thread test run, for example, the sum of 'sys' and 'user' could be up to 19 times the number of 'real' elapsed wall clock seconds. 3) Tests were run on a fresh, single-user boot, to minimize the amount of memory already in use at the start of the test, and to minimize the amount of background activity that might interfere. 4) Tests were done on a 56 CPU, 28 Node system with 96 GBytes of RAM. 5) Notice that the 'real' time gets large for the single thread runs, even though the measured 'sys' and 'user' times are modest. I'm not sure what that means - probably something to do with it being slow for one thread to be accessing memory along ways away. Perhaps the fake numa system, running ostensibly the same workload, would not show this substantial degradation of 'real' time for one thread on many nodes -- lets hope not. 6) The high thread count passes (one thread per CPU - on 55 of 56 CPUs) ran quite efficiently, as one might expect. Each pair of threads needed to allocate and touch the memory on the node the two threads shared, a pleasantly parallizable workload. 7) The intermediate thread count passes, when asking for alot of memory forcing them to go to a few neighboring nodes, improved the most with this zonelist caching patch. Conclusions: * This zonelist cache patch probably makes little difference one way or the other for most workloads on real numa hardware, if those workloads avoid heavy off node allocations. * For memory intensive workloads requiring substantial off-node allocations on real numa hardware, this patch improves both kernel and elapsed timings up to ten per-cent. * For fake numa systems, I'm optimistic, but will have to leave that up to Rohit Seth to actually test (once I get him a 2.6.18 backport.) Signed-off-by: Paul Jackson Cc: Rohit Seth Cc: Christoph Lameter Cc: David Rientjes Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89689ae7f95995723fbcd5c116c47933a3bb8b13 Author: Christoph Lameter Date: Wed Dec 6 20:31:45 2006 -0800 [PATCH] Get rid of zone_table[] The zone table is mostly not needed. If we have a node in the page flags then we can get to the zone via NODE_DATA() which is much more likely to be already in the cpu cache. In case of SMP and UP NODE_DATA() is a constant pointer which allows us to access an exact replica of zonetable in the node_zones field. In all of the above cases there will be no need at all for the zone table. The only remaining case is if in a NUMA system the node numbers do not fit into the page flags. In that case we make sparse generate a table that maps sections to nodes and use that table to to figure out the node number. This table is sized to fit in a single cache line for the known 32 bit NUMA platform which makes it very likely that the information can be obtained without a cache miss. For sparsemem the zone table seems to be have been fairly large based on the maximum possible number of sections and the number of zones per node. There is some memory saving by removing zone_table. The main benefit is to reduce the cache foootprint of the VM from the frequent lookups of zones. Plus it simplifies the page allocator. [akpm@osdl.org: build fix] Signed-off-by: Christoph Lameter Cc: Dave Hansen Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0a499c2c42992cff097b38be29d2ba60d2fd99a Author: Chen, Kenneth W Date: Wed Dec 6 20:31:39 2006 -0800 [PATCH] __unmap_hugepage_range(): add comment Signed-off-by: Ken Chen Cc: David Gibson Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0798e5193cd70f6c867ec176d7730589f944c627 Author: Paul Jackson Date: Wed Dec 6 20:31:38 2006 -0800 [PATCH] memory page alloc minor cleanups - s/freeliest/freelist/ spelling fix - Check for NULL *z zone seems useless - even if it could happen, so what? Perhaps we should have a check later on if we are faced with an allocation request that is not allowed to fail - shouldn't that be a serious kernel error, passing an empty zonelist with a mandate to not fail? - Initializing 'z' to zonelist->zones can wait until after the first get_page_from_freelist() fails; we only use 'z' in the wakeup_kswapd() loop, so let's initialize 'z' there, in a 'for' loop. Seems clearer. - Remove superfluous braces around a break - Fix a couple errant spaces - Adjust indentation on the cpuset_zone_allowed() check, to match the lines just before it -- seems easier to read in this case. - Add another set of braces to the zone_watermark_ok logic From: Paul Jackson Backout one item from a previous "memory page_alloc minor cleanups" patch. Until and unless we are certain that no one can ever pass an empty zonelist to __alloc_pages(), this check for an empty zonelist (or some BUG equivalent) is essential. The code in get_page_from_freelist() blow ups if passed an empty zonelist. Signed-off-by: Paul Jackson Acked-by: Christoph Lameter Cc: Nick Piggin Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2ce774096110ccc5c02cbdc05897d005fcd3db8 Author: Andrew Morton Date: Wed Dec 6 20:31:36 2006 -0800 [PATCH] uml: workqueue build fix arch/um/drivers/chan_kern.c:643: error: conflicting types for 'chan_interrupt' arch/um/include/chan_kern.h:31: error: previous declaration of 'chan_interrupt' Cc: David Howells Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 822191a2fa1584a29c3224ab328507adcaeac1ab Author: Andrey Mirkin Date: Wed Dec 6 20:31:35 2006 -0800 [PATCH] skip data conversion in compat_sys_mount when data_page is NULL OpenVZ Linux kernel team has found a problem with mounting in compat mode. Simple command "mount -t smbfs ..." on Fedora Core 5 distro in 32-bit mode leads to oops: Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: compat_sys_mount+0xd6/0x290 Process mount (pid: 14656, veid=300, threadinfo ffff810034d30000, task ffff810034c86bc0) Call Trace: ia32_sysret+0x0/0xa The problem is that data_page pointer can be NULL, so we should skip data conversion in this case. Signed-off-by: Andrey Mirkin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1e85378ba50694cf8f27b190c7e16d7c8dad276 Author: Andrew Morton Date: Wed Dec 6 20:31:33 2006 -0800 [PATCH] drm-sis linkage fix Fix http://bugzilla.kernel.org/show_bug.cgi?id=7606 WARNING: "drm_sman_set_manager" [drivers/char/drm/sis.ko] undefined! Cc: Cc: Dave Airlie Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 676dcb8bc2ec78d80091037773598d6ec8c673d6 Author: Andrew Morton Date: Wed Dec 6 20:31:30 2006 -0800 [PATCH] add bottom_half.h With CONFIG_SMP=n: drivers/input/ff-memless.c:384: warning: implicit declaration of function 'local_bh_disable' drivers/input/ff-memless.c:393: warning: implicit declaration of function 'local_bh_enable' Really linux/spinlock.h should include linux/interrupt.h. But interrupt.h includes sched.h which will need spinlock.h. So the patch breaks the _bh declarations out into a separate header and includes it in both interrupt.h and spinlock.h. Cc: "Randy.Dunlap" Cc: Andi Kleen Cc: Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05f96ef1189ecbf2e8548056a0ca016e4f630cef Author: Russell King Date: Thu Nov 30 20:44:49 2006 +0000 [ARM] Allow gcc to optimise arm_add_memory a little more For some reason, gcc was calculating meminfo.bank[meminfo.nr_banks] repeatedly. Use a pointer to it instead. Signed-off-by: Russell King commit 86987d5bf4db7850a8dfb073c6a3506d4e0d2bcc Author: Pavel Pisa Date: Wed Dec 6 17:19:44 2006 +0100 [ARM] 3991/1: i.MX/MX1 high resolution time source Enhanced resolution for time measurement functions. Signed-off-by: Pavel Pisa Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 5c894cd1c89fc10907febd93e6ef35cd3c65e25e Author: Pavel Pisa Date: Wed Dec 6 17:08:27 2006 +0100 [ARM] 3990/1: i.MX/MX1 more precise PLL decode The future high resolution support inclusion utilizes imx_decode_pll() in timer base frequency computation. This use requires more precise computation without discarding 10 bits by shifting left. Signed-off-by: Pavel Pisa Acked-by: Sascha Hauer Signed-off-by: Russell King commit 9073341c2ba5d5e77b3d05d84cf9e3a16e8a7902 Author: Ben Dooks Date: Wed Dec 6 01:50:24 2006 +0100 [ARM] 3986/1: H1940: suspend to RAM support Add support to suspend and resume, using the H1940's bootloader Signed-off-by: Ben Dooks Signed-off-by: Arnaud Patard Signed-off-by: Russell King commit f9a8ca1cabf09316d79cab7f04e1390261ff9035 Author: Kevin Hilman Date: Wed Dec 6 00:45:07 2006 +0100 [ARM] 3985/1: ixp4xx clocksource cleanup Rather than using a device_initcall() for the clocksource initialization, just call the init from the sys_timer init function. Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit a47d08e2e397c434a661c688160f85b60a2392d5 Author: Rod Whitby Date: Wed Dec 6 00:33:12 2006 +0100 [ARM] 3984/1: ixp4xx/nslu2: Fix disk LED numbering (take 2) This patch fixes an error in the numbering of the disk LEDs on the Linksys NSLU2. The error crept in because the physical location of the LEDs has the Disk 2 LED *above* the Disk 1 LED. Thanks to Gordon Farquharson for reporting this. Signed-off-by: Rod Whitby Signed-off-by: Russell King commit 46156e04def20749c46efd8fc40e3527eae97b49 Author: Lennert Buytenhek Date: Wed Dec 6 23:11:33 2006 +0100 [ARM] 3994/1: ixp23xx: fix handling of pci master aborts The PCI master abort handling issue that affected ixp2000 also affects ixp23xx. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 2dc20a51dc1e2da6eae1182cfe4c4835fca26017 Author: Nicolas Pitre Date: Mon Dec 4 20:42:09 2006 +0100 [ARM] 3981/1: sched_clock for PXA2xx Here's a 63-bit implementation of shed_clock() for PXA2xx. The actual period depends on the value of CLOCK_TICK_RATE and whether or not reduced scaling factors were provided for it. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 752bee178ee107aa3dd87a9aeba970444034c6fb Author: Nicolas Pitre Date: Mon Dec 4 20:29:21 2006 +0100 [ARM] 3980/1: extend the ARM Versatile sched_clock implementation from 32 to 63 bit period This provides a 63 bit clock counter guaranteed to be monotonic over a period of 35583 days instead of a clock wrap every 179 seconds, as long as sched_clock() is called at least once every 89 seconds. This should not be a problem in practice, although a kernel timer could be scheduled every 80 seconds for example simply to call sched_clock() making sure top bits are always synchronized if need be. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 2f1675c11a0a214855ff6cba23aca239eef7a5fb Author: Nicolas Pitre Date: Mon Dec 4 20:25:47 2006 +0100 [ARM] 3979/1: extend the SA11x0 sched_clock implementation from 32 to 63 bit period This provides a 63 bit clock counter guaranteed to be monotonic over a period of 370 days instead of a clock wrap every 19.4 minutes, as long as sched_clock() is called at least once every 9.7 minutes which shouldn't be a problem in practice. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 838ccbc35eae5b44d47724e5f694dbec4a26d269 Author: Nicolas Pitre Date: Mon Dec 4 20:19:31 2006 +0100 [ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter This is done in a completely lockless fashion. Bits 0 to 31 of the count are provided by the hardware while bits 32 to 62 are stored in memory. The top bit in memory is used to synchronize with the hardware count half-period. When the top bit of both counters (hardware and in memory) differ then the memory is updated with a new value, incrementing it when the hardware counter wraps around. Because a word store in memory is atomic then the incremented value will always be in synch with the top bit indicating to any potential concurrent reader if the value in memory is up to date or not wrt the needed increment. And any race in updating the value in memory is harmless as the same value would be stored more than once. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit fa4adc614922c24601320e55bc5a1f837abad6e9 Author: Nicolas Pitre Date: Wed Dec 6 04:13:18 2006 +0100 [ARM] 3611/4: optimize do_div() when divisor is constant On ARM all divisions have to be performed "manually". For 64-bit divisions that may take more than a hundred cycles in many cases. With 32-bit divisions gcc already use the recyprocal of constant divisors to perform a multiplication, but not with 64-bit divisions. Since the kernel is increasingly relying upon 64-bit divisions it is worth optimizing at least those cases where the divisor is a constant. This is what this patch does using plain C code that gets optimized away at compile time. For example, despite the amount of added C code, do_div(x, 10000) now produces the following assembly code (where x is assigned to r0-r1): adr r4, .L0 ldmia r4, {r4-r5} umull r2, r3, r4, r0 mov r2, #0 umlal r3, r2, r5, r0 umlal r3, r2, r4, r1 mov r3, #0 umlal r2, r3, r5, r1 mov r0, r2, lsr #11 orr r0, r0, r3, lsl #21 mov r1, r3, lsr #11 ... .L0: .word 948328779 .word 879609302 which is the fastest that can be done for any value of x in that case, many times faster than the __do_div64 code (except for the small x value space for which the result ends up being zero or a single bit). The fact that this code is generated inline produces a tiny increase in .text size, but not significant compared to the needed code around each __do_div64 call site this code is replacing. The algorithm used has been validated on a 16-bit scale for all possible values, and then recodified for 64-bit values. Furthermore I've been running it with the final BUG_ON() uncommented for over two months now with no problem. Note that this new code is compiled with gcc versions 4.0 or later. Earlier gcc versions proved themselves too problematic and only the original code is used with them. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 47d7e524b7d51aa77b381fbc9b9c5d3f309e434e Author: Lennert Buytenhek Date: Wed Dec 6 23:07:13 2006 +0100 [ARM] 3993/1: ep93xx: add cirrus logic edb9302a support Add support for the Cirrus Logic EDB9302A Evaluation Board. Confirmed to work by Chase Douglas. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 5636810d6f17493717ef0f03efc0315026db934d Author: George G. Davis Date: Tue Dec 5 18:28:04 2006 +0100 [ARM] 3982/2: Explicitly select 32-bit ARM ISA (-marm) Do not assume that the ARM GCC toolchain defaults to building for the 32-bit ARM ISA (-marm) case. Instead, explicitly select -marm in CFLAGS since the toolchain default can be for the 16-bit Thumb ISA (-mthumb) in some odd/rare cases. Signed-off-by: George G. Davis Signed-off-by: Russell King commit ac33d0710595579e3cfca42dde2257eb0b123f6d Author: Patrick Caulfield Date: Wed Dec 6 15:10:37 2006 +0000 [DLM] Clean up lowcomms This fixes up most of the things pointed out by akpm and Pavel Machek with comments below indicating why some things have been left: Andrew Morton wrote: > >> +static struct nodeinfo *nodeid2nodeinfo(int nodeid, gfp_t alloc) >> +{ >> + struct nodeinfo *ni; >> + int r; >> + int n; >> + >> + down_read(&nodeinfo_lock); > > Given that this function can sleep, I wonder if `alloc' is useful. > > I see lots of callers passing in a literal "0" for `alloc'. That's in fact > a secret (GFP_ATOMIC & ~__GFP_HIGH). I doubt if that's what you really > meant. Particularly as the code could at least have used __GFP_WAIT (aka > GFP_NOIO) which is much, much more reliable than "0". In fact "0" is the > least reliable mode possible. > > IOW, this is all bollixed up. When 0 is passed into nodeid2nodeinfo the function does not try to allocate a new structure at all. it's an indication that the caller only wants the nodeinfo struct for that nodeid if there actually is one in existance. I've tidied the function itself so it's more obvious, (and tidier!) >> +/* Data received from remote end */ >> +static int receive_from_sock(void) >> +{ >> + int ret = 0; >> + struct msghdr msg; >> + struct kvec iov[2]; >> + unsigned len; >> + int r; >> + struct sctp_sndrcvinfo *sinfo; >> + struct cmsghdr *cmsg; >> + struct nodeinfo *ni; >> + >> + /* These two are marginally too big for stack allocation, but this >> + * function is (currently) only called by dlm_recvd so static should be >> + * OK. >> + */ >> + static struct sockaddr_storage msgname; >> + static char incmsg[CMSG_SPACE(sizeof(struct sctp_sndrcvinfo))]; > > whoa. This is globally singly-threaded code?? Yes. it is only ever run in the context of dlm_recvd. >> >> +static void initiate_association(int nodeid) >> +{ >> + struct sockaddr_storage rem_addr; >> + static char outcmsg[CMSG_SPACE(sizeof(struct sctp_sndrcvinfo))]; > > Another static buffer to worry about. Globally singly-threaded code? Yes. Only ever called by dlm_sendd. >> + >> +/* Send a message */ >> +static int send_to_sock(struct nodeinfo *ni) >> +{ >> + int ret = 0; >> + struct writequeue_entry *e; >> + int len, offset; >> + struct msghdr outmsg; >> + static char outcmsg[CMSG_SPACE(sizeof(struct sctp_sndrcvinfo))]; > > Singly-threaded? Yep. >> >> +static void dealloc_nodeinfo(void) >> +{ >> + int i; >> + >> + for (i=1; i<=max_nodeid; i++) { >> + struct nodeinfo *ni = nodeid2nodeinfo(i, 0); >> + if (ni) { >> + idr_remove(&nodeinfo_idr, i); > > Didn't that need locking? Not. it's only ever called at DLM shutdown after all the other threads have been stopped. >> >> +static int write_list_empty(void) >> +{ >> + int status; >> + >> + spin_lock_bh(&write_nodes_lock); >> + status = list_empty(&write_nodes); >> + spin_unlock_bh(&write_nodes_lock); >> + >> + return status; >> +} > > This function's return value is meaningless. As soon as the lock gets > dropped, the return value can get out of sync with reality. > > Looking at the caller, this _might_ happen to be OK, but it's a nasty and > dangerous thing. Really the locking should be moved into the caller. It's just an optimisation to allow the caller to schedule if there is no work to do. if something arrives immediately afterwards then it will get picked up when the process re-awakes (and it will be woken by that arrival). The 'accepting' atomic has gone completely. as Andrew pointed out it didn't really achieve much anyway. I suspect it was a plaster over some other startup or shutdown bug to be honest. Signed-off-by: Patrick Caulfield Signed-off-by: Steven Whitehouse Cc: Andrew Morton Cc: Pavel Machek commit 34126f9f41901ca9d7d0031c2b11fc0d6c07b72d Author: Steven Whitehouse Date: Thu Dec 7 09:13:14 2006 -0500 [GFS2] Change gfs2_fsync() to use write_inode_now() This is a bit better than the previous version of gfs2_fsync() although it would be better still if we were able to call a function which only wrote the inode & metadata. Its no big deal though that this will potentially write the data as well since the VFS has already done that before calling gfs2_fsync(). I've also added a comment to explain whats going on here. Signed-off-by: Steven Whitehouse Cc: Andrew Morton commit fd3367af3d1212f645094c4b5c4d458bdd061475 Author: Alan Date: Thu Dec 7 12:41:18 2006 +0000 [PATCH] libata: Incorrect timing computation for PIO5/6 The ata timing computation code makes some mistakes in PIO5/6 because a check was not updated correctly when I put this support into the kernel. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 25b93d81b9abe3b786bdf3396d728bb13b0a911c Author: Mikael Pettersson Date: Thu Dec 7 00:06:51 2006 +0100 [PATCH] sata_promise: new EH conversion, take 2 This patch converts sata_promise to use new-style libata error handling on Promise SATA chips, for both SATA and PATA ports. * ATA_FLAG_SRST is no longer set * ->phy_reset is no longer set as it is unused when ->error_handler is present, and pdc_sata_phy_reset() has been removed * pdc_freeze() masks interrupts and halts DMA via PDC_CTLSTAT * pdc_thaw() clears interrupt status in PDC_INT_SEQMASK and then unmasks interrupts in PDC_CTLSTAT * pdc_error_handler() reinitialises the port if it isn't frozen, and then invokes ata_do_eh() with standard {s,}ata reset methods * pdc_post_internal_cmd() resets the port in case of errors * the PATA-only 20619 chip continues to use old-style EH: not by necessity but simply because I don't have documentation for it or any way to test it Since the previous version pdc_error_handler() has been rewritten and it now mostly matches ahci and sata_sil24. In case anyone wonders: the call to pdc_reset_port() isn't a heavy-duty reset, it's a light-weight reset to quickly put a port into a sane state. The discussion about the PCI flushes in pdc_freeze() and pdc_thaw() seemed to end with a consensus that the flushes are OK and not obviously redundant, so I decided to keep them for now. This patch was prepared against 2.6.19-git7, but it also applies to 2.6.19 + libata #upstream, with or without the revised sata_promise cleanup patch I recently submitted. This patch does conflict with the #promise-sata-pata patch: this patch removes pdc_sata_phy_reset() while #promise-sata-pata modifies it. The correct patch resolution is to remove the function. Tested on 2037x and 2057x chips, with PATA patches on top and disks on both SATA and PATA ports. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit e3472cbe5c10a91c737405cd706142787736392c Author: Albert Lee Date: Thu Dec 7 11:37:58 2006 +0800 [PATCH] libata: let ATA_FLAG_PIO_POLLING use polling pio for ATA_PROT_NODATA Even if ATA_FLAG_PIO_POLLING is set, libata uses irq pio for the ATA_PROT_NODATA protocol. This patch let ATA_FLAG_PIO_POLLING use polling pio for the ATA_PROT_NODATA protocol. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit d324d4627d7442d9a74b0b93fc40f71ce194632a Author: Mikael Pettersson Date: Wed Dec 6 09:55:43 2006 +0100 [PATCH] sata_promise: cleanups, take 2 This patch performs two simple cleanups of sata_promise. * Remove board_20771 and map device id 0x3577 to board_2057x. After the recent corrections for SATAII chips, board_20771 and board_2057x were equivalent in the driver. * Remove hp->hotplug_offset and use hp->flags & PDC_FLAG_GEN_II to compute hotplug_offset in pdc_host_init(). hp->hotplug_offset was used to distinguish 1st and 2nd generation chips in one particular case, but now we have that information in a more general form in hp->flags, so hp->hotplug_offset is redundant. Changes since previous submission: rebased on libata-dev #upstream, cleaned up hotplug_offset computation based on Tejun's comments, expanded hotplug_offset removal rationale. This patch does not depend on the pending new EH conversion patch. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 0ae851352a87db3f829511816a2da227860bf585 Author: Jeff Garzik Date: Thu Dec 7 06:30:30 2006 -0500 [wireless] zd1211rw: workqueue-related build fixes Signed-off-by: Jeff Garzik commit 0bfdcc88df969af8de087d0fdddf8c0efa76b4b0 Author: Jeff Garzik Date: Thu Dec 7 06:30:07 2006 -0500 [netdrvr] netxen: workqueue-related build fixes commit f1ff0fdc353ca00ff43b7b039944b8070da22242 Merge: 359f2d1... cc9f022... Author: Jeff Garzik Date: Thu Dec 7 05:05:58 2006 -0500 Merge tag 'r8169-upstream-20061204-00' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 into upstream commit 359f2d17e32b32f53577375f83fb06d34e31bfe8 Merge: 0efdf26... 720eeb4... Author: Jeff Garzik Date: Thu Dec 7 05:02:40 2006 -0500 Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream Conflicts: drivers/net/wireless/zd1211rw/zd_mac.h net/ieee80211/softmac/ieee80211softmac_assoc.c commit 0efdf2626676db4b30d343ff88f8461ad09130da Author: Stephen Hemminger Date: Tue Dec 5 12:03:41 2006 -0800 [PATCH] sky2: sparse warnings Get rid of sparse warnings in sky2 driver because of mixed enum usage. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 7f4b45c5269049e223eda31c7e3879c226039e4a Author: Stephen Hemminger Date: Tue Dec 5 12:02:50 2006 -0800 [PATCH] skge: fix sparse warnings Fix sparse warnings from using enum as part of arithmetic expression, and comment indentation fixes Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e67bda55e27d3308ba0b4ce8cf2da51850ef1453 Author: Brice Goglin Date: Tue Dec 5 17:26:27 2006 +0100 [PATCH] myri10ge: write as 2 32-byte blocks in myri10ge_submit_8rx In the myri10ge_submit_8rx() routine, write the 64 byte request block as 2 32-byte blocks so that it is handled by the hardware pio write handler if write-combining is enabled. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit c3905bc4b71ab562acf69765e8c4778bd263b9db Author: Stephen Hemminger Date: Mon Dec 4 17:08:19 2006 -0800 [PATCH] sky2: receive queue watermark tweak This patch makes the receive performance on some systems go from 714MB/s to 941MB/s. It adjusts the watermark of the receive queue to be lower, thereby avoiding excess hardware flow control. This is most important on the systems which have little/no additional buffering. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 6771290102c4703dae56bc3e121deb63530e206c Author: Stephen Hemminger Date: Mon Dec 4 15:53:45 2006 -0800 [PATCH] sky2: beter ram buffer partitioning Different chips have different sizes of ram buffers, and some versions have no ram buffer at all!. Be more careful about sizing the ram usage because it maybe a problem if vendor keeps changing sizes. There is the (unlikely) possibility that some of the errors on some of the chips have been caused by partitioning not on a 1K boundary. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e5b74c7ddd46d1779bea21d7c8efb39bbcc3df21 Author: Stephen Hemminger Date: Mon Dec 4 15:53:36 2006 -0800 [PATCH] sky2: add comments to PCI ids Add comments to sky2 driver to show relationship between PCI id and hardware. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 2a45b49c30c422c83c9227cb8ca99f129a5cf5d0 Author: Stephen Hemminger Date: Mon Dec 4 15:53:16 2006 -0800 [PATCH] sky2: add PCI for 88ec033 Add another new/missing pci id for 88ec033 chip. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a3f63e4f4be0da938771d754e846ff0019f9d42e Author: Andrew Victor Date: Tue Dec 5 15:37:02 2006 +0200 [PATCH] AT91RM9200 Ethernet: Use dev_alloc_skb() Use dev_alloc_skb() instead of alloc_skb(). It is also not necessary to adjust skb->len manually since that's already done by skb_put(). Signed-off-by: Andrew Victor Signed-off-by: Jeff Garzik commit 51cc21045714cc9f48eb6901d95eb4e552ef2ca4 Author: Andrew Victor Date: Tue Dec 5 15:33:05 2006 +0200 [PATCH] AT91RM9200 Ethernet: Add netpoll / netconsole support Adds netpoll / netconsole support. Original patch from Bill Gatliff. Signed-off-by: Andrew Victor Signed-off-by: Jeff Garzik commit cf42553ab43e102bc98eca05523d2390a1eedde9 Author: Andrew Victor Date: Tue Dec 5 15:21:19 2006 +0200 [PATCH] AT91RM9200 Ethernet: Move check_timer variable and use mod_timer() Move the global 'check_timer' variable into the private data structure. Also now use mod_timer(). Signed-off-by: Andrew Victor Signed-off-by: Jeff Garzik commit c57ee096b6caf8f7e17abe46185d24f2b649b9f9 Author: Andrew Victor Date: Tue Dec 5 15:09:16 2006 +0200 [PATCH] AT91RM9200 Ethernet: Remove 'at91_dev' and use netdev_priv() Remove the global 'at91_dev' variable. Use netdev_priv() instead of casting dev->priv directly. Signed-off-by: Andrew Victor Signed-off-by: Jeff Garzik commit 8d1413b28033c49c7f1a4d320e815d7a5531acee Merge: ed25ffa... 620034c... Author: Jeff Garzik Date: Thu Dec 7 04:57:19 2006 -0500 Merge branch 'master' into upstream Conflicts: drivers/net/netxen/netxen_nic.h drivers/net/netxen/netxen_nic_main.c commit 272491ef423b6976a230a998b10f46976aa91342 Author: Randy Dunlap Date: Thu Dec 7 01:17:24 2006 -0800 [NETFILTER]: Fix non-ANSI func. decl. Fix non-ANSI function declaration: net/netfilter/nf_conntrack_core.c:1096:25: warning: non-ANSI function declaration of function 'nf_conntrack_flush' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit cbb45d21fb2fcbcafc19ea859350f564252a0878 Author: Michael Chan Date: Thu Dec 7 00:24:09 2006 -0800 [TG3]: Identify Serdes devices more clearly. Change the message to more clearly identify Serdes devices. Update version to 3.70. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9d57f01c1331cb7bfd0a9d4f7723da5b9329394f Author: Michael Chan Date: Thu Dec 7 00:23:25 2006 -0800 [TG3]: Use msleep. Change some udelay() in some eeprom functions to msleep(). Eeprom related functions are always called from sleepable context. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9f88f29fc502192824aba092e90af1297a87eb82 Author: Michael Chan Date: Thu Dec 7 00:22:54 2006 -0800 [TG3]: Use netif_msg_*. Use netif_msg_* to turn on or off some messages. Based on Stephen Hemminger's initial patch. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3600d918d870456ea8e7bb9d47f327de5c20f3d6 Author: Michael Chan Date: Thu Dec 7 00:21:48 2006 -0800 [TG3]: Allow partial speed advertisement. Honor the advertisement bitmask from ethtool. We used to always advertise the full capability when autoneg was set to on. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9d26e213423923c9e033ccd373705118131827c9 Author: Michael Chan Date: Thu Dec 7 00:21:14 2006 -0800 [TG3]: Add TG3_FLG2_IS_NIC flag. Add Tg3_FLG2_IS_NIC flag to unambiguously determine whether the device is NIC or onboard. Previously, the EEPROM_WRITE_PROT flag was overloaded to also mean onboard. With the separation, we can support some devices that are onboard but do not use eeprom write protect. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 676917d488212303ce4a7d033815ce8799201010 Author: Michael Chan Date: Thu Dec 7 00:20:22 2006 -0800 [TG3]: Add 5787F device ID. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5d64ad34f468278ce66f9eb4d876dd221490e94c Author: Michael Chan Date: Thu Dec 7 00:19:40 2006 -0800 [TG3]: Fix Phy loopback. Phy loopback on most 10/100 devices need to be run in 1Gbps mode in GMII mode. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 456c38f9682645cbb0537cb4e16848a28c1d3a76 Author: David S. Miller Date: Thu Dec 7 00:18:22 2006 -0800 [WANROUTER]: Kill kmalloc debugging code. It duplicates what SLAB debug can do already. Signed-off-by: David S. Miller commit 905eee008b5440e30186ab72c238ec8cb2886f74 Author: David S. Miller Date: Thu Dec 7 00:12:30 2006 -0800 [TCP] inet_twdr_hangman: Delete unnecessary memory barrier(). As per Ralf Baechle's observations, the schedule_work() call should give enough of a memory barrier, so the explicit one here is totally unnecessary. Signed-off-by: David S. Miller commit e16aa207ccb61c5111525c462eeeba1f3f5fd370 Author: Ralf Baechle Date: Thu Dec 7 00:11:33 2006 -0800 [NET]: Memory barrier cleanups I believe all the below memory barriers only matter on SMP so therefore the smp_* variant of the barrier should be used. I'm wondering if the barrier in net/ipv4/inet_timewait_sock.c should be dropped entirely. schedule_work's implementation currently implies a memory barrier and I think sane semantics of schedule_work() should imply a memory barrier, as needed so the caller shouldn't have to worry. It's not quite obvious why the barrier in net/packet/af_packet.c is needed; maybe it should be implied through flush_dcache_page? Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 26db167702756d0022f8ea5f1f30cad3018cfe31 Author: David S. Miller Date: Wed Dec 6 23:45:15 2006 -0800 [IPSEC]: Fix inetpeer leak in ipv4 xfrm dst entries. We grab a reference to the route's inetpeer entry but forget to release it in xfrm4_dst_destroy(). Bug discovered by Kazunori MIYAZAWA Signed-off-by: David S. Miller commit d942625c2d5f5d29cd3bb4fad8a4aadd59024317 Author: Andrew Morton Date: Thu Dec 7 16:11:44 2006 +1100 Fix http://bugzilla.kernel.org/show_bug.cgi?id=7606 WARNING: "drm_sman_set_manager" [drivers/char/drm/sis.ko] undefined! Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 3417f33e762bf7d4277031a655e3ad07e73ce0be Author: George Sapountzis Date: Tue Oct 24 12:03:04 2006 -0700 drm: add flag for mapping PCI DMA buffers read-only. Add DRM_PCI_BUFFER_RO flag for mapping PCI DMA buffer read-only. An additional flag is needed, since PCI DMA buffers do not have an associated map. Signed-off-by: Dave Airlie commit 5c2df2bfb121a77d925dba580f53da08b4020528 Author: Dave Airlie Date: Tue Oct 24 11:36:59 2006 -0700 drm: fix up irqflags in drm_lock.c Signed-off-by: Dave Airlie commit 2228ed67223f3f22ea09df8854e6a31ea06d5619 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 01:05:09 2006 +1000 drm: i915 updates Add support for DRM_VBLANK_NEXTONMISS. Bump minor for swap scheduling ioctl and secondary vblank support. Avoid mis-counting vblank interrupts when they're only enabled for pipe A. Only schedule vblank tasklet if there are scheduled swaps pending. Signed-off-by: Dave Airlie commit a0b136bb696cfa744a79c4dbbbbd0c8f9f30fe3f Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 00:12:52 2006 +1000 drm: i915: fix up irqflags arg Signed-off-by: Dave Airlie commit 21fa60ed4eab5b3b28d05930bb086615ecc191b1 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 00:10:59 2006 +1000 drm: i915: Only return EBUSY after we've established we need to schedule a new swap. Signed-off-by: Dave Airlie commit 2dbb232c4d6b6c89fc367f7566c7c87dd3b56cd7 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 00:10:24 2006 +1000 drm: i915: Fix 'sequence has passed' condition in i915_vblank_swap(). Signed-off-by: Dave Airlie commit 376642cf2eb0f32d8502b0a2c4efd96a3f13a8b8 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 00:09:35 2006 +1000 drm: i915: Add SAREA fileds for determining which pipe to sync window buffer swaps to. Signed-off-by: Dave Airlie commit 5b51694aff705c465ef5941a99073036f3e444d9 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 00:08:23 2006 +1000 drm: Make handling of dev_priv->vblank_pipe more robust. Initialize it to default value if it hasn't been set by the X server yet. In i915_vblank_pipe_set(), only update dev_priv->vblank_pipe and call i915_enable_interrupt() if the argument passed from userspace is valid to avoid corrupting dev_priv->vblank_pipe on invalid arguments. Signed-off-by: Dave Airlie commit 541f29aad766b6c7b911a7d900d952744369bf53 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:38:54 2006 +1000 drm: DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead of pipe number. Handle relative as well as absolute target sequence numbers. Return error if target sequence has already passed, so userspace can deal with this situation as it sees fit. On success, return the sequence number of the vertical blank when the buffer swap is expected to take place. Also add DRM_IOCTL_I915_VBLANK_SWAP definition for userspace code that may want to use ioctl() instead of drmCommandWriteRead(). Signed-off-by: Dave Airlie commit a6b54f3f5050c0cbc0c35dd48064846c6302706b Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:37:43 2006 +1000 drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks. This uses the core facility to schedule a driver callback that will be called ASAP after the given vertical blank interrupt with the HW lock held. Signed-off-by: Dave Airlie commit 049b323321bbcb476b799f50dc6444c0ed5a0e0e Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:34:58 2006 +1000 drm: Core vsync: Don't clobber target sequence number when scheduling signal. It looks like this would have caused signals to always get sent on the next vertical blank, regardless of the sequence number. Signed-off-by: Dave Airlie commit ab285d74e6742422fd0465577a31fb03fe9ed241 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:34:18 2006 +1000 drm: Core vsync: Add flag DRM_VBLANK_NEXTONMISS. When this flag is set and the target sequence is missed, wait for the next vertical blank instead of returning immediately. Signed-off-by: Dave Airlie commit 8163e418f71e46a28bac6625b4c633c13bd53c8d Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:30:01 2006 +1000 drm: Make locked tasklet handling more robust. Initialize the spinlock unconditionally when struct drm_device is filled in, and return early in drm_locked_tasklet() if the driver doesn't support IRQs. Signed-off-by: Dave Airlie commit 507c0185a72e89002757a58f6c64de3df84da0de Author: =?utf-8?q?Felix_K=C3=BChling?= Date: Tue Oct 24 23:28:23 2006 +1000 drm: drm_rmdraw: Declare id and idx as signed so testing for < 0 works as intended. Signed-off-by: Dave Airlie commit cdec2f82b11afbe4933fa9a9b3ed567db14fd237 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:20:15 2006 +1000 drm: Change first valid DRM drawable ID to be 1 instead of 0. This makes it easier for userspace to know when it needs to allocate an ID. Also free drawable information memory when it's no longer needed. Signed-off-by: Dave Airlie commit b03ed6f2fc519930fe3950365be59f0c079ce5d8 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:18:49 2006 +1000 drm: drawable locking + memory management fixes + copyright Signed-off-by: Dave Airlie commit 2e54a007622ac75d63bdc1dd71d435446293f4a9 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:08:16 2006 +1000 drm: Add support for interrupt triggered driver callback with lock held to DRM core. Signed-off-by: Dave Airlie commit bea5679f9cb97b7e41786c8500df56665cd21e56 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:04:19 2006 +1000 drm: Add support for tracking drawable information to core Actually make the existing ioctls for adding and removing drawables do something useful, and add another ioctl for the X server to update drawable information. The only kind of drawable information tracked so far is cliprects. Only reallocate cliprect memory if the number of cliprects changes. Also improve diagnostic output. hook up drm ioctl update draw export drm_get_drawable_info symbol Signed-off-by: Dave Airlie commit 68815bad7239989d92f315c10d9ef65a11945a75 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 22:28:51 2006 +1000 drm: add support for secondary vertical blank interrupt to i915 When the vertical blank interrupt is enabled for both pipes, pipe A is considered primary and pipe B secondary. When it's only enabled for one pipe, it's always considered primary for backwards compatibility. Signed-off-by: Dave Airlie commit 776c9443e28dddbde9b513db6cb8221c45b3a269 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 22:24:38 2006 +1000 drm: add support for secondary vertical blank interrupt to DRM core Signed-off-by: Dave Airlie commit c9204d9ca79baac564b49d36d0228a69d7ded084 Author: Joy Latten Date: Thu Nov 30 15:50:43 2006 -0600 audit: disable ipsec auditing when CONFIG_AUDITSYSCALL=n Disables auditing in ipsec when CONFIG_AUDITSYSCALL is disabled in the kernel. Also includes a bug fix for xfrm_state.c as a result of original ipsec audit patch. Signed-off-by: Joy Latten Signed-off-by: James Morris Signed-off-by: David S. Miller commit 161a09e737f0761ca064ee6a907313402f7a54b6 Author: Joy Latten Date: Mon Nov 27 13:11:54 2006 -0600 audit: Add auditing to ipsec An audit message occurs when an ipsec SA or ipsec policy is created/deleted. Signed-off-by: Joy Latten Signed-off-by: James Morris Signed-off-by: David S. Miller commit 95b99a670df31ca5271f503f378e5cac3aee8f5e Author: Randy Dunlap Date: Wed Dec 6 20:10:07 2006 -0800 [IRDA] irlan: Fix compile warning when CONFIG_PROC_FS=n include/net/irda/irlan_filter.h:31: warning: 'struct seq_file' declared inside parameter list include/net/irda/irlan_filter.h:31: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit e694ba4428d53882489c07fd7d60c39b3e164dd5 Author: Jeet Chaudhuri Date: Wed Dec 6 20:08:45 2006 -0800 [IrDA]: Incorrect TTP header reservation We must reserve SAR + MAX_HEADER bytes for IrLMP to fit in. Patch from Jeet Chaudhuri Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit b259e7d250e15d45b3c8362917931aaff1c88d73 Author: Paul Sokolovsky Date: Wed Dec 6 20:07:59 2006 -0800 [IrDA]: PXA FIR code device model conversion pxaficp_ir.c was not converted to the device model framework. Signed-off-by: Paul Sokolovsky Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 48d4ed7a86d70a7e381cc8e48a97312182093ce2 Author: Jamal Hadi Salim Date: Wed Dec 6 20:06:25 2006 -0800 [GENETLINK]: Fix misplaced command flags. The command flags for dump and do were swapped.. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit b9e3dd0ea167df1d7c118170551e08e8e28f27b6 Author: Paul Moore Date: Tue Dec 5 13:49:56 2006 -0800 [NETLIK]: Add a pointer to the Generic Netlink wiki page. Add a pointer to the OSDL wiki page on Generic Netlink. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 4e33fa14faecc150e97c0e4f2320745bdc7b7112 Author: Masahide NAKAMURA Date: Tue Dec 5 13:48:27 2006 -0800 [IPV6] RAW: Don't release unlocked sock. When user builds IPv6 header and send it through raw socket, kernel tries to release unlocked sock. (Kernel log shows "BUG: bad unlock balance detected" with enabled debug option.) The lock is held only for non-hdrincl sock in this function then this patch fix to do nothing about lock for hdrincl one. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 9a217a1c7e7f36ec4996314d64267dd711dbd9bf Author: YOSHIFUJI Hideaki Date: Tue Dec 5 13:47:21 2006 -0800 [IPV6]: Repair IPv6 Fragments The commit "[IPV6]: Use kmemdup" (commit-id: af879cc704372ef762584e916129d19ffb39e844) broke IPv6 fragments. Bug was spotted by Yasuyuki Kozakai . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 5c804bfdcca2593422dd6edc2d7db4dba645543c Author: Patrick McHardy Date: Tue Dec 5 13:46:13 2006 -0800 [NET_SCHED]: cls_fw: fix NULL pointer dereference When the first fw classifier is initialized, there is a small window between the ->init() and ->change() calls, during which the classifier is active but not entirely set up and tp->root is still NULL (->init() does nothing). When a packet is queued during this window a NULL pointer dereference occurs in fw_classify() when trying to dereference head->mask; Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f216f082b2b37c4943f1e7c393e2786648d48f6f Author: Bart De Schuymer Date: Tue Dec 5 13:45:21 2006 -0800 [NETFILTER]: bridge netfilter: deal with martians correctly The attached patch resolves an issue where a IP DNATed packet with a martian source is forwarded while it's better to drop it. It also resolves messages complaining about ip forwarding being disabled while it's actually enabled. Thanks to lepton for reporting this problem. This is probably a candidate for the -stable release. Signed-off-by: Bart De Schuymer Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ece006416d4fb472f4d2114feede5665cff971b2 Author: Yasuyuki Kozakai Date: Tue Dec 5 13:44:57 2006 -0800 [NETFILTER]: nf_conntrack: Don't try to find clashed expectation The original code continues loop to find expectation in list if the master conntrack of the found expectation is unconfirmed. But it never success in that case, because nf_conntrack_expect_related() never insert clashed expectation to the list. This stops loop in that case. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ee0779e994c6916863045297b831212e285da3b Author: Yasuyuki Kozakai Date: Tue Dec 5 13:44:31 2006 -0800 [NETFILTER]: nf_conntrack: fix warning in PPTP helper Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f6677f4312ee74f8ca68c4cc4060465607b72b41 Author: Dmitry Mishin Date: Tue Dec 5 13:44:07 2006 -0800 [NETFILTER]: Fix iptables compat hook validation In compat mode, matches and targets valid hooks checks always successful due to not initialized e->comefrom field yet. This patch separates this checks from translation code and moves them after mark_source_chains() call, where these marks are initialized. Signed-off-by: Dmitry Mishin Signed-off-by; Patrick McHardy Signed-off-by: David S. Miller commit 74c9c0c17dea729d6089c0c82762babd02e65f84 Author: Dmitry Mishin Date: Tue Dec 5 13:43:50 2006 -0800 [NETFILTER]: Fix {ip,ip6,arp}_tables hook validation Commit 590bdf7fd2292b47c428111cb1360e312eff207e introduced a regression in match/target hook validation. mark_source_chains builds a bitmask for each rule representing the hooks it can be reached from, which is then used by the matches and targets to make sure they are only called from valid hooks. The patch moved the match/target specific validation before the mark_source_chains call, at which point the mask is always zero. This patch returns back to the old order and moves the standard checks to mark_source_chains. This allows to get rid of a special case for standard targets as a nice side-effect. Signed-off-by: Dmitry Mishin Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 79066ad32be5bb2edf16733aec36acf2af03fc99 Author: Herbert Xu Date: Tue Dec 5 13:41:52 2006 -0800 [CRYPTO] dm-crypt: Make iv_gen_private a union Rather than stuffing integers into pointers with casts, let's use a union. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9ebed9d182e03d12d39915b72e4b960046bc4039 Author: David S. Miller Date: Mon Dec 4 20:20:05 2006 -0800 [CRYPTO] lrw: round --> lrw_round Fixes: crypto/lrw.c:99: warning: conflicting types for built-in function ‘round’ Signed-off-by: David S. Miller commit 8df3b0a219967080d9dc4b604b5fecacb6967af0 Author: Herbert Xu Date: Sat Dec 2 14:36:03 2006 +1100 [CRYPTO] cryptoloop: Select CRYPTO_CBC As CBC is the default chaining method for cryptoloop, we should select it from cryptoloop to ease the transition. Signed-off-by: Herbert Xu commit f3d1044cd0a9b427a25b2492f4d503d2dd54cfd7 Author: Rik Snel Date: Wed Nov 29 19:01:41 2006 +1100 [CRYPTO] tcrypt: LRW test vectors Do modprobe tcrypt mode=10 to check the included test vectors, they are from: http://grouper.ieee.org/groups/1619/email/pdf00017.pdf and from http://www.mail-archive.com/stds-p1619@listserv.ieee.org/msg00173.html. To make the last test vector fit, I had to increase the buffer size of input and result to 512 bytes. Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit 64470f1b8510699dc357a44004dc924bc139c917 Author: Rik Snel Date: Sun Nov 26 09:43:10 2006 +1100 [CRYPTO] lrw: Liskov Rivest Wagner, a tweakable narrow block cipher mode Main module, this implements the Liskov Rivest Wagner block cipher mode in the new blockcipher API. The implementation is based on ecb.c. The LRW-32-AES specification I used can be found at: http://grouper.ieee.org/groups/1619/email/pdf00017.pdf It implements the optimization specified as optional in the specification, and in addition it uses optimized multiplication routines from gf128mul.c. Since gf128mul.[ch] is not tested on bigendian, this cipher mode may currently fail badly on bigendian machines. Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit c494e0705d670c51ac736c8c4d92750705fe3187 Author: Rik Snel Date: Wed Nov 29 18:59:44 2006 +1100 [CRYPTO] lib: table driven multiplications in GF(2^128) A lot of cypher modes need multiplications in GF(2^128). LRW, ABL, GCM... I use functions from this library in my LRW implementation and I will also use them in my ABL (Arbitrary Block Length, an unencumbered (correct me if I am wrong, wide block cipher mode). Elements of GF(2^128) must be presented as u128 *, it encourages automatic and proper alignment. The library contains support for two different representations of GF(2^128), see the comment in gf128mul.h. There different levels of optimization (memory/speed tradeoff). The code is based on work by Dr Brian Gladman. Notable changes: - deletion of two optimization modes - change from u32 to u64 for faster handling on 64bit machines - support for 'bbe' representation in addition to the, already implemented, 'lle' representation. - move 'inline void' functions from header to 'static void' in the source file - update to use the linux coding style conventions The original can be found at: http://fp.gladman.plus.com/AES/modes.vc8.19-06-06.zip The copyright (and GPL statement) of the original author is preserved. Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit aec3694b987900de7ab789ea5749d673e0d634c4 Author: Rik Snel Date: Sun Oct 29 11:02:07 2006 +1100 [CRYPTO] lib: some common 128-bit block operations, nicely centralized 128bit is a common blocksize in linux kernel cryptography, so it helps to centralize some common operations. The code, while mostly trivial, is based on a header file mode_hdr.h in http://fp.gladman.plus.com/AES/modes.vc8.19-06-06.zip The original copyright (and GPL statement) of the original author, Dr Brian Gladman, is preserved. Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit cc44215eaaa5e4032946b962353526ae6c370c0e Author: Adrian Bunk Date: Wed Nov 22 17:55:00 2006 +1100 [CRYPTO] api: Remove unused functions This patch removes the following no longer used functions: - api.c: crypto_alg_available() - digest.c: crypto_digest_init() - digest.c: crypto_digest_update() - digest.c: crypto_digest_final() - digest.c: crypto_digest_digest() Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit ab7827059adbbcc3624afbc58880287eabf6d277 Author: Adrian Bunk Date: Fri Nov 17 13:43:55 2006 +1100 [CRYPTO] geode: Make needlessly global geode_aes_crypt() static On Tue, Nov 14, 2006 at 01:41:25AM -0800, Andrew Morton wrote: >... > Changes since 2.6.19-rc5-mm2: >... > git-cryptodev.patch >... > git trees >... This patch makes the needlessly global geode_aes_crypt() static. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit 5b37538a514cf4c8746be9d09e8a9f564e7df939 Author: Adrian Bunk Date: Fri Nov 17 13:43:04 2006 +1100 [CRYPTO] xcbc: Make needlessly global code static On Tue, Nov 14, 2006 at 01:41:25AM -0800, Andrew Morton wrote: >... > Changes since 2.6.19-rc5-mm2: >... > git-cryptodev.patch >... > git trees >... This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit 7cf4c1a5fd13820d7591179c0b925d739b2be9a7 Author: Kazunori MIYAZAWA Date: Sat Oct 28 13:21:22 2006 +1000 [IPSEC]: Add support for AES-XCBC-MAC The glue of xfrm. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: Herbert Xu commit 5b2becf5dc8ebb760b0d1653604831dc0582a121 Author: Kazunori MIYAZAWA Date: Sat Oct 28 13:18:53 2006 +1000 [CRYPTO] tcrypt: Add test vectors of AES_XCBC est vectors of XCBC with AES-128. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: Herbert Xu commit 333b0d7eeacbd47159daf23757aa81368470c409 Author: Kazunori MIYAZAWA Date: Sat Oct 28 13:15:24 2006 +1000 [CRYPTO] xcbc: New algorithm This is core code of XCBC. XCBC is an algorithm that forms a MAC algorithm out of a cipher algorithm. For example, AES-XCBC-MAC is a MAC algorithm based on the AES cipher algorithm. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: Herbert Xu commit 45789328e5aa2de96d4467e4445418364e5378d7 Author: Herbert Xu Date: Sun Sep 3 08:58:41 2006 +1000 [BLOCK] dm-crypt: Align IV to u64 for essiv This patch makes the IV u64-aligned since essiv does a u64 store to it. Signed-off-by: Herbert Xu commit 48527fa7cf7fefb84e9fe03cddd08ddafc9f15f3 Author: Rik Snel Date: Sun Sep 3 08:56:39 2006 +1000 [BLOCK] dm-crypt: benbi IV, big endian narrow block count for LRW-32-AES LRW-32-AES needs a certain IV. This IV should be provided dm-crypt. The block cipher mode could, in principle generate the correct IV from the plain IV, but I think that it is cleaner to supply the right IV directly. The sector -> narrow block calculation uses a shift for performance reasons. This shift is computed in .ctr and stored in cc->iv_gen_private (as a void *). Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit 9fe757b0cfcee0724027a675c533077287a21b96 Author: Jordan Crouse Date: Wed Oct 4 18:48:57 2006 +1000 [PATCH] crypto: Add support for the Geode LX AES hardware Add a driver to support the AES hardware on the Geode LX processor. Signed-off-by: Jordan Crouse Signed-off-by: Herbert Xu commit 94b9bb5480e73cec4552b19fc3f809742b4ebf67 Author: Jamal Hadi Salim Date: Mon Dec 4 20:03:35 2006 -0800 [XFRM] Optimize SA dumping Same comments as in "[XFRM] Optimize policy dumping" The numbers are (20K SAs): commit baf5d743d1b8783fdbd5c1260ada2926e5bbaaee Author: Jamal Hadi Salim Date: Mon Dec 4 20:02:37 2006 -0800 [XFRM] Optimize policy dumping This change optimizes the dumping of Security policies. 1) Before this change .. speedopolis:~# time ./ip xf pol real 0m22.274s user 0m0.000s sys 0m22.269s 2) Turn off sub-policies speedopolis:~# ./ip xf pol real 0m13.496s user 0m0.000s sys 0m13.493s i suppose the above is to be expected 3) With this change .. speedopolis:~# time ./ip x policy real 0m7.901s user 0m0.008s sys 0m7.896s commit 1b6651f1bf2453d593478aa88af267f057fd73e2 Author: Patrick McHardy Date: Mon Dec 4 19:59:00 2006 -0800 [XFRM]: Use output device disable_xfrm for forwarded packets Currently the behaviour of disable_xfrm is inconsistent between locally generated and forwarded packets. For locally generated packets disable_xfrm disables the policy lookup if it is set on the output device, for forwarded traffic however it looks at the input device. This makes it impossible to disable xfrm on all devices but a dummy device and use normal routing to direct traffic to that device. Always use the output device when checking disable_xfrm. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 170b828a31bbeaee3a80a05acefe3596e38f09e0 Author: Ben Collins Date: Mon Dec 4 19:33:47 2006 -0800 [ATM]: Add CPPFLAGS to byteorder.h check O= builds produced errors in the shell command because of unfound headers. Signed-off-by: Ben Collins Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 334c29a64507dda187565dd0db0403de3d70ec8b Author: Jamal Hadi Salim Date: Mon Dec 4 19:31:51 2006 -0800 [GENETLINK]: Move command capabilities to flags. This patch moves command capabilities to command flags. Other than being cleaner, saves several bytes. We increment the nlctrl version so as to signal to user space that to not expect the attributes. We will try to be careful not to do this too often ;-> Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 64a26a731235b59c9d73bbe82c1f896d57400d37 Author: Andi Kleen Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] x86-64: Export smp_call_function_single smp_call_function() is exported, makes sense to export this one too. Signed-off-by: Andi Kleen commit d9408cefe677636bc1c100fdcfac0b2ab9ff87bf Author: Adrian Bunk Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] i386: Clean up smp_tune_scheduling() - remove the write-only local variable "bandwidth" - don't set "max_cache_size" in the (cachesize < 0) case: that's already handled in kernel/sched.c:measure_migration_cost() Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Acked-by: Ingo Molnar Signed-off-by: Andrew Morton commit b65780e123ba9b762276482bbfb52836e4d41fd9 Author: Jan Beulich Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] unwinder: move .eh_frame to RODATA The .eh_frame section contents is never written to, so it can as well benefit from CONFIG_DEBUG_RODATA. Diff-ed against firstfloor tree. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit c65f38d911aa301cea109d38d40925750dd6c2da Author: Jan Beulich Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] unwinder: fully support linker generated .eh_frame_hdr section Now that binutils' ld is able to properly populate .eh_frame_hdr in the Linux kernel case, here's a patch to add some functionality to the Dwarf2 unwinder to actually be able to make use of this (applies on firstfloor tree with the previously sent patch to add debug output, but not on plain 2.6.19). Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 6bedb2ccb02dcc70ffc8eb76df71c746378190ad Author: Oleg Nesterov Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] x86-64: don't use set_irq_regs() We don't need to setup _irq_regs in smp_xxx_interrupt (except apic timer). These handlers run with irqs disabled and do not call functions which need "struct pt_regs". Signed-off-by: Oleg Nesterov Signed-off-by: Andi Kleen Acked-by: Ingo Molnar Cc: Andi Kleen Acked-By: David Howells Signed-off-by: Andrew Morton commit ad892f5e0d01f3c3b475a688d1ddc211cf3ea56d Author: Yinghai Lu Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] x86-64: check vector in setup_ioapic_dest to verify if need setup_IO_APIC_irq setup_IO_APIC_irqs could fail to get vector for some device when you have too many devices, because at that time only boot cpu is online. So check vector for irq in setup_ioapic_dest and call setup_IO_APIC_irq to make sure IO-APIC irq-routing table is initialized. Also seperate setup_IO_APIC_irq from setup_IO_APIC_irqs. Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Eric W. Biederman" Cc: Ingo Molnar Signed-off-by: Andrew Morton commit f6ca8083c261864fc9de94ef99c3311ea259c5c3 Author: Randy Dunlap Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] x86-64: Make ix86 default to HIGHMEM4G instead of NOHIGHMEM Generally better for allmodconfig coverage. Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 116780fc04d9f6cd3ceeab0251681f1dfda53367 Author: Burman Yan Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] i386: replace kmalloc+memset with kzalloc Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit d7fb02712818643bab79a6b3cb8270a747d0227b Author: Adrian Bunk Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] x86-64: remove remaining pc98 code Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit f475ff352c5e05d473c462b97c3a13a5b803af5a Author: David Rientjes Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: remove unused variable Remove unused variable in msr_write(). Reported by D Binderman . Cc: H. Peter Anvin Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 9dc452ba2d47f376987a99c0819833af0b46cc3f Author: Andi Kleen Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Fix constraints in atomic_add_return() Following i386 from Duncan Sands Signed-off-by: Andi Kleen commit e4b522d7ef144fb2ad6a4cb23d9cb5ec154be8bc Author: Duncan Sands Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: fix asm constraints in i386 atomic_add_return Since v->counter is both read and written, it should be an output as well as an input for the asm. The current code only gets away with this because counter is volatile. Also, according to Documents/atomic_ops.txt, atomic_add_return should provide a memory barrier, in particular a compiler barrier, so the asm should be marked as clobbering memory. Test case: #include typedef struct { int counter; } atomic_t; /* NB: no "volatile" */ #define ATOMIC_INIT(i) { (i) } #define atomic_read(v) ((v)->counter) static __inline__ int atomic_add_return(int i, atomic_t *v) { int __i = i; __asm__ __volatile__( "lock; xaddl %0, %1;" :"=r"(i) :"m"(v->counter), "0"(i)); /* __asm__ __volatile__( "lock; xaddl %0, %1" :"+r" (i), "+m" (v->counter) : : "memory"); */ return i + __i; } int main (void) { atomic_t a = ATOMIC_INIT(0); int x; x = atomic_add_return (1, &a); if ((x!=1) || (atomic_read(&a)!=1)) printf("fail: %i, %i\n", x, atomic_read(&a)); } Signed-off-by: Duncan Sands Signed-off-by: Andi Kleen Cc: Andi Kleen Acked-by: David Howells Signed-off-by: Andrew Morton commit d263b213577a1e8f166b0a7212d85175e36d6c19 Author: Vivek Goyal Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Correct documentation for bzImage protocol v2.05 Correct the documentation for bzImage protocol extension due to relocatable bzImage. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: Andi Kleen Acked-by: "H. Peter Anvin" Signed-off-by: Andrew Morton commit 9cfa5b5dfafcfe64c1a48906f243cdd302f82471 Author: Burman Yan Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: replace kmalloc+memset with kzalloc in MTRR code Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit d5d2448d896fbb9a427ee12eb8e5f6309f2473f7 Author: Randy Dunlap Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Fix numaq build error CC arch/i386/boot/compressed/misc.o arch/i386/boot/compressed/misc.c:120: error: static declaration of 'xquad_portio' follows non-static declaration include/asm/io.h:275: error: previous declaration of 'xquad_portio' was here make[2]: *** [arch/i386/boot/compressed/misc.o] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 9ee4016888f1b226d7bb9a10ddb782868f658b31 Author: Adrian Bunk Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: include/asm-x86_64/cpufeature.h isn't a userspace header Nothing in include/asm-x86_64/cpufeature.h is part of the userspace<->kernel interface. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen commit 6d0185ea611276fdf81991d7774d396bdc1ae392 Author: Jan Beulich Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] unwinder: Add debugging output to the Dwarf2 unwinder Add debugging printks to the unwinder to allow easier debugging when something goes wrong with it. This can be controlled with the new unwinder_debug=N option Most output is given by N=1 AK: Added documentation of unwinder_debug= Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 3807fd46e94ab9f09e5ee3bff5e6515a94e9b3c7 Author: Andi Kleen Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Clarify error message in GART code - Remove "Disabling IOMMU" message because it confuses people - Clarify that the GART IOMMU is refered to in other message Signed-off-by: Andi Kleen commit d331e739f5ad2aaa9d8553891ba6ca823bdbce37 Author: Venkatesh Pallipadi Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Fix interrupt race in idle callback (3rd try) Idle callbacks has some races when enter_idle() sets isidle and subsequent interrupts that can happen on that CPU, before CPU goes to idle. Due to this, an IDLE_END can get called before IDLE_START. To avoid these races, disable interrupts before enter_idle and make sure that all idle routines do not enable interrupts before entering idle. Note that poll_idle() still has a this race as it has to enable interrupts before going to idle. But, all other idle routines have the race fixed. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andi Kleen commit a0429d0d7a6116dedcb71d9128da904bf135f189 Author: Andi Kleen Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Remove unwind stack pointer alignment forcing again This was added as a workaround for the fallback unwinder not supporting unaligned stack pointers properly. But now it was fixed to do that, so it's not needed anymore Cc: mingo@elte.hu Signed-off-by: Andi Kleen commit 359ad0d4015a9ab39243f2ebc4eb07915bd618b2 Author: Jan Beulich Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] unwinder: more sanity checks in Dwarf2 unwinder Tighten the requirements on both input to and output from the Dwarf2 unwinder. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit eef5e0d185fc049bda11fa14ba286fbd357da896 Author: Andi Kleen Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] unwinder: Remove lockdep disabling of nested locks for unwinder Shouldn't be needed anymore since __kernel_text_address is used unconditionally on x86-64 Signed-off-by: Andi Kleen commit 446f713ba1afd68568139ae4691335ba273fa7f4 Author: Andi Kleen Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] unwinder: always use unlocked module list access in unwinder fallback We're already well protected against module unloads because module unload uses stop_machine(). The only exception is NMIs, but other users already risk lockless accesses here. This avoids some hackery in lockdep and also a potential deadlock This matches what i386 does. Signed-off-by: Andi Kleen commit e2124bb8d369a4bc1afde1959040e33d71c41d5e Author: Andi Kleen Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] unwinder: Use probe_kernel_address instead of __get_user in kernel/unwind.c This avoids trouble with the page fault handler if the fault happens inside an interrupt context. Suggested by Linus Cc: jbeulich@novell.com Signed-off-by: Andi Kleen commit f3d73707a1e84f0687a05144b70b660441e999c7 Author: Arjan van de Ven Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86-64: Mark rdtsc as sync only for netburst, not for core2 On the Core2 cpus, the rdtsc instruction is not serializing (as defined in the architecture reference since rdtsc exists) and due to the deep speculation of these cores, it's possible that you can observe time go backwards between cores due to this speculation. Since the kernel already deals with this with the SYNC_RDTSC flag, the solution is simple, only assume that the instruction is serializing on family 15... The price one pays for this is a slightly slower gettimeofday (by a dozen or two cycles), but that increase is quite small to pay for a really-going-forward tsc counter. Signed-off-by: Arjan van de Ven Signed-off-by: Andi Kleen commit e496a0da7f8110054d0ad4039245b0f49f9540f5 Author: Muli Ben-Yehuda Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] Calgary: remove unused variables Spotted by d binderman . Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen commit 616779656989cb8c59177e35cb13e87028b1edc8 Author: Andi Kleen Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86-64: Synchronize RDTSC on single core AMD There is no guarantee that two RDTSCs in a row are monotonic, so don't assume it on single core AMD systems. This will make gettimeofday slower again Signed-off-by: Andi Kleen commit a1a70c25bed75ed36ed48bbe18b9029428d2452d Author: Adrian Bunk Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] i386: always enable regparm -mregparm=3 has been enabled by default for some time on i386, and AFAIK there aren't any problems with it left. This patch removes the REGPARM config option and sets -mregparm=3 unconditionally. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen commit 73ad8355d7db6a3cdcf313d4a4586a8f81b19c2f Author: Yinghai Lu Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86-64: remove unused acpi_found_madt in mparse. remove unused acpi_found_madt in mparse.c Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen commit a36df98ab1cdd8a9e7daa4c1b5c48ffa2ad6ea09 Author: Dave Jones Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] i386: touch softlockup during backtracing Sometimes the soft watchdog fires after we're done oopsing. See http://projects.info-pull.com/mokb/MOKB-25-11-2006.html for an example. AK: changed to touch_nmi_watchdog() Signed-off-by: Dave Jones Signed-off-by: Andi Kleen commit d4c45718b3c0d3045eab803cd15fabbed1ea5bcd Author: Rafael J. Wysocki Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86-64: Fix kobject_init() WARN_ON on resume from disk Make mce_remove_device() clean up the kobject in per_cpu(device_mce, cpu) after it has been unregistered. Signed-off-by: Rafael J. Wysocki Signed-off-by: Andi Kleen commit 026c66bdda5f07959da7d74d29b18a7c480242f7 Author: Adrian Bunk Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86-64: remove duplicate ARCH_DISCONTIGMEM_ENABLE option One ARCH_DISCONTIGMEM_ENABLE option is enough. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen commit 8fb6e5f5db860113e71ce7b854382ed40559395b Author: Yinghai Lu Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86_64: interrupt array size should be aligned to NR_VECTORS interrupt array is referred for idt vectors instead of NR_IRQS, so change size to NR_VECTORS - FIRST_EXTERNAL_VECTOR. Also change to static. Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen commit 3df0af0eb064a16bbdbe81b46bc72a4089f88d54 Author: Yinghai Lu Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86_64: clear_bss before set_intr_gate with early_idt_handler idt_table is in the .bss section, so clear_bss need to called at first Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen commit 0741f4d207a644482d7a040f05cd264c98cf7ee8 Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] x86: add sysctl for kstack_depth_to_print Add sysctl for kstack_depth_to_print. This lets users change the amount of raw stack data printed in dump_stack() without having to reboot. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andi Kleen commit c7a3392e9e53e43c44a971de3dd480a8e2788e75 Author: Wink Saville Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] x86-64: Fix comments for MSR_FS_BASE and MSR_GS_BASE. The comments for MSR_FS_BASE & MSR_GS_BASE were transposed. Signed-off-by: Wink Saville Signed-off-by: Andi Kleen commit 86bd58bf4c383fde4e99b83ce917b091a072040d Author: David Rientjes Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] x86-64: Remove unused GET_APIC_VERSION call from clear_local_APIC Remove unused GET_APIC_VERSION call from clear_local_APIC() and __setup_APIC_LVTT(). Reported by D Binderman . Cc: Andi Kleen Cc: Ingo Molnar Signed-off-by: David Rientjes Signed-off-by: Andi Kleen commit 6df0532eef0187c293d3ab1d4c158f92e8f24f8a Author: Dave Jones Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: remove duplicate printk We do the exact same printk about a dozen lines above with no intermediate printk's. Signed-off-by: Dave Jones Signed-off-by: Andi Kleen commit bf7e6a196318316e921f357557fca9d11d15f486 Author: Artiom Myaskouvskey Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: Preserve EFI run time regions with memmap parameter When using memmap kernel parameter in EFI boot we should also add to memory map memory regions of runtime services to enable their mapping later. AK: merged and cleaned up the patch Signed-off-by: Artiom Myaskouvskey Signed-off-by: Andi Kleen commit f990fff427d68af3e4e1d16fe799c106abc0bf53 Author: Karsten Wiese Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] x86: Regard MSRs in lapic_suspend()/lapic_resume() Read/Write APIC_LVTPC and APIC_LVTTHMR only, if get_maxlvt() returns certain values. This is done like everywhere else in i386/kernel/apic.c, so I guess its correct. Suspends/Resumes to disk fine and eleminates an smp_error_interrupt() here on a K8. AK: ported to x86-64 too Signed-off-by: Karsten Wiese Signed-off-by: Andi Kleen commit 9a8cb626a08f2c8251291f3c0a049b29665895d2 Author: Andi Kleen Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: Avoid boot warning with apic=debug There are two consumers of apic=: the apic debug level and the low level generic architecture code. early_param would warn when the low level code rejected "debug". Avoid this. Signed-off-by: Andi Kleen commit 538f188e03c821c93b355c9fc346806cdd34e286 Author: Stephane Eranian Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: i386 add Intel BTS cpufeature bit and detection (take 2) Here is a small patch for i386 which adds a cpufeature flag and detection code for Intel's Branch Trace Store (BTS) feature. This feature can be found on Intel P4 and Core 2 processors among others. It can also be used by perfmon. changelog: - add CPU_FEATURE_BTS - add Branch Trace Store detection signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit ee58fad51a2a767cb2567706ace967705233d881 Author: Stephane Eranian Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] x86-64: x86-64 add Intel BTS cpufeature bit and detection (take 2) Here is a small patch for x86-64 which adds a cpufeature flag and detection code for Intel's Branch Trace Store (BTS) feature. This feature can be found on Intel P4 and Core 2 processors among others. It can also be used by perfmon. changelog: - add CPU_FEATURE_BTS - add Branch Trace Store detection signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit 7e95b593a1aeb6fe1d3904e799d23a45261f2c19 Author: Adrian Bunk Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: Make irq_vector static irq_vector[] can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Acked-by: Eric W. Biederman Acked-by: Ingo Molnar Signed-off-by: Andrew Morton commit 956fb53197f82257974f1f9835485aeeef4510b3 Author: Adrian Bunk Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: handle a negative return value The Coverity checker noted that bad things might happen if find_isa_irq_apic() returned -1. [akpm@osdl.org: add debugging checks] Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Cc: Andi Kleen Acked-by: Ingo Molnar Signed-off-by: Andrew Morton commit e1cccf48b182dd743c3c83a4fdf8dc570a43b393 Author: Artiom Myaskouvskey Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: call efi_get_time during suspend Function efi_get_time called not only during init kernel phase but also during suspend (from get_cmos_time). When it is called from get_cmos_time the corresponding runtime service should be called in virtual and not in physical mode. Signed-off-by: Artiom Myaskouvskey Signed-off-by: Andi Kleen Cc: "Narayanan, Chandramouli" Cc: "Jiossy, Rami" Cc: "Satt, Shai" Cc: Andi Kleen Cc: Matt Domsch Signed-off-by: Andrew Morton commit b0d0a4ba45760b10ecee9035ed45b442c1a6cc84 Author: Siddha, Suresh B Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] x86: fix the irqbalance quirk for E7320/E7520/E7525 Move the irqbalance quirks for E7320/E7520/E7525(Errata 23 in http://download.intel.com/design/chipsets/specupdt/30304203.pdf) to early quirks. And add a PCI quirk for these platforms to check(which happens very late during the boot) if the APIC routing is indeed set to default flat mode. This fixes the breakage(in x86_64) of this quirk due to cpu hotplug which selects physical mode instead of the logical flat(as needed for this errata workaround). Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton commit 9899f826fc90beba4f78083f6230e06cbe1050c9 Author: Siddha, Suresh B Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] x86-64: add genapic_force Add genapic_force. Used by the next Intel quirks patch. Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton commit 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc Author: Siddha, Suresh B Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] i386: change the 'no_control' field to 'hotpluggable' in the struct cpu Change the 'no_control' field in the cpu struct to a more positive and better term 'hotpluggable'. And change(/cleanup) the logic accordingly. Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton commit fd6d7d26897dec834d0b9fbdc59819b0332a1257 Author: Siddha, Suresh B Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] i386: introduce the mechanism of disabling cpu hotplug control Add 'enable_cpu_hotplug' flag and when cleared, the hotplug control file ("online") will not be added under /sys/devices/system/cpu/cpuX/ Next patch doing PCI quirks will use this. Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton commit 274e1bbdeeaf16e71418f11f5f305ab26061f2c2 Author: Siddha, Suresh B Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] x86: add write_pci_config_byte() to direct PCI access routines Mechanism of selecting physical mode in genapic when cpu hotplug is enabled on x86_64, broke the quirk(quirk_intel_irqbalance()) introduced for working around the transposing interrupt message errata in E7520/E7320/E7525 (revision ID 0x9 and below. errata #23 in http://download.intel.com/design/chipsets/specupdt/30304203.pdf). This errata requires the mode to be in logical flat, so that interrupts can be directed to more than one cpu(and thus use hardware IRQ balancing enabled by BIOS on these platforms). Following four patches fixes this by moving the quirk to early quirk and forcing the x86_64 genapic selection to logical flat on these platforms. Thanks to Shaohua for pointing out the breakage. This patch: Add write_pci_config_byte() to direct PCI access routines Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton commit 79929fd1c1887d2a057cbb80d487a2e2f1c01a02 Author: Vivek Goyal Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] i386: Convert more absolute symbols to section relative o Convert more absolute symbols to section relative to keep the theme in vmlinux.lds.S file and to avoid problem if kernel is relocated. o Also put a message so that in future people can be aware of it and avoid introducing absolute symbols. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 2c22d8baa98a92022acb85b0b7c6f4a60df55f47 Author: Vivek Goyal Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] relocatable kernel: Fix kallsyms on avr32 after relocatable kernel changes o On some platforms like avr32, section init comes before .text and not necessarily a symbol's relative position w.r.t _text is positive. In such cases assembler detects the overflow and emits warning. This patch fixes it. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton commit ba10650a880c2df23bd1db6c0570ddb66f389641 Author: Adrian Bunk Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] i386: alloc_gdt() static Make the needlessly global alloc_gdt() static. (against) pda-percpu-init Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit 365bff806e9faba000fb4956c7486fbf3a746d96 Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] i386: fix MTRR code Until not so long ago, there were system log messages pointing to inconsistent MTRR setup of the video frame buffer caused by the way vesafb and X worked. While vesafb was fixed meanwhile, I believe fixing it there only hides a shortcoming in the MTRR code itself, in that that code is not symmetric with respect to the ordering of attempts to set up two (or more) regions where one contains the other. In the current shape, it permits only setting up sub-regions of pre-exisiting ones. The patch below makes this symmetric. While working on that I noticed a few more inconsistencies in that code, namely - use of 'unsigned int' for sizes in many, but not all places (the patch is converting this to use 'unsigned long' everywhere, which specifically might be necessary for x86-64 once a processor supporting more than 44 physical address bits would become available) - the code to correct inconsistent settings during secondary processor startup tried (if necessary) to correct, among other things, the value in IA32_MTRR_DEF_TYPE, however the newly computed value would never get used (i.e. stored in the respective MSR) - the generic range validation code checked that the end of the to-be-added range would be above 1MB; the value checked should have been the start of the range - when contained regions are detected, previously this was allowed only when the old region was uncacheable; this can be symmetric (i.e. the new region can also be uncacheable) and even further as per Intel's documentation write-trough and write-back for either region is also compatible with the respective opposite in the other Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit eab724e5df17af0ed0dac03da8f75aa336c31206 Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] x86-64: adjust pmd_bad() Make pmd_bad() symmetrical to pgd_bad() and pud_bad(). At once, simplify them all. TBD: tighten down the checks again as suggested by Hugh D. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 475850c86b908ae026d5a4be02a1b1e9c408c75a Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] i386: conditionalize inclusion of some MTRR flavors Avoid inclusion of code that's dead for x86-64. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 4a1c42275078f48b90428cdb062f5220d79ec9da Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] x86-64: remove prototype of free_bootmem_generic() The function doesn't exist (anymore). Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit c6ea396de6836bdeb2d2433368130642bf0f6e15 Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] i386: Don't touch per cpu memory of offline CPUs in touch_nmi_watchdog Just like on x86-64, don't touch foreign CPUs' memory if the watchdog isn't enabled at all. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit b0bfece40b1988aa8e3d910938691dce7859d82d Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] i386: clear_fixmap() should not use set_pte() While not strictly required with the current code (as the upper half of page table entries generated by __set_fixmap() cannot be non-zero due to the second parameter of this function being 'unsigned long'), the use of set_pte() in __set_fixmap() in the context of clear_fixmap() is still improper with CONFIG_X86_PAE (see the respective comment in include/asm-i386/pgtable-3level.h) and would turn into a bug if that second parameter ever gets changed to a 64-bit type. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 9a457324229db34d3bcb0b67360130c287289401 Author: Andi Kleen Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] x86-64: Rate limit no irq handler messages Signed-off-by: Andi Kleen commit 103efcd9aac1de4da6a1477f2f3b9fcf35273a18 Author: Ernie Petrides Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] x86-64: fix perms/range of vsyscall vma in /proc/*/maps The final line of /proc//maps on x86_64 for native 64-bit tasks shows an incorrect ending address and incorrect permissions. There is only a single page mapped in this vsyscall region, and it is accessible for both read and execute. The patch below fixes this. (Since 32-bit-compat tasks have a real vma with correct perms/range, no change is necessary for that scenario.) Before the patch, a "cat /proc/self/maps | tail -1" shows this: ffffffffff600000-ffffffffffe00000 ---p 00000000 [...] After the patch, this is the output: ffffffffff600000-ffffffffff601000 r-xp 00000000 [...] Signed-off-by: Ernie Petrides Signed-off-by: Andi Kleen commit c55d92d141b9c40c67db249de91f5c224eb49859 Author: Andi Kleen Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] i386: Add support for compilation for Core2 gcc doesn't support -mtune=core2 yet, but will be soon. Use -mtune=generic or -mtune=i686 as fallback TBD need benchmarking for INTEL_USERCOPY etc. So far I used the same defaults as MPENTIUMM Signed-off-by: Andi Kleen commit 713819989aa4dd141a37074dbc369e7c620bc619 Author: Andi Kleen Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] x86-64: Add option to compile for Core2 Add an option to compile for Intel's Core 2 The Kconfig help is a mouthful due to the inventiveness of Intel's product naming department. Mainly for the 64bit cache line sizes because gcc doesn't support optimizing for core2 yet. However it will and then the kernel should be ready by passing the right option Also fix the old MPSC help text to confirm better to reality. Signed-off-by: Andi Kleen commit 8542b200cbe5609edd7aae0c304c091a1c290452 Author: Zachary Amsden Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] paravirt: Add option to allow skipping the timer check Add a way to disable the timer IRQ routing check via a boot option. The VMI timer code uses this to avoid triggering the pester Mingo code, which probes for some very unusual and broken motherboard routings. It fires 100% of the time when using a paravirtual delay mechanism instead of using a realtime delay, since there is no elapsed real time, and the 4 timer IRQs have not yet been delivered. In addition, it is entirely possible, though improbable, that this bug could surface on real hardware which picks a particularly bad time to enter SMM mode, causing a long latency during one of the timer IRQs. While here, make check_timer be __init. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen [chrisw: use no_timer_check to bring inline with x86_64 as per Andi's request] Signed-off-by: Chris Wright Cc: Andi Kleen Signed-off-by: Andrew Morton commit 8ecb8950695e907ed25acffec9e98c6806e311c8 Author: Zachary Amsden Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] paravirt: fix missing pte update The function ptep_get_and_clear uses an atomic instruction sequence to get and clear an active pte. Rather than add such an atomic operator to all virtual machine implementations in paravirt-ops, it is easier to support the raw atomic sequence and use either a trapping writable pagetable approach, or a post-update notification. For the post update notification, we require the pte_update function to be called after the access. Combine the 2-level and 3-level paging operators into one common function which does the post-update notification, and rename the actual atomic sequences to raw_ptep_xxx operators. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Chris Wright Signed-off-by: Andrew Morton commit dfbea0ad50e08c52539bddce977b07f77a762ba4 Author: Zachary Amsden Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: fix parameter names in mmu operations Make parameter names match function argument names for the yet to be defined pte_update_defer accessor. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Chris Wright Signed-off-by: Andrew Morton commit a2952d8949bb0b37c1be92a89c4f180c74292857 Author: Zachary Amsden Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Preparatory mmu header movement Move header includes for the nopud / nopmd types to the location of the actual pte / pgd type definitions. This allows generic 4-level page type code to be written before the split 2/3 level page table headers are included. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Chris Wright Signed-off-by: Andrew Morton commit bd472c794bbf6771c3fc1c58f188bc16c393d2fe Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Be careful about touching BIOS address space BIOS ROM areas may not be mapped into the guest address space, so be careful when touching those addresses to make sure they appear to be mapped. [akpm@osdl.org: fix unused var warning] AK: Changed __get_user to probe_kernel_address Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton commit da181a8b3916aa7f2e3c5775d2bd2fe3454cf82d Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Add MMU virtualization to paravirt_ops Add the three bare TLB accessor functions to paravirt-ops. Most amusingly, flush_tlb is redefined on SMP, so I can't call the paravirt op flush_tlb. Instead, I chose to indicate the actual flush type, kernel (global) vs. user (non-global). Global in this sense means using the global bit in the page table entry, which makes TLB entries persistent across CR3 reloads, not global as in the SMP sense of invoking remote shootdowns, so the term is confusingly overloaded. AK: folded in fix from Zach for PAE compilation Signed-off-by: Zachary Amsden Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit 13623d79309dd82e1964458fa017979d16f33fa8 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Add APIC accessors to paravirt-ops. Add APIC accessors to paravirt-ops. Unfortunately, we need two write functions, as some older broken hardware requires workarounds for Pentium APIC errata - this is the purpose of apic_write_atomic. AK: replaced __inline with inline Signed-off-by: Zachary Amsden Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit 6020c8f315709a508b027ef6749e85b125190947 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Allow disable power management under hypervisor Two legacy power management modes are much easier to just explicitly disable when running in paravirtualized mode - neither APM nor PnP is still relevant. The status of ACPI is still debatable, and noacpi is still a common enough boot parameter that it is not necessary to explicitly disable ACPI. Signed-off-by: Zachary Amsden Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit 3bbf54725467d604698721384d858b5983b87e8f Author: Andi Kleen Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Disable vdso by default when CONFIG_PARAVIRT is enabled They don't work together and this way even glibc still works. Signed-off-by: Andi Kleen commit 4f205fd45a5c192907188d6f8f6d7e66db859248 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Allow selected bug checks to be Allow selected bug checks to be skipped by paravirt kernels. The two most important are the F00F workaround (which is either done by the hypervisor, or not required), and the 'hlt' instruction check, which can break under some hypervisors. Signed-off-by: Zachary Amsden Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit c9ccf30d77f04064fe5436027ab9d2230c7cdd94 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Add startup infrastructure for paravirtualization 1) Each hypervisor writes a probe function to detect whether we are running under that hypervisor. paravirt_probe() registers this function. 2) If vmlinux is booted with ring != 0, we call all the probe functions (with registers except %esp intact) in link order: the winner will not return. Signed-off-by: Rusty Russell Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Zachary Amsden Signed-off-by: Andrew Morton commit d7cd56111f30259e1b532a12e06f59f8e0a20355 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] i386: cpu_detect extraction Both lhype and Xen want to call the core of the x86 cpu detect code before calling start_kernel. (extracted from larger patch) AK: folded in start_kernel header patch Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton commit 139ec7c416248b9ea227d21839235344edfee1e0 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Patch inline replacements for paravirt intercepts It turns out that the most called ops, by several orders of magnitude, are the interrupt manipulation ops. These are obvious candidates for patching, so mark them up and create infrastructure for it. The method used is that the ops structure has a patch function, which is called for each place which needs to be patched: this returns a number of instructions (the rest are NOP-padded). Usually we can spare a register (%eax) for the binary patched code to use, but in a couple of critical places in entry.S we can't: we make the clobbers explicit at the call site, and manually clobber the allowed registers in debug mode as an extra check. And: Don't abuse CONFIG_DEBUG_KERNEL, add CONFIG_DEBUG_PARAVIRT. And: AK: Fix warnings in x86-64 alternative.c build And: AK: Fix compilation with defconfig And: ^From: Andrew Morton Some binutlises still like to emit references to __stop_parainstructions and __start_parainstructions. And: AK: Fix warnings about unused variables when PARAVIRT is disabled. Signed-off-by: Rusty Russell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton commit d3561b7fa0fb0fc583bab0eeda32bec9e4c4056d Author: Rusty Russell Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] paravirt: header and stubs for paravirtualisation Create a paravirt.h header for all the critical operations which need to be replaced with hypervisor calls, and include that instead of defining native operations, when CONFIG_PARAVIRT. This patch does the dumbest possible replacement of paravirtualized instructions: calls through a "paravirt_ops" structure. Currently these are function implementations of native hardware: hypervisors will override the ops structure with their own variants. All the pv-ops functions are declared "fastcall" so that a specific register-based ABI is used, to make inlining assember easier. And: +From: Andy Whitcroft The paravirt ops introduce a 'weak' attribute onto memory_setup(). Code ordering leads to the following warnings on x86: arch/i386/kernel/setup.c:651: warning: weak declaration of `memory_setup' after first use results in unspecified behavior Move memory_setup() to avoid this. Signed-off-by: Rusty Russell Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Andy Whitcroft commit db91b882aabd0b3b55a87cbfb344f2798bb740b4 Author: Nicolas Kaiser Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] i386: Fix double #includes in arch/i386 Fix double #includes in arch/i386 Signed-off-by: Nicolas Kaiser Signed-off-by: Andi Kleen commit 3529833f1ca8790df06ce218b5d9d438776696ed Author: David Rientjes Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] i386: substitute __va lookup with pfn_to_kaddr Substitutes allocate_pgdat virtual address lookup with pfn_to_kaddr macro. Signed-off-by: David Rientjes Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit b6bcc4bb1cdfbc3c8612aad63a8703ac3d59f61a Author: Andi Kleen Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] x86-64: Don't force inlining of do_csum It's two big and used by two callers. Calls should be cheap enough anyways. Signed-off-by: Andi Kleen commit 8c89812684de3b47066d800031dfd7098abbdc74 Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] i386: remove IOPL check on task switch IOPL is implicitly saved and restored on task switch, so explicit check is no longer needed. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andi Kleen commit 516d2836434d279fef164bb1b964e83425d312d2 Author: Andi Kleen Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] x86-64: Fix race in IO-APIC routing entry setup. Interrupt could happen between setting the IO-APIC entry and setting its interrupt data. Pointed out by Linus. Signed-off-by: Andi Kleen commit d15512f442ef1ea60f6195b0444fb27b3cf8d0e6 Author: Andi Kleen Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] i386: Fix race in IO-APIC routing entry setup. Interrupt could happen between setting the IO-APIC entry and setting its interrupt data. Pointed out by Linus. Signed-off-by: Andi Kleen commit e6536c1262c56d302e749ab1b44fdb0b9786327d Author: Paolo 'Blaisorblade' Giarrusso Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] x86: comment magic constants in delay.h For both i386 and x86_64, copy from arch/$ARCH/lib/delay.c comments about the used magic constants, plus a few other niceties. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andi Kleen include/asm-i386/delay.h | 5 ++++- include/asm-x86_64/delay.h | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) commit b9a8d94a47f8a41766f6f7944adfb1d641349903 Author: Paolo 'Blaisorblade' Giarrusso Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] x86-64: Make x86_64 udelay() round up instead of down. Port two patches from i386 to x86_64 delay.c to make sure all rounding is done upward instead of downward. There is no sign in commit messages that the mismatch was done on purpose, and "delay() guarantees sleeping at least for the specified time" is still a valid rule IMHO. The original x86 patches are both from pre-GIT era, i.e.: "[PATCH] round up in __udelay()" in commit 54c7e1f5cc6771ff644d7bc21a2b829308bd126f "[PATCH] add 1 in __const_udelay()" in commit 42c77a9801b8877d8b90f65f75db758822a0bccc (both commits are from converted BK repository to x86_64). AK: fixed gcc warning linux/arch/x86_64/lib/delay.c:43: warning: suggest parentheses around + or - inside shift (did this actually work?) Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andi Kleen commit bff6547bb6a4e82c399d74e7fba78b12d2f162ed Author: Muli Ben-Yehuda Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] Calgary: allow compiling Calgary in but not using it by default This patch makes it possible to compile Calgary in but not use it by default. In this mode, use 'iommu=calgary' to activate it. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Jon Mason Signed-off-by: Andi Kleen commit eae93755540bae18aff46b8a0e621b5d65bd5380 Author: Muli Ben-Yehuda Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] Calgary: check BBAR ioremap success when ioremapping This patch cleans up the previous "Use BIOS supplied BBAR information" patch. Mostly stylistic clenaups, but also check for ioremap failure when we ioremap the BBAR rather than when trying to use it. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Jon Mason Signed-off-by: Andi Kleen Acked-by: Laurent Vivier commit b34e90b8f0f30151349134f87b5dc6ef75a5218c Author: Laurent Vivier Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] Calgary: use BIOS supplied BBARs and topology information Find the BBAR register address of each Calgary using the "Extended BIOS Data Area" rather than calculating it ourselves. Also get the bus topology (what PHB each bus is on) from Calgary rather than calculating it ourselves. This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=7407. Signed-off-by: Laurent Vivier Signed-off-by: Muli Ben-Yehuda Signed-off-by: Jon Mason Signed-off-by: Andi Kleen commit 58db85482743f5e3495d168c641c60ce1d3dfb06 Author: Muli Ben-Yehuda Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] calgary: phb_shift can be int Signed-off-by: Muli Ben-Yehuda Signed-off-by: Jon Mason Signed-off-by: Andi Kleen commit cef518e88b8ed94ea483c436ef5e5b151a3fabc6 Author: bibo,mao Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: Move memory map printing and other code to e820.c This patch moves e820 memory map print and memmap boot param parsing function from setup.c to e820.c, also adds limit_regions and print_memory_map declaration in header file. Signed-off-by: bibo,mao Signed-off-by: Andi Kleen arch/i386/kernel/e820.c | 152 +++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 158 --------------------------------- include/asm-i386/e820.h | 2 arch/i386/kernel/e820.c | 152 ++++++++++++++++++++++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 153 ----------------------------------------------- include/asm-i386/e820.h | 2 3 files changed, 155 insertions(+), 152 deletions(-) commit b5b2405706005cc7765f6ecd00965d29e93f090a Author: bibo,mao Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: Move e820/efi memmap walking code to e820.c This patch moves e820/efi memmap table walking function from setup.c to e820.c, also this patch adds extern declaration in header file. Signed-off-by: bibo,mao Signed-off-by: Andi Kleen arch/i386/kernel/e820.c | 115 +++++++++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 118 ----------------------------------- include/asm-i386/e820.h | 2 arch/i386/kernel/e820.c | 115 +++++++++++++++++++++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 118 ----------------------------------------------- include/asm-i386/e820.h | 2 3 files changed, 117 insertions(+), 118 deletions(-) commit b2dff6a88cbed59d787a8ca7367c76ba385e1187 Author: bibo,mao Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: Move find_max_pfn function to e820.c Move more code from setup.c into e820.c Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 8e3342f736dd1c19ce7c28625dedd7d8730fc7ad Author: bibo,mao Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: create e820.c for e820 map sanitize and copy function This patch moves bios e820 map sanitize and copy function from setup.c to e820.c Signed-off-by: bibo,mao Signed-off-by: Andi Kleen arch/i386/kernel/e820.c | 252 +++++++++++++++++++++++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 240 -------------------------------------------- 2 files changed, 252 insertions(+), 240 deletions(-) commit 269c2d81ed66af7c09a1619ffe165f03e7470a5b Author: bibo,mao Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: i386 create e820.c to handle standard io/mem resources This patch creates new file named e820.c to hanle standard io/mem resources, moving request_standard_resources function from setup.c to e820.c. Also this patch modifies Makfile to compile file e820.c. Signed-off-by: bibo,mao Signed-off-by: Andi Kleen Makefile | 2 arch/i386/kernel/Makefile | 2 arch/i386/kernel/e820.c | 289 ++++++++++++++++++++++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 276 ------------------------------------------- 3 files changed, 293 insertions(+), 274 deletions(-) commit 8e3de538eec95b57a5b86038988451c38ba83f7e Author: Albert Cahalan Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] x86-64: Support -mregparm arguments for signals with SA_SIGINFO in compat mode The recent change to make x86_64 support i386 binaries compiled with -mregparm=3 only covered signal handlers without SA_SIGINFO. (the 3-arg "real-time" ones) To be compatible with i386, both types should be supported. Signed-off-by: Albert Cahalan Signed-off-by: Andi Kleen commit b026872601976f666bae77b609dc490d1834bf77 Author: Andi Kleen Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] x86-64: Try multiple timer variants in check_timer Instead of adding all kinds of more quirks try various timer routing variants in check_timer. In particular this tries to handle quirks from: - Nvidia NF2-4 reference BIOS: wrong timer override - Asus: Wrong timer override but no HPET table - ATI: require timer disabled in 8259 - Some boards: require timer enabled in 8259 We just try many of the the known variants in the hopefully right order in check_timer. Trying pin 0/2 on Nvidia suggested by Tim Hockin. TBD Experimental. Needs a lot of testing Signed-off-by: Andi Kleen commit 11a4180c0b03e2ee0c948fd8430ee092dc1625b3 Author: Andi Kleen Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: Use probe_kernel_address instead of __get_user in fault paths Makes the intention of the code cleaner to read and avoids a potential deadlock on mmap_sem. Also change the types of the arguments to not include __user because they're really not user addresses. Signed-off-by: Andi Kleen commit ab2bf0c1c689905b628dca94d0acd9c50e152468 Author: Andi Kleen Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] x86-64: Use probe_kernel_address in arch/x86_64/* Instead of open coded __get_user Signed-off-by: Andi Kleen commit 2fff0a48416af891dce38fd425246e337831e0bb Author: Andi Kleen Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] Generic: Move __user cast into probe_kernel_address Caller of probe_kernel_address shouldn't need to know that pka is internally implemented with __get_user. So move the __user cast into pka. Signed-off-by: Andi Kleen commit 5df0287ecc4f53e68bbd188fa8258b555e6b734f Author: Yinghai Lu Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] x86-64: Extend clear_irq_vector Clear the irq releated entries in irq_vector, irq_domain and vector_irq instead of clearing irq_vector only. So when new irq is created, it could reuse that vector. (actually is the second loop scanning from FIRST_DEVICE_VECTOR+8). This could avoid the vectors are used up with enough module inserting and removing Cc: Eric W. Biedierman Cc: Muli Ben-Yehuda Signed-off-By: Yinghai Lu Signed-off-by: Andi Kleen commit 3760dd6efa75c98e223643da2eb7040406433053 Author: Andi Kleen Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] i386: Use CLFLUSH instead of WBINVD in change_page_attr CLFLUSH is a lot faster than WBINVD so try to use that. Signed-off-by: Andi Kleen commit 770d132f03ac15b12919f1bac481f4beda13e094 Author: Andi Kleen Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] i386: Retrieve CLFLUSH size from CPUID Also report it in /proc/cpuinfo similar to x86-64. Needed for followon patch Signed-off-by: Andi Kleen commit ea7322decb974a4a3e804f96a0201e893ff88ce3 Author: Andi Kleen Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] x86-64: Speed and clean up cache flushing in change_page_attr CLFLUSH is a lot faster than WBINVD so avoid the later if at all possible. Always pass the complete list of pages to other CPUs to cut down the number of IPIs. Minor other cleanup and sync with i386 version. Signed-off-by: Andi Kleen commit 74b47a7844501445d41d704fe7c626f4b1819508 Author: Joe Korty Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: Fix entry.S code with !CONFIG_VM86 The entry.S code at work_notifysig is surely wrong. It drops into unrelated code if the branch to work_notifysig_v86 is taken, and CONFIG_VM86=n. [PATCH] Make vm86 support optional tree 9b5daef5280800a0006343a17f63072658d91a1d pushed to git Jan 8, 2006, and first appears in 2.6.16 The 'fix' here is to also compile out the vm86 test & branch when CONFIG_VM86=n. Signed-off-by: Joe Korty Signed-off-by: Andi Kleen commit 249e83fe839a13b5dc94285daeeaf70f6e54d930 Author: Avi Kivity Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] x86-64: Extract segment descriptor definitions for use outside Code that wants to use struct desc_struct cannot do so on i386 because desc.h contains other code that will only compile on x86_64. So extract the structure definitions into a asm-x86_64/desc_defs.h. Signed-off-by: Avi Kivity Signed-off-by: Andi Kleen include/asm-x86_64/desc.h | 53 ------------------------------- include/asm-x86_64/desc_defs.h | 69 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 52 deletions(-) commit 4c7aa6c3b25ef96bc1b723238041195e3d8bf047 Author: Vivek Goyal Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: Mark CONFIG_RELOCATABLE EXPERIMENTAL Signed-off-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit be274eeaf20b4c7155242645d5e2c48b023e609b Author: Vivek Goyal Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: extend bzImage protocol for relocatable protected mode kernel Extend bzImage protocol to enable bootloaders to load a completely relocatable bzImage. Now protected mode component of kernel is also relocatable and a boot-loader can load the protected mode component at a differnt physical address than 1MB. (If kernel was built with CONFIG_RELOCATABLE) Kexec can make use of it to load this kernel at a different physical address to capture kernel crash dumps. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit e69f202d0a1419219198566e1c22218a5c71a9a6 Author: Vivek Goyal Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: Implement CONFIG_PHYSICAL_ALIGN o Now CONFIG_PHYSICAL_START is being replaced with CONFIG_PHYSICAL_ALIGN. Hardcoding the kernel physical start value creates a problem in relocatable kernel context due to boot loader limitations. For ex, if somebody compiles a relocatable kernel to be run from address 4MB, but this kernel will run from location 1MB as grub loads the kernel at physical address 1MB. Kernel thinks that I am a relocatable kernel and I should run from the address I have been loaded at. So somebody wanting to run kernel from 4MB alignment location (for improved performance regions) can't do that. o Hence, Eric proposed that probably CONFIG_PHYSICAL_ALIGN will make more sense in relocatable kernel context. At run time kernel will move itself to a physical addr location which meets user specified alignment restrictions. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 6a044b3a0a1829ef19bb29548ffe553f48e8d80c Author: Vivek Goyal Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: Warn upon absolute relocations being present o Relocations generated w.r.t absolute symbols are not processed as by definition, absolute symbols are not to be relocated. Explicitly warn user about absolutions relocations present at compile time. o These relocations get introduced either due to linker optimizations or some programming oversights. o Also create a list of symbols which have been audited to be safe and don't emit warnings for these. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 968de4f02621db35b8ae5239c8cfc6664fb872d8 Author: Eric W. Biederman Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: Relocatable kernel support This patch modifies the i386 kernel so that if CONFIG_RELOCATABLE is selected it will be able to be loaded at any 4K aligned address below 1G. The technique used is to compile the decompressor with -fPIC and modify it so the decompressor is fully relocatable. For the main kernel relocations are generated. Resulting in a kernel that is relocatable with no runtime overhead and no need to modify the source code. A reserved 32bit word in the parameters has been assigned to serve as a stack so we figure out where are running. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit fd593d12770d4a0d1ff095d44b96436c18479ee8 Author: Eric W. Biederman Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] relocatable kernel: Kallsyms generate relocatable symbols Print the addresses of non-absolute symbols relative to _text so that ld will generate relocations. Allowing a relocatable kernel to relocate them. We can't actually use the symbol names because kallsyms includes static symbols that are not exported from their object files. Add the _text symbol definitions to the architectures which don't define it otherwise linker will fail. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 2a43f3ede48ea3d5790b863b719a1e21c90a3697 Author: Eric W. Biederman Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: CONFIG_PHYSICAL_START cleanup Defining __PHYSICAL_START and __KERNEL_START in asm-i386/page.h works but it triggers a full kernel rebuild for the silliest of reasons. This modifies the users to directly use CONFIG_PHYSICAL_START and linux/config.h which prevents the full rebuild problem, which makes the code much more maintainer and hopefully user friendly. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 8621b81c744ff8880a1efe095a4dcd09763ddb5a Author: Eric W. Biederman Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Reserve kernel memory starting from _text Currently when we are reserving the memory the kernel text resides in we start at __PHYSICAL_START which happens to be correct but not very obvious. In addition when we start relocating the kernel __PHYSICAL_START is the wrong value, as it is an absolute symbol that does not get relocated. By starting the reservation at __pa_symbol(_text) the code is clearer and will be correct when relocated. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 9f45accf17efc050ba26bf77cc4f166c950b284e Author: Eric W. Biederman Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: define __pa_symbol() On x86_64 we have to be careful with calculating the physical address of kernel symbols. Both because of compiler odditities and because the symbols live in a different range of the virtual address space. Having a defintition of __pa_symbol that works on both x86_64 and i386 simplifies writing code that works for both x86_64 and i386 that has these kinds of dependencies. So this patch adds the trivial i386 __pa_symbol definition. Added assembly magic similar to RELOC_HIDE as suggested by Andi Kleen. Just picked it up from x86_64. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 6ed018845f1172cdc94f8a20ad807df901c6b7eb Author: Vivek Goyal Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Add comment for align to vmlinux.lds Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 6569580de7ae367def89b7671029cb97c1965574 Author: Vivek Goyal Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Distinguish absolute symbols Ld knows about 2 kinds of symbols, absolute and section relative. Section relative symbols symbols change value when a section is moved and absolute symbols do not. Currently in the linker script we have several labels marking the beginning and ending of sections that are outside of sections, making them absolute symbols. Having a mixture of absolute and section relative symbols refereing to the same data is currently harmless but it is confusing. This must be done carefully as newer revs of ld do not place symbols that appear in sections without data and instead ld makes those symbols global :( My ultimate goal is to build a relocatable kernel. The safest and least intrusive technique is to generate relocation entries so the kernel can be relocated at load time. The only penalty would be an increase in the size of the kernel binary. The problem is that if absolute and relocatable symbols are not properly specified absolute symbols will be relocated or section relative symbols won't be, which is fatal. The practical motivation is that when generating kernels that will run from a reserved area for analyzing what caused a kernel panic, it is simpler if you don't need to hard code the physical memory location they will run at, especially for the distributions. [AK: and merged:] o Also put a message so that in future people can be aware of it and avoid introducing absolute symbols. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 67fd44fea274a5033ceb90284683bc44df61df54 Author: Andi Kleen Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] x86-64: Implement compat code for SIOCSIFHWBROADCAST This network ioctl wasn't handled before. Reported by Alexandra.Kossovsky@oktetlabs.ru (Alexandra Kossovsky) Signed-off-by: Andi Kleen commit 9c5f8be4625e73f17e28fea89399ed871a30e064 Author: Andi Kleen Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] x86: Mention PCI instead of RAM in NMI parity error message On modern systems RAM errors don't cause NMIs, but it's usually caused by PCI SERR. Mention PCI instead of RAM in the printk. Reported by r_hayashi@ctc-g.co.jp (Ryutaro Hayashi) Cc: r_hayashi@ctc-g.co.jp Signed-off-by: Andi Kleen commit 7cd8b6861eb586aabe4c725cc0c259ce2e653695 Author: Alan Cox Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] x86: remove last two pci_find offenders in the core code Resending as I believe the discussion about them established they were correct. Signed-off-by: Alan Cox Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 72690a21188586022a9e65cb6f1cc8845167555a Author: Andi Kleen Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] x86: Don't use nested idle loops Currently the idle loop has two nested loops -- one high level in cpu_idle and in some low level idle functions another one. Looping in the low level idle functions breaks the idle notifiers because interrupts waking up sleep states need to execute exit_idle() which is only in cpu_idle(). So don't do that, only loop in cpu_idle(). This only removes code. In some cases e.g. poll_idle the idle loop is a little longer now because cpu_idle checks more things. I hope that isn't a problem ACPI idle doesn't change behaviour because it never looped anyways. Cc: len.brown@intel.com Cc: eranian@hpl.hp.com Signed-off-by: Andi Kleen commit 63cb683c6ed56a420ba60df6a5b206a44e3f85fe Author: Andi Kleen Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: PDA: Fix math emulator for new pt_regs This patch fixes the math emulator, which had not been adjusted to match the changed struct pt_regs. AK: extracted from larger patch by Jeremy. Signed-off-by: Andi Kleen commit 70463daca852db396ce17f179d2404b257ba0f66 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Store the interrupt regs pointer in the PDA Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit ec7fcaabbfb3c5bd5189f857b6ac7bb9745ef291 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Implement "current" with the PDA Use the pcurrent field in the PDA to implement the "current" macro. This ends up compiling down to a single instruction to get the current task. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit b2938f880890ebfcccad356275e0000193153623 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Implement smp_processor_id() with the PDA Use the cpu_number in the PDA to implement raw_smp_processor_id. This is a little simpler than using thread_info, though the cpu field in thread_info cannot be removed since it is used for things other than getting the current CPU in common code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit 49d26b6eaa8e970c8cf6e299e6ccba2474191bf5 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Update sys_vm86 to cope with changed pt_regs and %gs usage sys_vm86 uses a struct kernel_vm86_regs, which is identical to pt_regs, but adds an extra space for all the segment registers. Previously this structure was completely independent, so changes in pt_regs had to be reflected in kernel_vm86_regs. This changes just embeds pt_regs in kernel_vm86_regs, and makes the appropriate changes to vm86.c to deal with the new naming. Also, since %gs is dealt with differently in the kernel, this change adjusts vm86.c to reflect this. While making these changes, I also cleaned up some frankly bizarre code which was added when auditing was added to sys_vm86. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Cc: Al Viro Cc: Jason Baron Cc: Chris Wright Signed-off-by: Andrew Morton commit 66e10a44d724f1464b5e8b5a3eae1e2cbbc2cca6 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Fix places where using %gs changes the usermode ABI There are a few places where the change in struct pt_regs and the use of %gs affect the userspace ABI. These are primarily debugging interfaces where thread state can be inspected or extracted. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit f95d47caae5302a63d92be9a0292abc90e2a14e1 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Use %gs as the PDA base-segment in the kernel This patch is the meat of the PDA change. This patch makes several related changes: 1: Most significantly, %gs is now used in the kernel. This means that on entry, the old value of %gs is saved away, and it is reloaded with __KERNEL_PDA. 2: entry.S constructs the stack in the shape of struct pt_regs, and this is passed around the kernel so that the process's saved register state can be accessed. Unfortunately struct pt_regs doesn't currently have space for %gs (or %fs). This patch extends pt_regs to add space for gs (no space is allocated for %fs, since it won't be used, and it would just complicate the code in entry.S to work around the space). 3: Because %gs is now saved on the stack like %ds, %es and the integer registers, there are a number of places where it no longer needs to be handled specially; namely context switch, and saving/restoring the register state in a signal context. 4: And since kernel threads run in kernel space and call normal kernel code, they need to be created with their %gs == __KERNEL_PDA. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit 62111195800d80c66cdc69063ea3145878c99fbf Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Initialize the per-CPU data area When a CPU is brought up, a PDA and GDT are allocated for it. The GDT's __KERNEL_PDA entry is pointed to the allocated PDA memory, so that all references using this segment descriptor will refer to the PDA. This patch rearranges CPU initialization a bit, so that the GDT/PDA are set up as early as possible in cpu_init(). Also for secondary CPUs, GDT+PDA are preallocated and initialized so all the secondary CPU needs to do is set up the ldt and load %gs. This will be important once smp_processor_id() and current use the PDA. In all cases, the PDA is set up in head.S, before a CPU starts running C code, so the PDA is always available. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Cc: James Bottomley Cc: Matt Tolentino Signed-off-by: Andrew Morton commit 9ca36101a8d74704d78f10910f89d62de96f9dc8 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Basic definitions for i386-pda This patch has the basic definitions of struct i386_pda, and the segment selector in the GDT. asm-i386/pda.h is more or less a direct copy of asm-x86_64/pda.h. The most interesting difference is the use of _proxy_pda, which is used to give gcc a model for the actual memory operations on the real pda structure. No actual reference is ever made to _proxy_pda, so it is never defined. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit eb5b7b9d86f46b45ba1f986302fdf7df84fb8297 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Use asm-offsets for the offsets of registers into the pt_regs struct Use asm-offsets for the offsets of registers into the pt_regs struct, rather than having hard-coded constants I left the constants in the comments of entry.S because they're useful for reference; the code in entry.S is very dependent on the layout of pt_regs, even when using asm-offsets. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Keith Owens Signed-off-by: Andrew Morton commit bcddc0155f351ab3f06c6ede6d91fd399ef9e18f Author: Jan Beulich Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] x86-64: miscellaneous entry.S adjustments This patch: - makes ret_from_sys_call no longer global (all external users were previously switched to use int_ret_from_sys_call) - adjusts placement of a CFI_{REMEMBER,RESTORE}_STATE pair to better fit logic flow - eliminates an unnecessary pair of CFI_{REMEMBER,RESTORE}_STATE - glues together function- and unwinder-wise the previously separate system_call and int_ret_from_sys_call function fragments Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit da68933e0a999fb13636653c710cca701b457ad2 Author: Andrew Morton Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] x86-64: dump_trace() atomicity fix Fix BUG: using smp_processor_id() in preemptible [00000001] code: in backtracer on preemptible debug kernels. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit bb0d977ed42c79ed709c79dbab4ff2159941eb2a Author: Stephane Eranian Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: add Intel Core related PMU MSRs - add Intel Precise-Event Based sampling (PEBS) related MSR - add Intel Data Save (DS) Area related MSR - add Intel Core microarchitecure performance counter MSRs Signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit 86efef50cfff9905c4e4ec64f3d3d3b299226674 Author: Stephane Eranian Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] x86-64: x86-64 add Intel Core related PMU MSRs definitions Add o the x86-64 tree a bunch of MSRs related to performance monitoring for the processors based on Intel Core microarchitecture. It also adds some architectural MSRs for PEBS. A similar patch for i386 will follow. changelog: - add Intel Precise-Event Based sampling (PEBS) related MSR - add Intel Data Save (DS) Area related MSR - add Intel Core microarchitecure performance counter MSRs Signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit fa5cecd111d235819a1d807d43216ae459a0dd6f Author: Amol Lad Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: add missing iounmap in i386 hpet clocksource code ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only): - using allmodconfig - making sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad Signed-off-by: Andi Kleen commit c0e84b9901c0924e2503c0aab3772a4469ba4aef Author: Amol Lad Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Add iounmap in error paths in hpet code Signed-off-by: Amol Lad Signed-off-by: Andi Kleen commit 399287229c775a8962a852a761d65dc9475dec7c Author: Aaron Durbin Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] x86-64: Insert Local and IO APIC(s) into resource map Insert the Local APIC and IO APIC(s) into the resource tree. It allows the APIC resources to be visible within /proc/iomem. The patch also takes into account IO APIC(s) mapped in the PCI space by deferring the insertion until after PCI has allocated its necessary resources. Signed-off-by: Aaron Durbin Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton commit acc207616a91a413a50fdd8847a747c4a7324167 Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] i386: add sleazy FPU optimization i386 port of the sLeAZY-fpu feature. Chuck reports that this gives him a +/- 0.4% improvement on his simple benchmark x86_64 description follows: Right now the kernel on x86-64 has a 100% lazy fpu behavior: after *every* context switch a trap is taken for the first FPU use to restore the FPU context lazily. This is of course great for applications that have very sporadic or no FPU use (since then you avoid doing the expensive save/restore all the time). However for very frequent FPU users... you take an extra trap every context switch. The patch below adds a simple heuristic to this code: After 5 consecutive context switches of FPU use, the lazy behavior is disabled and the context gets restored every context switch. If the app indeed uses the FPU, the trap is avoided. (the chance of the 6th time slice using FPU after the previous 5 having done so are quite high obviously). After 256 switches, this is reset and lazy behavior is returned (until there are 5 consecutive ones again). The reason for this is to give apps that do longer bursts of FPU use still the lazy behavior back after some time. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit be44d2aabce2d62f72d5751d1871b6212bf7a1c7 Author: Stas Sergeev Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] i386: espfix cleanup Clean up the espfix code: - Introduced PER_CPU() macro to be used from asm - Introduced GET_DESC_BASE() macro to be used from asm - Rewrote the fixup code in asm, as calling a C code with the altered %ss appeared to be unsafe - No longer altering the stack from a .fixup section - 16bit per-cpu stack is no longer used, instead the stack segment base is patched the way so that the high word of the kernel and user %esp are the same. - Added the limit-patching for the espfix segment. (Chuck Ebbert) [jeremy@goop.org: use the x86 scaling addressing mode rather than shifting] Signed-off-by: Stas Sergeev Signed-off-by: Andi Kleen Acked-by: Zachary Amsden Acked-by: Chuck Ebbert <76306.1226@compuserve.com> Acked-by: Jan Beulich Cc: Andi Kleen Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit bb81a09e55eaf7e5f798468ab971469b6f66a259 Author: Andrew Morton Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] x86: all cpu backtrace When a spinlock lockup occurs, arrange for the NMI code to emit an all-cpu backtrace, so we get to see which CPU is holding the lock, and where. Cc: Andi Kleen Cc: Ingo Molnar Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit e5e3a0428968dcc1f9318ce1c941a918e99f8b84 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] i386: remove default_ldt, and simplify ldt-setting. This patch removes the default_ldt[] array, as it has been unused since iBCS stopped being supported. This means it is now possible to actually set an empty LDT segment. In order to deal with this, the set_ldt_desc/load_LDT pair has been replaced with a single set_ldt() operation which is responsible for both setting up the LDT descriptor in the GDT, and reloading the LDT register. If there are no LDT entries, the LDT register is loaded with a NULL descriptor. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Andi Kleen Acked-by: Zachary Amsden Signed-off-by: Andrew Morton commit e2764a1e306c986053a52b33748c33463cf888de Author: Alexey Dobriyan Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] x86-64: use BUILD_BUG_ON in FPU code Signed-off-by: Alexey Dobriyan Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 42ed458aa51337357d7632c64aed4528f923e829 Author: Stephane Eranian Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] i386: i386 add X86_FEATURE_PEBS and detection Here is a patch (used by perfmon2) to detect the presence of the Precise Event Based Sampling (PEBS) feature for i386. The patch also adds the cpu_has_pebs macro. - adds X86_FEATURE_PEBS - adds cpu_has_pebs to test for X86_FEATURE_PEBS Signed-off-by: stephane eranian Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit d7731c0ff69dc3f18ea020257e627dae4d214fdb Author: Stephane Eranian Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] i386: i386 rename X86_FEATURE_DTES to X86_FEATURE_DS Here is a patch (used by perfmon2) that renames X86_FEATURE_DTES to X86_FEATURE_DS to match Intel's documentation for the Debug Store save area on i386. The patch also adds cpu_has_ds. - rename X86_FEATURE_DTES to X86_FEATURE_DS to match documentation - adds cpu_has_ds to test for X86_FEATURE_DS Signed-off-by: stephane eranian Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit d8cebe65ea5179e3293c38427d71f4d73c795d39 Author: Yinghai Lu Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] x86-64: remove duplicated cpu_mask_to_apicid in x86_64 smp.h inline function cpu_mask_to_apicid in smp.h is duplicated with macro in mach_apic.h. Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen commit 36b2a8d5aff4cb3ee83d5e40447a8f073bcfe2fb Author: Stephane Eranian Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] x86-64: add X86_FEATURE_PEBS and detection Here is a patch (used by perfmon2) to detect the presence of the Precise Event Based Sampling (PEBS) feature for Intel 64-bit processors. The patch also adds the cpu_has_pebs macro. changelog: - adds X86_FEATURE_PEBS - adds cpu_has_pebs to test for X86_FEATURE_PEBS Signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit bd1d599518bf11992cc6d5b0df08da4a2b7b0db5 Author: Stephane Eranian Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] x86-64: x86_64 rename X86_FEATURE_DTES to X86_FEATURE_DS Here is a patch (used by perfmon2) that renamed X86_FEATURE_DTES to X86_FEATURE_DS to match Intel's documentation for the Debug Store save area. The patch also adds cpu_has_ds. changelog: - rename X86_FEATURE_DTES to X86_FEATURE_DS to match documentation - adds cpu_has_ds to test for X86_FEATURE_DS Signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit 87e1652c7863b9ae406ff37f33c7ec2bb494d7b1 Author: Andi Kleen Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] x86-64: Don't keep interrupts disabled while spinning in spinlocks Follows i386. Based on patch from some folks at Google (MikeW, Edward G.?), but completely redone by AK. Signed-off-by: Andi Kleen commit a63954b5cad5765e52870bb649992bf636f32a6b Author: Dave Jones Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] i386: remove pointless printk from i386 oops output This just got removed on x86-64, do the same on 32bit. It always annoyed me when this ate a line of oops output pushing interesting stuff off the screen. Signed-off-by: Dave Jones Signed-off-by: Andi Kleen commit d606f88fa5e529e9dc72be97e79db1e36a6261cb Author: Randy Dunlap Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] i386: fix must_checks Fix __must_check warnings in i386/math-emu. Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen commit dd315df1767cf56bd4fb8d730fdff4a3d7e15d84 Author: Andi Kleen Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] x86: Compress stack unwinder output The unwinder has some extra newlines, which eat up loads of screen space when it spews. (See https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=137900 for a nasty example). warning_symbol-> and warning-> already printk a newline, so don't add one in the strings passed to them. [AK: redone for new code] Signed-off-by: Dave Jones Signed-off-by: Andi Kleen commit b615ebdac97c648a2ae7d23c5a0bbb3972adf928 Author: Andi Kleen Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] x86: shorten lines in unwinder to be <= 80 characters Andrew complained about > 80 character lines in the new unwinder. Fix that. Signed-off-by: Andi Kleen commit 9b483417527f2e47985856867c5716df013227c7 Author: Andreas Mohr Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] i386: fix buggy MTRR address checks Fix checks that failed to realize that values are 4-kB-unit-sized (note the format strings in this same diff context which *do* realize the unit size, via appended "000"!). Also fix an incorrect below-1MB area check (as gathered from Jan Beulich's unapplied patch at http://www.ussg.iu.edu/hypermail/linux/kernel/0411.1/1378.html ) Update mtrr_add_page() docu to make 4-kB-sized calculation more obvious. Given several further items mentioned in Jan's patch mail, all in all MTRR code seems surprisingly buggy, for a surprisingly long period of time (many years). Further work/investigation would be useful. TBD Note that my patch is pretty much UNTESTED, since I can only verify that it TBD successfully boots my machine, but I cannot test against actual buggy TBD hardware which would require these (formerly broken) checks. Long -mm TBD simmering would make sense, especially since these now-working checks might TBD turn out to have adverse effects on unaffected hardware. Signed-off-by: Andreas Mohr Signed-off-by: Andi Kleen Acked-by: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit dc3d1742543fffc79dc4d680ab64d2059e97d809 Author: Andi Kleen Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] i386: Update defconfig Signed-off-by: Andi Kleen commit 8f820e976057261e249367514e9920cf20048c76 Author: Andi Kleen Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] x86-64: Update defconfig Signed-off-by: Andi Kleen commit 620034c84d1d939717bdfbe02c51a3fee43541c3 Author: Jesper Juhl Date: Thu Dec 7 00:45:58 2006 +0100 [PATCH] A few small additions and corrections to README Here's a small patch which - adds a few archs to the current list of supported platforms. - adds a few missing slashes at the end of URLs. - adds a few references to additional documentation. - adds "make config" to the list of possible configuration targets. - makes a few other minor changes. Signed-off-by: Jesper Juhl [ Ben Nizette points out AVR32 arch too ] Signed-off-by: Linus Torvalds commit 6fc52f81a871e4c29ade34dd736a383906caf47e Author: Jesper Juhl Date: Thu Dec 7 00:16:26 2006 +0100 [PATCH] Clean up 'make help' output for documentation targets. Here's a patch that cleans up the "make help" output a bit for the documentation targets. Currently the documentation targets are listed completely different than all the other targets : Documentation targets: Linux kernel internal documentation in different formats: xmldocs (XML DocBook), psdocs (Postscript), pdfdocs (PDF) htmldocs (HTML), mandocs (man pages, use installmandocs to install) with this patch they are more in line with the rest of the output : Documentation targets: Linux kernel internal documentation in different formats: htmldocs - HTML installmandocs - install man pages generated by mandocs mandocs - man pages pdfdocs - PDF psdocs - Postscript xmldocs - XML DocBook Signed-off-by: Jesper Juhl Acked-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 3f5e573a08a369bd10d2f89b63a2d68843f64a6b Merge: 9232d58... 2cafe97... Author: Linus Torvalds Date: Wed Dec 6 16:17:37 2006 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Import updates from i386's i8259.c [MIPS] *-berr: Header inclusions for DEC bus error handlers [MIPS] Compile __do_IRQ() when really needed [MIPS] genirq: use name instead of typename [MIPS] Do not use handle_level_irq for ioasic_dma_irq_type. [MIPS] pte_offset(dir,addr): parenthesis fix commit 9232d5876e83921414de65d82edd1098258f6680 Merge: 2fdb611... c7f570a... Author: Linus Torvalds Date: Wed Dec 6 16:16:35 2006 -0800 Merge branch 'release' of master.kernel.org:/home/ftp/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of master.kernel.org:/home/ftp/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix pci.c kernel compilation breakage. commit 2fdb611d3102509e31ef21c79fc91f97f300b9c3 Author: Al Viro Date: Wed Dec 6 21:15:22 2006 +0000 [PATCH] ... and then some more work_struct-induced breakage (ibmvscsi) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 91c7c56855855d63c46c854c38576135be31a4c9 Author: Al Viro Date: Wed Dec 6 19:50:06 2006 +0000 [PATCH] ... and more work_struct-induced breakage (mips) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4927b3f74c6a2fd92226dcf1542a598be9738808 Author: Al Viro Date: Wed Dec 6 19:18:20 2006 +0000 [PATCH] More work_struct induced breakage (s390) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f9e9dcb38f5106fa8cdac04a9e967d5487f1cd20 Author: Linus Torvalds Date: Wed Dec 6 14:42:57 2006 -0800 x86[-64]:Remove 'volatile' from atomic_t Any code that relies on the volatile would be a bug waiting to happen anyway. Don't encourage people to think that putting 'volatile' on data structures somehow fixes problems. We should always use proper locking (and other serialization) techniques. Signed-off-by: Linus Torvalds commit 16afea0255cf6963eb924d4334cdb5acb9074581 Author: Art Haas Date: Wed Dec 6 14:45:53 2006 -0600 [PATCH] Remove 'volatile' from spinlock_types This is a resubmission of patches originally created by Ingo Molnar. The link below is the initial (?) posting of the patch. http://marc.theaimsgroup.com/?l=linux-kernel&m=115217423929806&w=2 Remove 'volatile' from spinlock_types as it causes GCC to generate bad code (see link) and locking should be used on kernel data. Signed-off-by: Art Haas Signed-off-by: Linus Torvalds commit c7f570a5eca59575572ee231390df727df207bda Author: Peter Chubb Date: Tue Dec 5 12:25:31 2006 +1100 [IA64] Fix pci.c kernel compilation breakage. The recent change to convert the is_enabled flag in the PCI device to an atomic count broke the IA64 compilation. As pcibios_disable_device is only ever called if the reference count is zero, convert the if to a BUG_ON. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit 2cafe978462bc4016392aa330bf501a674679a86 Author: Atsushi Nemoto Date: Thu Dec 7 02:04:17 2006 +0900 [MIPS] Import updates from i386's i8259.c Import many updates from i386's i8259.c, especially genirq transitions. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 49afb1f67b42c4240fef9d2d8b76c317c56a189d Author: Maciej W. Rozycki Date: Wed Dec 6 11:50:23 2006 +0000 [MIPS] *-berr: Header inclusions for DEC bus error handlers A fixup to add missing header inclusions for bus error handlers for DECstation system after the recent switch to get_irq_regs(). Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit e77c232cfc6e1250b2916a7c69225d6634d05a49 Author: Franck Bui-Huu Date: Fri Dec 1 18:22:27 2006 +0100 [MIPS] Compile __do_IRQ() when really needed __do_IRQ() is needed only by irq handlers that can't use default handlers defined in kernel/irq/chip.c. For others platforms there's no need to compile this function since it won't be used. For those platforms this patch defines GENERIC_HARDIRQS_NO__DO_IRQ symbol which is used exactly for this purpose. Futhermore for platforms which do not use __do_IRQ(), end() method which is part of the 'irq_chip' structure is not used. This patch simply removes this method in this case. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 1ccd1c1c35a6cb21da32479931d4fa6d47320095 Author: Atsushi Nemoto Date: Wed Dec 6 01:20:57 2006 +0900 [MIPS] genirq: use name instead of typename The "typename" field was obsoleted by the "name" field. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 25ba2f506c69bd54a7342210422176baf10018c5 Author: Atsushi Nemoto Date: Sat Dec 2 00:08:03 2006 +0900 [MIPS] Do not use handle_level_irq for ioasic_dma_irq_type. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 5b70a31708c958cb259e9c6cbecf7190521c856e Author: Franck Bui-Huu Date: Tue Dec 5 10:39:56 2006 +0100 [MIPS] pte_offset(dir,addr): parenthesis fix This patch adds missing parenthesis around 'dir' argument in pte_offset() macro definition. It also removes an extra space in the definition of pte_offset_kernel() macro. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 3e577a80ea85e2557831fd44064f809646f260b4 Author: Al Viro Date: Wed Dec 6 18:41:45 2006 +0000 [PATCH] drivers/{char|isdn}: work_struct-induced breakage part 1 of fsck-knows-how-many Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7a87b6c228b8d0cc54b9faa159732fcb2a6c9d0c Author: Al Viro Date: Wed Dec 6 18:51:40 2006 +0000 [PATCH] hamradio/dmascc: fix up work_struct-induced breakage Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit dd6a7c19e4630f635467246a81b8e0cc818c05e6 Merge: dd8856b... ea0f8fe... Author: Linus Torvalds Date: Wed Dec 6 08:10:55 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (43 commits) sh: sh775x/titan fixes for irq header changes. sh: update r7780rp defconfig. sh: compile fixes for header cleanup. sh: Fixup pte_mkhuge() build failure. sh: set KBUILD_IMAGE to something sensible. sh: show held locks in stack trace with lockdep. sh: platform_pata support for R7780RP sh: stacktrace/lockdep/irqflags tracing support. sh: Fixup movli.l/movco.l atomic ops for gcc4. sh: dyntick infrastructure. sh: Clock framework tidying. sh: Turn off IRQs around get_timer_offset() calls. sh: Get the PGD right in oops case with 64-bit PTEs. sh: Fix store queue bitmap end. sh: More flexible + SH7780 earlyprintk SCIF support. sh: Fixup various PAGE_SIZE == 4096 assumptions. sh: Fixup 4K irq stacks. sh: dma-api channel capability extensions. sh: Drop name overload in dma-sh. sh: Make dma-isa depend on ISA_DMA_API. ... commit dd8856bda5f1308beb113281b248683992998a9e Merge: f81cff0... 06328b4... Author: Linus Torvalds Date: Wed Dec 6 08:01:37 2006 -0800 Merge git://git.infradead.org/users/dhowells/workq-2.6 * git://git.infradead.org/users/dhowells/workq-2.6: Actually update the fixed up compile failures. WorkQueue: Fix up arch-specific work items where possible WorkStruct: make allyesconfig WorkStruct: Pass the work_struct pointer instead of context data WorkStruct: Merge the pending bit into the wq_data pointer WorkStruct: Typedef the work function prototype WorkStruct: Separate delayable and non-delayable events. commit 5847e1f4d058677c5e46dc6c3e3c70e8855ea3ba Author: Chuck Lever Date: Tue Dec 5 16:36:14 2006 -0500 SUNRPC: Remove pprintk() from net/sunrpc/xprt.c These appear to be deprecated. Removing them also gets rid of some sparse noise. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c041b5ff8d50c432698d9bfbd68cc4b76c2ea5bc Author: Chuck Lever Date: Tue Dec 5 16:36:03 2006 -0500 NLM: fix print format for tk_pid The tk_pid field is an unsigned short. The proper print format specifier for that type is %5u, not %4d. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fbf76683ff9d1462ec0b2f90ec6ea4793652318c Author: Chuck Lever Date: Tue Dec 5 16:35:54 2006 -0500 SUNRPC: relocate the creation of socket-specific tunables Clean-up: The RPC client currently creates some sysctls that are specific to the socket transport. Move those entirely into xprtsock.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 282b32e17f64be2204f1ac96d7f40f92cb768cd7 Author: Chuck Lever Date: Tue Dec 5 16:35:51 2006 -0500 SUNRPC: create stubs for xprtsock init and cleanup Over time we will want to add some specific init and cleanup logic for the xprtsock implementation. Add stub routines for initialization and exit processing. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit dd4564715eae2c4136f278da9ae1c3bb5af3e509 Author: Chuck Lever Date: Tue Dec 5 16:35:44 2006 -0500 SUNRPC: Rename skb_reader_t and friends Clean-up: hch suggested that the RPC client shouldn't pollute the name space used by the generic skb manipulation routines in net/core/skbuff.c. Rename a couple of types in xdr.h to adhere to this convention. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9d29231690925915015c21c1fff73c7118099843 Author: Chuck Lever Date: Tue Dec 5 16:35:41 2006 -0500 SUNRPC: skb_read_bits is the same as xs_tcp_copy_data Clean-up: eliminate xs_tcp_copy_data -- it's exactly the same logic as the common routine skb_read_bits. The UDP and TCP socket read code now share the same routine for copying data into an xdr_buf. Now that skb_read_bits() is exported, rename it to avoid confusing it with a generic skb_* function. As these functions are XDR-specific, they should not have names that suggest they are of generic use. Also rename skb_read_and_csum_bits() to be consistent. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7559c7a28fbcaa0bca028eeebd5f251b09befe6b Author: Chuck Lever Date: Tue Dec 5 16:35:37 2006 -0500 SUNRPC: Make address format buffers more generic For now we will assume that all transports will use the address format buffers in the rpc_xprt struct to store their addresses. Change rpc_peer2str() to be a generic routine to handle this, and get rid of the print_address() op in the rpc_xprt_ops vector. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 314dfd7987c71d7ba0c43ac3bf3d243c102ce025 Author: Chuck Lever Date: Tue Dec 5 16:35:34 2006 -0500 SUNRPC: move saved socket callback functions to a private data structure Move the three fields for saving socket callback functions out of the rpc_xprt structure and into a private data structure maintained in net/sunrpc/xprtsock.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7c6e066ec29290bf062f5bff2984bad9be5809c7 Author: Chuck Lever Date: Tue Dec 5 16:35:30 2006 -0500 SUNRPC: Move the UDP socket bufsize parameters to a private data structure Move the socket-specific buffer size parameters for UDP sockets to a private data structure maintained in net/sunrpc/xprtsock.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c8475461829fd94f30208fbfa4eab7e5584c6495 Author: Chuck Lever Date: Tue Dec 5 16:35:26 2006 -0500 SUNRPC: Move rpc_xprt socket connect fields into private data structure Move the socket-specific connection management fields out of the generic rpc_xprt structure into a private data structure maintained in net/sunrpc/xprtsock.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit e136d0926ef6a048f6e65b35263c0a9faae3abbe Author: Chuck Lever Date: Tue Dec 5 16:35:23 2006 -0500 SUNRPC: Move TCP state flags into xprtsock.c Move "XPRT_LAST_FRAG" and friends from xprt.h into xprtsock.c, and rename them to use the naming scheme in use in xprtsock.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 51971139b2342fa1005e87bbfcb52305da3fe891 Author: Chuck Lever Date: Tue Dec 5 16:35:19 2006 -0500 SUNRPC: Move TCP receive state variables into private data structure Move the TCP receive state variables from the generic rpc_xprt structure to a private structure maintained inside net/sunrpc/xprtsock.c. Also rename a function/variable pair to refer to RPC fragment headers instead of record markers, to be consistent with types defined in sunrpc/*.h. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ee0ac0c227c2a2b6dd1b33c23831100ee895dacf Author: Chuck Lever Date: Tue Dec 5 16:35:15 2006 -0500 SUNRPC: Remove sock and inet fields from rpc_xprt The "sock" and "inet" fields are socket-specific. Move them to a private data structure maintained entirely within net/sunrpc/xprtsock.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ffc2e518c91942b7ed45fb0ab7deba1ba0c8594a Author: Chuck Lever Date: Tue Dec 5 16:35:11 2006 -0500 SUNRPC: Allocate a private data area for socket-specific rpc_xprt fields When setting up a new transport instance, allocate enough memory for an rpc_xprt and a private area. As part of the same memory allocation, it will be easy to find one, given a pointer to the other. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 94efa93435383b08d822a40f24ff6f6ce1a888df Author: J. Bruce Fields Date: Mon Dec 4 20:22:42 2006 -0500 rpcgss: krb5: miscellaneous cleanup Miscellaneous cosmetic fixes. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 717757ad1038ab6aacb89bad579c89b006efd913 Author: J. Bruce Fields Date: Mon Dec 4 20:22:41 2006 -0500 rpcgss: krb5: ignore seed We're currently not actually using seed or seed_init. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit d922a84a8bf1d627810906d033223d4fa629fdbf Author: J. Bruce Fields Date: Mon Dec 4 20:22:40 2006 -0500 rpcgss: krb5: sanity check sealalg value in the downcall The sealalg is checked in several places, giving the impression it could be either SEAL_ALG_NONE or SEAL_ALG_DES. But in fact SEAL_ALG_NONE seems to be sufficient only for making mic's, and all the contexts we get must be capable of wrapping as well. So the sealalg must be SEAL_ALG_DES. As with signalg, just check for the right value on the downcall and ignore it otherwise. Similarly, tighten expectations for the sealalg on incoming tokens, in case we do support other values eventually. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 39a21dd1b0eec3f5eac84ee42bda5ab4915098ae Author: J. Bruce Fields Date: Mon Dec 4 20:22:39 2006 -0500 rpcgss: krb5: clean up some goto's, etc. Remove some unnecessary goto labels; clean up some return values; etc. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit ca54f896454852f0bc8d50e6e4c55d9defedbd0a Author: J. Bruce Fields Date: Mon Dec 4 20:22:38 2006 -0500 rpcgss: simplify make_checksum We're doing some pointless translation between krb5 constants and kernel crypto string names. Also clean up some related spkm3 code as necessary. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 2818bf81a8c91fb29634df68bdc3cc5e003201d0 Author: J. Bruce Fields Date: Mon Dec 4 20:22:37 2006 -0500 rpcgss: krb5: kill checksum_type, miscellaneous small cleanup Previous changes reveal some obvious cruft. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 5eb064f93973def1ec2ab4a46929e94389a6283b Author: J. Bruce Fields Date: Mon Dec 4 20:22:36 2006 -0500 rpcgss: krb5: expect a constant signalg value We also only ever receive one value of the signalg, so let's not pretend otherwise Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit e678e06bf8fa25981a6fa1f08b979fd086d713f8 Author: J. Bruce Fields Date: Mon Dec 4 20:22:35 2006 -0500 gss: krb5: remove signalg and sealalg We designed the krb5 context import without completely understanding the context. Now it's clear that there are a number of fields that we ignore, or that we depend on having one single value. In particular, we only support one value of signalg currently; so let's check the signalg field in the downcall (in case we decide there's something else we could support here eventually), but ignore it otherwise. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit adeb8133dd57f380e70a389a89a2ea3ae227f9e2 Author: Olga Kornievskaia Date: Mon Dec 4 20:22:34 2006 -0500 rpc: spkm3 update This updates the spkm3 code to bring it up to date with our current understanding of the spkm3 spec. In doing so, we're changing the downcall format used by gssd in the spkm3 case, which will cause an incompatilibity with old userland spkm3 support. Since the old code a) didn't implement the protocol correctly, and b) was never distributed except in the form of some experimental patches from the citi web site, we're assuming this is OK. We do detect the old downcall format and print warning (and fail). We also include a version number in the new downcall format, to be used in the future in case any further change is required. In some more detail: - fix integrity support - removed dependency on NIDs. instead OIDs are used - known OID values for algorithms added. - fixed some context fields and types Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 37a4e6cb0391f2293ba3d59e3a63ec0e56ed720d Author: Olga Kornievskaia Date: Mon Dec 4 20:22:33 2006 -0500 rpc: move process_xdr_buf Since process_xdr_buf() is useful outside of the kerberos-specific code, we move it to net/sunrpc/xdr.c, export it, and rename it in keeping with xdr_* naming convention of xdr.c. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 87d918d667e51962938392759aef6ca368d6e96d Author: J. Bruce Fields Date: Mon Dec 4 20:22:32 2006 -0500 rpc: gss: fix a kmap_atomic race in krb5 code This code is never called from interrupt context; it's always run by either a user thread or rpciod. So KM_SKB_SUNRPC_DATA is inappropriate here. Thanks to Aimé Le Rouzic for capturing an oops which showed the kernel taking an interrupt while we were in this piece of code, resulting in a nested kmap_atomic(.,KM_SKB_SUNRPC_DATA) call from xdr_partial_copy_from_skb(). Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 8fc7500bb8ea3b5c909869d00628635e964ae882 Author: J. Bruce Fields Date: Mon Dec 4 20:22:31 2006 -0500 rpc: gss: eliminate print_hexl()'s Dumping all this data to the logs is wasteful (even when debugging is turned off), and creates too much output to be useful when it's turned on. Fix a minor style bug or two while we're at it. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 2b577f1f14c8d83ba9400ec8accaf4a208f4f36a Author: Chuck Lever Date: Thu Nov 16 15:03:38 2006 -0500 SUNRPC: another pmap wakeup fix Don't wake up bind waiters if a task finds that another task is already trying to bind. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit a18030445fd4dd20e2248007b5d1cf0b5d89c69d Author: Trond Myklebust Date: Tue Dec 5 00:45:19 2006 -0500 NFS: Clean up calls to mark_inode_dirty() part 2 Signed-off-by: Trond Myklebust commit 9cf85e0a243b56f4ef8439a1e6430307fd9dcda6 Author: Trond Myklebust Date: Tue Dec 5 00:36:56 2006 -0500 NFS: Fix up writeback_control->nr_to_write accounting We're really accounting for the same page twice now: once in generic_writepages(), and once in nfs_scan_dirty(). Signed-off-by: Trond Myklebust commit 3925675cb37cc9c3fd1d3f56ce0fa729f995f863 Author: Trond Myklebust Date: Tue Dec 5 00:36:09 2006 -0500 NFS: Fix up the dirty page accounting There is now no reason to account for the dirty pages in the NFS code, since the VM code will now do it for us via __set_page_dirty_nobuffers(), and set_page_writeback(). We still need to keep the accounting of stable writes, though. Signed-off-by: Trond Myklebust commit e507d9ebbb2d5db5948a6fb3c33f015d60708d19 Author: Trond Myklebust Date: Tue Dec 5 00:35:42 2006 -0500 NFS: Ensure the inode is marked as dirty if we break out of nfs_wb_all() Signed-off-by: Trond Myklebust commit fa8d8c5b77a2dc467b5365a5651710161b84f16d Author: Trond Myklebust Date: Tue Dec 5 00:35:42 2006 -0500 NFS: Fix nfs_release_page invalidate_inode_pages2_range() will clear the PG_dirty bit before calling try_to_release_page(). Signed-off-by: Trond Myklebust commit 61822ab5e3ed09fcfc49e37227b655202adf6130 Author: Trond Myklebust Date: Tue Dec 5 00:35:42 2006 -0500 NFS: Ensure we only call set_page_writeback() under the page lock Signed-off-by: Trond Myklebust commit e261f51f25b98c213e0b3d7f2109b117d714f69d Author: Trond Myklebust Date: Tue Dec 5 00:35:41 2006 -0500 NFS: Make nfs_updatepage() mark the page as dirty. This will ensure that we can call set_page_writeback() from within nfs_writepage(), which is always called with the page lock set. Signed-off-by: Trond Myklebust commit 4d770ccf4257b23a7ca2a85de1b1c22657b581d8 Author: Trond Myklebust Date: Tue Dec 5 00:35:41 2006 -0500 NFS: Ensure that nfs_wb_page() calls writepage when necessary. Signed-off-by: Trond Myklebust commit 1a54533ec8d92a5edae97ec6ae10023ee71c4b46 Author: Trond Myklebust Date: Tue Dec 5 00:35:40 2006 -0500 NFS: Add nfs_set_page_dirty() We will want to allow nfs_writepage() to distinguish between pages that have been marked as dirty by the VM, and those that have been marked as dirty by nfs_updatepage(). In the former case, the entire page will want to be written out, and so any requests that were pending need to be flushed out first. Signed-off-by: Trond Myklebust commit 200baa2112012dd8a13db9da3ee6885403f9c013 Author: Trond Myklebust Date: Tue Dec 5 00:35:40 2006 -0500 NFS: Remove nfs_writepage_sync() Maintaining two parallel ways of doing synchronous writes is rather pointless. This patch gets rid of the legacy nfs_writepage_sync(), and replaces it with the faster asynchronous writes. Signed-off-by: Trond Myklebust commit e21195a740533348e77efa8a2e2cf03bb4092b2b Author: Trond Myklebust Date: Tue Dec 5 00:35:39 2006 -0500 NFS: More cleanups of fs/nfs/write.c Signed-off-by: Trond Myklebust commit 87a4ce16082e92b4b6d27596a517b302f3692650 Author: Trond Myklebust Date: Tue Dec 5 00:35:39 2006 -0500 NFS: Remove call to igrab() from nfs_writepage() We always ensure that the nfs_open_context holds a reference to the dentry, so the test in nfs_writepage() for whether or not the inode is referenced is redundant. Signed-off-by: Trond Myklebust commit 49a70f278658894d2899824cd4037095fb6711fe Author: Trond Myklebust Date: Tue Dec 5 00:35:38 2006 -0500 NFS: Cleanup: add common helper nfs_page_length() Clean up a lot of ad-hoc page length calculations in fs/nfs/write.c Signed-off-by: Trond Myklebust commit 277459d2e2cd40594967757e8fd016c4c7016614 Author: Trond Myklebust Date: Tue Dec 5 00:35:35 2006 -0500 NFS: Store pointer to the nfs_page in page->private This will allow fast lookup of the nfs_page from the struct page instead of having to search the radix tree. Signed-off-by: Trond Myklebust commit 1c75950b9a2254ef08f986e00ad20266ae9ba7f1 Author: Trond Myklebust Date: Mon Oct 9 16:18:38 2006 -0400 NFS: cleanup of nfs_sync_inode_wait() Allow callers to directly pass it a struct writeback_control. Signed-off-by: Trond Myklebust commit 3f442547b76bf9fb70d7aecc41cf1980459253c9 Author: Trond Myklebust Date: Sun Sep 17 14:46:44 2006 -0400 NFS: Clean up nfs_scan_dirty() Pass down struct writeback control. Signed-off-by: Trond Myklebust commit 28c6925fce3927a9fe3c5b44af5fb266680fdcea Author: Trond Myklebust Date: Sat Sep 16 13:04:50 2006 -0400 NFS: Clean up nfs_flush_inode() Make it take a struct writepages argument, and rename to nfs_flush_mapping(). Signed-off-by: Trond Myklebust commit c8541ecdd5692bcfbcb5305cab9a873288d29175 Author: Chuck Lever Date: Tue Oct 17 14:44:27 2006 -0400 SUNRPC: Make the transport-specific setup routine allocate rpc_xprt Change the location where the rpc_xprt structure is allocated so each transport implementation can allocate a private area from the same chunk of memory. Note also that xprt->ops->destroy, rather than xprt_destroy, is now responsible for freeing rpc_xprt when the transport is destroyed. Test plan: Connectathon. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit e744cf2e3ab8535a8494a4cf0177de26f94586da Author: Chuck Lever Date: Tue Oct 17 14:44:24 2006 -0400 SUNRPC: minor optimization of "xid" field in rpc_xprt Move the xid field in the rpc_xprt structure to be in the same cache line as the reserve_lock, since these are used at the same time. Test plan: None. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 24c5684b65ff52ebfa942e8086d91a4966121ae7 Author: Trond Myklebust Date: Tue Oct 17 15:06:22 2006 -0400 SUNRPC: Clean up xs_send_pages() Signed-off-by: Trond Myklebust commit bee57c99c322d64407b80c8171958b4384902da4 Author: Trond Myklebust Date: Mon Oct 9 22:08:22 2006 -0400 SUNRPC: Ensure xdr_buf_read_netobj() checks for memory overruns Also clean up the code... Signed-off-by: Trond Myklebust commit 4e3e43ad14c574281034a27420abf1993694ac11 Author: Trond Myklebust Date: Tue Oct 17 13:47:24 2006 -0400 SUNRPC: Add __(read|write)_bytes_from_xdr_buf Signed-off-by: Trond Myklebust commit 1e78957e0a8f882df6a3660b62f9aae441f54891 Author: Trond Myklebust Date: Thu Aug 31 15:09:19 2006 -0400 SUNRPC: Clean up argument types in xdr.c Converts various integer buffer offsets and sizes to unsigned integer. Signed-off-by: Trond Myklebust commit eb5f8545ffff98a11c6656d4d2106341ab69c57d Author: Frank Filz Date: Tue Oct 17 10:24:42 2006 -0700 NFS: Remove use of the Big Kernel Lock around nfs calls to readlink Remove use of the Big Kernel Lock around indirect calls to nfs3_proc_readlink and nfs4_proc_readlink, both of which basically call rpc_call_sync. Signed-off-by: Frank Filz Signed-off-by: Trond Myklebust commit cae823c4c089d2c7c2a90f39f20376ccd85f9893 Author: Frank Filz Date: Tue Oct 17 10:24:38 2006 -0700 NFS: Remove use of the Big Kernel Lock around calls to rpc_call_sync Remove use of the Big Kernel Lock around calls to rpc_call_sync. Signed-off-by: Frank Filz Signed-off-by: Trond Myklebust commit a99b71c9c43499bf2312c64f5c1d367aaf559dc4 Author: Frank Filz Date: Tue Oct 17 10:24:36 2006 -0700 NFS: Remove use of the Big Kernel Lock around calls to rpc_execute. Remove use of the Big Kernel Lock around calls to rpc_execute. Signed-off-by: Frank Filz Signed-off-by: Trond Myklebust commit 6d5fcb5a52bfd00eab3ba2c7ca890823388436ae Author: Trond Myklebust Date: Wed Oct 18 16:01:06 2006 -0400 SUNRPC: Remove BKL around the RPC socket operations etc. All internal RPC client operations should no longer depend on the BKL, however lockd and NFS callbacks may still require it. Signed-off-by: Trond Myklebust commit bbd5a1f9fc9fad0f8725812d91c51b052e847de8 Author: Trond Myklebust Date: Wed Oct 18 16:01:05 2006 -0400 SUNRPC: Fix up missing BKL in asynchronous RPC callback functions Signed-off-by: Trond Myklebust commit 3e32a5d99a467b9d4d416323c8c292479b4915e5 Author: Trond Myklebust Date: Thu Nov 16 11:37:27 2006 -0500 SUNRPC: Give cloned RPC clients their own rpc_pipefs directory Signed-off-by: Trond Myklebust commit 23bf85ba43650e4341672a6bc85aa3f2c02eb633 Author: Trond Myklebust Date: Tue Nov 21 10:40:23 2006 -0500 SUNRPC: Handle the cases where rpc_alloc_iostats() fails Signed-off-by: Trond Myklebust commit e8e058e830f46a76f837522e5e2df46d4303111f Author: Trond Myklebust Date: Wed Nov 15 17:31:56 2006 -0500 NFS: Fix nfs_sync_inode_wait(FLUSH_INVALIDATE) Currently nfs_sync_inode_wait() will fail to loop correctly when we call nfs_sync_inode_wait with the FLUSH_INVALIDATE argument. Signed-off-by: Trond Myklebust commit cf1308ff7829017dab0dbcc817c63dc9c212923e Author: Trond Myklebust Date: Sun Nov 19 16:44:52 2006 -0500 NFS: Fix missing page_unlock() in nfs_readpage Signed-off-by: Trond Myklebust commit 0b67130149b006628389ff3e8f46be9957af98aa Author: Trond Myklebust Date: Tue Nov 14 16:12:23 2006 -0500 NFS: Fix asynchronous read error handling We must always call ->read_done() before we truncate the page data, or decide to flag an error. The reasons are that in NFSv2, ->read_done() is where the eof flag gets set. in NFSv3/v4 ->read_done() handles EJUKEBOX-type errors, and v4 state recovery. However, we need to mark the pages as uptodate before we deal with short read errors, since we may need to modify the nfs_read_data arguments. We therefore split the current nfs_readpage_result() into two parts: nfs_readpage_result(), which calls ->read_done() etc, and nfs_readpage_retry(), which subsequently handles short reads. Note: Removing the code that retries in case of a short read also fixes a bug in nfs_direct_read_result(), which used to return a corrupted number of bytes. Signed-off-by: Trond Myklebust commit 46b9f8e1484352f09f229107ba2a758fe386d7f7 Author: Andy Ryan Date: Tue Nov 7 14:36:26 2006 -0600 NFS Exclusive open not supported bug When trying to open a file with the O_EXCL flag over NFS on a server that does not support exclusive mode, the file does not open. The reason, rpc_call_sync returns a errno number, and not the nfs error number. I fixed it by changing the status check in nfs3proc.c. Either this is how it should be fixed, or rpc_call_sync should be fixed to return the NFS error. Signed-off-by: Andy Ryan Signed-off-by: Trond Myklebust commit 8aca67f0ae2d8811165c22326825a645cc8e1b48 Author: Trond Myklebust Date: Mon Nov 13 16:23:44 2006 -0500 SUNRPC: Fix a potential race in rpc_wake_up_task() Use RCU to ensure that we can safely call rpc_finish_wakeup after we've called __rpc_do_wake_up_task. If not, there is a theoretical race, in which the rpc_task finishes executing, and gets freed first. Signed-off-by: Trond Myklebust commit e6b3c4db6fbcd0d33720696f37790d6b8be12313 Author: Trond Myklebust Date: Sat Nov 11 22:18:03 2006 -0500 Fix a second potential rpc_wakeup race... Signed-off-by: Trond Myklebust commit cc4dc59e5580d6c0de1685a25b74d32175f43434 Author: Christophe Saout Date: Sun Nov 5 18:42:48 2006 +0100 Subject: Re: [PATCH] Fix SUNRPC wakeup/execute race condition The sunrpc scheduler contains a race condition that can let an RPC task end up being neither running nor on any wait queue. The race takes place between rpc_make_runnable (called from rpc_wake_up_task) and __rpc_execute under the following condition: First __rpc_execute calls tk_action which puts the task on some wait queue. The task is dequeued by another process before __rpc_execute continues its execution. While executing rpc_make_runnable exactly after setting the task `running' bit and before clearing the `queued' bit __rpc_execute picks up execution, clears `running' and subsequently both functions fall through, both under the false assumption somebody else took the job. Swapping rpc_test_and_set_running with rpc_clear_queued in rpc_make_runnable fixes that hole. This introduces another possible race condition that can be handled by checking for `queued' after setting the `running' bit. Bug noticed on a 4-way x86_64 system under XEN with an NFSv4 server on the same physical machine, apparently one of the few ways to hit this race condition at all. Cc: Trond Myklebust Cc: J. Bruce Fields Signed-off-by: Christophe Saout Signed-off-by: Trond Myklebust commit f81cff0d4067e41fd7383d9c013cc82da7c169d2 Author: Mike Frysinger Date: Wed Dec 6 12:02:59 2006 +1000 [PATCH] uclinux: fix mmap() of directory for nommu case I was playing with blackfin when i hit a neat bug ... doing an open() on a directory and then passing that fd to mmap() would cause the kernel to hang after poking into the code a bit more, i found that mm/nommu.c:validate_mmap_request() checks the length and if it is 0, just returns the address ... this is in stark contrast to mmu's mm/mmap.c:do_mmap_pgoff() where it returns -EINVAL for 0 length requests ... i then noticed that some other parts of the logic is out of date between the two funcs, so perhaps that's the easy fix ? Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 3363c9b0ed8f6b5a241d63018cad242ae458cdf9 Author: Gavin Lambert Date: Wed Dec 6 11:57:53 2006 +1000 [PATCH] m68knommu: remove FP conditionals in ucontext struct The first patch is to the 2.6 kernel include file (for m68knommu), to get rid of the conditional definitions, otherwise the structures have different sizes depending on whether there's an FPU or not. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit a8b8d57c25eb61a04431324e1a41109925290512 Author: Greg Ungerer Date: Wed Dec 6 11:49:34 2006 +1000 [PATCH] m68knommu: ColdFire serial driver fixes Some updates for the old ColdFire serial driver: . support 3 and 4 UARTs on some ColdFire parts that have them . enable multifunction pins to serial for 527x CPU's . support the 5272 UART's fractional baud rate divisor . switch driver name to "mcfserial" Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit dcb14775493170ea60fb8b657b411cdc9532b7ee Author: Greg Ungerer Date: Wed Dec 6 11:43:14 2006 +1000 [PATCH] m68knommu: switch 68360 to using rtc_time Adds support for RTCs (through genrtc) for M68KNOMMU. Board-specific code will have to link the appropriate RTC driver to the mach_hwclk callback, at minimum. This patch switches the 68360 code over to using rtc_time. Signed-off-by: Gavin Lambert Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit deb77c8501f47ab228bf7cc7fd649e50603ed2cd Author: Greg Ungerer Date: Wed Dec 6 11:36:59 2006 +1000 [PATCH] m68knommu: fix timer register access on 523x ColdFire platforms The 523x timer TRR register is a full 32bits, the older register (on other ColdFire parts) was only 16 bits. Use the right type of __raw_read when accessing it. Problem found by Yaroslav Vinogradov Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit dd93e857fca0f6dedb8b0ffe61bf5096029963bb Author: Greg Ungerer Date: Wed Dec 6 11:36:13 2006 +1000 [PATCH] m68knommu: implement irq_canonicalize() Add a null definition for irq_canonicalize(). It is used in the gerneric serial subsystem code, can't compile without it. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 5340be59093d59826f4477a5f9991c762e4417e8 Author: Greg Ungerer Date: Wed Dec 6 11:35:16 2006 +1000 [PATCH] m68knommu: create rtc.h This adds support for RTCs (through genrtc) for M68KNOMMU. Board-specific code will have to link the appropriate RTC driver to the mach_hwclk callback, at minimum. Signed-off-by: Gavin Lambert Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 06328b4f7919e9d2169d45cadc5a37b828a78eda Author: David Howells Date: Wed Dec 6 15:02:26 2006 +0000 Actually update the fixed up compile failures. Signed-Off-By: David Howells commit 4796b71fbb907ce6b8a9acf1852d3646a80b4576 Merge: 6d5aefb... ec0bf39... Author: David Howells Date: Wed Dec 6 15:01:18 2006 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/pcmcia/ds.c Fix up merge failures with Linus's head and fix new compile failures. Signed-Off-By: David Howells commit ea0f8feaa041f3ccec3d6b8ee51325b177daef06 Author: Jamie Lenehan Date: Wed Dec 6 12:05:02 2006 +0900 sh: sh775x/titan fixes for irq header changes. The following moves the creation of IPR interupts into setup-7750.c and updates a few other things to make it all work after the "Drop CPU subtype IRQ headers" commit. It boots and runs fine on my titan board. - adds an ipr_idx to the ipr_data and uses a function in the subtype code to calculate the address of the IPR registers - adds a function to enable individual interrupt mode for externals in the subtype code and calls that from the titan board code instead of doing it directly. - I changed the shift in the ipr_data to be the actual # of bits to shift, instead of the numnber / 4 - made it easier to match with the manual. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit fe9687dec0400c6de7187ab5efa91facd958ca84 Author: Paul Mundt Date: Wed Dec 6 12:02:01 2006 +0900 sh: update r7780rp defconfig. Signed-off-by: Paul Mundt commit 65e5d90de6dba9975332dac4f849b81f663e16fa Author: Paul Mundt Date: Wed Dec 6 11:24:48 2006 +0900 sh: compile fixes for header cleanup. Since some header inclusion paths were cleaned up, compilation broke. Add in the headers we need directly to build again. Signed-off-by: Paul Mundt commit 5b67954e804465a4658dd4da8d52b87a8d1ea00c Author: Paul Mundt Date: Wed Dec 6 11:20:53 2006 +0900 sh: Fixup pte_mkhuge() build failure. When hugetlbpage support isn't enabled, this can be bogus. Wrap it back in _PAGE_FLAGS_HARD to avoid changes to the base PTE when not aiming for larger sizes. Signed-off-by: Paul Mundt commit f36af73304555849985b1fb5c0821c1bfab3a5a0 Author: Paul Mundt Date: Wed Dec 6 11:08:49 2006 +0900 sh: set KBUILD_IMAGE to something sensible. This was missing for sh too, wire it up.. Signed-off-by: Paul Mundt commit 9b8c90eb0d916f6802f8bbac79f61aca6ac533e8 Author: Paul Mundt Date: Wed Dec 6 11:07:51 2006 +0900 sh: show held locks in stack trace with lockdep. Follows the same change as other architectures.. Signed-off-by: Paul Mundt commit 0c020e3dfb9429a3b31669a5ac2b86dd675c1ad2 Author: Paul Mundt Date: Wed Dec 6 10:43:44 2006 +0900 sh: platform_pata support for R7780RP This adds a platform device for the directly connected CF interface on R7780RP boards, for use with the pata_platform libata driver. Signed-off-by: Paul Mundt commit afbfb52e47273a440df33274452c603e8c332de2 Author: Paul Mundt Date: Mon Dec 4 18:17:28 2006 +0900 sh: stacktrace/lockdep/irqflags tracing support. Wire up all of the essentials for lockdep.. Signed-off-by: Paul Mundt commit c03c69610bfa728805deceeb624ee4268c722a5a Author: Paul Mundt Date: Fri Dec 1 14:32:54 2006 +0900 sh: Fixup movli.l/movco.l atomic ops for gcc4. gcc4 gets a bit pissy about the outputs: include/asm/atomic.h: In function 'atomic_add': include/asm/atomic.h:37: error: invalid lvalue in asm statement include/asm/atomic.h:30: error: invalid lvalue in asm output 1 ... this ended up being a thinko anyways, so just fix it up. Verified for proper behaviour with the older toolchains, too. Signed-off-by: Paul Mundt commit bd156147eb63ae525e0ac67868e41a808f03c532 Author: Paul Mundt Date: Fri Dec 1 13:23:47 2006 +0900 sh: dyntick infrastructure. This adds basic NO_IDLE_HZ support to the SH timer API so timers are able to wire it up. Taken from the ARM version, as it fit in to our API with very few changes needed. Signed-off-by: Paul Mundt commit 1d118562c2067a42d0e8f70671a4ce27d7c6ffee Author: Paul Mundt Date: Fri Dec 1 13:15:14 2006 +0900 sh: Clock framework tidying. This syncs up the SH clock framework with the linux/clk.h API, for which there were only some minor changes required, namely the clk_get() dev_id and subsequent callsites. Signed-off-by: Paul Mundt commit e74b56800e78a10bc09b56a87831876a1d9d09ae Author: Paul Mundt Date: Fri Dec 1 13:12:05 2006 +0900 sh: Turn off IRQs around get_timer_offset() calls. Since all of the sys_timer sources currently do this on their own within the ->get_offset() path, it's more sensible to just have the caller take care of it when grabbing xtime_lock. Incidentally, this is more in line with what others (ie, ARM) are doing already. Signed-off-by: Paul Mundt commit bca7c20764c83a44c7b8b0831089922d56a3a9a2 Author: Paul Mundt Date: Fri Dec 1 12:14:11 2006 +0900 sh: Get the PGD right in oops case with 64-bit PTEs. Previously this was using a static pgd shift in the reporting code, simply flip this to PGDIR_SHIFT which does the right thing depending on varying PTE magnitudes on the SH-X2 MMU. While we're at it, and since it's been recently added, use get_TTB() for fetching the TTB, rather than the open coded instructions. Signed-off-by: Paul Mundt commit 9f650cf2b811cfb605f10483eeb1dc86f43cdbcb Author: Paul Mundt Date: Fri Dec 1 12:01:43 2006 +0900 sh: Fix store queue bitmap end. The end of the store queue bitmap is miscalculated when searching for a free range in sq_remap(), missing the PAGE_SHIFT shift that's done in sq_api_init(). This runs in to workloads where we can scan beyond the end of the bitmap. Spotted by Paul Jackson: http://marc.theaimsgroup.com/?l=linux-kernel&m=116493191224097&w Signed-off-by: Paul Mundt commit 6fc21b82ef74911887ced1aff8d37ce079bb8b36 Author: Paul Mundt Date: Mon Nov 27 12:10:23 2006 +0900 sh: More flexible + SH7780 earlyprintk SCIF support. This makes the early printk support somewhat more flexible, moving the port definition to a config option, and making the port initialization configurable for sh-ipl+g users. At the same time, this allows us to trivially wire up the SH7780 SCIF0, so that's thrown in too more or less for free. Signed-off-by: Paul Mundt commit 510c72ad2dd4e05e6908755f51ac89482c6eb987 Author: Paul Mundt Date: Mon Nov 27 12:06:26 2006 +0900 sh: Fixup various PAGE_SIZE == 4096 assumptions. There were a number of places that made evil PAGE_SIZE == 4k assumptions that ended up breaking when trying to play with 8k and 64k page sizes, this fixes those up. The most significant change is the way we load THREAD_SIZE, previously this was done via: mov #(THREAD_SIZE >> 8), reg shll8 reg to avoid a memory access and allow the immediate load. With a 64k PAGE_SIZE, we're out of range for the immediate load size without resorting to special instructions available in later ISAs (movi20s and so on). The "workaround" for this is to bump up the shift to 10 and insert a shll2, which gives a bit more flexibility while still being much cheaper than a memory access. Signed-off-by: Paul Mundt commit 1dc41e58a553e612e3d0349bb60eef08f9462bde Author: Paul Mundt Date: Fri Nov 24 19:46:18 2006 +0900 sh: Fixup 4K irq stacks. There was a clobber issue with the register we were saving the stack in, so we switch to a register that we handle in the clobber list properly already. This also follows the x86 changes for allowing the softirq checks from hardirq context. Signed-off-by: Paul Mundt commit db9b99d461ddbbaa43c1e3581b1677b82c960948 Author: Mark Glaisher Date: Fri Nov 24 15:13:52 2006 +0900 sh: dma-api channel capability extensions. This extends the SH DMA API for allowing handling of DMA channels based off of their respective capabilities. A couple of functions are added to the existing API, the core bits are register_chan_caps() for registering channel capabilities, and request_dma_bycap() for fetching a channel dynamically based off of a capability set. Signed-off-by: Mark Glaisher Signed-off-by: Paul Mundt commit e803aaf63a18b26668fbfbfd41c65527bcc10532 Author: Paul Mundt Date: Fri Nov 24 14:50:05 2006 +0900 sh: Drop name overload in dma-sh. Pass along the dev_id from request_dma() all the way down, rather than inserting an artificial name relating to the TEI line that we were doing before. This makes the line a bit less obvious, but dev_id is the proper behaviour for this regardless. Signed-off-by: Paul Mundt commit 49f860bb5db877a2c75642e7e19af40e3010afec Author: Paul Mundt Date: Fri Nov 24 14:48:14 2006 +0900 sh: Make dma-isa depend on ISA_DMA_API. Previously we linked in the ISA DMA wrapper unconditionally. As there are very few users of this, it's better to make it conditional. Signed-off-by: Paul Mundt commit 4dfc119f1c0723c54a20ff5ca4ea460ce7a4edb5 Author: Paul Mundt Date: Fri Nov 24 14:43:09 2006 +0900 sh: dma-sysfs fixes. Handle the case where no registered DMACs exist somewhat more gracefully. While we're at it, check for sysdev_create_file() failing. Signed-off-by: Paul Mundt commit e0969e0c9b609fdfe217e34f3e046179ffe88eb6 Author: Stuart Menefy Date: Fri Nov 24 13:01:36 2006 +0900 sh: Fix syscall tracing ordering. The implementation of system call tracing in the kernel has a couple of ordering problems: - the validity of the system call number is checked before calling out to system call tracing code, and should be done after - the system call number used when tracing is the one the system call was invoked with, while the system call tracing code can legitimatly change the call number (for example strace permutes fork into clone) This patch fixes both of these problems, and also reoders the code slightly to make the direct path through the code the common case. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit c9f0b1c1410e9e637b819c5050fc8c1f1971e178 Author: Stuart Menefy Date: Fri Nov 24 12:53:02 2006 +0900 sh: KSTK_EIP/KSTK_ESP consistency. Two of the fields in /proc/[number]/stat are documented in proc(5) as: kstkesp %lu The current value of esp (stack pointer), as found in the kernel stack page for the process. kstkeip %lu The current EIP (instruction pointer). The SH currently prints the the last SP and PC of the process inside the kernel, while most other archs use the last user space values. This patch modifes the SH to display the user space values. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 9b3a53ab76771e3669e50086c131e1574fe25847 Author: Stuart Menefy Date: Fri Nov 24 11:42:24 2006 +0900 sh: TLB miss fast-path optimizations. Handle simple TLB miss faults which can be resolved completely from the page table in assembler. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 9daa0c257d6c200b58092e0bfc32b77c4618a8af Author: Paul Mundt Date: Fri Nov 24 11:24:39 2006 +0900 sh: R7780RP push-switch support. This adds simple push-switch support for the RDBRP-1/RDBREVRP-1 debug boards found on the R7780RP-1. Signed-off-by: Paul Mundt commit 9f5e8eee5cfe1328660c71812d87c2a67bda389f Author: Paul Mundt Date: Fri Nov 24 11:22:57 2006 +0900 sh: generic push-switch framework. This adds support for a generic push switch framework. Adaptable for various switches, including GPIO switches and the push switches commonly found on Renesas debug boards. This allows switch states to be trivially reported through sysfs. Signed-off-by: Paul Mundt commit 99a596f93be10001c50894bcab69e458a49a3b8c Author: Stuart Menefy Date: Tue Nov 21 15:38:05 2006 +0900 sh: pmd rework. Remove extra bits from the pmd structure and store a kernel logical address rather than a physical address. This allows it to be directly dereferenced. Another piece of wierdness inherited from x86. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 6e4662ff49c6b94e16a47bfddb920576963b5a20 Author: Stuart Menefy Date: Tue Nov 21 13:53:44 2006 +0900 sh: Use MMU.TTB register as pointer to current pgd. Add TTB accessor functions and give it a sensible default value. We will use this later for optimizing the fault path. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit b5a1bcbee434b843c8850a968d9a6c7541f1be9d Author: Stuart Menefy Date: Tue Nov 21 13:34:04 2006 +0900 sh: Set up correct siginfo structures for page faults. Remove the previous saving of fault codes into the thread_struct as they are never used, and appeared to be inherited from x86. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit f0bc814cfbc212683c882e58b3d1afec6b3e3aa3 Author: Stuart Menefy Date: Tue Nov 21 11:16:57 2006 +0900 sh: gcc4 support. This fixes up the kernel for gcc4. The existing exception handlers needed some wrapping for pt_regs access, acessing the registers via a RELOC_HIDE() pointer. The strcpy() issues popped up here too, so add -ffreestanding and kill off the symbol export. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 53644087a607040a56d883df612b588814a56f11 Author: Paul Mundt Date: Tue Nov 21 11:12:19 2006 +0900 sh: Explicit endian selection support. Previously big endian was simply assumed if little endian was not set, which led to some cflags ordering issues. There's not much point to not having a big endian option, so shove one in a choice and wire it up in the Makefile. This lets us clean up some of the cflags ordering while we're at it. Signed-off-by: Paul Mundt commit 52e27782e1c4afa1feca0fdf194d279595e0431c Author: Paul Mundt Date: Tue Nov 21 11:09:41 2006 +0900 sh: p3map_sem sem2mutex conversion. Simple sem2mutex conversion for the p3map semaphores. Signed-off-by: Paul Mundt commit 21440cf04a64cd1b1209c12a6e1a3afba2a28709 Author: Paul Mundt Date: Mon Nov 20 14:30:26 2006 +0900 sh: Preliminary support for SH-X2 MMU. This adds some preliminary support for the SH-X2 MMU, used by newer SH-4A parts (particularly SH7785). This MMU implements a 'compat' mode with SH-X MMUs and an 'extended' mode for SH-X2 extended features. Extended features include additional page sizes (8kB, 4MB, 64MB), as well as the addition of page execute permissions. The extended mode attributes are placed in a second data array, which requires us to switch to 64-bit PTEs when in X2 mode. With the addition of the exec perms, we also overhaul the mmap prots somewhat, now that it's possible to handle them more intelligently. Signed-off-by: Paul Mundt commit b552c7e8bceae8a04ae79ecee6fa369c1ba4f8e4 Author: Paul Mundt Date: Mon Nov 20 14:14:29 2006 +0900 sh: Hook SH7785 in to the build system. Simple 7785 placeholders to start hooking up other bits of code. Signed-off-by: Paul Mundt commit 9a7ef6d59f9d4780ff5bc9c4d05266b52dcb9211 Author: Paul Mundt Date: Mon Nov 20 13:55:34 2006 +0900 sh: Drop CPU subtype IRQ headers. This drops the various IRQ headers that were floating around and primarily providing hardcoded IRQ definitions for the various CPU subtypes. This quickly got to be an unmaintainable mess, made even more evident by the subtle breakage introduced by the SH-2 and SH-2A changes. Now that subtypes are able to register IRQ maps directly, just rip all of the headers out. Signed-off-by: Paul Mundt commit 417528a2e35f46bc42721de5c4efd33a0eba019d Author: Paul Mundt Date: Mon Nov 20 11:18:30 2006 +0900 sh: Configurable timer IRQ. All of the various CPU subtypes currently hardcode TIMER_IRQ, switch this to a config option in the few places we need this. This allows further removal of hardcoded IRQ headers.. Signed-off-by: Paul Mundt commit 716067f28931d46b9f460acbeae1478a337e58ec Author: Paul Mundt Date: Tue Nov 7 10:29:23 2006 +0000 sh: Fixup entry-common path breakage for SH-3. The nommu patches broke the path for the common bits, get it building for the SH-3/4 case again. Signed-off-by: Paul Mundt commit 710ee0cc45d095f7697821b330a3f8280205c2be Author: Paul Mundt Date: Sun Nov 5 16:48:42 2006 +0900 sh: SE7206 build fixes. A number of API changes happened underneath the 7206 patches, update for everything that broke. Signed-off-by: Paul Mundt commit f36af3fd377081d3ac2ff6b63a60f8db8b3bf531 Author: Yoshinori Sato Date: Sun Nov 5 16:21:09 2006 +0900 sh: Add support for Solution Engine 7206 and 7619 boards. This adds support for the Solution Engine 7206 and 7619. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit b229632abd451ab2c797010b9788e48c9314db4f Author: Yoshinori Sato Date: Sun Nov 5 16:18:08 2006 +0900 sh: Add SH-2A platform headers. Mostly SH-2 wrappers.. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit de39840646a223ae13a346048c280b7c871bf56e Author: Yoshinori Sato Date: Sun Nov 5 16:15:19 2006 +0900 sh: Exception vector rework and SH-2/SH-2A support. This splits out common bits from the existing exception handler for use between SH-2/SH-2A and SH-3/4, and adds support for the SH-2/2A exceptions. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 0983b31849bbe1fe82520947acc1bec97c457d4b Author: Yoshinori Sato Date: Sun Nov 5 15:58:47 2006 +0900 sh: Wire up division and address error exceptions on SH-2A. SH-2A has special division hardware as opposed to a full-fledged FPU, wire up the exception handlers for this. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 9d4436a6fbc8c5eccdfcb8f5884e0a7b4a57f6d2 Author: Yoshinori Sato Date: Sun Nov 5 15:40:13 2006 +0900 sh: Add support for SH7206 and SH7619 CPU subtypes. This implements initial support for the SH7206 (SH-2A) and SH7619 (SH-2) MMU-less CPUs. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 720eeb4332e5871c97d390b2fb55a5a74fb18ae6 Author: Zhu Yi Date: Tue Dec 5 14:41:40 2006 +0800 [PATCH] ipw2200: Fix debug output endian issue Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 90c009ac30318e607d4f17ba1afb9cbac7fa2954 Author: Zhu Yi Date: Tue Dec 5 14:41:32 2006 +0800 [PATCH] ipw2200: Fix a typo Signed-off-by: Pascal Terjan Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit aac40ceb8ff72fff1d6d5ad2607d7b01045d59a6 Author: Zhu Yi Date: Tue Dec 5 14:41:24 2006 +0800 [PATCH] ipw2200: Update version stamp to 1.2.0 Signed-off-by: John W. Linville commit 4b1f8a99a2f5c6c25f04fc93272e5b9c18e82b99 Author: Zhu Yi Date: Tue Dec 5 14:42:14 2006 +0800 [PATCH] ipw2200: Add IEEE80211_RADIOTAP_TSFT for promiscuous mode The ipw2200 BSS firmware passes on the TSF information within ipw_rx_frame, but monitor firmware doesn't. I add back the IEEE80211_RADIOTAP_TSFT flags so that we can get the MAC timestamp if we use the rtap interface. We will see the MAC timestamp equals to zero if we capture the packets with a monitor mode interface. But this is the expected behaviour. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit cc8ce997d2a4e524b1acea44beaf5bcfefdb1bfe Author: Maxime Austruy Date: Sun Dec 3 10:40:01 2006 -0600 [PATCH] softmac: fix unbalanced mutex_lock/unlock in ieee80211softmac_wx_set_mlme Routine ieee80211softmac_wx_set_mlme has one return that fails to release a mutex acquired at entry. Signed-off-by: Maxime Austruy Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 2b50c24554d31c2db2f93b1151b5991e62f96594 Author: Ulrich Kunitz Date: Sun Dec 3 16:32:00 2006 +0100 [PATCH] softmac: Fixed handling of deassociation from AP In 2.6.19 a deauthentication from the AP doesn't start a reassociation by the softmac code. It appears that mac->associnfo.associating must be set and the ieee80211softmac_assoc_work function must be scheduled. This patch fixes that. Signed-off-by: Ulrich Kunitz Signed-off-by: John W. Linville commit e6e3f12ad713fb878baa8e8b5456874a7ac714d3 Author: Yan Burman Date: Sat Dec 2 13:38:14 2006 +0200 [PATCH] ipw2200: replace kmalloc+memset with kcalloc Replace kmalloc+memset with kcalloc Signed-off-by: Yan Burman Signed-off-by: John W. Linville commit b950e83b69a69f3db5ae64ab70b336886855517f Author: Yan Burman Date: Sat Dec 2 13:35:20 2006 +0200 [PATCH] prism54: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: John W. Linville commit b0471bb7b779f5deea109e5bfdfe8c18d4a06241 Author: Yan Burman Date: Sat Dec 2 13:33:40 2006 +0200 [PATCH] hostap: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: John W. Linville commit 9cdac9657fda58ae39c2bbc8be396f5530ed8398 Author: Ulrich Kunitz Date: Fri Dec 1 00:58:07 2006 +0000 [PATCH] zd1211rw: Support for multicast addresses Support for multicast adresses is implemented by supporting the set_multicast_list() function of the network device. Address filtering is supported by a group hash table in the device. This is based on earlier work by Benoit Papillaut. Fixes multicast packet reception and ipv6 connectivity: http://bugzilla.kernel.org/show_bug.cgi?id=7424 http://bugzilla.kernel.org/show_bug.cgi?id=7425 Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit ff9b99bcccee8449afd23ddc28f8b4b7aec996ea Author: Daniel Drake Date: Fri Dec 1 00:57:11 2006 +0000 [PATCH] zd1211rw: Fill enc_capa in GIWRANGE handler This is needed for NetworkManager users to connect to WPA networks. Pointed out by Matthew Campbell. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 383956a9c59157db4c404d1c8bb9074b8dfe3ee0 Author: Daniel Drake Date: Fri Dec 1 00:56:50 2006 +0000 [PATCH] zd1211rw: zd_mac_rx isn't always called in IRQ context e.g. usb 1-7: rx_urb_complete() *** first fragment *** usb 1-7: rx_urb_complete() *** second fragment *** drivers/net/wireless/zd1211rw/zd_mac.c:1063 ASSERT (((current_thread_info()->preempt_count) & (((1UL << (12))-1) << ((0 + 8) + 8)))) VIOLATED! [] zd_mac_rx+0x3e7/0x47a [zd1211rw] [] rx_urb_complete+0x22d/0x24a [zd1211rw] [] urb_destroy+0x0/0x5 [] kref_put+0x65/0x72 [] usb_hcd_giveback_urb+0x28/0x57 [] qh_completions+0x296/0x2f6 [] ehci_urb_done+0x70/0x7a [] qh_completions+0x73/0x2f6 [] ehci_work+0x98/0x538 Remove the bogus assertion, and use dev_kfree_skb_any as pointed out by Ulrich Kunitz. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit ec0bf39a471bf6fcd01def2bd677128cea940b73 Merge: bf83c2a... d32adcb... Author: Linus Torvalds Date: Tue Dec 5 16:09:46 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (73 commits) [SCSI] aic79xx: Add ASC-29320LPE ids to driver [SCSI] stex: version update [SCSI] stex: change wait loop code [SCSI] stex: add new device type support [SCSI] stex: update device id info [SCSI] stex: adjust default queue length [SCSI] stex: add value check in hard reset routine [SCSI] stex: fix controller_info command handling [SCSI] stex: fix biosparam calculation [SCSI] megaraid: fix MMIO casts [SCSI] tgt: fix undefined flush_dcache_page() problem [SCSI] libsas: better error handling in sas_expander.c [SCSI] lpfc 8.1.11 : Change version number to 8.1.11 [SCSI] lpfc 8.1.11 : Misc Fixes [SCSI] lpfc 8.1.11 : Add soft_wwnn sysfs attribute, rename soft_wwn_enable [SCSI] lpfc 8.1.11 : Removed decoding of PCI Subsystem Id [SCSI] lpfc 8.1.11 : Add MSI (Message Signalled Interrupts) support [SCSI] lpfc 8.1.11 : Adjust LOG_FCP logging [SCSI] lpfc 8.1.11 : Fix Memory leaks [SCSI] lpfc 8.1.11 : Fix lpfc_multi_ring_support ... commit bf83c2a315637dee8a8b5c2221ce5030cc38c6db Merge: e624386... 40a0017... Author: Linus Torvalds Date: Tue Dec 5 15:52:06 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: [PATCH] pcmcia: at91_cf update [PATCH] pcmcia: fix m32r_cfc.c compilation [PATCH] pcmcia: ds.c debug enhancements [PATCH] pcmcia: at91_cf update [PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation [PATCH] pcmcia: remove prod_id indirection [PATCH] pcmcia: remove manf_id and card_id indirection [PATCH] pcmcia: IDs for Elan serial PCMCIA devcies [PATCH] pcmcia: allow for four multifunction subdevices [PATCH] pcmcia: handle __copy_from_user() return value in ioctl [PATCH] pcmcia: multifunction card handling fixes [PATCH] pcmcia: allow shared IRQs on pd6729 sockets [PATCH] pcmcia: start over after CIS override [PATCH] cm4000_cs: fix return value check [PATCH] pcmcia: yet another IDE ID [PATCH] pcmcia: Add an id to ide-cs.c commit d32adcb85c74fd81963714689842993e7014515f Author: Salyzyn, Mark Date: Tue Dec 5 14:37:30 2006 -0500 [SCSI] aic79xx: Add ASC-29320LPE ids to driver Simple patch to add the new PCIe version of the 29320 card. Signed-off: Mark Salyzyn Signed-off-by: James Bottomley commit 6d5aefb8eaa38e44b5b8cf60c812aceafc02d924 Author: David Howells Date: Tue Dec 5 19:36:26 2006 +0000 WorkQueue: Fix up arch-specific work items where possible Fix up arch-specific work items where possible to use the new work_struct and delayed_work structs. Three places that enqueue bits of their stack and then return have been marked with #error as this is not permitted. Signed-Off-By: David Howells commit 887bc5d00c02b32763845247024e8db5243ef857 Author: Steven Whitehouse Date: Tue Dec 5 13:34:17 2006 -0500 [GFS2] Fix indent in recovery.c As per comments from Andrew Morton and Jan Engelhardt, this fixes the indent and removes the "static" from a variable declaration since its not needed in this case (now allocated on the stack of the function in question). Signed-off-by: Steven Whitehouse Cc: Jan Engelhardt Cc: Andrew Morton commit febb631c11d450473a1648a4b808ab3bb9f139cb Author: Ed Lin Date: Mon Dec 4 17:49:46 2006 -0800 [SCSI] stex: version update Update version to 3.1.0.1 Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 76fbf96f82636c8cdc40485506c50c880fd45a56 Author: Ed Lin Date: Mon Dec 4 17:49:42 2006 -0800 [SCSI] stex: change wait loop code The original wait loop may be much longer than intended time. Use more accurate timer_after for it. Also adjust wait value to avoid unnecessary long waiting. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 94e9108b5ad8da9c02ebf5183b861f1717409555 Author: Ed Lin Date: Mon Dec 4 17:49:39 2006 -0800 [SCSI] stex: add new device type support Add support for st_vsc1 type device (st_vsc is ok because it does not require extra buffer). Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit ee926b27a01da1c1f0f0017c0e6af6e4fd6c05b5 Author: Ed Lin Date: Mon Dec 4 17:49:36 2006 -0800 [SCSI] stex: update device id info - add comments for various devices - remove unused device ids(0xf350, 0x4301, 0x8301, 0x8302) - add new device id(0xe350) - fix vendor id of st_vsc - modify Kconfig help info Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 529e7a62c8016ab7d3ef4ef6d39de23c0569781f Author: Ed Lin Date: Mon Dec 4 17:49:34 2006 -0800 [SCSI] stex: adjust default queue length Firmware of new version may adjust default queue length. It is backward compatible. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 47c4f997c7bd9ab142c65950317232728b921aa0 Author: Ed Lin Date: Mon Dec 4 17:49:31 2006 -0800 [SCSI] stex: add value check in hard reset routine During hard reset, an all-1 value from PCI_COMMAND should be invalid. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 4eea9dc45fa7feb42e6dce32d94ea9ea4d64e40b Author: Ed Lin Date: Mon Dec 4 17:49:28 2006 -0800 [SCSI] stex: fix controller_info command handling This command needs information from both firmware and driver. First copy information from firmware to buffer, then fill in driver information. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit b4b8bed12345bc03dfcef80cbbe78582429b063c Author: Ed Lin Date: Mon Dec 4 17:49:24 2006 -0800 [SCSI] stex: fix biosparam calculation Fix biosparam calculation. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 9db73724453a9350e1c22dbe732d427e2939a5c9 Merge: 4c1ac1b... e624386... Author: David Howells Date: Tue Dec 5 17:01:28 2006 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/ata/libata-scsi.c include/linux/libata.h Futher merge of Linus's head and compilation fixups. Signed-Off-By: David Howells commit 00769ec40074b753c9b218c2ccaba2bfbfffe056 Author: Jeff Garzik Date: Sun Dec 3 20:49:23 2006 -0500 [SCSI] megaraid: fix MMIO casts megaraid's MMIO RD*/WR* macros directly call readl() and writel() with an 'unsigned long' argument. This throws a warning, but is otherwise OK because the 'unsigned long' is really the result of ioremap(). This setup is also OK because the variable can hold an ioremap cookie /or/ a PCI I/O port (PIO). However, to fix the warning thrown when readl() and writel() are passed an unsigned long cookie, I introduce 'void __iomem *mmio_base', holding the same value as 'base'. This will silence the warnings, and also cause an oops whenever these MMIO-only functions are ever accidentally passed an I/O address. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit e42ebefee15894522f3a84045887573ebc9b764e Author: akpm@osdl.org Date: Mon Dec 4 23:06:48 2006 -0800 [SCSI] tgt: fix undefined flush_dcache_page() problem drivers/scsi/scsi_tgt_if.c: In function 'tgt_uspace_send_event': drivers/scsi/scsi_tgt_if.c:88: warning: implicit declaration of function 'flush_dcache_page' Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 4c1ac1b49122b805adfa4efc620592f68dccf5db Merge: c402895... d916faa... Author: David Howells Date: Tue Dec 5 14:37:56 2006 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/infiniband/core/iwcm.c drivers/net/chelsio/cxgb2.c drivers/net/wireless/bcm43xx/bcm43xx_main.c drivers/net/wireless/prism54/islpci_eth.c drivers/usb/core/hub.h drivers/usb/input/hid-core.c net/core/netpoll.c Fix up merge failures with Linus's head and fix new compilation failures. Signed-Off-By: David Howells commit bf8c80a6a5153e7f170f240731c650eeed6d78ff Author: Yoichi Yuasa Date: Tue Dec 5 07:43:38 2006 +0100 mmc: fix au1xmmc build error This patch has fixed the following build error abou au1xmmc. drivers/mmc/au1xmmc.c: In function `au1xmmc_poll_event': drivers/mmc/au1xmmc.c:835: warning: unused variable `status' drivers/mmc/au1xmmc.c: At top level: drivers/mmc/au1xmmc.c:878: error: parse error before "const" drivers/mmc/au1xmmc.c: In function `au1xmmc_probe': drivers/mmc/au1xmmc.c:909: error: `au1xmmc_ops' undeclared (first use in this function) drivers/mmc/au1xmmc.c:909: error: (Each undeclared identifier is reported only once drivers/mmc/au1xmmc.c:909: error: for each function it appears in.) drivers/mmc/au1xmmc.c: At top level: drivers/mmc/au1xmmc.c:659: warning: 'au1xmmc_request' defined but not used drivers/mmc/au1xmmc.c:719: warning: 'au1xmmc_set_ios' defined but not used make[2]: *** [drivers/mmc/au1xmmc.o] Error 1 make[1]: *** [drivers/mmc] Error 2 make: *** [drivers] Error 2 Signed-off-by: Yoichi Yuasa Signed-off-by: Pierre Ossman commit 9e86619b6d58806d1a8b67c12c5e3e3a74818fb6 Author: Sascha Hauer Date: Tue Dec 5 07:41:09 2006 +0100 mmc: pxamci compilation fix since commit fcaf71fd51f9cfc504455d3e19ec242e4b2073ed struct mmc_host does not have a dev field. Retrieve the device with mmc_dev() instead. Signed-off-by: Sascha Hauer Signed-off-by: Pierre Ossman commit e62438630ca37539c8cc1553710bbfaa3cf960a7 Author: Matthew Wilcox Date: Mon Dec 4 03:38:31 2006 -0700 [PATCH] Centralise definitions of sector_t and blkcnt_t CONFIG_LBD and CONFIG_LSF are spread into asm/types.h for no particularly good reason. Centralising the definition in linux/types.h means that arch maintainers don't need to bother adding it, as well as fixing the problem with x86-64 users being asked to make a decision that has absolutely no effect. The H8/300 porters seem particularly confused since I'm not aware of any microcontrollers that need to support 2TB filesystems. Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit 2d941e99dfa2f58f4cf294943274a4f8e264aab7 Merge: 651857a... a863055... Author: Linus Torvalds Date: Mon Dec 4 19:38:30 2006 -0800 Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block * 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block: [PATCH] blktrace: don't return blktrace_seq from trace_note() [PATCH] blktrace: uninline trace_note() commit 651857a1ecaf97a8ad9d324dd2a61675c53e541e Merge: ee28b0d... d38eb8d... Author: Linus Torvalds Date: Mon Dec 4 19:33:45 2006 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (31 commits) ocfs2: implement i_op->permission configfs: make configfs_dirent_exists() static ocfs2: update file system paths to set atime ocfs2: core atime update functions ocfs2: Add splice support ocfs2: Remove ocfs2_write_should_remove_suid() [PATCH] Export should_remove_suid() configfs: mutex_lock_nested() fix ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t ocfs2: remove handle argument to ocfs2_start_trans() ocfs2: remove ocfs2_journal_handle journal field ocfs2: pass ocfs2_super * into ocfs2_commit_trans() ocfs2: remove unused handle argument from ocfs2_meta_lock_full() ocfs2: make ocfs2_alloc_handle() static ocfs2: remove unused ocfs2_handle_add_lock() ocfs2: remove unused ocfs2_handle_add_inode() ocfs2: Don't allocate handle early in ocfs2_rename() ocfs2: don't use handle for locking in allocation functions ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_rename() ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_symlink() ... commit ee28b0da1069ced1688aa9d0b7b378353b988321 Author: Al Viro Date: Mon Dec 4 22:05:09 2006 +0000 [PATCH] remote memory corruptor in ibmtr.c ip_summed changes last summer had missed that one. As the result, we have ip_summed interpreted as CHECKSUM_PARTIAL now. IOW, ->csum is interpreted as offset of checksum in the packet. net/core/* will both read and modify the value as that offset, with obvious reasons. At the very least it's a remote memory corruptor. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 87fcd70d983d30eca4b933fff2e97d9a31743d0a Author: Al Viro Date: Mon Dec 4 22:00:55 2006 +0000 [PATCH] selinux endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 91f433cacc9d1ae95ae46ce26d7bcf3a724c72d0 Merge: 15a4cb9... 0004a9d... Author: Linus Torvalds Date: Mon Dec 4 19:23:34 2006 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Cleanup memory barriers for weakly ordered systems. [MIPS] Alchemy: Automatically enable CONFIG_RESOURCES_64BIT for PCI configs. [MIPS] Unify csum_partial.S [MIPS] SWARM: Fix a typo in #error directives [MIPS] Fix atomic.h build errors. [MIPS] Use SYSVIPC_COMPAT to fix various problems on N32 [MIPS] klconfig add missing bracket commit 15a4cb9c25df05a5d4844e80a1aea83d66165868 Merge: ff51a98... d8594d6... Author: Linus Torvalds Date: Mon Dec 4 19:22:33 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc * master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc: (194 commits) [POWERPC] Add missing EXPORTS for mpc52xx support [POWERPC] Remove obsolete PPC_52xx and update CLASSIC32 comment [POWERPC] ps3: add a default zImage target [POWERPC] Add of_platform_bus support to mpc52xx psc uart driver [POWERPC] typo fix and whitespace cleanup on mpc52xx-uart driver [POWERPC] Fix debug printks for 32-bit resources in the PCI code [POWERPC] Replace kmalloc+memset with kzalloc [POWERPC] Linkstation / kurobox support [POWERPC] Add the e300c3 core to the CPU table. [POWERPC] ppc: m48t35 add missing bracket [POWERPC] iSeries: don't build head_64.o unnecessarily [POWERPC] iSeries: stop dt_mod.o being rebuilt unnecessarily [POWERPC] Fix cputable.h for combined build [POWERPC] Allow CONFIG_BOOTX_TEXT on iSeries [POWERPC] Allow xmon to build on legacy iSeries [POWERPC] Change ppc64_defconfig to use AUTOFS_V4 not V3 [POWERPC] Tell firmware we can handle POWER6 compatible mode [POWERPC] Clean images in arch/powerpc/boot [POWERPC] Fix OF pci flags parsing [POWERPC] defconfig for lite5200 board ... commit 40a0017eb89c4c5a4bf81523edd867d730c9f143 Author: Andrew Victor Date: Mon Dec 4 12:26:36 2006 +0200 [PATCH] pcmcia: at91_cf update This is an update to the AT91 CompactFlash driver. We replace the hard-coded "chip select 4" with the chip-select value passed via platform_data. The configuration of the EBI memory controller to enable Compact Flash access is now also handled in the platform setup code and not in the driver. Signed-off-by: Andrew Victor Signed-off-by: Dominik Brodowski commit 1dd997f8fa5d52a473c77201a96efe3b66abc3d8 Author: Adrian Bunk Date: Sat Dec 2 18:55:06 2006 +0100 [PATCH] pcmcia: fix m32r_cfc.c compilation More fallout of the post 2.6.19-rc1 IRQ changes... Signed-off-by: Adrian Bunk Signed-off-by: Dominik Brodowski commit d9d9ea0169e657a01c3717291d0614220dc0ff9e Author: Dominik Brodowski Date: Sat Dec 2 22:11:44 2006 +0200 [PATCH] pcmcia: ds.c debug enhancements Add verbose error messages and debug information to ds.c Signed-off-by: Dominik Brodowski commit ebe5cfb3b9f0207ea1f4a0c24bf504deb19a37cc Author: Andrew Victor Date: Mon Nov 6 15:56:07 2006 +0200 [PATCH] pcmcia: at91_cf update This is an update to the AT91RM9200 CompactFlash driver. The changes include: - Use the I/O memory address passed via the platform_device resources instead of constant global values. - The IRQ should not be used as a random'ness source. - Return errors if ioremap() or request_mem_region() fails. Signed-off-by: Andrew Victor Signed-off-by: Dominik Brodowski commit af2b3b503ad1b071b66e1531caae252b4b95c847 Author: Dominik Brodowski Date: Wed Oct 25 21:49:27 2006 -0400 [PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation struct pcmcia_device *p_dev->conf.ConfigBase and .Present are set in almost all PCMICA driver right at the beginning, using the same calls but slightly different implementations. Unfiy this in the PCMCIA core. Includes a small bugfix ("drivers/net/pcmcia/xirc2ps_cs.c: remove unused label") from and Signed-off-by Adrian Bunk Signed-off-by: Dominik Brodowski commit a9606fd39083478bef313c0e3b77bc065e39e36e Author: Dominik Brodowski Date: Sun Jun 4 18:06:13 2006 +0200 [PATCH] pcmcia: remove prod_id indirection As we read out the product information strings (VERS_1) from the PCMCIA device in the PCMCIA core, and device drivers can access those reliably in struct pcmcia_device's fields prod_id[], remove additional product information string detection logic from PCMCIA device drivers. Signed-off-by: Dominik Brodowski commit efd50585e2ff9bd60e044fda7764d323010a7fe4 Author: Dominik Brodowski Date: Wed Oct 25 21:28:53 2006 -0400 [PATCH] pcmcia: remove manf_id and card_id indirection As we read out the manufactor and card_id from the PCMCIA device in the PCMCIA core, and device drivers can access those reliably in struct pcmcia_device's fields manf_id and card_id, remove additional (and partly broken) manf_id and card_id detection logic from PCMCIA device drivers. Signed-off-by: Dominik Brodowski commit 44e5e33e99e1b955ac6f0bb26abd9380629b48a9 Author: Tony Olech Date: Wed Nov 29 08:54:51 2006 +0000 [PATCH] pcmcia: IDs for Elan serial PCMCIA devcies Add IDs for Elan serial PCMCIA devices. In addition, move the pdaudio_cf driver from matching based on manf_id and card_id to the more specific prod_id1 and prod_id2 to avoid false positives. Signed-off-by: Tony Olech Signed-off-by: Dominik Brodowski commit 6cf5be5112ecc5b0bded73bd2a64c1d46e4f6b8c Author: Dominik Brodowski Date: Mon Nov 27 21:03:48 2006 -0500 [PATCH] pcmcia: allow for four multifunction subdevices Some Elan serial cards allow for four (independent) multifunction subdevices. Teach the PCMCIA core to deal with such devices. Signed-off-by: Dominik Brodowski commit 9374074f9b8bfe15bd5860019d07d967507c2bb6 Author: Dominik Brodowski Date: Sun Nov 19 11:21:27 2006 -0500 [PATCH] pcmcia: handle __copy_from_user() return value in ioctl Handle __copy_from_user() return value. drivers/pcmcia/pcmcia_ioctl.c:597: warning: ignoring return value of '__copy_from_user', declared with attribute warn_unused_result Noticed and first fix by Randy Dunlap. Signed-off-by: Dominik Brodowski commit 1d2c90425d5b0dcbf4a0fab2053d5087758b76a0 Author: Dominik Brodowski Date: Mon Nov 6 21:52:16 2006 -0500 [PATCH] pcmcia: multifunction card handling fixes s->functions needs to be initialized earlier, for the "let's see how high it increases" approach means that pcmcia_request_irq() (which makes use of this value) is confused, and might request an exclusive IRQ first even though it is not supposed to. Also, a CIS override autoloaded using the firmware loader may allow for the use of more or less functions in a multifunction card. Therefore, we may need to schedule a call to add this second function later on, or simply remove the other function (it's always the first -valid- function which reaches this codepath). Many thanks to Fabrice Bellet for debugging and testing patches. Signed-off-by: Dominik Brodowski commit 3e022d0c77e159a59d3ebfc44ad76a05202c2a6b Author: Komuro Date: Sat Nov 4 10:00:47 2006 +0900 [PATCH] pcmcia: allow shared IRQs on pd6729 sockets Use IRQF_PROBE_SHARED flag for request_irq() to find an unused interrupt for PCMCIA cards. Signed-off-by: Komuro Signed-off-by: Dominik Brodowski commit 4ae1cbf17d14ba6fd316a94b290ea4e741cba15c Author: Dominik Brodowski Date: Fri Nov 3 10:54:00 2006 -0500 [PATCH] pcmcia: start over after CIS override When overriding the CIS, re-start the configuration of the card from scratch. Reported and debugged by Fabrice Bellet Signed-off-by: Dominik Brodowski commit 5eb5fc97d83ee1f8fcf3490bb81ad14a99fc544c Author: Akinobu Mita Date: Tue Oct 17 15:25:59 2006 +0900 [PATCH] cm4000_cs: fix return value check The return value of class_create() need to be checked with IS_ERR(). And register_chrdev() returns errno on failure. This patch includes these fixes for cm4000_cs and cm4040_cs. Signed-off-by: Akinbou Mita Signed-off-by: Harald Welte Signed-off-by: Dominik Brodowski commit 0517793fa8f98e6f30406b1811ea0312bca3a414 Author: Marcin Juszkiewicz Date: Mon Oct 30 22:28:09 2006 +0100 [PATCH] pcmcia: yet another IDE ID Microdrive reported by one of OpenEmbedded developers. product info: "WEIDA", "TWTTI", "" manfid: 0x000a, 0x0000 function: 4 (fixed disk) (equivalent update to pata_pcmcia.c by Dominik Brodowski) Signed-off-by: Marcin Juszkiewicz Signed-off-by: Dominik Brodowski commit bf4e18294ff9b1cee3c71b0d9ad161dc304b7b82 Author: Matt Reimer Date: Thu Oct 26 15:56:00 2006 -0700 [PATCH] pcmcia: Add an id to ide-cs.c Add an ID entry for: product info: "TRANSCEND", "TS1GCF80", "", "" manfid: 0x000a, 0x0000 function: 4 (fixed disk) Signed-off-by: Matt Reimer Signed-off-by: Dominik Brodowski commit d8594d639135b500bf6010f981ea854092d54030 Author: Grant Likely Date: Mon Dec 4 17:29:12 2006 -0700 [POWERPC] Add missing EXPORTS for mpc52xx support Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 650f3289f40e9c2789ecb22683d140a05448f71b Author: Grant Likely Date: Mon Dec 4 17:29:13 2006 -0700 [POWERPC] Remove obsolete PPC_52xx and update CLASSIC32 comment The support for the 52xx-based systems is now included under CONFIG_CLASSIC32, since the 52xx chips have a 603e-based core. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 8a8944aab2e4b02550c29c45a0383dd4096dd989 Author: Geoff Levand Date: Mon Dec 4 16:11:38 2006 -0800 [POWERPC] ps3: add a default zImage target Add a powerpc make target that can be loaded by the ps3 bootloader (kboot) and set this as the default image to build for that platform. Until the compressed zImage wrapper is made, this arranges for a stripped vmlinux image to be built. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ed25ffa16434724f5ed825aa48734c7f3aefa203 Author: Amit S. Kale Date: Mon Dec 4 09:23:25 2006 -0800 [PATCH] NetXen: multiport firmware support, ioctl interface NetXen: 1G/10G Ethernet driver updates - Multiport and newer firmware support - ioctl interface for user level tools - Cast error fix for multiport Signed-off-by: Amit S. Kale netxen_nic.h | 281 +++++++++++++++++++++++++------- netxen_nic_ethtool.c | 12 - netxen_nic_hw.c | 429 +++++++++++++++++++++++++++++++++++++++++--------- netxen_nic_init.c | 301 ++++++++++++++++++++++++++++++----- netxen_nic_ioctl.h | 2 netxen_nic_isr.c | 3 netxen_nic_main.c | 260 ++++++++++++++++++------------ netxen_nic_niu.c | 22 +- netxen_nic_phan_reg.h | 228 ++++++++++++++++---------- 9 files changed, 1161 insertions(+), 377 deletions(-) Signed-off-by: Jeff Garzik commit 80922fbcb6f00127e91580e7565bb665947ac5d3 Author: Amit S. Kale Date: Mon Dec 4 09:18:00 2006 -0800 [PATCH] NetXen: whitespace cleaup and more cleanup fixes Signed-off-by: Amit S. Kale netxen_nic.h | 56 ++++++++++++++++++++-------------------------- netxen_nic_ethtool.c | 53 +++++++++++++++++++++----------------------- netxen_nic_hdr.h | 6 ++--- netxen_nic_hw.c | 54 +++++++++++++++++++++------------------------ netxen_nic_hw.h | 10 ++++---- netxen_nic_init.c | 61 +++++++++++++++++++++++++-------------------------- netxen_nic_ioctl.h | 6 ++--- netxen_nic_isr.c | 48 +++++++++++++++++----------------------- netxen_nic_main.c | 54 +++++++++++++++++---------------------------- netxen_nic_niu.c | 10 ++++---- 10 files changed, 165 insertions(+), 193 deletions(-) Signed-off-by: Jeff Garzik commit 59dc76a4e3bed66f5be474dcdc81cc39c7290cec Author: Mariusz Kozlowski Date: Mon Dec 4 15:04:56 2006 -0800 [PATCH] net: smc91x add missing bracket Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 043d58064ac6556a3abd3a74201831f3e9a5b6e8 Author: Mariusz Kozlowski Date: Mon Dec 4 15:04:56 2006 -0800 [PATCH] sk98lin debug build fix Fix parenthesis mismatch. Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit e8f7f7f11d07c3fe3316d57790bae4c561064c33 Author: Maciej W. Rozycki Date: Mon Dec 4 15:04:55 2006 -0800 [PATCH] declance: Support the I/O ASIC LANCE w/o TURBOchannel The onboard LANCE of I/O ASIC systems is not a TURBOchannel device, at least from the software point of view. Therefore it does not rely on any kernel TURBOchannel bus services and can be supported even if support for TURBOchannel has not been enabled in the configuration. Tested with the onboard LANCE of a DECstation 5000/133. Signed-off-by: Maciej W. Rozycki Cc: Jeff Garzik Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3b6e8fe7eca12fca2cc7fde46ba2a94a86ab0815 Author: Maciej W. Rozycki Date: Mon Dec 4 15:04:54 2006 -0800 [PATCH] declance: Fix PMAX and PMAD support The shared buffer used by the LANCE on the PMAX only supports halfword (16-bit) accesses. And the PMAD has the buffer wired differently. This is a change to fix these issues. Tested with a DECstation 2100 (thanks Flo for making this possible) and a DECstation 5000/133 (both the PMAD and the onboard LANCE). Signed-off-by: Maciej W. Rozycki Cc: Jeff Garzik Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4e1400796c93df5e7f92d766e4a4332d0c98795f Author: Andy Gospodarek Date: Mon Dec 4 15:04:54 2006 -0800 [PATCH] bonding: incorrect bonding state reported via ioctl This is a small fix-up to finish out the work done by Jay Vosburgh to add carrier-state support for bonding devices. The output in /proc/net/bonding/bondX was correct, but when collecting the same info via an iotcl it could still be incorrect. Signed-off-by: Andy Gospodarek Cc: Jeff Garzik Cc: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 33fee56ae846cdee67d2ab6d14c3baa879dfc794 Author: Deepak Saxena Date: Mon Dec 4 15:04:46 2006 -0800 [PATCH] Update smc91x driver with ARM Versatile board info We need to specify a Versatile-specific SMC_IRQ_FLAGS value or the new generic IRQ layer will complain thusly: No IRQF_TRIGGER set_type function for IRQ 25 () Signed-off-by: Deepak Saxena Cc: Jeff Garzik Cc: Russell King Cc: Nicolas Pitre On Fri, 20 Oct 2006 22:50:40 +0100 Russell King wrote: > On Fri, Oct 20, 2006 at 02:42:04PM -0700, akpm@osdl.org wrote: > > We need to specify a Versatile-specific SMC_IRQ_FLAGS value or the new > > generic IRQ layer will complain thusly: > > I don't think I heard anything back from my previous suggestion that > the IRQ flags are passed through the platform device IRQ resource. > > Doing so would avoid adding yet another platform specific block into > the file. > > BTW, Integrator platforms will also suffer from this, which will add > another ifdef to this header. > > Let's do it right and arrange to pass these flags from the platform > code. It's not like they're in a critical path. Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2ad657c88d8b3c1f97c1b8cc474b6307ba7f8509 Merge: ff51a98... c69fda4... Author: Jeff Garzik Date: Mon Dec 4 18:27:43 2006 -0500 Merge branch 'netdev-2.6.20' of master.kernel.org:/pub/scm/linux/kernel/git/viro/bird into tmp commit b9272dfdfe6b13120144eabf79d562d9a29ad5ce Author: Grant Likely Date: Mon Nov 27 14:21:02 2006 -0700 [POWERPC] Add of_platform_bus support to mpc52xx psc uart driver Needed to support mpc52xx boards in arch/powerpc. This patch retains the platform_bus support when compiling for arch/ppc, but uses the of_platform bindings for arch/powerpc. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 9b9129e73985fe31ee6fd6a5d9f04219d127c186 Author: Grant Likely Date: Mon Nov 27 14:21:01 2006 -0700 [POWERPC] typo fix and whitespace cleanup on mpc52xx-uart driver Single typo fix and whitespace changes. In preparation for heavy changes to this driver when support for arch/powerpc is added. Since the driver will be changing significantly anyway, then may as well take the opportunity to clean it up first. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 0004a9dfeaa709a7f853487aba19932c9b1a87c8 Author: Ralf Baechle Date: Tue Oct 31 03:45:07 2006 +0000 [MIPS] Cleanup memory barriers for weakly ordered systems. Also the R4000 / R4600 LL/SC instructions imply a sync so no explicit sync needed. Signed-off-by: Ralf Baechle commit 08f57f7ffe5819e537301b1f1109fa4fc670bfff Author: Ralf Baechle Date: Sun Dec 3 19:55:45 2006 +0000 [MIPS] Alchemy: Automatically enable CONFIG_RESOURCES_64BIT for PCI configs. Signed-off-by: Ralf Baechle commit 0bcdda0f3a87ed684d46841b6069409e39c4af65 Author: Atsushi Nemoto Date: Mon Dec 4 00:42:59 2006 +0900 [MIPS] Unify csum_partial.S The 32-bit version and 64-bit version are almost equal. Unify them. This makes further improvements (for example, copying with parallel, supporting PREFETCH, etc.) easier. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 03dbd2e0b1dcb24d63f64aa234cce3a7fabed328 Author: Maciej W. Rozycki Date: Thu Nov 30 13:45:32 2006 +0000 [MIPS] SWARM: Fix a typo in #error directives This is a fix for a typo repeated several times in #error directives for invalid SiByte configurations. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 4f8b5c70967de5fd27f2092f1f8da47f4705bb67 Author: Ralf Baechle Date: Thu Nov 30 15:38:10 2006 +0000 [MIPS] Fix atomic.h build errors. For the definition of atomic64_t atomic.h was relying on having been included previously. Before changeset d89d8e0637a5e4e0a12e90c4bc934d0d4c335239 this was happening as a side effect of including . Signed-off-by: Ralf Baechle commit 05e4396651ca1cac51d8da9ff4992741c9dc1e39 Author: Atsushi Nemoto Date: Tue Nov 7 18:02:44 2006 +0900 [MIPS] Use SYSVIPC_COMPAT to fix various problems on N32 N32 SysV IPC system calls should use 32-bit compatible code. arch/mips/kernel/linux32.c have similar compatible code for O32, but ipc/compat.c seems more complete. We can use it for both N32 and O32. This patch should fix these problems (and other possible problems): http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=1149188824.6986.6.camel%40diimka-laptop http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=44C6B829.8050508%40caviumnetworks.com Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9567772f14f6d2692ea88ddc111a5a6b352fd512 Author: Mariusz Kozlowski Date: Thu Nov 30 10:16:29 2006 +0100 [MIPS] klconfig add missing bracket Signed-off-by: Mariusz Kozlowski Signed-off-by: Ralf Baechle commit ff51a98799931256b555446b2f5675db08de6229 Merge: a80958f... 8e42a5a... Author: Linus Torvalds Date: Mon Dec 4 13:12:29 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (82 commits) [PATCH] pata_ali: small fixes [PATCH] pata_via: VIA 8251 bridged systems are now out and about [PATCH] trivial piix: swap bogus dot for comma space [PATCH] sata_promise: PHYMODE4 fixup [PATCH] libata: always use polling IDENTIFY [libata] pata_cs5535: fix build [PATCH] ahci: do not powerdown during initialization [PATCH] libata: prepare ata_sg_clean() for invocation from EH [PATCH] libata: separate out rw ATA taskfile building into ata_build_rw_tf() [PATCH] libata: implement ata_exec_internal_sg() [PATCH] libata: make sure IRQ is cleared after ata_bmdma_freeze() [PATCH] libata: move BMDMA host status recording from EH to interrupt handler [PATCH] libata: make sure sdev doesn't go away while rescanning [PATCH] libata: don't request sense if the port is frozen [PATCH] libata: fix READ CAPACITY simulation [PATCH] libata: implement ATA_FLAG_SETXFER_POLLING and use it in pata_via, take #2 [PATCH] libata: set IRQF_SHARED for legacy PCI IDE IRQs [PATCH] libata: remove unused HSM_ST_UNKNOWN [PATCH] libata: kill unnecessary sht->max_sectors initializations [PATCH] libata: add missing sht->slave_destroy ... commit c69fda4e181fe448c43c2e1cc7b3fa67263d88ca Author: Al Viro Date: Mon Nov 20 14:12:54 2006 -0500 [PATCH] ns83820 annotations Signed-off-by: Al Viro commit 40f6cff5c47efac2df361fbfc2eb2816729986c8 Author: Al Viro Date: Mon Nov 20 13:48:32 2006 -0500 [PATCH] myri10ge annotations Signed-off-by: Al Viro commit bffa2154956da31f59c6050f176fadba630ff53a Author: Al Viro Date: Thu Jun 15 14:23:19 2006 -0400 [PATCH] drivers/net/arm missing __devinit Signed-off-by: Al Viro commit afc8eb46c0ea2cab8bc28713b2e0614f015a7516 Author: Al Viro Date: Wed Jun 14 18:50:53 2006 -0400 [PATCH] trivial missing __init in drivers/net/* Signed-off-by: Al Viro commit 059807755c0d2b2727588bb52951f8ff6cbf07b4 Author: Al Viro Date: Tue May 30 23:59:09 2006 -0400 [PATCH] mv643xx_eth.c NULL noise removal Signed-off-by: Al Viro commit fbd819766568c6f3d286dbabb9a17bb13e48f40d Author: Al Viro Date: Tue May 30 23:58:25 2006 -0400 [PATCH] __iomem annotations: smc91x Signed-off-by: Al Viro commit 8e42a5a220a3369c70d88474e887a6de6a4ae209 Author: Alan Date: Mon Dec 4 16:36:05 2006 +0000 [PATCH] pata_ali: small fixes Switch to pci_get_bus_and_slot because some x86 systems seem to be handing us a device with dev->bus = NULL. Also don't apply the isa fixup to revision C6 and later of the chip. Really we need to work out wtf is handing us pdev->bus = NULL, but firstly and more importantly we need the drivers working. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 75f609d2a923b8f1db870e0c63ff41c84c145589 Author: Alan Date: Mon Dec 4 16:38:25 2006 +0000 [PATCH] pata_via: VIA 8251 bridged systems are now out and about Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 2c5ff671ca853a1f73ae688bbf5b4f68a476b55d Author: Alan Date: Mon Dec 4 16:33:20 2006 +0000 [PATCH] trivial piix: swap bogus dot for comma space Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a80958f4849316a18c06f75b9e850ccecbf20df8 Author: Al Viro Date: Mon Dec 4 20:41:19 2006 +0000 [PATCH] fix fallout from header dependency trimming OK, that seems to be enough to deal with the mess. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 0c789ff64e874bbece03b607f200566ab24ea9ab Author: Linus Torvalds Date: Mon Dec 4 10:52:29 2006 -0800 netfilter.h needs rcuupdate.h for RCU locking functions This was exposed by Al's recent header file dependency reduction patches.. Cc: Al Viro Cc: David S. Miller Signed-off-by: Linus Torvalds commit 9b8ab9f6c37c610feea20edfb357a3b8a43d39bd Merge: 12472b4... f23f6e0... Author: Linus Torvalds Date: Mon Dec 4 10:37:06 2006 -0800 Merge branch 'for-linus4' of master.kernel.org:/pub/scm/linux/kernel/git/viro/bird * 'for-linus4' of master.kernel.org:/pub/scm/linux/kernel/git/viro/bird: [PATCH] severing poll.h -> mm.h [PATCH] severing skbuff.h -> mm.h [PATCH] severing skbuff.h -> poll.h [PATCH] severing skbuff.h -> highmem.h [PATCH] severing uaccess.h -> sched.h [PATCH] severing fs.h, radix-tree.h -> sched.h [PATCH] severing module.h->sched.h commit 12472b4165a21f5415ff4f60f8f46311a6b7b9ac Merge: a79f43a... ef9467f... Author: Linus Torvalds Date: Mon Dec 4 08:41:17 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [SUNHME]: Fix for sunhme failures on x86 [XFRM] xfrm_user: Better validation of user templates. [DCCP] tfrc: Binary search for reverse TFRC lookup [DCCP] ccid3: Deprecate TFRC_SMALLEST_P [DCCP] tfrc: Identify TFRC table limits and simplify code [DCCP] tfrc: Add protection against invalid parameters to TFRC routines [DCCP] tfrc: Fix small error in reverse lookup of p for given f(p) [DCCP] tfrc: Document boundaries and limits of the TFRC lookup table [DCCP] ccid3: Fix warning message about illegal ACK [DCCP] ccid3: Fix bug in calculation of send rate [DCCP]: Fix BUG in retransmission delay calculation [DCCP]: Use higher RTO default for CCID3 commit a79f43a54b7df7b12bc1c0fbf4ba76520ba40354 Author: David Woodhouse Date: Mon Dec 4 15:45:46 2006 +0000 [PATCH] Enable RAID autorun on Mac partition tables. Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 07704eb29a765d2e862000d952fd96271c1464e2 Merge: f75e3b1... 74f8f55... Author: Linus Torvalds Date: Mon Dec 4 08:29:45 2006 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (34 commits) [S390] Don't use small stacks when lockdep is used. [S390] cio: Use device_reprobe() instead of bus_rescan_devices(). [S390] cio: Retry internal operations after vary off. [S390] cio: Use path verification for last path gone after vary off. [S390] non-unique constant/macro identifiers. [S390] Memory detection fixes. [S390] cio: Make ccw_dev_id_is_equal() more robust. [S390] Convert extmem spin_lock into a mutex. [S390] set KBUILD_IMAGE. [S390] lockdep: show held locks when showing a stackdump [S390] Add dynamic size check for usercopy functions. [S390] Use diag260 for memory size detection. [S390] pfault code cleanup. [S390] Cleanup memory_chunk array usage. [S390] Misaligned wait PSW at memory detection. [S390] cpu shutdown rework [S390] cpcmd <-> __cpcmd calling issues [S390] Bad kexec control page allocation. [S390] Reset infrastructure for re-IPL. [S390] Some documentation typos. ... commit f75e3b1de6a72f6eb22f3ab120dd52b902357c03 Author: Greg Ungerer Date: Mon Dec 4 17:28:03 2006 +1000 [PATCH] m68knommu: fix missing bracket in scatterlist.h This patch adds missing bracket. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 04a9f081b76f536bcf69db066153c2a4231d5783 Author: Greg Ungerer Date: Mon Dec 4 17:27:58 2006 +1000 [PATCH] m68knommu: fix dma-mapping.h Make the m68knommu DMA handling consistent with other architectures. Compile problems pointed out by Adrian Bunk Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit d773c660973560970a6b3697cb280ddc5389447d Author: Greg Ungerer Date: Mon Dec 4 17:27:42 2006 +1000 [PATCH] m68knommu: remove __rom_end from 68360 startup code Remove use of __rom_end symbol all together. This helps clean out the miscellaneous symbols lying around in the m68knommu linker script. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 5a31be3fb52c276b4913bd89e77481fae0001510 Author: Greg Ungerer Date: Mon Dec 4 17:27:36 2006 +1000 [PATCH] m68knommu: memory register defines for 520x ColdFire CPU's Here is a small patch to automatically detect the DRAM size on m520x. It was generated against 2.6.17-uc0, and tested on an Intec 5208 dev board. (This part of the patch if the memory register defines for the 520x ColdFire CPU family - Greg). Signed-off-by: Michael Broughton Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 552984050958fc0f51bff38948d0bf4d31ea2b03 Author: Michael Broughton Date: Mon Dec 4 17:27:29 2006 +1000 [PATCH] m68knommu: auto detect memory size on M5208EVB board Here is a small patch to automatically detect the DRAM size on m520x. It was generated against 2.6.17-uc0, and tested on an Intec 5208 dev board. Signed-off-by: Michael Broughton Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 1bddcc50c27c8ca39a62a1d37e3928707be8f850 Author: David Wu Date: Mon Dec 4 17:27:22 2006 +1000 [PATCH] m68knommu: add SHM support It turns out SHMAT, SHMDT, SHMGET and SHMCTL support in sys_ipc() for m68knommu in 2.6 kernel(uClinux-dist-20060803 release) is missing. (copied from m68k sources, report by David Wu ) Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 329237c12b94911dfad128e2588b0b7ae9c516e7 Author: Greg Ungerer Date: Mon Dec 4 17:27:09 2006 +1000 [PATCH] m68knommu: add printk level for stack dump Specify printk level in m68knommu stack dump code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 19127e2bf94e7b427530b64af417185221b69508 Author: Greg Ungerer Date: Mon Dec 4 17:26:55 2006 +1000 [PATCH] m68knommu: add printk level for oops dumps Specify printk level in m68knommu oops dump code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 1b9552af943f54336333c9a6e02f5ed9f18e0bcc Author: Adrian Bunk Date: Mon Dec 4 17:26:44 2006 +1000 [PATCH] m68knommu: fix compile when CONFIG_BLK_DEV_INITRD=n This patch fixes the following compile error with CONFIG_BLK_DEV_INITRD=n and -Werror-implicit-function-declaration: ... CC arch/m68knommu/kernel/setup.o /home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/arch/m68knommu/kernel/setup.c: In function 'setup_arch': /home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/arch/m68knommu/kernel/setup.c:268: error: implicit declaration of function 'paging_init' make[2]: *** [arch/m68knommu/kernel/setup.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 6869e940c2244554ad8858f8c4f07bf7e2fd5e3d Author: Greg Ungerer Date: Mon Dec 4 16:40:58 2006 +1000 [PATCH] m68knommu: formatting cleanup in Kconfig Formatting and a spelling cleanup in m68knommu Kconfig. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 74f8f557fd0c6f32e17e78c9ef508ca66ef37d3a Author: Heiko Carstens Date: Mon Dec 4 15:41:10 2006 +0100 [S390] Don't use small stacks when lockdep is used. The lock dependency validator adds a bunch of extra stack frames to the stack, which can cause stack overflows. Especially seen on 31 bit where the small stack is only 4k. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 47af5518526d435d0d56a329a578f240e86eb678 Author: Cornelia Huck Date: Mon Dec 4 15:41:07 2006 +0100 [S390] cio: Use device_reprobe() instead of bus_rescan_devices(). In io_subchannel_register(), it is better to just reprobe the current device if it hasn't a driver yet than to rescan the whole bus. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit d23861ff1a4da1f4a5255eb4582f620191c6e1c0 Author: Cornelia Huck Date: Mon Dec 4 15:41:04 2006 +0100 [S390] cio: Retry internal operations after vary off. If I/O was running on a just varied off chpid, it will be terminated. If this was a common I/O layer internal I/O, it needs to be retried. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 24cb5b4846ebae5543869b5c596c2650f380df53 Author: Cornelia Huck Date: Mon Dec 4 15:41:01 2006 +0100 [S390] cio: Use path verification for last path gone after vary off. If the last path to a device is gone after a chpid has been varied off, putting it on the slow queue doesn't prevent a device driver from still attempting to use it (it may stay on the slow queue for a long time). Instead, trigger a verify event which will prevent I/O attempts from the device driver immediately. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 9163bb2e556f6c7879961df94540f0879db4717b Author: Ursula Braun Date: Mon Dec 4 15:40:59 2006 +0100 [S390] non-unique constant/macro identifiers. Add some prefixes to constands defined in drivers/s390/net/qdio.h and drivers/s390/lcs.h to make it possible to include the three header files drivers/s390/net/qeth.h, drivers/s390/net/qdio.h and drivers/net/s390/lcs.h in one C file. This is required for the patch that generates the kerntypes.o file for use by lcrash. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 8b62bc9642300471737bc3b77b2a4a2ead46dedb Author: Heiko Carstens Date: Mon Dec 4 15:40:56 2006 +0100 [S390] Memory detection fixes. VMALLOC_END on 31bit should be 0x8000000UL instead of 0x7fffffffL. The page mask which is used to make sure memory_end is on 4MB/2MB boundary is wrong and not needed. Therefore remove it. Make sure a vmalloc area does also exist and work on (future) machines with 4TB and more memory. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ce26a8532fd062ccd3f3c589a4be269a2dc20f00 Author: Cornelia Huck Date: Mon Dec 4 15:40:54 2006 +0100 [S390] cio: Make ccw_dev_id_is_equal() more robust. Using memcmp to compare ccw_dev_id implies that the whole structure (incl. padding) has always been completely initialized to sane values. Comparing the structures field by field doesn't make such assumptions. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 09252e77ed13b1b412329825bad5797fbdd5a5c8 Author: Heiko Carstens Date: Mon Dec 4 15:40:51 2006 +0100 [S390] Convert extmem spin_lock into a mutex. There's no need to have a spin_lock here, but need sleepable context for vmem_map. Therefore convert the spin_lock into a mutex. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1681cedaee9f8dcb59d499a9277bc3a190a2378d Author: Christian Borntraeger Date: Mon Dec 4 15:40:49 2006 +0100 [S390] set KBUILD_IMAGE. Set KBUILD_IMAGE to a sane value. This enables "make rpm" Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 236257eee99a35d67d3feab0769bded83efdc3ec Author: Heiko Carstens Date: Mon Dec 4 15:40:47 2006 +0100 [S390] lockdep: show held locks when showing a stackdump Follow i386/x86_64: lockdep can be used to print held locks when printing a backtrace. This can be useful when debugging things like 'scheduling while atomic' asserts. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 59f35d53fde3987d071ea1c9bf1c9ba29fcb69fe Author: Gerald Schaefer Date: Mon Dec 4 15:40:45 2006 +0100 [S390] Add dynamic size check for usercopy functions. Use a wrapper for copy_to/from_user to chose the best usercopy method. The mvcos instruction is better for sizes greater than 256 bytes, if mvcos is not available a page table walk is better for sizes greater than 1024 bytes. Also removed the redundant copy_to/from_user_std_small functions. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit d57de5a36791cb1b7285649c62f183b0d3505f7d Author: Heiko Carstens Date: Mon Dec 4 15:40:42 2006 +0100 [S390] Use diag260 for memory size detection. Avoid the tprot loop if diag260 works and reports that there are no holes in memory. The tprot instruction can lead to a significant delay in the ipl process if the virtual guest has a lot of memory and the host is under memory pressure. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 29b08d2bae854f66d3cfd5f57aaf2e7c2c7fce32 Author: Heiko Carstens Date: Mon Dec 4 15:40:40 2006 +0100 [S390] pfault code cleanup. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 36a2bd425d9b3ba2a40b0653e08d17702c78558e Author: Heiko Carstens Date: Mon Dec 4 15:40:38 2006 +0100 [S390] Cleanup memory_chunk array usage. Need this at yet another file and don't want to add yet another extern... Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit baf2aeb3d9e286add823bcaea5442ad4ee34f6e4 Author: Heiko Carstens Date: Mon Dec 4 15:40:36 2006 +0100 [S390] Misaligned wait PSW at memory detection. If the memory detection code would ever reach the point where it would load the wait psw, it would generate a specification exception and the system would crash at ipl time. This is because of a misaligned wait psw. It needs to be on a double word boundary instead of a word boundary. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c6b5b847a7cf11f131c43fe0041443ec11697fc7 Author: Heiko Carstens Date: Mon Dec 4 15:40:33 2006 +0100 [S390] cpu shutdown rework Let one master cpu kill all other cpus instead of sending an external interrupt to all other cpus so they can kill themselves. Simplifies reipl/shutdown functions a lot. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 740b5706b9c4b3767f597b3ea76654c6f2a800b2 Author: Heiko Carstens Date: Mon Dec 4 15:40:30 2006 +0100 [S390] cpcmd <-> __cpcmd calling issues In case of reipl cpcmd gets called when all other cpus are not running anymore. To prevent deadlocks change __cpcmd so that it doesn't take any locks and call cpcmd or __cpcmd, whatever is correct in the current context. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a1a392f0b4f27604811bf8aa8d7636b3b4bc3803 Author: Heiko Carstens Date: Mon Dec 4 15:40:28 2006 +0100 [S390] Bad kexec control page allocation. KEXEC_CONTROL_MEMORY_LIMIT is an unsigned long value and therefore should be defined as one. Otherwise the kexec control page can be allocated above 2GB which will cause a specification exception on the sam31 instruction in the s390 kexec relocation code. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 15e9b586e0bd3692e2a21c5be178810d9d32214e Author: Heiko Carstens Date: Mon Dec 4 15:40:26 2006 +0100 [S390] Reset infrastructure for re-IPL. In case of re-IPL and diag308 doesn't work we have to reset all devices manually and wait synchronously that each reset finished. This patch adds the necessary infrastucture and the first exploiter of it. Subsystems that need to add a function that needs to be called at re-IPL may register/unregister this function via struct reset_call { struct reset_call *next; void (*fn)(void); }; void register_reset_call(struct reset_call *reset); void unregister_reset_call(struct reset_call *reset); When the registered function get called the context is: - all cpus beside the current one are stopped - all machine checks and interrupts are disabled - prefixing is disabled - a default machine check handler is available for use The registered functions may not take any locks are sleep. For the common I/O layer part of this patch: Introduce a reset_call css_reset that does the following: - clear all subchannels - perform a rchp on all channel paths and wait for the resulting machine checks This replaces the calls to clear_all_subchannels() and cio_reset_channel_paths() for kexec and ccw reipl. reipl_ccw_dev() now uses reipl_find_schid() to determine the subchannel id for a given device id. Also remove cio_reset_channel_paths() and friends since they are not needed anymore. Signed-off-by: Heiko Carstens Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 2254f5a7779452395e37ea2f7d6e1a550d34e678 Author: Nicolas Kaiser Date: Mon Dec 4 15:40:23 2006 +0100 [S390] Some documentation typos. Signed-off-by: Nicolas Kaiser Signed-off-by: Martin Schwidefsky commit 6b4044bdd158aa9ad07b3f68d1c7598036d3ee58 Author: Heiko Carstens Date: Mon Dec 4 15:40:20 2006 +0100 [S390] extmem unbalanced spin_lock. segment save will exit with a lock held if the passed segment doesn't exist. Any subsequent call to segment_save will lead to a deadlock. Fix this and give up the lock before returning. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 645c98c8b6c09eae58ac2f97e0ade6ced4d6443f Author: Horst Hummel Date: Mon Dec 4 15:40:18 2006 +0100 [S390] return 'count' for successful execution of dasd_eer_enable. Currently the return value of 'dasd_eer_enable' is returned - even if the function returned '0'. Now return 'count' for successful execution. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 29145a6c8cda3238049937612365e80b53c3f266 Author: Horst Hummel Date: Mon Dec 4 15:40:15 2006 +0100 [S390] Enhanced handling of failed termination requests. In case a request timed out and termination did not work, the console was flooded with retry messages (every 1/10s). Now we use a 5s delay per retry and generate a more precise message. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 5986b0e845bc52a53ff3cafd74d341e81c95658d Author: Michael Holzheu Date: Mon Dec 4 15:40:13 2006 +0100 [S390] Use diag instead of ccw reipl. Since the diag 308 reipl method is superior to the ccw method, we should use it whenever it is possible. We can do that, if the user has not specified a new reipl ccw device and the system has been ipled from a ccw device. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 66a4263b991097397823b46377a43ae35541ec26 Author: Cornelia Huck Date: Mon Dec 4 15:40:10 2006 +0100 [S390] Add MODALIAS= to the uevent for the ap bus. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 520a4e3728c214db6e91ade7b70443c2b9382de0 Author: Martin Schwidefsky Date: Mon Dec 4 15:40:07 2006 +0100 [S390] 3215 device locking. Remove lock pointer from 3215 device structure. Use get_ccwdev_lock for each use of the lock in the ccw-device structure. Signed-off-by: Martin Schwidefsky commit 3902e47628dcaf79b2c7a6a59f6978d968eff288 Author: Michael Holzheu Date: Mon Dec 4 15:40:05 2006 +0100 [S390] No panic for failed reboot If reboot fails (e.g. because wrong devno has been specified by the user), we should just stop all cpus, but should not trigger a kernel panic. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 654452a48aa2bbfa276016a1e35d8988ff991ebb Author: Heiko Carstens Date: Mon Dec 4 15:40:02 2006 +0100 [S390] termio <-> termios conversion error handling. Get rid of our own user_termio_to_kernel_termios() and kernel_termios_to_user_termio() macros which didn't check for errors on user space accesses. Instead use the generic functions which handle this properly. In addition the generic version of user_termio_to_kernel_termios() also copies the c_line member which was missing in our variant. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bba125a6116e51faff98df1906bf77d06b644aea Author: Ralph Wuerthner Date: Mon Dec 4 15:40:00 2006 +0100 [S390] update interface notes in zcrypt.h Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 03a4d2087644f5477d9a9742e75a329f23b279e6 Author: Michael Holzheu Date: Mon Dec 4 15:39:58 2006 +0100 [S390] Add ipl/reipl loadparm attribute. If multiple kernel images are installed on one DASD, the loadparm can be used to select the boot configuration. This patch introduces the following two new sysfs attributes: /sys/firmware/ipl/loadparm: shows loadparm of current system (ro) /sys/firmware/reipl/ccw/loadparm: loadparm used for next reboot (rw) Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit f7675ad791df4bec2b9d21bcc0f846320f0a921b Author: Heiko Carstens Date: Mon Dec 4 15:39:55 2006 +0100 [S390] Add __must_check to uaccess functions. Follow other architectures and add __must_check to uaccess functions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit feb5babead7f8058f0108ec59c3e7c2df666bd67 Author: Heiko Carstens Date: Mon Dec 4 15:39:52 2006 +0100 [S390] Remove unused GENERIC_BUST_SPINLOCK from Kconfig. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 01376f4495840f3daf6d73679242b5964fc9603b Author: Horst Hummel Date: Mon Dec 4 15:39:50 2006 +0100 [S390] handle incorrect values when writing to dasd sysfs attributes. When writing to dasd attributes (e.g. readonly), all values besides '1' are handled like '0'. Other sysfs-attributes like 'online' are checking for '1' and for '0' and do not accept other values. Therefore enhanced checking and error handling in dasd_devmap attribute store functions. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 26916264c17b5af8a3eaaf83b128f85cf1107cff Author: Christian Borntraeger Date: Mon Dec 4 15:39:47 2006 +0100 [S390] remove salipl memory detection. The SALIPL entry point has an needless memory detection routine as we later check the memory size again. The SALIPL code also uses diagnose 0x060 if we are running under VM, but this diagnose is not compatible with the 64 bit addressing mode. The solution is to get rid of this code and rely on the memory detection in the startup code. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 208a49f086ed8cfb3cfa15579c7ee162c54a999b Author: Andrew Victor Date: Mon Dec 4 15:07:54 2006 +0100 [ARM] 3977/1: AT91: remove loop waiting for reset Removed the infinite loop in our arch_reset(). After calling arch_reset(), the kernel waits for 1 second before printing a "reboot failed" message and then waits for ever itself. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit d4a89c7d2788e42153d7fc3f0e6f2bde5ede329c Author: Andrew Victor Date: Mon Dec 4 13:56:21 2006 +0100 [ARM] 3976/1: AT91: MAINTAINERS entry Added MAINTAINERS entry for the Atmel AT91RM9200. Accept (some) responsibility... Signed-off-by: Andrew Victor Signed-off-by: Russell King commit d707572695e47aae3ac5eb92abb9d2a8c40f7a4e Author: Andrew Victor Date: Mon Dec 4 12:53:11 2006 +0100 [ARM] 3975/1: AT91: Comments in atmel_serial.h Updated some of the comments in the atmel_serial.h header detailing which bits are only available on the AT91RM9200 or the AT91SAM9xx processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 5407864e3cb71f6ac351b1ab2266bfb0d9f27684 Author: Andrew Victor Date: Mon Dec 4 12:47:19 2006 +0100 [ARM] 3974/1: AT91: Remove USB Device header The USB Device port registers are already defined in drivers/usb/gadget/at91_udc.h. This file can therefore just be removed. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c2f5ccfbd5198cadd03d8c4bb0e28175b78cd910 Author: Andrew Victor Date: Mon Dec 4 09:37:20 2006 +0100 [ARM] 3973/1: AT91: Serial driver compile fix 1. The CPU identification has moved from to . 2. AT91RM9200_BASE_US0 is only defined if we are compiling in support for the AT91RM9200. Therefore we need to replace the CONFIG_ARM ifdef with CONFIG_ARCH_AT91RM9200 Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c019d49b69237f195b1a31d90facf738a371841f Author: Andrew Victor Date: Mon Dec 4 09:09:08 2006 +0100 [ARM] 3972/1: AT91: Update board.h Replace the 'is_b' variable with 'slot_b' in at91_mmc_data. Also add the new 'chipselect' variable for CF/PCMCIA and 'bus_width_16' variable for NAND. This (and previous patches) will unfortunately break the current MMC, USB Gadget and PCMCIA drivers. Updates and fixes for those drivers will be submitted to the various subsystem maintainers. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 872455e2ca12843e3dd16ebde1ce02dccc4bf99f Author: Sergei Shtylyov Date: Sun Dec 3 20:52:27 2006 +0300 [POWERPC] Fix debug printks for 32-bit resources in the PCI code Cure the damage done by the former PCI debug printks fix for the case of 64-bit resources (commit 685143ac1f7a579a3fac9c7f2ac8f82e95af6864) which broke it for the plain vanilla 32-bit resources... Signed-off-by: Sergei Shtylyov Signed-off-by: Paul Mackerras commit f8485350c22b25f5b9804d89cb8fdf6626d0f5cb Author: Yan Burman Date: Sat Dec 2 13:26:57 2006 +0200 [POWERPC] Replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc. Signed-off-by: Yan Burman Signed-off-by: Paul Mackerras commit 04d76b937bdf60a8c9ac34e222e3ca977ab9ddc8 Author: Guennadi Liakhovetski Date: Fri Dec 1 22:53:48 2006 +0100 [POWERPC] Linkstation / kurobox support Support for the Kurobox(HG)/LinkStation-I NAS systems by Buffalo Technology, should be also applicable to the PPC TeraStation family. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 57933f8fbedba686659b947659418734615611e9 Author: Scott Wood Date: Fri Dec 1 12:57:05 2006 -0600 [POWERPC] Add the e300c3 core to the CPU table. This core is used in Freescale's 831x chips. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 25a31e2df0ee22bdc23494371db9e858b3a23471 Author: Mariusz Kozlowski Date: Thu Nov 30 10:25:23 2006 +0100 [POWERPC] ppc: m48t35 add missing bracket Add missing bracket in definition for m48t35 RTC chip. Signed-off-by: Mariusz Kozlowski Signed-off-by: Paul Mackerras commit e73aedba562d1e7777287043afb8e46131ed402e Author: Stephen Rothwell Date: Thu Nov 30 16:55:04 2006 +1100 [POWERPC] iSeries: don't build head_64.o unnecessarily Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4eab0e65bd3c9d3065f54e7477fec79c5e939ed6 Author: Stephen Rothwell Date: Thu Nov 30 16:53:11 2006 +1100 [POWERPC] iSeries: stop dt_mod.o being rebuilt unnecessarily Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0470466dbafd1db0815bb884d26a6be431e19f96 Author: Stephen Rothwell Date: Thu Nov 30 11:46:22 2006 +1100 [POWERPC] Fix cputable.h for combined build Remove CPU_FTR_16M_PAGE from the cupfeatures mask at runtime on iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 80814be40e1f0e7e6fc00fdfe0af16268670e0b4 Author: Stephen Rothwell Date: Thu Nov 30 11:45:14 2006 +1100 [POWERPC] Allow CONFIG_BOOTX_TEXT on iSeries and therefore combined builds. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit bbb681779012fae778c0a53081bbb19cf43bca4e Author: Stephen Rothwell Date: Thu Nov 30 11:44:09 2006 +1100 [POWERPC] Allow xmon to build on legacy iSeries xmon still does not run on iSeries, but this allows us to build a combined kernel that includes it. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ec59cf710bcf638a895f2ad90cafb1493b95953e Author: Linas Vepstas Date: Wed Nov 29 12:05:22 2006 -0600 [POWERPC] Change ppc64_defconfig to use AUTOFS_V4 not V3 Defconfig ppc64 kernels running under late-model distros may hang in the automounter rc.d script, which seems to be expecting autofs version 4. This patch uses the newer autofs. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 0efbc18a753f7d6dbe832e014bc80e2b4c12bece Author: Paul Mackerras Date: Wed Nov 29 22:31:47 2006 +1100 [POWERPC] Tell firmware we can handle POWER6 compatible mode This adds the "logical" PVR value used by POWER6 in "compatible" mode to the list of PVR values that the kernel tells firmware it is able to handle. Signed-off-by: Paul Mackerras commit dc0f80aa6a6c128cf90adefb5b7deddfb56d937b Author: Geert Uytterhoeven Date: Tue Nov 28 12:31:53 2006 +0100 [POWERPC] Clean images in arch/powerpc/boot Add a rule to clean up the various generated image files in arch/powerpc/boot. Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 4468f01dc7cfd1998845cd66a0cdb1f3ef9740f0 Author: Olof Johansson Date: Mon Nov 27 21:21:29 2006 -0600 [POWERPC] Fix OF pci flags parsing For PCI devices with only io ports, of_bus_pci_get_flags() will fall through and still mark the resource as IORESOURCE_MEM. Signed-off-by: Olof Johansson Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ede8edb35b95c78c890b15fdb6cedcb3f42f4769 Author: Grant Likely Date: Mon Nov 27 14:16:30 2006 -0700 [POWERPC] defconfig for lite5200 board Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit c6d4d657c2f11fe3b33dd8303f57a8b8d55323d6 Author: Grant Likely Date: Mon Nov 27 14:16:29 2006 -0700 [POWERPC] Add device trees for lite5200 and lite5200b eval boards Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 6b64253139a20b7db1f701a9117bc5174eb878bc Author: Grant Likely Date: Mon Nov 27 14:16:28 2006 -0700 [POWERPC] Add lite5200 board support to arch/powerpc Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 6065170cf75c64267f6edec5fd359ce8444bd13d Author: Grant Likely Date: Mon Nov 27 14:16:27 2006 -0700 [POWERPC] Add common routines for 52xx support in arch/powerpc Adds utility routines used by 52xx device drivers and board support code. Main functionality is to add device nodes to the of_platform_bus, retrieve the IPB bus frequency, and find+ioremap device registers. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit e65fdfd6ca447353ad1b4c0a0d20df55f3f6f233 Author: Sylvain Munaut Date: Mon Nov 27 14:16:26 2006 -0700 [POWERPC] Separate IRQ config / register set from main header There is no need to expose these settings outside the scope of the interrupt controller code itself. Signed-off-by: Sylvain Munaut Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit b9cf5d8e2edc503977be090eff45ef81555dcb1d Author: Grant Likely Date: Mon Nov 27 14:16:25 2006 -0700 [POWERPC] Move Efika support files into platforms/52xx The Efika board isn't different enough from other 52xx based boards to justify a separate platform. This patch merges it with the support code for all other 52xx based boards. Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit d4150248fc769c7a69c61cb9d95dfac14950d8cf Author: Grant Likely Date: Mon Nov 27 14:16:24 2006 -0700 [POWERPC] Put mpc52xx support file in platforms/52xx platforms/embedded6xx is probably going away, and 52xx boards need some extra support the 52xx interrupt controller and DMA engine anyway. It makes sense to group all the 52xx bits into a single path. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 39d074b2e4b89c914c00dfd9987672e2dea92f19 Author: Grant Likely Date: Mon Nov 27 14:16:23 2006 -0700 [POWERPC] Move MPC52xx PIC driver into arch/powerpc/platforms/52xx No other chips use this device, it belongs in a 52xx-specific path. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit b1e253c4dc601cb7785ba157edf282c1d02fe2ba Author: Grant Likely Date: Mon Nov 27 14:16:22 2006 -0700 [POWERPC] Document describing mpc52xx device tree binding conventions This document describes the device tree expectations for mpc52xx based boards. Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit f5b2eb026949e7c3988074529854609921675cff Author: Stephen Rothwell Date: Mon Nov 27 17:17:02 2006 +1100 [POWERPC] iSeries: allow CONFIG_CMDLINE It doesn't hurt to have this enabled on legacy iSeries and will mean it is available for a combined build. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c705677e1c69012adea3bc51b54e9c7170d1cbee Author: Stephen Rothwell Date: Mon Nov 27 14:59:50 2006 +1100 [POWERPC] iSeries: Eliminate "exceeds stub group size" warnings Commit 3ccfc65c5004e5fe5cfbffe43b8acc686680b53e missed the same fixes for legacy iSeries specific code, so make some more symbols no longer global. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 06f2138e61d4f5dce82207236767e0759bbd45cc Author: Rutger Nijlunsing Date: Sun Nov 26 21:08:38 2006 +0100 [POWERPC] Add files build to .gitignore Mostly taken from corresponding Makefile's make-clean rule. Tested by (cross)compiling for $ARCH PPC and POWERPC and checking output of git-status. Signed-off-by: Rutger Nijlunsing Signed-off-by: Paul Mackerras commit 143db67af02cecab28032ec3a52e586b1433fe70 Author: Michael Ellerman Date: Sun Nov 26 17:36:15 2006 +1100 [POWERPC] Provide dummy hard_irq_enable/disable() for PPC32 To allow arch/powerpc/kernel/crash.c to build on 32-bit we need a definition of hard_irq_disable(). 32-bit doesn't support the lazy interrupt disabling mechanism, so on 32-bit hard_irq_disable() is simply local_irq_disable(). Add a definition for hard_irq_enable() just for completeness. This allows (KEXEC=y && PPC32=y) to build again. Broken since d04c56f73c30a5e593202ecfcf25ed43d42363a2. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 4cfbdfff70989a0d99b6f357fbbe379c22a05f7c Author: Adrian Bunk Date: Fri Dec 1 12:53:18 2006 +0100 [POWERPC] include/asm-powerpc/: "extern inline" -> "static inline" "extern inline" generates a warning with -Wmissing-prototypes and I'm currently working on getting the kernel cleaned up for adding this to the CFLAGS since it will help us to avoid a nasty class of runtime errors. If there are places that really need a forced inline, __always_inline would be the correct solution. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 28f9ec349ae47c91768b7bc5607db4442c818e11 Author: Vitaly Wool Date: Mon Nov 20 16:32:39 2006 +0300 [POWERPC] Add of_platform support for ROM devices This adds support for flash device descriptions to the OF device tree. It's inspired by and partially borrowed from Sergei's patch "[RFC] Adding MTD to device tree.patch". Signed-off-by: Vitaly Wool Signed-off-by: Sergei Shtylyov Signed-off-by: Paul Mackerras commit a5715d6dfc85e002bfad68bb2858cf5a248e2060 Author: Mohan Kumar M Date: Fri Nov 17 17:42:24 2006 +0530 [POWERPC] pSeries/kexec: Fix for interrupt distribution This allows any secondary CPU thread also to become boot cpu for POWER5. The patch is required to solve kdump boot issue when the kdump kernel is booted with parameter "maxcpus=1". XICS init code tries to match the current boot cpu id with "reg" property in each CPU node in the device tree. But CPU node is created only for primary thread CPU ids and "reg" property only reflects primary CPU ids. So when a kernel is booted on a secondary cpu thread above condition will never meet and the default distribution server is left as zero. This leads to route the interrupts to CPU 0, but which is not online at this time. We use ibm,ppc-interrupt-server#s to check for both primary and secondary CPU ids. Accordingly default distribution server value is initialized from "ibm,ppc-interrupt-gserver#s" property. We loop through ibm,ppc-interrupt-gserver#s property to find the global distribution server from the last entry that matches with boot cpuid. Signed-off-by: Mohan Kumar M Signed-off-by: Paul Mackerras commit 11faa658c668030759d4aea6a273b7ac9a0b4746 Author: Arnd Bergmann Date: Mon Nov 27 19:19:00 2006 +0100 [POWERPC] fix building without PCI At least the ide driver calls pcibus_to_node, which is not defined when CONFIG_PCI is disabled. This adds a nop function for the !PCI case. Signed-off-by: Arnd Bergmann commit 369cf4b940d0d92d33f39a2df11102f3e2df0e0a Author: Arnd Bergmann Date: Mon Nov 27 19:18:59 2006 +0100 [POWERPC] fix missing #include in sys_ppc32.c sys_mmap is declared in asm/syscalls.h Signed-off-by: Arnd Bergmann commit 4ec64d5686112e9c5a9f1eeeb0eeedd54fb07d69 Author: Arnd Bergmann Date: Mon Nov 27 19:18:58 2006 +0100 [POWERPC] ps3: add a default zImage target It's currently not possible to build the default zImage target if PS3 is the only selected platform. This is a hack to fall back to building the pseries style zImage, so the build is successful. This will probably change in the future, if someone writes a PS3 specific boot wrapper. Signed-off-by: Arnd Bergmann commit e22ba7e38144c1cccac5024cfd6ec88bb64d3e1f Author: Arnd Bergmann Date: Mon Nov 27 19:18:57 2006 +0100 [POWERPC] ps3: multiplatform build fixes A few code paths need to check whether or not they are running on the PS3's LV1 hypervisor before making hcalls. This introduces a new firmware feature bit for this, FW_FEATURE_PS3_LV1. Now when both PS3 and IBM_CELL_BLADE are enabled, but not PSERIES, FW_FEATURE_PS3_LV1 and FW_FEATURE_LPAR get enabled at compile time, which is a bug. The same problem can also happen for (PPC_ISERIES && !PPC_PSERIES && PPC_SOMETHING_ELSE). In order to solve this, I introduce a new CONFIG_PPC_NATIVE option that is set when at least one platform is selected that can run without a hypervisor and then turns the firmware feature check into a run-time option. The new cell oprofile support that was recently merged does not work on hypervisor based platforms like the PS3, therefore make it depend on PPC_CELL_NATIVE instead of PPC_CELL. This may change if we get oprofile support for PS3. Signed-off-by: Arnd Bergmann commit eb30c72026500f9efa9bb23ab2393d6a9e36c5e1 Author: Geert Uytterhoeven Date: Mon Nov 27 19:18:56 2006 +0100 [POWERPC] ps3: Missed renames of CONFIG_PS3 to CONFIG_PPC_PS3 When renaming CONFIG_PS3 to CONFIG_PPC_PS3, a few occurrences have been missed. I also fixed up the alignment in arch/powerpc/platforms/Makefile. Signed-off-by: Geert Uytterhoeven Signed-off-by: Arnd Bergmann commit e055595d3e5f5233374211bc6893e5d16976df99 Author: Arnd Bergmann Date: Mon Nov 27 19:18:55 2006 +0100 [POWERPC] cell: fix building without spufs It may be desireable to build a kernel for cell without spufs, e.g. as the initial kboot kernel. This requires that the SPU specific parts of the core dump and the xmon code depend on CONFIG_SPU_BASE instead of CONFIG_PPC_CELL. Signed-off-by: Arnd Bergmann commit da06aa08d9f23e4f970d9a25a6e52f9a7736bfa2 Author: Stephen Rothwell Date: Mon Nov 27 19:18:54 2006 +0100 [POWERPC] spufs: we should only execute init_spu_base on cell Signed-off-by: Stephen Rothwell Signed-off-by: Arnd Bergmann commit c2b2226c7e46549c26fd5f5f40122536bc91ba0d Author: Arnd Bergmann Date: Mon Nov 27 19:18:53 2006 +0100 [POWERPC] spufs: always send sigtrap on breakpoint Currently, we only send a sigtrap if the current task is being ptraced. This is somewhat inconsistant, and it breaks utrace support in fedora. Removing the check should do the right thing in all cases. Cc: Ulrich Weigand Signed-off-by: Arnd Bergmann commit bd2e5f829e772787ea4d986d72ddf57f50878649 Author: Jeremy Kerr Date: Mon Nov 27 19:18:52 2006 +0100 [POWERPC] spufs: return an error in spu_create is isolated create isnt supported This changes the spu_create system call to return an error (-ENODEV) if and isolated spu context is requested on hardware that doesn't support isolated mode. Tested on systemsim with and without isolation support Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit aa668d6aac63f5fc02aa63bf25ff36d12510e050 Author: Nicolas DET Date: Fri Nov 17 16:03:20 2006 +0100 [POWERPC] Fix compile issue for Efika platform This patch fixes a compile issue for the Efika platform recently introduced by API changes. Signed-off-by: Nicolas DET Signed-off-by: Paul Mackerras commit 7839af3354c9ed86336a0b40032007919393f3ed Author: Nicolas DET Date: Fri Nov 17 17:08:37 2006 +0100 [POWERPC] Compile a zImage.chrp if PPC_EFIKA seleted Signed-off-by: Nicolas DET Signed-off-by: Paul Mackerras commit fecb352f6bb86564b24ecbf7e5bfec09346b9327 Author: Mike Wolf Date: Tue Nov 21 14:41:54 2006 -0600 [POWERPC] powerpc: Make 970MP detectable by oprofile Change the oprofile_cpu_type in cputables.c to be ppc64/970MP. Oprofile needs to distinquish the MP from other 970 processors so it can add some new counters specific to the 970MP. Signed-off-by: Mike Wolf Signed-off-by: Paul Mackerras commit 1c72db14fe77c2aa2c18be0fa2594f54d7413147 Author: Arnd Bergmann Date: Thu Nov 23 00:47:02 2006 +0100 [POWERPC] update cell_defconfig for ps3 support In the common cell kernel, I want to have ps3 enabled to find potential bugs at compile-time. Also enable SPU disassembly in xmon. Signed-off-by: Arnd Bergmann commit 797c7b56d28e800947c66d1c324a6bfc83289b7a Author: Geoff Levand Date: Thu Nov 23 00:47:01 2006 +0100 [POWERPC] ps3: add ps3_defconfig Adds a ps3_defconfig for the PS3 game console. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit a3d4d6435b56eb0b6ff4f88e5a513cfccfb3e770 Author: Geoff Levand Date: Thu Nov 23 00:47:00 2006 +0100 [POWERPC] ps3: add ps3 platform system bus support Adds a PS3 system bus driver. This system bus is a virtual bus used to present the PS3 system devices in the LDM. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit de91a53429952875740692d1de36ae70d4cf81da Author: Geoff Levand Date: Thu Nov 23 00:46:59 2006 +0100 [POWERPC] ps3: add spu support Adds spu support for the PS3 platform. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 00a3e2e93cd3ce73ab2d200fff22a62548da06d6 Author: Geoff Levand Date: Thu Nov 23 00:46:58 2006 +0100 [POWERPC] ps3: add OS params support Adds support for early access to the parameter data from the PS3 'Other OS' flash memory area. The parameter data mainly holds user preferences like static ip address. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 261efc3f178c8c5b55d76208aee1f39ce247f723 Author: Geoff Levand Date: Thu Nov 23 00:46:57 2006 +0100 [POWERPC] ps3: add lpar addressing Adds some needed bits for a config option PS3_USE_LPAR_ADDR that disables the PS3 lpar address translation mechanism. This is a currently needed workaround for limitations in the design of the generic cell spu support. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 2832a81df7f3cb7e7f912a256c156ddbd3450265 Author: Geoff Levand Date: Thu Nov 23 00:46:56 2006 +0100 [POWERPC] ps3: add interrupt support Adds routines to interface with the PS3 interrupt services. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 6e74b38a7ffa6b69f287ae629aae91e725916e6f Author: Geoff Levand Date: Thu Nov 23 00:46:55 2006 +0100 [POWERPC] ps3: add repository support Adds support for the PS3 repository. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit c6cec72b7ca05822688a952df97b1c24e69a0ef6 Author: Geoff Levand Date: Thu Nov 23 00:46:54 2006 +0100 [POWERPC] ps3: add htab routines Adds pagetable management routines for the PS3. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 82a527f0bd84977d7e85f15fb1f987c42cc0a68d Author: Geoff Levand Date: Thu Nov 23 00:46:53 2006 +0100 [POWERPC] ps3: add feature bits Adds the needed firmware feature bits for the PS3. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 1e4ed915d133aaa2802d11914a7e80b3e31304e6 Author: Geoff Levand Date: Thu Nov 23 00:46:52 2006 +0100 [POWERPC] ps3: add lv1 hvcalls Adds the PS3 hvcalls. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit f58a9d171a346afb1b09190427e6c28c6118703e Author: Geoff Levand Date: Thu Nov 23 00:46:51 2006 +0100 [POWERPC] ps3: add support for ps3 platform Adds the core platform support for the PS3 game console and other devices using the PS3 hypervisor. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit a985239bdf017e00e985c3a31149d6ae128fdc5f Author: Michael Ellerman Date: Thu Nov 23 00:46:50 2006 +0100 [POWERPC] cell: spu management xmon routines This fixes the xmon support for the cell spu to be compatable with the split spu platform code. Signed-off-by: Geoff Levand Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit e28b003136b5b2f10c25b49c32df9b7742550c23 Author: Geoff Levand Date: Thu Nov 23 00:46:49 2006 +0100 [POWERPC] cell: abstract spu management routines This adds a platform specific spu management abstraction and the coresponding routines to support the IBM Cell Blade. It also removes the hypervisor only resources that were included in struct spu. Three new platform specific routines are introduced, spu_enumerate_spus(), spu_create_spu() and spu_destroy_spu(). The underlying design uses a new type, struct spu_management_ops, to hold function pointers that the platform setup code is expected to initialize to instances appropriate to that platform. For the IBM Cell Blade support, I put the hypervisor only resources that were in struct spu into a platform specific data structure struct spu_pdata. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit e34226d2cd443a67f46fc531e3a6bc6e03843ce2 Author: Geoff Levand Date: Thu Nov 23 00:46:48 2006 +0100 [POWERPC] add virq_to_hw accessor routine This adds an accessor routine virq_to_hw() to the virq routines which hides the implementation details of the virq to hwirq map. Acked-by: Benjamin Herrenschmidt Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 897f112bb42ed9e220ce441e7e52aba3a144a7d6 Author: Michael Ellerman Date: Thu Nov 23 00:46:47 2006 +0100 [POWERPC] Import updated version of ppc disassembly code for xmon This includes: * version 1.24 of ppc-dis.c * version 1.88 of ppc-opc.c * version 1.23 of ppc.h I can't vouch for the accuracy etc. of these changes, but it brings us into line with binutils - and from a cursory test appears to work fine. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 0b8e2e131094d162a836e2afe86e52acbfa05703 Author: Michael Ellerman Date: Thu Nov 23 00:46:46 2006 +0100 [POWERPC] Make 64-bit cpu features defined on 32-bit It saves #ifdef'ing in callers if we at least define the 64-bit cpu features for 32-bit also. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit e0426047cb684842700f0098f74842a38260dbae Author: Michael Ellerman Date: Thu Nov 23 00:46:45 2006 +0100 [POWERPC] Make xmon disassembly optional While adding spu disassembly support it struck me that we're actually carrying quite a lot of code around, just to do disassembly in the case of a crash. While on large systems it's not an issue, on smaller ones it might be nice to have xmon - but without the weight of the disassembly support. For a Cell build this saves ~230KB (!), and for pSeries ~195KB. We still support the 'di' and 'sdi' commands, however they just dump the instruction in hex. Move the definitions into a header to clean xmon.c just a tiny bit. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit af89fb8041562508895c8f3ba04790d7c2f4338c Author: Michael Ellerman Date: Thu Nov 23 00:46:44 2006 +0100 [POWERPC] Add spu disassembly to xmon This patch adds a "sdi" command to xmon, to disassemble the contents of an spu's local store. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit ae06e374c15c5d62e08c19c15f2c247a86e240d4 Author: Michael Ellerman Date: Thu Nov 23 00:46:43 2006 +0100 [POWERPC] Import spu disassembly code into xmon This patch imports and munges the spu disassembly code from binutils. All files originated from version 1.1 in binutils cvs. * spu.h, spu-insns.h and spu-opc.c are unchanged except for pathnames. * spu-dis.c has been edited heavily: * use printf instead of info->fprintf_func and similar. * pass the instruction in rather than reading it. * we have no equivalent to symbol_at_address_func, so we just assume there is never a symbol at the address given. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 4c4c8723684b1b2cd0dfdf5e0685f35642bde253 Author: Michael Ellerman Date: Thu Nov 23 00:46:42 2006 +0100 [POWERPC] Prepare for spu disassembly in xmon In order to do disassembly of spu binaries in xmon, we need to abstract the disassembly function from ppc_inst_dump. We do this by making the actual disassembly function a function pointer that we pass to ppc_inst_dump(). To save updating all the callers, we turn ppc_inst_dump() into generic_inst_dump() and make ppc_inst_dump() a wrapper which always uses print_insn_powerpc(). Currently we pass the dialect into print_insn_powerpc(), but we always pass 0 - so just make it a local. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 24a24c85d3c35790a355138d7cd34c074cb1b3ac Author: Michael Ellerman Date: Thu Nov 23 00:46:41 2006 +0100 [POWERPC] Add a sd command (spu dump) to xmon to dump spu local store Add a command to xmon to dump the memory of a spu's local store. This mimics the 'd' command which dumps regular memory, but does a little hand holding by taking the user supplied address and finding that offset in the local store for the specified spu. This makes it easy for example to look at what was executing on a spu: 1:mon> ss ... Stopped spu 04 (was running) ... 1:mon> sf 4 Dumping spu fields at address c0000000019e0a00: ... problem->spu_npc_RW = 0x228 ... 1:mon> sd 4 0x228 d000080080318228 01a00c021cffc408 4020007f217ff488 |........@ ..!...| Aha, 01a00c02, which is of course rdch $2,$ch24 ! -- Updated to only do the setjmp goo around the spu access, and not around prdump because it does its own (via mread). Also the num variable is now common between sf and sd, so you don't have to keep typing the spu number in if you're repeating commands on the same spu. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 2a14442bfebfea23d004fa4dfd067a94f5720ed7 Author: Michael Ellerman Date: Thu Nov 23 00:46:40 2006 +0100 [POWERPC] Show state of spus as theyre stopped in Cell xmon helper After stopping spus in xmon I often find myself trawling through the field dumps to find out which spus were running. The spu stopping code actually knows what's running, so let's print it out to save the user some futzing. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 437a0706837d09d8ab071c6790da07d9d6bb3d22 Author: Michael Ellerman Date: Thu Nov 23 00:46:39 2006 +0100 [POWERPC] Fix sparse warning in xmon Cell code My patch to add spu helpers to xmon (a898497088f46252e6750405504064e2dce53117) introduced a few sparse warnings, because I was dereferencing an __iomem pointer. I think the best way to handle it is to actually use the appropriate in_beXX functions. Need to rejigger the DUMP macro a little to accomodate that. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 5850dd8f6d4e79484d498c0d77b223d1041f9954 Author: Benjamin Herrenschmidt Date: Thu Nov 23 00:46:38 2006 +0100 [POWERPC] cell: hard disable interrupts in power_save() With soft-disabled interrupts in power_save, we can still get external exceptions on Cell, even if we are in pause(0) a.k.a. sleep state. When the CPU really wakes up through the 0x100 (system reset) vector, while we have already started processing the 0x500 (external) exception, we get a panic in unrecoverable_exception() because of the lost state. This occurred in Systemsim for Cell, but as far as I can see, it can theoretically occur on any machine that uses the system reset exception to get out of sleep state. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Arnd Bergmann commit bf1ab978be2318c5a564de9aa0f1a217b44170d4 Author: Dwayne Grant McConnell Date: Thu Nov 23 00:46:37 2006 +0100 [POWERPC] coredump: Add SPU elf notes to coredump. This patch adds SPU elf notes to the coredump. It creates a separate note for each of /regs, /fpcr, /lslr, /decr, /decr_status, /mem, /signal1, /signal1_type, /signal2, /signal2_type, /event_mask, /event_status, /mbox_info, /ibox_info, /wbox_info, /dma_info, /proxydma_info, /object-id. A new macro, ARCH_HAVE_EXTRA_NOTES, was created for architectures to specify they have extra elf core notes. A new macro, ELF_CORE_EXTRA_NOTES_SIZE, was created so the size of the additional notes could be calculated and added to the notes phdr entry. A new macro, ELF_CORE_WRITE_EXTRA_NOTES, was created so the new notes would be written after the existing notes. The SPU coredump code resides in spufs. Stub functions are provided in the kernel which are hooked into the spufs code which does the actual work via register_arch_coredump_calls(). A new set of __spufs__read/get() functions was provided to allow the coredump code to read from the spufs files without having to lock the SPU context for each file read from. Cc: Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann commit 9309180f11f0107c9858a61a1ac2b04518a91080 Author: Benjamin Herrenschmidt Date: Tue Nov 21 14:56:37 2006 +1100 [POWERPC] powerpc: Workaround for of_platform without "reg" nor "dcr-reg" Devices with no "reg" nor "dcr-reg" property are given a bus_id which is the node name alone. This means that if more than one such device with the same names are present in the system, sysfs will have collisions when creating the symlinks and will fail registering the devices. This works around that problem by assigning successive numbers to such devices. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 974a76f51355d22f4f63d83d6bb1ccecd019ec58 Author: Paul Mackerras Date: Fri Nov 10 20:38:53 2006 +1100 [POWERPC] Distinguish POWER6 partition modes and tell userspace This adds code to look at the properties firmware puts in the device tree to determine what compatibility mode the partition is in on POWER6 machines, and set the ELF aux vector AT_HWCAP and AT_PLATFORM entries appropriately. Specifically, we look at the cpu-version property in the cpu node(s). If that contains a "logical" PVR value (of the form 0x0f00000x), we call identify_cpu again with this PVR value. A value of 0x0f000001 indicates the partition is in POWER5+ compatibility mode, and a value of 0x0f000002 indicates "POWER6 architected" mode, with various extensions disabled. We also look for various other properties: ibm,dfp, ibm,purr and ibm,spurr. Signed-off-by: Paul Mackerras commit 18f2190d796198fbb5d4bc4c87511acf3ced7d47 Author: Maynard Johnson Date: Mon Nov 20 18:45:16 2006 +0100 [POWERPC] cell: Add oprofile support Add PPU event-based and cycle-based profiling support to Oprofile for Cell. Oprofile is expected to collect data on all CPUs simultaneously. However, there is one set of performance counters per node. There are two hardware threads or virtual CPUs on each node. Hence, OProfile must multiplex in time the performance counter collection on the two virtual CPUs. The multiplexing of the performance counters is done by a virtual counter routine. Initially, the counters are configured to collect data on the even CPUs in the system, one CPU per node. In order to capture the PC for the virtual CPU when the performance counter interrupt occurs (the specified number of events between samples has occurred), the even processors are configured to handle the performance counter interrupts for their node. The virtual counter routine is called via a kernel timer after the virtual sample time. The routine stops the counters, saves the current counts, loads the last counts for the other virtual CPU on the node, sets interrupts to be handled by the other virtual CPU and restarts the counters, the virtual timer routine is scheduled to run again. The virtual sample time is kept relatively small to make sure sampling occurs on both CPUs on the node with a relatively small granularity. Whenever the counters overflow, the performance counter interrupt is called to collect the PC for the CPU where data is being collected. The oprofile driver relies on a firmware RTAS call to setup the debug bus to route the desired signals to the performance counter hardware to be counted. The RTAS call must set the routing registers appropriately in each of the islands to pass the signals down the debug bus as well as routing the signals from a particular island onto the bus. There is a second firmware RTAS call to reset the debug bus to the non pass thru state when the counters are not in use. Signed-off-by: Carl Love Signed-off-by: Maynard Johnson Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0443bbd3d8496f9c2bc3e8c9d1833c6638722743 Author: Kevin Corry Date: Mon Nov 20 18:45:15 2006 +0100 [POWERPC] cell: Add routines for managing PMU interrupts The following routines are added to arch/powerpc/platforms/cell/pmu.c: cbe_clear_pm_interrupts() cbe_enable_pm_interrupts() cbe_disable_pm_interrupts() cbe_query_pm_interrupts() cbe_pm_irq() cbe_init_pm_irq() This also adds a routine in arch/powerpc/platforms/cell/interrupt.c and some macros in cbe_regs.h to manipulate the IIC_IR register: iic_set_interrupt_routing() Signed-off-by: Kevin Corry Signed-off-by: Carl Love Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit e4f6948cfc8b9626022db0f93e7cf2ce5c0998cd Author: Kevin Corry Date: Mon Nov 20 18:45:14 2006 +0100 [POWERPC] cell: Move PMU-related stuff to include/asm-powerpc/cell-pmu.h Move some PMU-related macros and function prototypes from cbe_regs.h and pmu.h in arch/powerpc/platforms/cell/ to a new header at include/asm-powerpc/cell-pmu.h This is cleaner to use from the oprofile code, since that sits in arch/powerpc/oprofile, not in the cell platform directory. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit c93dfa0766bae3c92ec8311bddbbf16b8e661f59 Author: Kevin Corry Date: Mon Nov 20 18:45:13 2006 +0100 [POWERPC] cell: PMU register macros More macros for manipulating bits in the Cell PMU control registers. Signed-off-by: Kevin Corry Signed-off-by: Carl Love Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5231800c6fb99c106951a5e1a8e739ad9657e93f Author: Arnd Bergmann Date: Mon Nov 20 18:45:12 2006 +0100 [POWERPC] cell: Add symbol exports for oprofile Add symbol-exports for the new routines in arch/powerpc/platforms/cell/pmu.c. They are needed for Oprofile, which can be built as a module. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit c6730ed4c280ff9e55766796523c94a7d111da09 Author: Jeremy Kerr Date: Mon Nov 20 18:45:10 2006 +0100 [POWERPC] spufs: Load isolation kernel from spu_run In order to fit with the "don't-run-spus-outside-of-spu_run" model, this patch starts the isolated-mode loader in spu_run, rather than spu_create. If spu_run is passed an isolated-mode context that isn't in isolated mode state, it will run the loader. This fixes potential races with the isolated SPE app doing a stop-and-signal before the PPE has called spu_run: bugzilla #29111. Also (in conjunction with a mambo patch), this addresses #28565, as we always set the runcntrl register when entering spu_run. It is up to libspe to ensure that isolated-mode apps are cleaned up after running to completion - ie, put the app through the "ISOLATE EXIT" state (see Ch11 of the CBEA). Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 3960c260204bc33404a6e54e9dcd44f1f83bc701 Author: Jeremy Kerr Date: Mon Nov 20 18:45:09 2006 +0100 [POWERPC] spufs: Add runcntrl read accessors This change adds a read accessor for the SPE problem-state run control register. This is required for for applying (userspace) changes made to the run control register while the SPE is stopped - simply asserting the master run control bit is not sufficient. My next patch for isolated-mode setup requires this. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ee2d7340cbf3b123e1c3b7454f3e2b7e65d33bb2 Author: Arnd Bergmann Date: Mon Nov 20 18:45:08 2006 +0100 [POWERPC] spufs: Use SPU master control to prevent wild SPU execution When the user changes the runcontrol register, an SPU might be running without a process being attached to it and waiting for events. In order to prevent this, make sure we always disable the priv1 master control when we're not inside of spu_run. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 3692dc66149dc17cd82ec785a06478322c0eddff Author: Masato Noguchi Date: Mon Nov 20 18:45:07 2006 +0100 [POWERPC] spufs: Fix return value of spufs_mfc_write This patch changes spufs_mfc_write() to return correct size instead of 0. Signed-off-by: Masato Noguchi Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 932f535dd4c83dc3eb631c2cee1dfd6ae289b88c Author: Arnd Bergmann Date: Mon Nov 20 18:45:06 2006 +0100 [POWERPC] spufs: Always map local store non-guarded When fixing spufs to map the 'mem' file backing store cacheable, I incorrectly set the physical mapping to use both cache-inhibited and guarded mapping, which resulted in a serious performance degradation. Debugged-by: Michael Ellerman Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5c3ecd659bd20cda214a402a3132c790cc886cd2 Author: Christoph Hellwig Date: Mon Nov 20 18:45:05 2006 +0100 [POWERPC] spufs: Avoid user-triggered oops in ptrace When one of the spufs files is mapped into a process address space, regular users can use ptrace to attempt accessing them with access_process_vm(). With the way that the mappings currently work, this likely causes an oops. Setting the vm_flags to VM_IO makes sure that ptrace can not access them but returns an error code. This is not the perfect solution in case of the local store mapping, but it fixes the oops in a well-defined way. Also remove leftover VM_RESERVED flags in spufs. The VM_RESERVED flag is on it's way out and not checked by the memory managment code anymore. Signed-off-by: Arnd Bergmann Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit 2ebb2477f9a61b436dd22b75189857df1a77e585 Author: Masato Noguchi Date: Mon Nov 20 18:45:04 2006 +0100 [POWERPC] spufs: Fix missing stop-and-signal When there is pending signals, current spufs_run_spu() always returns -ERESTARTSYS and it is called again automatically. But, if spe already stopped by stop-and-signal or halt instruction, returning -ERESTARTSYS makes stop-and-signal/halt lost and spu run over the end-point. For your convenience, I attached a sample code to restage this bug. If there is no bug, printed NPC will be 0x4000. Signed-off-by: Masato Noguchi Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 453d9f72a91d798c3e3c4b4bed26210926dfb57b Author: Arnd Bergmann Date: Mon Nov 20 18:45:03 2006 +0100 [POWERPC] spufs: Return correct event for data storage interrupt When we attempt an MFC DMA to an unmapped address, the event returned from spu_run should be SPE_EVENT_SPE_DATA_STORAGE, not SPE_EVENT_INVALID_DMA. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0021550c0199b2bf5e434eda0216144074537fc7 Author: Geoff Levand Date: Mon Nov 20 18:45:02 2006 +0100 [POWERPC] spufs: Replace spu.nid with spu.node Replace the use of the platform specific variable spu.nid with the platform independednt variable spu.node. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 17f88cebc2c3aff9d90f0d49f6e0628835eddc32 Author: Dwayne Grant McConnell Date: Mon Nov 20 18:45:01 2006 +0100 [POWERPC] spufs: Read from signal files only if data is there We need to check the channel count of the signal notification registers before reading them, because it can be undefined when the count is zero. In order to read count and data atomically, we read from the saved context. This patch uses spu_acquire_saved() to force a context save before a /signal1 or /signal2 read. Because of this it is no longer necessary to have backing_ops and hw_ops versions of this function so they have been removed. Regular applications should not rely on reading this register to be fast, as it's conceptually a write-only file from the PPE perspective. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 69a2f00ce5d3a19a70b36f08eaf9049677277710 Author: Dwayne Grant McConnell Date: Mon Nov 20 18:45:00 2006 +0100 [POWERPC] spufs: Implement /mbox_info, /ibox_info, and /wbox_info. This patch implements read only access to /mbox_info - SPU Write Outbound Mailbox /ibox_info - SPU Write Outbound Interrupt Mailbox /wbox_info - SPU Read Inbound Mailbox These files are used by gdb in order to look into the current mailbox queues without changing the contents at the same time. They are not meant for general programming use, since the access requires a context save and is therefore rather slow. It would be good to complement this patch with one that adds write support as well. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 1182e1d351d2a910bc0fb53c00277c62235333de Author: Dwayne Grant McConnell Date: Mon Nov 20 18:44:59 2006 +0100 [POWERPC] spufs: Remove /spu_tag_mask file This patch removes the /spu_tag_mask file from spufs. The data provided by this file is also available from the /dma_info file in the dma_info_mask of the spu_dma_info struct. The file was intended to be used by gdb, but that never used it, and now it has been replaced with the more verbose dma_info file. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit b9e3bd774bb1a90fee9b90f461a51e4ba295fe6d Author: Dwayne Grant McConnell Date: Mon Nov 20 18:44:58 2006 +0100 [POWERPC] spufs: Add /lslr, /dma_info and /proxydma files The /lslr file gives read access to the SPU_LSLR register in hex; 0x3fff for example The /dma_info file provides read access to the SPU Command Queue in a binary format. The /proxydma_info files provides read access access to the Proxy Command Queue in a binary format. The spu_info.h file provides data structures for interpreting the binary format of /dma_info and /proxydma_info. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 9b5047e249f429722d0adc54cb5ef051bd3d685c Author: Dwayne Grant McConnell Date: Mon Nov 20 18:44:57 2006 +0100 [POWERPC] spufs: Change %llx to 0x%llx. This patches changes /npc, /decr, /decr_status, /spu_tag_mask, /event_mask, /event_status, and /srr0 files to provide output according to the format string "0x%llx" instead of "%llx". Before this patch some files used "0x%llx" and other used "%llx" which is inconsistent and potentially confusing. A user might assume "%llx" numbers were decimal if they happened to not contain any a-f digits. This change will break any code cannot tolerate a leading 0x in the file contents. The only known users of these files are the libspe but there might also be some scripts which access these files. This risk is deemed acceptable for future consistency. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 8dc86ab954d28513f75918d743c40cddbff7388a Author: Geoff Levand Date: Mon Nov 20 18:44:56 2006 +0100 [POWERPC] Change ppc_rtas declaration to weak Change the definition of powerpc's cond_syscall() to use the standard gcc weak attribute specifier which provides proper support for C linkage as needed by spu_syscall_table[]. Fixes this powerpc build error with CONFIG_SPU_FS=y, CONFIG_PPC_RTAS=n: arch/powerpc/platforms/built-in.o: undefined reference to `ppc_rtas' Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 78dc4c20de0f2cb2aa6d4542f965f889be6da775 Author: Kalle Pokki Date: Sat Nov 11 12:09:39 2006 +0200 [POWERPC] 8xx: Off-by-one fixes to SCC parameter RAM definitions The SCC parameter RAM areas are mapped wrong in MPC8xx device descriptions. All memory areas overlap with the next one, so that I2C, SPI, SMC1 and SMC2 cannot be enabled if the four SCCs are. Signed-off-by: Kalle Pokki Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit adaa3a796282e2fa3bc48bc57bccd01ce891b8d2 Author: Geert Uytterhoeven Date: Fri Nov 17 06:21:12 2006 +0100 [POWERPC] setup_kcore(): Fix incorrect function name in panic() call. Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 4687522c0dba89f1f71aeb8cf08acc4e1ee87fda Author: Grant Likely Date: Fri Nov 17 23:12:14 2006 -0700 [POWERPC] Don't compile arch/powerpc mpc52xx_pic driver for ARCH=ppc arch/powerpc/sysdev/mpc52xx_pic.c breaks the ppc build Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 9a06c3b176976919e223844f8ed9f1acae20b433 Author: Adrian Cox Date: Fri Nov 17 14:35:48 2006 +0000 [POWERPC] Fix wraparound problem in smp-tbsync on 32-bit The patch below fixes an arithmetic wrap-around issue on 32bit machines using smp-tbsync. Without this patch a timebase value over 0x000000007fffffff will hang the boot process while bringing up secondary CPUs. Signed-off-by: Adrian Cox Signed-off-by: Paul Mackerras commit 35af89eb491a0741005e474626053266e6e635b7 Author: David Gibson Date: Tue Nov 21 11:37:37 2006 +1100 [POWERPC] Cleanup zImage handling of kernel entry with flat device tree This makes 2 changes to clean up the flat device tree handling logic in the zImage wrapper. First, there were two callbacks from the dt_ops structure used for producing a final flat tree to pass to the kerne: dt_ops.ft_pack() which packed the flat tree (possibly a no-op) and dt_ops.ft_addr() which retreived the address of the final blob. Since they were only ever called together, this patch combines the two into a single new callback, dt_ops.finalize(). This new callback does whatever platform-dependent things are necessary to produce a final flat device tree blob, and returns the blob's addres. Second, the current logic calls the kernel with a flat device tree if one is build into the zImage wrapper, otherwise it boots the kernel with a PROM pointer, expecting the kernel to copy the OF device tree itself. This approach precludes the possibility of the platform wrapper code building a flat device tree from whatever platform-specific information firmware provides. Thus, this patch takes the more sensible approach of invoking the kernel with a flat tree if the dt_ops.finalize callback provides one (by whatever means). So, the dt_ops.finalize callback can be NULL, or can be a function which returns NULL. In either case, the zImage wrapper logic assumes that this is a platform with OF and invokes the kernel accordingly. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit f79e083c2fab601a1c382282344f5a251557dbac Author: David Gibson Date: Thu Nov 16 15:31:32 2006 +1100 [POWERPC] Small clarification of initrd handling This patch makes the handling of the initrd (or initramfs) in the zImage wrapper a little easier to follow. Instead of passing the initrd addresses out from prep_kernel() via the cryptic a1 and a2 parameters, use the global struct add_range, 'initrd'. prep_kernel() already passes information through the 'vmlinux' addr_range struct, so this seems like a reasonable extension. Some comments also clarify the logic with prep_kernel(): we use an initrd included in the zImage if present, otherwise we use an initrd passed in by the bootloader in the a1 and a2 parameters (yaboot, at least, uses this mechanism to pass an initrd). Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 3e00a5aec3d6af687e37f4e7482f5c7ecdcabd0b Author: Benjamin Herrenschmidt Date: Thu Nov 16 14:03:33 2006 +1100 [POWERPC] Xserve cpu-meter driver This is a small driver for the Xserve G5 CPU-meter blue LEDs on the front-panel. It might work on the Xserve G4 as well though that was not tested. It's pretty basic and could use some improvements if somebody cares doing them. :) Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 088df4d256227b3d927bb6ed57e66d138da0565c Author: Linas Vepstas Date: Thu Nov 16 15:41:15 2006 -0600 [POWERPC] Wrap cpu_die() with CONFIG_HOTPLUG_CPU Per email discussion, it appears that rtas_stop_self() and pSeries_mach_cpu_die() should not be compiled if CONFIG_HOTPLUG_CPU is not defined. This patch adds #ifdefs around these bits of code. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 5873c9bdb05e9cc68ff4c45a192032a61f705067 Author: Zang Roy-r61911 Date: Tue Nov 14 14:31:50 2006 +0800 [POWERPC] Make pci_read_irq_line the default on mpc7448hpc2 board The following patch adds a tsi108/9 pci interrupt controller host. On mpc7448hpc2 board, pci_irq_fixup function is removed, which makes the pci_read_irq_line be the default pci irq fixup. Signed-off-by: Roy Zang Signed-off-by: Paul Mackerras commit 533462df56db99ceba4b4124b69469aa2a46a8de Author: Kalle Pokki Date: Mon Nov 13 11:22:30 2006 +0300 [POWERPC] CPM_UART: Fix inconsistency of function definition The below hunk was missed from the recent patch, and now, there are somewhat inconsistent definitions: in cpm_uart.h: int __init cpm_uart_init_portdesc(void); in cpm_uart_cpm1.c: int __init cpm_uart_init_portdesc(void) { } in cpm_uart_cpm2.c: int cpm_uart_init_portdesc(void) { } Signed-off-by: Kalle Pokki Signed-off-by: Vitaly Bordug Signed-off-by: Paul Mackerras commit 1d30593e4c406c753e395676ba8b58600ccccbc1 Author: Wojtek Kaniewski Date: Wed Nov 8 19:52:57 2006 -0800 [POWERPC] Compilation fixes for ppc4xx PCI-less configs Fix compilation without PCI support for Bubinga, CPCI405 and EP405. bios_fixup() for these boards uses functions available only with CONFIG_PCI, so linker fails. Signed-off-by: Wojtek Kaniewski Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d6a0005c26aea9d470cf80c392d3bf2039dc4679 Author: nkalmala Date: Wed Nov 8 19:52:56 2006 -0800 [POWERPC] Book-E reg MCSR msg misquoted PPC/booke reg MCSR value misquoted Signed-off-by: nkalmala Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit ef2b343e99e772e35f0f9d00f7db318b6629c16e Author: Hugh Dickins Date: Fri Nov 10 21:32:40 2006 +0000 [POWERPC] Make soft_enabled irqs preempt safe Rewrite local_get_flags and local_irq_disable to use r13 explicitly, to avoid the risk that gcc will split get_paca()->soft_enabled into a sequence unsafe against preemption. Similar care in local_irq_restore. Signed-off-by: Hugh Dickins Signed-off-by: Paul Mackerras commit 56291e19e37cf3bb8fc701ebf3aa8ffbf59f73ef Author: Stephen Rothwell Date: Tue Nov 14 12:57:38 2006 +1100 [POWERPC] iSeries: fix slb.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1d13581d00a041797c2c14adaccd306c91f87d46 Author: Stephen Rothwell Date: Mon Nov 13 14:50:28 2006 +1100 [POWERPC] iSeries: fix xmon.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 501b6d2938fd51e85279d950a6d23d515ae22c59 Author: Stephen Rothwell Date: Tue Nov 21 15:10:20 2006 +1100 [POWERPC] iSeries: fix time.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ad5cb17f730ae49e494cfd680a5c62f81c3ca484 Author: Stephen Rothwell Date: Mon Nov 13 14:46:04 2006 +1100 [POWERPC] iSeries: fix sysfs.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b06a318372ba95873abfe323076bd7e115d64b67 Author: Stephen Rothwell Date: Tue Nov 21 14:16:13 2006 +1100 [POWERPC] iSeries: fix irq.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f9df68ec7bf49e37b46aa0a5d9e7938c060dba52 Author: Stephen Rothwell Date: Mon Nov 13 14:43:17 2006 +1100 [POWERPC] iSeries: improve viodasd initialisation On error, make sure that we undo all necessary operations. This also gets rid of a must_check warning. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 6ad4e70cafc43155d3a7e6e796e8b6b6967fc9e2 Author: Benjamin Herrenschmidt Date: Tue Nov 21 13:45:56 2006 +1100 [POWERPC] Fix IDE build with ARCH=ppc The recent IO accessor changes broke IDE on arch/ppc due to the IDE stream IO macros using the new reads/writes{b,w,l} accessors that are only defined for arch/powerpc. This adds them to arch/ppc. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 757db1ed9b50d28cd4c1e7d9925c9ea7783b2f91 Author: Benjamin Herrenschmidt Date: Tue Nov 21 12:35:29 2006 +1100 [POWERPC] Fix __raw* accessors The new IO accessor code allows to stick a token in the top bit of MMIO addresses which gets masked out during actual accesses. However, the __raw_* accessors forgot to mask it out. This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 68a64357d15ae4f596e92715719071952006e83c Author: Benjamin Herrenschmidt Date: Mon Nov 13 09:27:39 2006 +1100 [POWERPC] Merge 32 and 64 bits asm-powerpc/io.h powerpc: Merge 32 and 64 bits asm-powerpc/io.h The rework on io.h done for the new hookable accessors made it easier, so I just finished the work and merged 32 and 64 bits io.h for arch/powerpc. arch/ppc still uses the old version in asm-ppc, there is just too much gunk in there that I really can't be bothered trying to cleanup. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3d1ea8e8cb4d497a2dd73176cc82095b8f193589 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:19 2006 +1100 [POWERPC] Remove ioremap64 and fixup_bigphys_addr In order to suppose platforms with devices above 4Gb on 32 bits platforms with a >32 bits physical address space, we used to have a special ioremap64 along with a fixup routine fixup_bigphys_addr. This shouldn't be necessary anymore as struct resource now supports 64 bits addresses even on 32 bits archs. This patch enables that option when CONFIG_PHYS_64BIT is set and removes ioremap64 and fixup_bigphys_addr. This is a preliminary work for the upcoming merge of 32 and 64 bits io.h Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 165785e5c0be3ad43e8b8eadfbd25e92c2cd002a Author: Jeremy Kerr Date: Sat Nov 11 17:25:18 2006 +1100 [POWERPC] Cell iommu support This patch adds full cell iommu support (and iommu disabled mode). It implements mapping/unmapping of iommu pages on demand using the standard powerpc iommu framework. It also supports running with iommu disabled for machines with less than 2GB of memory. (The default is off in that case, though it can be forced on with the kernel command line option iommu=force). Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit acfd946a1aaffdec346c2864f596d4d92125d1ad Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:17 2006 +1100 [POWERPC] Make cell use direct DMA ops Now that the direct DMA ops supports an offset, we use that instead of defining our own. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c80d9133e99de1af607314107910a2a1645efb17 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:16 2006 +1100 [POWERPC] Make direct DMA use node local allocations This patch makes dma_alloc_coherent() use node local allocation when using the direct DMA ops. The node is obtained from the new device extension. If no such extension is present, the current node is used. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 92b20c40dcca2d441f367da57e7665cce15c492a Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:14 2006 +1100 [POWERPC] Add an optional offset to direct DMA on 64 bits This patch adds an optional global offset that can be added to DMA addresses when using the direct DMA operations. That brings it a step closer to the 32 bits direct DMA operations, and makes it useable on Cell when the MMU is disabled and we are using a spider southbridge. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3bc0f40c287a435805b0545ffc44ea41f11cd43e Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:13 2006 +1100 [POWERPC] Spider uses low level BE MMIO accessors We use the powerpc specific low level MMIO accessor variants instead of readl() or readl_be() because we know spidernet is not a real PCI device and we can thus avoid the performance hit caused by the PCI workarounds. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 014da7ff47b559e5f0ae3e044b73f0359c08153d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:12 2006 +1100 [POWERPC] Cell "Spider" MMIO workarounds This patch implements a workaround for a Spider PCI host bridge bug where it doesn't enforce some of the PCI ordering rules unless some manual manipulation of a special register is done. In order to be fully compliant with the PCI spec, I do this on every MMIO read operation. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4cb3cee03d558fd457cb58f56c80a2a09a66110c Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:10 2006 +1100 [POWERPC] Allow hooking of PCI MMIO & PIO accessors on 64 bits This patch reworks the way iSeries hooks on PCI IO operations (both MMIO and PIO) and provides a generic way for other platforms to do so (we have need to do that for various other platforms). While reworking the IO ops, I ended up doing some spring cleaning in io.h and eeh.h which I might want to split into 2 or 3 patches (among others, eeh.h had a lot of useless stuff in it). A side effect is that EEH for PIO should work now (it used to pass IO ports down to the eeh address check functions which is bogus). Also, new are MMIO "repeat" ops, which other archs like ARM already had, and that we have too now: readsb, readsw, readsl, writesb, writesw, writesl. In the long run, I might also make EEH use the hooks instead of wrapping at the toplevel, which would make things even cleaner and relegate EEH completely in platforms/iseries, but we have to measure the performance impact there (though it's really only on MMIO reads) Since I also need to hook on ioremap, I shuffled the functions a bit there. I introduced ioremap_flags() to use by drivers who want to pass explicit flags to ioremap (and it can be hooked). The old __ioremap() is still there as a low level and cannot be hooked, thus drivers who use it should migrate unless they know they want the low level version. The patch "arch provides generic iomap missing accessors" (should be number 4 in this series) is a pre-requisite to provide full iomap API support with this patch. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d03f387eb321189bc2ba278b6ca82f1a45cf19d6 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:09 2006 +1100 [POWERPC] Cell fixup DMA offset for new southbridge This patch makes the Cell DMA code work on both the Spider and the Axon south bridges by turning cell_dma_valid into a variable instead of a constant. This is a temporary patch until we have full iommu support. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4c9d2800be5dfabf26acdeb401cbabe9edc1dcf2 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:08 2006 +1100 [POWERPC] Generic OF platform driver for PCI host bridges. When enabled in Kconfig, it will pick up any of_platform_device matching it's match list (currently type "pci", "pcix", "pcie", or "ht" and setup a PHB for it. Platform must provide a ppc_md.pci_setup_phb() for it to work (for doing the necessary initialisations specific to a given PHB like setting up the config space ops). It's currently only available on 64 bits as the 32 bits PCI code can't quite cope with it in it's current form. I will fix that later. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 803d4573e60bc890d7fbc040ad1c18c2dc7f8279 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:07 2006 +1100 [POWERPC] Add "parent" struct device for PCI host bridges Add a "parent" struct device to our PCI host bridge data structure so that PCI can be rooted off another device in sysfs. Note that arch/ppc doesn't use it, only arch/powerpc, though it's available for both 32 and 64 bits. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6506e7102fd57b138979f131d751014462181202 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:06 2006 +1100 [POWERPC] Resolve the BUID for RTAS PCI config space accesses The BUID is the first entry of a PCI host bridge "reg" property. Now that PCI busses can be anywhere in the device-tree, we need to fully translate the value there to a CPU physical address before we can use it with RTAS. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e557a1c96c82f4d1a91b5c2e2e0275b5999c297d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:05 2006 +1100 [POWERPC] Resolve the parent address of a PCI bus range When parsing the OF "ranges" properties of PCI host busses to determine the mapping of a PCI bus, we need to translate the "parent" address using the prom_parse.c routines in order to obtain a CPU physical address. This wasn't necessary while PCI busses were always at the root of the device-tree but this is no longer the case on Cell where they can be anywhere in the tree. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 868108784ccf0add6ac593bfbc2eb5a0804af48d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:04 2006 +1100 [POWERPC] Add DMA ops support for of_platform_device to Cell This patch adds a bus device notifier to the of_platform bus type on cell to setup the DMA operations for of_platform_devices. We currently use the PCI operations as Cell use a special version of them that happens to be suitable for our needs. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 12d04eef927bf61328af2c7cbe756c96f98ac3bf Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:02 2006 +1100 [POWERPC] Refactor 64 bits DMA operations This patch completely refactors DMA operations for 64 bits powerpc. 32 bits is untouched for now. We use the new dev_archdata structure to add the dma operations pointer and associated data to struct device. While at it, we also add the OF node pointer and numa node. In the future, we might want to look into merging that with pci_dn as well. The old vio, pci-iommu and pci-direct DMA ops are gone. They are now replaced by a set of generic iommu and direct DMA ops (non PCI specific) that can be used by bus types. The toplevel implementation is now inline. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7c719871ff4d5f15b71f0138d08b758281b58631 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:42 2006 +1100 [PATCH] ibmveth: Remove ibmveth "liobn" field Remove the now unused "liobn" field in ibmveth which also avoids having insider knowledge of the iommu table in that driver. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Santiago Leon Signed-off-by: Paul Mackerras commit a863055b1066be1b8e1107f71be01daeed6bde31 Author: Jens Axboe Date: Mon Dec 4 09:30:58 2006 +0100 [PATCH] blktrace: don't return blktrace_seq from trace_note() Only the process notifier needs it, and it can set it manually. Signed-off-by: Jens Axboe commit d3d9d2a5ea9770db07aeb13a07f999aa48e8f865 Author: Jens Axboe Date: Mon Dec 4 09:27:41 2006 +0100 [PATCH] blktrace: uninline trace_note() It's too large to inline. Additionally clean it up, by fast pathing the likely path. Signed-off-by: Jens Axboe commit f23f6e08c47acbdd20e9c49a79da8c404ea168e1 Author: Al Viro Date: Fri Oct 20 15:17:02 2006 -0400 [PATCH] severing poll.h -> mm.h Signed-off-by: Al Viro commit d7fe0f241dceade9c8d4af75498765c5ff7f27e6 Author: Al Viro Date: Sun Dec 3 23:15:30 2006 -0500 [PATCH] severing skbuff.h -> mm.h Signed-off-by: Al Viro commit bd01f843c3368dcee735c19603251669f23f4477 Author: Al Viro Date: Thu Oct 19 17:23:57 2006 -0400 [PATCH] severing skbuff.h -> poll.h Signed-off-by: Al Viro commit a1f8e7f7fb9d7e2cbcb53170edca7c0ac4680697 Author: Al Viro Date: Thu Oct 19 16:08:53 2006 -0400 [PATCH] severing skbuff.h -> highmem.h Signed-off-by: Al Viro commit b07e4ecd4d380ad697c54d729cb653d027077c99 Author: Al Viro Date: Thu Oct 19 10:29:02 2006 -0400 [PATCH] severing uaccess.h -> sched.h Signed-off-by: Al Viro commit 914e26379decf1fd984b22e51fd2e4209b7a7f1b Author: Al Viro Date: Wed Oct 18 13:55:46 2006 -0400 [PATCH] severing fs.h, radix-tree.h -> sched.h Signed-off-by: Al Viro commit f6a570333e554b48ad589e7137c77c57809eee81 Author: Al Viro Date: Wed Oct 18 01:47:25 2006 -0400 [PATCH] severing module.h->sched.h Signed-off-by: Al Viro commit 96289b07eb319ab3f64db3f0d981970aa1d60a60 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:00 2006 +1100 [POWERPC] Hook of_platform_bus_probe with cell Hook up of_platform_bus_probe with the cell platform in order to publish the non-PCI devices in the device-tree of cell blades as of_platform_device(s) Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7eebde700fe6fd6573e80bd8e5ed82b4ae705575 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:59 2006 +1100 [POWERPC] Souped-up of_platform_device support This patch first splits of_device.c and of_platform.c, the later containing the bits relative to of_platform_device's. On the "breaks" side of things, drivers uisng of_platform_device(s) need to include asm/of_platform.h now and of_(un)register_driver is now of_(un)register_platform_driver. In addition to a few utility functions to locate of_platform_device(s), the main new addition is of_platform_bus_probe() which allows the platform code to trigger an automatic creation of of_platform_devices for a whole tree of devices. The function acts based on the type of the various "parent" devices encountered from a provided root, using either a default known list of bus types that can be "probed" or a passed-in list. It will only register devices on busses matching that list, which mean that typically, it will not register PCI devices, as expected (since they will be picked up by the PCI layer). This will be used by Cell platforms using 4xx-type IOs in the Axon bridge and can be used by any embedded-type device as well. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 21fb5a1d9f554970c680b801ba32184bc7c34aa0 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:58 2006 +1100 [POWERPC] Native cell support for MPIC in southbridge Add support for southbridges using the MPIC interrupt controller to the native cell platforms. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a959ff56bbf07954ea4fa1cf72f99a38795eadb3 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:56 2006 +1100 [POWERPC] Improve MPIC driver auto-configuration from DT This patch applies on top of the MPIC DCR support. It makes the MPIC driver capable of a lot more auto-configuration based on the device-tree, for example, it can retreive it's own physical address if not passed as an argument, find out if it's DCR or MMIO mapped, and set the BIG_ENDIAN flag automatically in the presence of a "big-endian" property in the device-tree node. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fbf0274e43b7e17ee740fee2d693932be093d56d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:55 2006 +1100 [POWERPC] Support for DCR based MPIC This patch implements support for DCR based MPIC implementations. Such implementations have the MPIC_USES_DCR flag set and don't use the phys_addr argument of mpic_alloc (they require a valid dcr mapping in the device node) This version of the patch can use a little bif of cleanup still (I can probably consolidate rb->dbase/doff, at least once I'm sure on how the hardware is actually supposed to work vs. possible simulator issues) and it should be possible to build a DCR-only version of the driver. I need to cleanup a bit the CONFIG_* handling for that and probably introduce CONFIG_MPIC_MMIO and CONFIG_MPIC_DCR. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1be3770aa9220324e54851d1be7c879942f79620 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:54 2006 +1100 [POWERPC] Make EMAC use generic DCR access methods This patch makes the EMAC driver use the new DCR access methods. It doesn't yet uses dcr_map() and thus still only work with real DCRs. This will be fixed in a later patch Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4c75a6f441cdd1c69a6c173bc7944e12c2ba6f84 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:53 2006 +1100 [POWERPC] Generic DCR infrastructure This patch adds new dcr_map/dcr_read/dcr_write accessors for DCRs that can be used by drivers to transparently address either native DCRs or memory mapped DCRs. The implementation for memory mapped DCRs is done after the binding being currently worked on for SLOF and the Axon chipset. This patch enables it for the cell native platform Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 69108cf00679716bcab58acb3135390654c5bb99 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:52 2006 +1100 [POWERPC] Remove ppc_md.pci_map_irq & ppc_swizzle for ARCH=powerpc These were inherited from ARCH=ppc, but are not needed since parsing of interrupts should be done via the of_* functions (who can do swizzling). If we ever need to do non-standard swizzling on bridges without a device-node, then we might add back a slightly different version of ppc_md.pci_swizzle but for now, that is not the case. I removed the couple of calls for these in 83xx. If that breaks something, then there is a problem with the device-tree on these. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f90bb153b1493719d18b4529a46ebfe43220ea6c Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:51 2006 +1100 [POWERPC] Make pci_read_irq_line the default This patch reworks the way IRQs are fixed up on PCI for arch powerpc. It makes pci_read_irq_line() called by default in the PCI code for devices that are probed, and add an optional per-device fixup in ppc_md for platforms that really need to correct what they obtain from pci_read_irq_line(). It also removes ppc_md.irq_bus_setup which was only used by pSeries and should not be needed anymore. I've also removed the pSeries s7a workaround as it can't work with the current interrupt code anyway. I'm trying to get one of these machines working so I can test a proper fix for that problem. I also haven't updated the old-style fixup code from 85xx_cds.c because it's actually buggy :) It assigns pci_dev->irq hard coded numbers which is no good with the new IRQ mapping code. It should at least use irq_create_mapping(NULL, hard_coded_number); and possibly also set_irq_type() to set them as level low. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 34ba8a5cd0b0d57f7775023e6e3fec473a7291cc Author: Linus Torvalds Date: Sat Nov 11 17:24:46 2006 +1100 [PATCH] Arch provides generic iomap missing accessors Allow architectures to provide their own implementation of the big endian MMIO accessors and "repeat" MMIO accessors for use by the generic iomap. Signed-off-by: Linus Torvalds More-or-less-tested-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 79acbb3ff2d8095b692e1502b9eb2ccec348de26 Merge: 19a7985... 2b5f6dc... Author: Paul Mackerras Date: Mon Dec 4 15:59:07 2006 +1100 Merge branch 'linux-2.6' into for-linus commit ef9467f8f0803881d6b20ad6f0f770fc39bcc2c2 Author: Jurij Smakov Date: Sun Dec 3 19:33:02 2006 -0800 [SUNHME]: Fix for sunhme failures on x86 The following patch fixes the failure of sunhme drivers on x86 hosts due to missing pci_enable_device() and pci_set_master() calls, lost during code refactoring. It has been filed as bugzilla bug #7502 [0] and Debian bug #397460 [1]. [0] http://bugzilla.kernel.org/show_bug.cgi?id=7502 [1] http://bugs.debian.org/397460 Signed-off-by: Jurij Smakov Signed-off-by: David S. Miller commit 83ac58ba0a26228c0b16baa2c4b821de9c4ad5ca Merge: b4ad86b... 2bbf29a... Author: David S. Miller Date: Sun Dec 3 19:24:40 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6 commit d916faace3efc0bf19fe9a615a1ab8fa1a24cd93 Author: Jeff Garzik Date: Sun Dec 3 22:22:41 2006 -0500 Remove long-unmaintained ftape driver subsystem. It's bitrotten, long unmaintained, long hidden under BROKEN_ON_SMP, etc. As scheduled in feature-removal-schedule.txt, and ack'd several times on lkml. Signed-off-by: Jeff Garzik commit b4ad86bf52469b26148c677cb59d8bc81f129cc2 Author: David S. Miller Date: Sun Dec 3 19:19:26 2006 -0800 [XFRM] xfrm_user: Better validation of user templates. Since we never checked the ->family value of templates before, many applications simply leave it at zero. Detect this and fix it up to be the pol->family value. Also, do not clobber xp->family while reading in templates, that is not necessary. Signed-off-by: David S. Miller commit cc9f022d97d08e4e36d38661857991fe91447d68 Author: Francois Romieu Date: Fri Nov 17 23:15:17 2006 +0100 r8169: more alignment for the 0x8168 Two thirds of packets are lost because of misalignment. Users of Asus laptop did apparently not notice it. Reported on Gigabyte GA-945GM-S2. Fix for http://bugzilla.kernel.org/show_bug.cgi?id=7517 Signed-off-by: Francois Romieu commit 12d86f682e8acad8555718dc7b0082590f2365d0 Author: Francois Romieu Date: Thu Nov 2 00:24:52 2006 +0100 r8169: phy program update This is commented out in Realtek's driver as well. Signed-off-by: Francois Romieu commit d03902b8864d7814c938f67befade5a3bba68708 Author: Francois Romieu Date: Thu Nov 23 00:00:42 2006 +0100 r8169: tweak the PCI data parity error recovery The 8110SB based n2100 board signals a lot of what ought to be PCI data parity errors durint operation of the 8169 as target. Experiment proved that the driver can ignore the error and process the packet as if nothing had happened. Let's add an ad-hoc knob to enable users to fix their system while avoiding the risks of a wholesale change. Signed-off-by: Francois Romieu commit 9cb427b6ff0b3e235c518acf5c1fcbbfc95f0ae2 Author: Francois Romieu Date: Thu Nov 2 00:10:16 2006 +0100 r8169: more magic during initialization of the hardware Mostly taken from Realtek's driver. It's a bit yucky but the original is even worse. Signed-off-by: Francois Romieu Signed-off-by: Darren Salt commit 024879ead9594acab30ce9e23c955086e2d967a0 Author: James Bottomley Date: Wed Nov 15 18:03:07 2006 -0600 [SCSI] libsas: better error handling in sas_expander.c With async scanning, we're now tripping the BUG_ON in sas_ex_discover_end_dev(), so make the error handling here correct. Signed-off-by: James Bottomley commit afe4b25e7d9260d85fccb2d13c9933a987bdfc8a Author: Lennert Buytenhek Date: Sun Dec 3 18:51:14 2006 +0100 [ARM] 3881/4: xscale: clean up cp0/cp1 handling XScale cores either have a DSP coprocessor (which contains a single 40 bit accumulator register), or an iWMMXt coprocessor (which contains eight 64 bit registers.) Because of the small amount of state in the DSP coprocessor, access to the DSP coprocessor (CP0) is always enabled, and DSP context switching is done unconditionally on every task switch. Access to the iWMMXt coprocessor (CP0/CP1) is enabled only when an iWMMXt instruction is first issued, and iWMMXt context switching is done lazily. CONFIG_IWMMXT is supposed to mean 'the cpu we will be running on will have iWMMXt support', but boards are supposed to select this config symbol by hand, and at least one pxa27x board doesn't get this right, so on that board, proc-xscale.S will incorrectly assume that we have a DSP coprocessor, enable CP0 on boot, and we will then only save the first iWMMXt register (wR0) on context switches, which is Bad. This patch redefines CONFIG_IWMMXT as 'the cpu we will be running on might have iWMMXt support, and we will enable iWMMXt context switching if it does.' This means that with this patch, running a CONFIG_IWMMXT=n kernel on an iWMMXt-capable CPU will no longer potentially corrupt iWMMXt state over context switches, and running a CONFIG_IWMMXT=y kernel on a non-iWMMXt capable CPU will still do DSP context save/restore. These changes should make iWMMXt work on PXA3xx, and as a side effect, enable proper acc0 save/restore on non-iWMMXt capable xsc3 cores such as IOP13xx and IXP23xx (which will not have CONFIG_CPU_XSCALE defined), as well as setting and using HWCAP_IWMMXT properly. Signed-off-by: Lennert Buytenhek Acked-by: Dan Williams Signed-off-by: Russell King commit 2bbf29acd8f7adcf161de7e5d891b4095687a59f Author: Gerrit Renker Date: Sun Dec 3 14:53:27 2006 -0200 [DCCP] tfrc: Binary search for reverse TFRC lookup This replaces the linear search algorithm for reverse lookup with binary search. It has the advantage of better scalability: O(log2(N)) instead of O(N). This means that the average number of iterations is reduced from 250 (linear search if each value appears equally likely) down to at most 9. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 44158306d756c88272c8faf243ca68897498e219 Author: Gerrit Renker Date: Sun Dec 3 14:53:07 2006 -0200 [DCCP] ccid3: Deprecate TFRC_SMALLEST_P This patch deprecates the existing use of an arbitrary value TFRC_SMALLEST_P for low-threshold values of p. This avoids masking low-resolution errors. Instead, the code now checks against real boundaries (implemented by preceding patch) and provides warnings whenever a real value falls below the threshold. If such messages are observed, it is a better solution to take this as an indication that the lookup table needs to be re-engineered. Changelog: ---------- This patch * makes handling all TFRC resolution errors local to the TFRC library * removes unnecessary test whether X_calc is 'infinity' due to p==0 -- this condition is already caught by tfrc_calc_x() * removes setting ccid3hctx_p = TFRC_SMALLEST_P in ccid3_hc_tx_packet_recv since this is now done by the TFRC library * updates BUG_ON test in ccid3_hc_tx_no_feedback_timer to take into account that p now is either 0 (and then X_calc is irrelevant), or it is > 0; since the handling of TFRC_SMALLEST_P is now taken care of in the tfrc library Justification: -------------- The TFRC code uses a lookup table which has a bounded resolution. The lowest possible value of the loss event rate `p' which can be resolved is currently 0.0001. Substituting this lower threshold for p when p is less than 0.0001 results in a huge, exponentially-growing error. The error can be computed by the following formula: (f(0.0001) - f(p))/f(p) * 100 for p < 0.0001 Currently the solution is to use an (arbitrary) value TFRC_SMALLEST_P = 40 * 1E-6 = 0.00004 and to consider all values below this value as `virtually zero'. Due to the exponentially growing resolution error, this is not a good idea, since it hides the fact that the table can not resolve practically occurring cases. Already at p == TFRC_SMALLEST_P, the error is as high as 58.19%! Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 006042d7e1a0aae35c9dd9eb8ec71fa379679adb Author: Gerrit Renker Date: Sun Dec 3 14:52:41 2006 -0200 [DCCP] tfrc: Identify TFRC table limits and simplify code This * adds documentation about the lowest resolution that is possible within the bounds of the current lookup table * defines a constant TFRC_SMALLEST_P which defines this resolution * issues a warning if a given value of p is below resolution * combines two previously adjacent if-blocks of nearly identical structure into one This patch does not change the algorithm as such. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 8d0086adac0041de66b5f41b77eec0d8d239e16c Author: Gerrit Renker Date: Sun Dec 3 14:52:26 2006 -0200 [DCCP] tfrc: Add protection against invalid parameters to TFRC routines 1) For the forward X_calc lookup, it * protects effectively against RTT=0 (this case is possible), by returning the maximal lookup value instead of just setting it to 1 * reformulates the array-bounds exceeded condition: this only happens if p is greater than 1E6 (due to the scaling) * the case of negative indices can now with certainty be excluded, since documentation shows that the formulas are within bounds * additional protection against p = 0 (would give divide-by-zero) 2) For the reverse lookup, it warns against * protects against exceeding array bounds * now returns 0 if f(p) = 0, due to function definition * warns about minimal resolution error and returns the smallest table value instead of p=0 [this would mask congestion conditions] Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 90fb0e60dd9178dbca2e42c682c483cdb7ea9f2d Author: Gerrit Renker Date: Sun Dec 3 14:52:01 2006 -0200 [DCCP] tfrc: Fix small error in reverse lookup of p for given f(p) This fixes the following small error in tfrc_calc_x_reverse_lookup. 1) The table is generated by the following equations: lookup[index][0] = g((index+1) * 1000000/TFRC_CALC_X_ARRSIZE); lookup[index][1] = g((index+1) * TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE); where g(q) is 1E6 * f(q/1E6) 2) The reverse lookup assigns an entry in lookup[index][small] 3) This index needs to match the above, i.e. * if small=0 then p = (index + 1) * 1000000/TFRC_CALC_X_ARRSIZE * if small=1 then p = (index+1) * TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE These are exactly the changes that the patch makes; previously the code did not conform to the way the lookup table was generated (this difference resulted in a mean error of about 1.12%). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 50ab46c790a3408c441ba4c2faa9555cacc20028 Author: Gerrit Renker Date: Sun Dec 3 14:51:29 2006 -0200 [DCCP] tfrc: Document boundaries and limits of the TFRC lookup table This adds documentation for the TCP Reno throughput equation which is at the heart of the TFRC sending rate / loss rate calculations. It spells out precisely how the values were determined and what they mean. The equations were derived through reverse engineering and found to be fully accurate (verified using test programs). This patch does not change any code. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 26af3072b035daadf34a99d02510f0ff98f41f90 Author: Gerrit Renker Date: Sun Dec 3 14:51:14 2006 -0200 [DCCP] ccid3: Fix warning message about illegal ACK This avoids a (harmless) warning message being printed at the DCCP server (the receiver of a DCCP half connection). Incoming packets are both directed to * ccid_hc_rx_packet_recv() for the server half * ccid_hc_tx_packet_recv() for the client half The message gets printed since on a server the client half is currently not sending data packets. This is resolved for the moment by checking the DCCP-role first. In future times (bidirectional DCCP connections), this test may have to be more sophisticated. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 5c3fbb6acf9d32772ec7fc01cedd9478d0e26f44 Author: Gerrit Renker Date: Sun Dec 3 14:50:56 2006 -0200 [DCCP] ccid3: Fix bug in calculation of send rate The main object of this patch is the following bug: ==> In ccid3_hc_tx_packet_recv, the parameters p and X_recv were updated _after_ the send rate was calculated. This is clearly an error and is resolved by re-ordering statements. In addition, * r_sample is converted from u32 to long to check whether the time difference was negative (it would otherwise be converted to a large u32 value) * protection against RTT=0 (this is possible) is provided in a further patch * t_elapsed is also converted to long, to match the type of r_sample * adds a a more debugging information regarding current send rates * various trivial comment/documentation updates Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 76d127779e51fbf67ad6793214369aa1fea90278 Author: Gerrit Renker Date: Sun Dec 3 14:50:42 2006 -0200 [DCCP]: Fix BUG in retransmission delay calculation This bug resulted in ccid3_hc_tx_send_packet returning negative delay values, which in turn triggered silently dequeueing packets in dccp_write_xmit. As a result, only a few out of the submitted packets made it at all onto the network. Occasionally, when dccp_wait_for_ccid was involved, this also triggered a bug warning since ccid3_hc_tx_send_packet returned a negative value (which in reality was a negative delay value). The cause for this bug lies in the comparison if (delay >= hctx->ccid3hctx_delta) return delay / 1000L; The type of `delay' is `long', that of ccid3hctx_delta is `u32'. When comparing negative long values against u32 values, the test returned `true' whenever delay was smaller than 0 (meaning the packet was overdue to send). The fix is by casting, subtracting, and then testing the difference with regard to 0. This has been tested and shown to work. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 8a508ac26e72aa203677aa6a8464bd3ea44216a6 Author: Gerrit Renker Date: Sun Dec 3 14:50:23 2006 -0200 [DCCP]: Use higher RTO default for CCID3 The TFRC nofeedback timer normally expires after the maximum of 4 RTTs and twice the current send interval (RFC 3448, 4.3). On LANs with a small RTT this can mean a high processing load and reduced performance, since then the nofeedback timer is triggered very frequently. This patch provides a configuration option to set the bound for the nofeedback timer, using as default 100 milliseconds. By setting the configuration option to 0, strict RFC 3448 behaviour can be enforced for the nofeedback timer. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit ba8d55048ae08c442a27944e8beb76e73c3cce03 Author: James Smart Date: Sat Dec 2 13:36:04 2006 -0500 [SCSI] lpfc 8.1.11 : Change version number to 8.1.11 Change version number to 8.1.11 Signed-off-by: James Smart Signed-off-by: James Bottomley commit f56035110661417e15814fa08e1f4bf19cb26f93 Author: James Smart Date: Sat Dec 2 13:35:43 2006 -0500 [SCSI] lpfc 8.1.11 : Misc Fixes Misc Fixes: - Prevent references to NULL node list element in reset routines. - Add missing IOCB types to switch tables - Reset the card on Port Error 5 - Fix infinite loop in LUN reset Signed-off-by: James Smart Signed-off-by: James Bottomley commit a12e07bc6297b6cb97889ca7dfbed6c39048b1c1 Author: James Smart Date: Sat Dec 2 13:35:30 2006 -0500 [SCSI] lpfc 8.1.11 : Add soft_wwnn sysfs attribute, rename soft_wwn_enable The driver now allows both wwpn and wwnn to be set. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 18a3b5966611b1d6f539e3e0bf863ad13a44dd45 Author: James Smart Date: Sat Dec 2 13:35:08 2006 -0500 [SCSI] lpfc 8.1.11 : Removed decoding of PCI Subsystem Id To avoid continually updating the driver for new subsystem ids (as adapter modules are proliferating), remove this 2nd level decode. Genericize the reported Adapter names to be consistent across Emulex product line. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 4ff43246e45943200ae3233732adf8708c2faef6 Author: James Smart Date: Sat Dec 2 13:34:56 2006 -0500 [SCSI] lpfc 8.1.11 : Add MSI (Message Signalled Interrupts) support Add MSI (Message Signalled Interrupts) support Actual use must be enabled via the new module parameter "lpfc_use_msi" Defaults to no use Many thanks to Frederic Temporelli who implemented the initial patch. Signed-off-by: Frederic Temporelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit c7743956f8cb7b496c05d8444050eba908662a14 Author: James Smart Date: Sat Dec 2 13:34:42 2006 -0500 [SCSI] lpfc 8.1.11 : Adjust LOG_FCP logging Adjust LOG_FCP logging to be more meaningful. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 146911500f2572fba31895aebacdc4f283208c37 Author: James Smart Date: Sat Dec 2 13:34:28 2006 -0500 [SCSI] lpfc 8.1.11 : Fix Memory leaks Fix Memory leaks associated with mbox cmds READ_LA, READ_SPARAM, REG_LOGIN Signed-off-by: James Smart Signed-off-by: James Bottomley commit a4bc3379fbc368597024104727fdf14ced483c14 Author: James Smart Date: Sat Dec 2 13:34:16 2006 -0500 [SCSI] lpfc 8.1.11 : Fix lpfc_multi_ring_support It was not accounted for in the fast/slow rings. Genericize the implementation and control it via sysfs Signed-off-by: James Smart Signed-off-by: James Bottomley commit 2fb9bd8b9cbe9a8d70bf5f43a9ee6a4fa565ed5a Author: James Smart Date: Sat Dec 2 13:33:57 2006 -0500 [SCSI] lpfc 8.1.11 : Discovery Fixes Discovery Fixes: - Prevent starting discovery of a node if discovery is in progress. - Code improvement (reduction) for lpfc_findnode_did(). - Update discovery to send RFF to Fabric on link up - Bypass unique WWN checks for fabric addresses - Add ndlp to plogi list prior to issuing the plogi els command Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0e5d030bef4de3e35bcca35dd9465e6672128570 Author: FUJITA Tomonori Date: Fri Dec 1 03:00:54 2006 +0900 [SCSI] scsi tgt: IBM eServer i/pSeries virtual SCSI target driver This is IBM Virtual SCSI target driver for tgt. The driver is based on the original ibmvscsis driver: http://lkml.org/lkml/2005/10/17/99 Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: Santiago Leon Signed-off-by: James Bottomley commit 26b14823441382264e6f3dfd01b8687dc18196fe Author: FUJITA Tomonori Date: Fri Dec 1 03:00:50 2006 +0900 [SCSI] scsi tgt: SCSI RDMA Protocol library functions libsrp provides helper functions for SRP target drivers. Some SRP target drivers would be out of drivers/scsi/ so we added an entry for libsrp in drivers/scsi/Kconfig. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: Santiago Leon Signed-off-by: James Bottomley commit c603d04ef6826a29f50cb151cb992f256d0cf19d Author: James Bottomley Date: Fri Dec 1 11:25:12 2006 -0600 [SCSI] 53c700: brown paper bag fix for auto request sense In the switch over, I forgot to set the command length, so it sends out a request sense with whatever length the prior command had (and fails badly if it wasn't 6). Signed-off-by: James Bottomley commit 46ddab7b1c7225269ad45d33fc39d0a385194360 Author: Randy Dunlap Date: Mon Nov 27 09:35:42 2006 -0800 [SCSI] qla2xxx: use NULL instead of 0 Use NULL instead of 0 for pointers (sparse warning): drivers/scsi/qla2xxx/qla_attr.c:393:4: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit 599b7202c5bf2c7345ea34007379ba241c94a491 Author: Mikael Pettersson Date: Fri Dec 1 10:55:58 2006 +0100 [PATCH] sata_promise: PHYMODE4 fixup This patch adds code to fix up the PHYMODE4 "align timing" register value on second-generation Promise SATA chips. Failure to correct this value on non-x86 machines makes drive detection prone to failure due to timeouts. (I've observed about 50% detection failure rates on SPARC64.) The HW boots with a bad value in this register, but on x86 machines the Promise BIOS corrects it to the value recommended by the manual, so most people have been unaffected by this issue. After developing the patch I checked Promise's SATAII driver, and discovered that it also corrects PHYMODE4 just like this patch does. This patch depends on the sata_promise SATAII updates patch I sent recently. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 800b399669ad495ad4361d134df87401ae36f44f Author: Tejun Heo Date: Sun Dec 3 21:34:13 2006 +0900 [PATCH] libata: always use polling IDENTIFY libata switched to IRQ-driven IDENTIFY when IRQ-driven PIO was introduced. This has caused a lot of problems including device misdetection and phantom device. ATA_FLAG_DETECT_POLLING was added recently to selectively use polling IDENTIFY on problemetic drivers but many controllers and devices are affected by this problem and trying to adding ATA_FLAG_DETECT_POLLING for each such case is diffcult and not very rewarding. This patch makes libata always use polling IDENTIFY. This is consistent with libata's original behavior and drivers/ide's behavior. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3ac551a6a63dcbc707348772a27bd7090b081524 Author: Jeff Garzik Date: Sun Dec 3 07:57:21 2006 -0500 [libata] pata_cs5535: fix build Noticed by Tejun and others. Signed-off-by: Jeff Garzik commit 8e16f941226f15622fbbc416a1f3d8705001a191 Author: Tejun Heo Date: Mon Nov 20 15:42:36 2006 +0900 [PATCH] ahci: do not powerdown during initialization ahci_init_controller() calls ahci_deinit_port() to make sure the controller is stopped before initializing the controller. In turn, ahci_deinit_port() invokes ahci_power_down() to power down the port. If the controller supports slumber mode, the link is put into it. Unfortunately, some devices don't implement link powersaving mode properly and show erratic behavior after link is put into slumber mode. For example, HL-DT-ST DVD-RAM GSA-H30N completely locks up on slumber transition and can only be recovered with the *REAL* hard reset - power removal and reapply. Note that this makes the first probing reset different from all others. If the above dvd-ram is hotplugged after ahci is initialized, no problem occurs because ahci is already fully initialized with phy powered up. So, this might also be the reason for other weird AHCI initial probing abnormalities. This patch moves power up/down out of port init/deinit and call them only when needed. Power down is now called only when suspending. As system suspend usually involves powering down 12v for storage devices, this shouldn't cause problem even if the attached device doesn't support slumber mode. However, in partial power management and suspend failure cases, devices might lock up after suspend attempt. I thought about removing transition to slumber mode altogether but ahci spec mandates it before HBA D3 state transition. Blacklisting such devices might be the solution. Signed-off-by: Tejun Heo commit 70e6ad0c6d1e6cb9ee3c036a85ca2561eb1fd766 Author: Tejun Heo Date: Tue Nov 14 22:47:10 2006 +0900 [PATCH] libata: prepare ata_sg_clean() for invocation from EH Make ata_sg_clean() global and don't allow NCQ for internal commands. Signed-off-by: Tejun Heo commit bd056d7eeb55d696556ee4f5ee2acb67b2d16df4 Author: Tejun Heo Date: Tue Nov 14 22:47:10 2006 +0900 [PATCH] libata: separate out rw ATA taskfile building into ata_build_rw_tf() Separate out rw ATA taskfile building from ata_scsi_rw_xlat() into ata_build_rw_tf(). This will be used to improve media error handling. Signed-off-by: Tejun Heo commit 2432697ba0ce312d60be5009ffe1fa054a761bb9 Author: Tejun Heo Date: Tue Nov 14 22:47:09 2006 +0900 [PATCH] libata: implement ata_exec_internal_sg() Sg'ify ata_exec_internal() and call it ata_exec_internal_sg(). Wrapper function around ata_exec_internal_sg() is implemented to provide ata_exec_internal() interface. Signed-off-by: Tejun Heo commit 0f0a3ad3741fd93461fcfb85dc577103c58d9be8 Author: Tejun Heo Date: Fri Nov 17 12:24:22 2006 +0900 [PATCH] libata: make sure IRQ is cleared after ata_bmdma_freeze() Now that BMDMA status is recorded in irq handler. ata_bmdma_freeze() is free to manipulate host status. Under certain circumstances, some controllers (ICH7 in enhanced mode w/ IRQ shared) raise IRQ when CTL register is written to and ATA_NIEN doesn't mask it. This patch makes ata_bmdma_freeze() clear all pending IRQs after freezing a port. This change makes explicit clearing in ata_device_add() unnecessary and thus kills it. The removed code was SFF-specific and was in the wrong place. Note that ->freeze() handler is always called under ap->lock held and irq disabled. Even if CTL manipulation causes stuck IRQ, it's cleared immediately. This should be safe (enough) even in SMP environment. More correct solution is to mask the IRQ from IRQ controller but that would be an overkill. Signed-off-by: Tejun Heo commit ea54763f8a7c51b9f8fcb14431812ae63fcbaf96 Author: Tejun Heo Date: Fri Nov 17 12:06:21 2006 +0900 [PATCH] libata: move BMDMA host status recording from EH to interrupt handler For certain errors, interrupt handler alter BMDMA host status before entering EH (clears active and intr). Thus altered BMDMA host status value is recorded by BMDMA EH and reported to user. Move BMDMA host status recording from EH to interrupt handler. Signed-off-by: Tejun Heo commit f84e7e41e1b88547218a3c3b1eb528005e9afdb4 Author: Tejun Heo Date: Wed Nov 22 11:21:31 2006 +0900 [PATCH] libata: make sure sdev doesn't go away while rescanning ata_scsi_dev_rescan() doesn't synchronize against SCSI device detach and the target sdev might go away in the middle. Fix it. Signed-off-by: Tejun Heo commit a569a30d301e4dbc0ad67a211292edece2da1146 Author: Tejun Heo Date: Tue Nov 21 10:40:51 2006 +0900 [PATCH] libata: don't request sense if the port is frozen If EH command is issued to a frozen port, it fails with AC_ERR_SYSTEM. libata used to request sense even when the port is frozen needlessly adding AC_ERR_SYSTEM to err_mask. Don't do it. Signed-off-by: Tejun Heo commit 6a36261e63770ab61422550b774fe949ccca5fa9 Author: Tejun Heo Date: Mon Nov 20 11:15:47 2006 +0900 [PATCH] libata: fix READ CAPACITY simulation * READ CAPACITY (16) implementation fixed. Result was shifted by two bytes. Carlos Pardo spotted this problem and submitted preliminary patch. Capacity => 2TB is handled correctly now. (verifid w/ fake capacity) * Use dev->n_sectors instead of re-reading directly from ID data. * Define and use ATA_SCSI_RBUF_SET() which considers rbuf length. This should be done for all simulation functions. Userland can issue any simulated command with arbitrary buffer length. Signed-off-by: Tejun Heo Cc: Carlos Pardo commit 3d3cca37559e3ab2b574eda11ed5207ccdb8980a Author: Tejun Heo Date: Thu Nov 16 10:50:50 2006 +0900 [PATCH] libata: implement ATA_FLAG_SETXFER_POLLING and use it in pata_via, take #2 This patch implements ATA_FLAG_SETXFER_POLLING and use in pata_via. If this flag is set, transfer mode setting performed by polling not by interrupt. This should help those controllers which raise interrupt before the command is actually complete on SETXFER. Rationale for this approach. * uses existing facility and relatively simple * no busy sleep in the interrupt handler * updating drivers is easy While at it, kill now unused flag ATA_FLAG_SRST in pata_via. Signed-off-by: Tejun Heo commit 8070217d301d0ceab7d0c255d7b9d796256d37e7 Author: Tejun Heo Date: Fri Nov 17 16:22:27 2006 +0900 [PATCH] libata: set IRQF_SHARED for legacy PCI IDE IRQs There are machines out there which share legacy PCI IDE IRQs w/ other devices. libata SFF interrupt/HSM code is ready for shared IRQ and has been setting IRQF_SHARED for devices in native PCI mode. Device in legacy mode is still a PCI device and thus supposedly uses active-low level triggered IRQ. Machines with such setup should be quite rare and w/o this flag libata is likely to fail loading and render the system unuseable. Also, IDE driver has been setting IRQF_SHARED for devices in legacy mode for a looooong time. Signed-off-by: Tejun Heo commit 582982e6991d6718ddadf8751072b50a850dde48 Author: Tejun Heo Date: Fri Nov 17 12:05:11 2006 +0900 [PATCH] libata: remove unused HSM_ST_UNKNOWN HSM_ST_UNKNOWN is not used anywhere. Its value is zero and supposed to serve sanity check purpose but HSM_ST_IDLE is used for that purpose. This unused state causes confusion. After a port is initialized but before the first command is executed, the idle hsm state is UNKNOWN. However, once a command has completed, the idle hsm state is IDLE. This defeats sanity check in ata_pio_task() for the first command. This patch removes HSM_ST_UNKNOWN and consequently make HSM_ST_IDLE the default state. Signed-off-by: Tejun Heo commit 2eab80ac0c96fb98267afeb12a4899801564c75b Author: Tejun Heo Date: Wed Nov 29 12:20:26 2006 +0900 [PATCH] libata: kill unnecessary sht->max_sectors initializations sht->max_sectors is overrided unconditionally in ->slave_configure. There's no reason to set it to any value. Signed-off-by: Tejun Heo commit c972b60bf167a3d2c3da23df2af1eac93229e7cc Author: Tejun Heo Date: Wed Nov 29 12:10:46 2006 +0900 [PATCH] libata: add missing sht->slave_destroy Add missing sht->slave_destroy. Most drivers received this fix in didn't. Fix those four drives. Signed-off-by: Tejun Heo commit 2b5f6dcce5bf94b9b119e9ed8d537098ec61c3d2 Author: Jamal Hadi Salim Date: Sat Dec 2 22:22:25 2006 -0800 [XFRM]: Fix aevent structuring to be more complete. aevents can not uniquely identify an SA. We break the ABI with this patch, but consensus is that since it is not yet utilized by any (known) application then it is fine (better do it now than later). Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 02dba025b0bc881432cf325bfb124fae523087d5 Author: Yasuyuki Kozakai Date: Sat Dec 2 22:19:01 2006 -0800 [NETFILTER]: xtables: fixes warning on compilation of hashlimit To use ipv6_find_hdr(), IP6_NF_IPTABLES is necessary. Signed-off-by: Yasuyuki Kozakai Signed-off-by: David S. Miller commit 0506d4068bad834aab1141b5dc5e748eb175c6b3 Author: Alexey Dobriyan Date: Sat Dec 2 22:17:48 2006 -0800 [ROSE] rose_add_loopback_node: propagate -E David Binderman's icc logs: net/rose/rose_route.c(399): remark #593: variable "err" was set but never used Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 1863f0965e716cc61d3c23cf106d41aa070f706f Author: Yasuyuki Kozakai Date: Sat Dec 2 22:12:54 2006 -0800 [NETFILTER]: nf_conntrack: fix header inclusions for helpers Signed-off-by: Yasuyuki Kozakai Signed-off-by: David S. Miller commit 13b1833910205289172cdc655cb9bc61188f77e9 Author: Patrick McHardy Date: Sat Dec 2 22:11:25 2006 -0800 [NETFILTER]: nf_conntrack: EXPORT_SYMBOL cleanup - move EXPORT_SYMBOL next to exported symbol - use EXPORT_SYMBOL_GPL since this is what the original code used Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a3c479772c9f4239749950e7c8ea0e9c914a9d7e Author: Patrick McHardy Date: Sat Dec 2 22:11:01 2006 -0800 [NETFILTER]: Mark old IPv4-only connection tracking scheduled for removal Also remove the references to "new connection tracking" from Kconfig. After some short stabilization period of the new connection tracking helpers/NAT code the old one will be removed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 807467c22a12381985878be23c778657fc0364d0 Author: Patrick McHardy Date: Sat Dec 2 22:10:34 2006 -0800 [NETFILTER]: nf_nat: add SNMP NAT helper port Add nf_conntrack port of the SNMP NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a536df35b3a58caa9015bf7887a374b20f658368 Author: Patrick McHardy Date: Sat Dec 2 22:10:18 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add TFTP helper port Add IPv4 and IPv6 capable nf_conntrack port of the TFTP conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9fafcd7b203229c3f3893a475741afc27e276306 Author: Patrick McHardy Date: Sat Dec 2 22:09:57 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add SIP helper port Add IPv4 and IPv6 capable nf_conntrack port of the SIP conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f09943fefe6b702e40893d35b4f10fd1064037fe Author: Patrick McHardy Date: Sat Dec 2 22:09:41 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add PPTP helper port Add nf_conntrack port of the PPtP conntrack/NAT helper. Since there seems to be no IPv6-capable PPtP implementation the helper only support IPv4. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 92703eee4ccde3c55ee067a89c373e8a51a8adf9 Author: Patrick McHardy Date: Sat Dec 2 22:09:24 2006 -0800 [NETFILTER]: nf_conntrack: add NetBIOS name service helper port Add nf_conntrack port of the NetBIOS name service conntrack helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 869f37d8e48f3911eb70f38a994feaa8f8380008 Author: Patrick McHardy Date: Sat Dec 2 22:09:06 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add IRC helper port Add nf_conntrack port of the IRC conntrack/NAT helper. Since DCC doesn't support IPv6 yet, the helper is still IPv4 only. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f587de0e2feb9eb9b94f98d0a7b7437e4d6617b4 Author: Patrick McHardy Date: Sat Dec 2 22:08:46 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add H.323 helper port Add IPv4 and IPv6 capable nf_conntrack port of the H.323 conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 16958900578b94585c2ab9a2d20d837b4d5e3ba6 Author: Patrick McHardy Date: Sat Dec 2 22:08:26 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add amanda helper port Add IPv4 and IPv6 capable nf_conntrack port of the Amanda conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d6a9b6500a8941599bcef98e7de49e1260d104ed Author: Patrick McHardy Date: Sat Dec 2 22:08:01 2006 -0800 [NETFILTER]: nf_conntrack: add helper function for expectation initialization Expectation address masks need to be differently initialized depending on the address family, create helper function to avoid cluttering up the code too much. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 55a733247d6d2883d9bb77825fafac3dfca13fc2 Author: Jozsef Kadlecsik Date: Sat Dec 2 22:07:44 2006 -0800 [NETFILTER]: nf_nat: add FTP NAT helper port Add FTP NAT helper. Split out from Jozsef's big nf_nat patch with a few small fixes by myself. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5b1158e909ecbe1a052203e0d8df15633f829930 Author: Jozsef Kadlecsik Date: Sat Dec 2 22:07:13 2006 -0800 [NETFILTER]: Add NAT support for nf_conntrack Add NAT support for nf_conntrack. Joint work of Jozsef Kadlecsik, Yasuyuki Kozakai, Martin Josefsson and myself. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d2483ddefd38b06053cdce7206382ca61f6282b1 Author: Patrick McHardy Date: Sat Dec 2 22:06:05 2006 -0800 [NETFILTER]: nf_conntrack: add module aliases to IPv4 conntrack names Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b321e14425c0234dd9cd07a5327a179507956c7c Author: Patrick McHardy Date: Sat Dec 2 22:05:46 2006 -0800 [NETFILTER]: Kconfig: improve conntrack selection Improve the connection tracking selection (well, the user experience, not really the aesthetics) by offering one option to enable connection tracking and a choice between the implementations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9457d851fc5df54522d733f72cbb1f02ab59272e Author: Patrick McHardy Date: Sat Dec 2 22:05:25 2006 -0800 [NETFILTER]: nf_conntrack: automatic helper assignment for expectations Some helpers (namely H.323) manually assign further helpers to expected connections. This is not possible with nf_conntrack anymore since we need to know whether a helper is used at allocation time. Handle the helper assignment centrally, which allows to perform the correct allocation and as a nice side effect eliminates the need for the H.323 helper to fiddle with nf_conntrack_lock. Mid term the allocation scheme really needs to be redesigned since we do both the helper and expectation lookup _twice_ for every new connection. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bff9a89bcac5b68ac0a1ea856b1726a35ae1eabb Author: Patrick McHardy Date: Sat Dec 2 22:05:08 2006 -0800 [NETFILTER]: nf_conntrack: endian annotations Resync with Al Viro's ip_conntrack annotations and fix a missed spot in ip_nat_proto_icmp.c. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f9aae95828d3478520f4bd73221bcb450ec1a5c0 Author: Patrick McHardy Date: Sat Dec 2 22:04:50 2006 -0800 [NETFILTER]: nf_conntrack: fix helper structure alignment Adding the alignment to the size doesn't make any sense, what it should do is align the size of the conntrack structure to the alignment requirements of the helper structure and return an aligned pointer in nfct_help(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0c4ca1bd8638d04796553b6e678063c4fadb92cc Author: Patrick McHardy Date: Sat Dec 2 22:04:24 2006 -0800 [NETFILTER]: nf_conntrack: fix NF_CONNTRACK_PROC_COMPAT dependency NF_CONNTRACK_PROC_COMPAT depends on NF_CONNTRACK_IPV4, not NF_CONNTRACK. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9a7c9337a09b1ef07e55f95a4309957a2328a01f Author: Patrick McHardy Date: Sat Dec 2 22:04:04 2006 -0800 [NET]: Accept wildcard delimiters in in[46]_pton Accept -1 as delimiter to abort parsing without an error at the first unknown character. This is needed by the upcoming nf_conntrack SIP helper, where addresses are delimited by either '\r' or '\n' characters. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a163148c1bec895c1332ea5be497bcda8ce110df Author: Kim Nordlund Date: Fri Dec 1 20:21:44 2006 -0800 [PKT_SCHED] act_gact: division by zero Not returning -EINVAL, because someone might want to use the value zero in some future gact_prob algorithm? Signed-off-by: Kim Nordlund Signed-off-by: David S. Miller commit 0b251df1039f560ef88a9180a80023e4f82596bd Author: Patrick McHardy Date: Fri Dec 1 20:10:13 2006 -0800 [NETFILTER]: Kill ip_queue from feature removal schedule. We really can't remove ip_queue. Many users use this, there is no binary compatible interface and even the compat replacement for the originally statically linked library doesn't work. There is also no real necessity to remove the code, so the feature-removal-schedule entry should be removed instead. Signed-off-by: David S. Miller commit a4d1366d5080fcb4514db58c320b9f60d78918e6 Author: Jamal Hadi Salim Date: Fri Dec 1 20:07:42 2006 -0800 [GENETLINK]: Add cmd dump completion. Remove assumption that generic netlink commands cannot have dump completion callbacks. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit c40a27f48ceee648e9cfdda040b69e7010d9f82c Author: David S. Miller Date: Thu Nov 30 21:05:23 2006 -0800 [ATM]: Kill ipcommon.[ch] All that remained was skb_migrate() and that was overkill for what the two call sites were trying to do. Signed-off-by: David S. Miller commit 1e9b3d5339d2afd6348e8211f0db695b00261e17 Author: Patrick McHardy Date: Thu Nov 30 19:54:05 2006 -0800 [NET_SCHED]: policer: restore compatibility with old iproute binaries The tc actions increased the size of struct tc_police, which broke compatibility with old iproute binaries since both the act_police and the old NET_CLS_POLICE code check for an exact size match. Since the new members are not even used, the simple fix is to also accept the size of the old structure. Dumping is not affected since old userspace will receive a bigger structure, which is handled fine. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 5f68e4c07c7b97a5b06f0b5e313528d36415a60d Author: Adrian Bunk Date: Thu Nov 30 19:50:36 2006 -0800 [PKT_SCHED]: Remove unused exports. This patch removes the following unused EXPORT_SYMBOL's: - sch_api.c: qdisc_lookup - sch_generic.c: __netdev_watchdog_up - sch_generic.c: noop_qdisc_ops - sch_generic.c: qdisc_alloc Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 1e419cd9953f59d06d7b88d0e2911a68a0044f33 Author: Al Viro Date: Thu Nov 30 19:28:48 2006 -0800 [EBTABLES]: Split ebt_replace into user and kernel variants, annotate. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit df07a81e939a0176b125bc83cf22dbb5e380ae9f Author: Al Viro Date: Thu Nov 30 19:28:25 2006 -0800 [EBTABLES]: Clean ebt_register_table() up. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1bc2326cbe24766d9cb236e63c091cbaecfa2f29 Author: Al Viro Date: Thu Nov 30 19:28:08 2006 -0800 [EBTABLES]: Move calls of ebt_verify_pointers() upstream. ... and pass just repl->name to translate_table() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f7da79d99863c044e28483e32c10b394bbd78d21 Author: Al Viro Date: Thu Nov 30 19:27:48 2006 -0800 [EBTABLES]: ebt_check_entry() doesn't need valid_hooks We can check newinfo->hook_entry[...] instead. Kill unused argument. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 177abc348a00738dbc985df8523d755bf87403d9 Author: Al Viro Date: Thu Nov 30 19:27:32 2006 -0800 [EBTABLES]: Clean ebt_get_udc_positions() up. Check for valid_hooks is redundant (newinfo->hook_entry[i] will be NULL if bit i is not set). Kill it, kill unused arguments. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0e795531c5e6d0a7d407b8d9edde47cab13be3ec Author: Al Viro Date: Thu Nov 30 19:27:13 2006 -0800 [EBTABLES]: Switch ebt_check_entry_size_and_hooks() to use of newinfo->hook_entry[] kill unused arguments Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1f072c96fdf1a0caa11c6e8078dd96925bd02db5 Author: Al Viro Date: Thu Nov 30 19:26:53 2006 -0800 [EBTABLES]: translate_table(): switch direct uses of repl->hook_info to newinfo Since newinfo->hook_table[] already has been set up, we can switch to using it instead of repl->{hook_info,valid_hooks}. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e4fd77deac764e17cb1eab8661bcf1413204d04d Author: Al Viro Date: Thu Nov 30 19:26:35 2006 -0800 [EBTABLES]: Move more stuff into ebt_verify_pointers(). Take intialization of ->hook_entry[...], ->entries_size and ->nentries over there, pull the check for empty chains into the end of that sucker. Now it's self-contained, so we can move it up in the very beginning of translate_table() *and* we can rely on ->hook_entry[] being properly transliterated after it. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 70fe9af47ee01a17fe7486f1739f6eac8a14868b Author: Al Viro Date: Thu Nov 30 19:26:14 2006 -0800 [EBTABLES]: Pull the loop doing __ebt_verify_pointers() into a separate function. It's easier to expand the iterator here *and* we'll be able to move all uses of ebt_replace from translate_table() into this one. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 22b440bf9e717226d0fbaf4f29357cbdd5279de5 Author: Al Viro Date: Thu Nov 30 19:25:51 2006 -0800 [EBTABLES]: Split ebt_check_entry_size_and_hooks Split ebt_check_entry_size_and_hooks() in two parts - one that does sanity checks on pointers (basically, checks that we can safely use iterator from now on) and the rest of it (looking into details of entry). The loop applying ebt_check_entry_size_and_hooks() is split in two. Populating newinfo->hook_entry[] is done in the first part. Unused arguments killed. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 14197d5447afc41fce6b11a91592278cad1a09eb Author: Al Viro Date: Thu Nov 30 19:25:21 2006 -0800 [EBTABLES]: Prevent wraparounds in checks for entry components' sizes. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 98a0824a0f33d051f31ca8ff59e289755b244ede Author: Al Viro Date: Thu Nov 30 19:24:49 2006 -0800 [EBTABLES]: Deal with the worst-case behaviour in loop checks. No need to revisit a chain we'd already finished with during the check for current hook. It's either instant loop (which we'd just detected) or a duplicate work. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 40642f95f5f818579bc4cc3ee084b033e662d5b3 Author: Al Viro Date: Thu Nov 30 19:24:12 2006 -0800 [EBTABLES]: Verify that ebt_entries have zero ->distinguisher. We need that for iterator to work; existing check had been too weak. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit bb2ef25c2c62444b8fdb0346a23658a419803df9 Author: Al Viro Date: Thu Nov 30 19:22:42 2006 -0800 [EBTABLES]: Fix wraparounds in ebt_entries verification. We need to verify that a) we are not too close to the end of buffer to dereference b) next entry we'll be checking won't be _before_ our While we are at it, don't subtract unrelated pointers... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b6332e6cf9c9198c0f3b0fe37c2c57514dafe1b8 Author: Andrew Morton Date: Thu Nov 30 19:16:28 2006 -0800 [TCP]: Fix warnings with TCP_MD5SIG disabled. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f5b99bcdddfb2338227faad3489c24907f37ee8e Author: Adrian Bunk Date: Thu Nov 30 17:22:29 2006 -0800 [NET]: Possible cleanups. This patch contains the following possible cleanups: - make the following needlessly global functions statis: - ipv4/tcp.c: __tcp_alloc_md5sig_pool() - ipv4/tcp_ipv4.c: tcp_v4_reqsk_md5_lookup() - ipv4/udplite.c: udplite_rcv() - ipv4/udplite.c: udplite_err() - make the following needlessly global structs static: - ipv4/tcp_ipv4.c: tcp_request_sock_ipv4_ops - ipv4/tcp_ipv4.c: tcp_sock_ipv4_specific - ipv6/tcp_ipv6.c: tcp_request_sock_ipv6_ops - net/ipv{4,6}/udplite.c: remove inline's from static functions (gcc should know best when to inline them) Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 2718aa7c55ba7264dd463b8f7006f0975366fa7b Author: Miika Komu Date: Thu Nov 30 16:41:50 2006 -0800 [IPSEC]: Add AF_KEY interface for encapsulation family. Signed-off-by: Miika Komu Signed-off-by: Diego Beltrami Signed-off-by: Kazunori Miyazawa commit 8511d01d7c70200ffd42debba9d7ac5c4f7f1031 Author: Miika Komu Date: Thu Nov 30 16:40:51 2006 -0800 [IPSEC]: Add netlink interface for the encapsulation family. Signed-off-by: Miika Komu Signed-off-by: Diego Beltrami Signed-off-by: Kazunori Miyazawa Signed-off-by: David S. Miller commit 76b3f055f38954c67dab13844eb92203580038f8 Author: Miika Komu Date: Thu Nov 30 16:40:43 2006 -0800 [IPSEC]: Add encapsulation family. Signed-off-by: Miika Komu Signed-off-by: Diego Beltrami Signed-off-by: Kazunori Miyazawa Signed-off-by: David S. Miller commit 08dd1a506bbc4528db60dfdfff61423a1608ed3f Author: David S. Miller Date: Thu Nov 30 16:35:01 2006 -0800 [TCP] MD5SIG: Kill CONFIG_TCP_MD5SIG_DEBUG. It just obfuscates the code and adds limited value. And as Adrian Bunk noticed, it lacked Kconfig help text too, so just kill it. Signed-off-by: David S. Miller commit e488eafcc50be296f0d1e1fd67c6b5d865183011 Author: Patrick McHardy Date: Wed Nov 29 17:37:42 2006 -0800 [NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc ->requeue failures When peeking at the next packet in a child qdisc by calling dequeue/requeue, the upper qdisc qlen counter may get out of sync in case the requeue fails. The qdisc and the child qdisc both have their counter decremented, but since no packet is given to the upper qdisc it won't decrement its counter itself. requeue should not fail, so this is mostly for "correctness". Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 256d61b87b2c2ac6fc333c1654d1abea61979006 Author: Patrick McHardy Date: Wed Nov 29 17:37:05 2006 -0800 [NET_SCHED]: Fix endless loops (part 4): HTB Convert HTB to use qdisc_tree_decrease_len() and add a callback for deactivating a class when its child queue becomes empty. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f973b913e18ab5a4795738ddf8a8666ac306ee12 Author: Patrick McHardy Date: Wed Nov 29 17:36:43 2006 -0800 [NET_SCHED]: Fix endless loops (part 3): HFSC Convert HFSC to use qdisc_tree_decrease_len() and add a callback for deactivating a class when its child queue becomes empty. All queue purging goes through hfsc_purge_queue(), which is used in three cases: grafting, class creation (when a leaf class is turned into an intermediate class by attaching a new class) and class deletion. In all cases qdisc_tree_decrease_len() is needed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6 Author: Patrick McHardy Date: Wed Nov 29 17:36:20 2006 -0800 [NET_SCHED]: Fix endless loops (part 2): "simple" qdiscs Convert the "simple" qdiscs to use qdisc_tree_decrease_qlen() where necessary: - all graft operations - destruction of old child qdiscs in prio, red and tbf change operation - purging of queue in sfq change operation Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 43effa1e57fc4635e0301b27d78f9d83afe78974 Author: Patrick McHardy Date: Wed Nov 29 17:35:48 2006 -0800 [NET_SCHED]: Fix endless loops caused by inaccurate qlen counters (part 1) There are multiple problems related to qlen adjustment that can lead to an upper qdisc getting out of sync with the real number of packets queued, leading to endless dequeueing attempts by the upper layer code. All qdiscs must maintain an accurate q.qlen counter. There are basically two groups of operations affecting the qlen: operations that propagate down the tree (enqueue, dequeue, requeue, drop, reset) beginning at the root qdisc and operations only affecting a subtree or single qdisc (change, graft, delete class). Since qlen changes during operations from the second group don't propagate to ancestor qdiscs, their qlen values become desynchronized. This patch adds a function to propagate qlen changes up the qdisc tree, optionally calling a callback function to perform qdisc-internal maintenance when the child qdisc becomes empty. The follow-up patches will convert all qdiscs to use this function where necessary. Noticed by Timo Steinbach . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9f9afec48221fe4a19f84a9341f5b304bf7d7783 Author: Patrick McHardy Date: Wed Nov 29 17:35:18 2006 -0800 [NET_SCHED]: Set parent classid in default qdiscs Set parent classids in default qdiscs to allow walking up the tree from outside the qdiscs. This is needed by the next patch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 814a175e7b1531a4bcaa63be47bf58cacdcb5010 Author: Patrick McHardy Date: Wed Nov 29 17:34:50 2006 -0800 [NET_SCHED]: sch_htb: perform qlen adjustment immediately in ->delete qlen adjustment should happen immediately in ->delete and not in the class destroy function because the reference count will not hit zero in ->delete (sch_api holds a reference) but in ->put. Since the qdisc lock is released between deletion of the class and final destruction this creates an externally visible error in the qlen counter. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6cbda6b6e2e2a0a84c0fcda8ea262c16d7a63fc8 Author: James Morris Date: Wed Nov 29 16:50:27 2006 -0500 Rename class_destroy to avoid namespace conflicts. We're seeing increasing namespace conflicts between the global class_destroy() function declared in linux/device.h, and the private function in the SELinux core code. This patch renames the SELinux function to cls_destroy() to avoid this conflict. Acked-by: Stephen Smalley Signed-off-by: James Morris commit 484b366932be0b73a22c74a82748ca10a721643e Author: Paul Moore Date: Wed Nov 29 13:18:20 2006 -0500 NetLabel: add the ranged tag to the CIPSOv4 protocol Add support for the ranged tag (tag type #5) to the CIPSOv4 protocol. The ranged tag allows for seven, or eight if zero is the lowest category, category ranges to be specified in a CIPSO option. Each range is specified by two unsigned 16 bit fields, each with a maximum value of 65534. The two values specify the start and end of the category range; if the start of the category range is zero then it is omitted. See Documentation/netlabel/draft-ietf-cipso-ipsecurity-01.txt for more details. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 654bbc2a2b87185630d05b79cc0db0e9364bb7e0 Author: Paul Moore Date: Wed Nov 29 13:18:19 2006 -0500 NetLabel: add the enumerated tag to the CIPSOv4 protocol Add support for the enumerated tag (tag type #2) to the CIPSOv4 protocol. The enumerated tag allows for 15 categories to be specified in a CIPSO option, where each category is an unsigned 16 bit field with a maximum value of 65534. See Documentation/netlabel/draft-ietf-cipso-ipsecurity-01.txt for more details. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 02752760359db6b00a3ffb1acfc13ef8d9eb1e3f Author: Paul Moore Date: Wed Nov 29 13:18:18 2006 -0500 NetLabel: convert to an extensibile/sparse category bitmap The original NetLabel category bitmap was a straight char bitmap which worked fine for the initial release as it only supported 240 bits due to limitations in the CIPSO restricted bitmap tag (tag type 0x01). This patch converts that straight char bitmap into an extensibile/sparse bitmap in order to lay the foundation for other CIPSO tag types and protocols. This patch also has a nice side effect in that all of the security attributes passed by NetLabel into the LSM are now in a format which is in the host's native byte/bit ordering which makes the LSM specific code much simpler; look at the changes in security/selinux/ss/ebitmap.c as an example. Signed-off-by: Paul Moore Signed-off-by: James Morris commit ef91fd522ba3c88d9c68261c243567bc4c5a8f55 Author: Pablo Neira Ayuso Date: Wed Nov 29 02:35:43 2006 +0100 [NETFILTER]: remove the reference to ipchains from Kconfig It is time to move on :-) Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 76592584be7828cd314bc8d5dc7773ff1692fb99 Author: Patrick McHardy Date: Wed Nov 29 02:35:42 2006 +0100 [NETFILTER]: Fix PROC_FS=n warnings Fix some unused function/variable warnings. Signed-off-by: Patrick McHardy commit 65195686ff2f088a73c1764f4d30be5c7e0eb089 Author: Patrick McHardy Date: Wed Nov 29 02:35:41 2006 +0100 [NETFILTER]: remove remaining ASSERT_{READ,WRITE}_LOCK Signed-off-by: Patrick McHardy commit d12cdc3ccf140bd2febef1c1be92284571da983f Author: Bart De Schuymer Date: Wed Nov 29 02:35:40 2006 +0100 [NETFILTER]: ebtables: add --snap-arp option The attached patch adds --snat-arp support, which makes it possible to change the source mac address in both the mac header and the arp header with one rule. Signed-off-by: Bart De Schuymer Signed-off-by: Patrick McHardy commit baf7b1e11282127e068d149825cccec002091d61 Author: Patrick McHardy Date: Wed Nov 29 02:35:38 2006 +0100 [NETFILTER]: x_tables: add NFLOG target Add new NFLOG target to allow use of nfnetlink_log for both IPv4 and IPv6. Currently we have two (unsupported by userspace) hacks in the LOG and ULOG targets to optionally call to the nflog API. They lack a few features, namely the IPv4 and IPv6 LOG targets can not specify a number of arguments related to nfnetlink_log, while the ULOG target is only available for IPv4. Remove those hacks and add a clean way to use nfnetlink_log. Signed-off-by: Patrick McHardy commit 39b46fc6f0d1161a5585cd8af7b3a05e8118ab7e Author: Patrick McHardy Date: Wed Nov 29 02:35:36 2006 +0100 [NETFILTER]: x_tables: add port of hashlimit match for IPv4 and IPv6 Signed-off-by: Patrick McHardy commit d7a5c32442ed3d528b9ddfd3d5b837bad0ffa9da Author: Patrick McHardy Date: Wed Nov 29 02:35:34 2006 +0100 [NETFILTER]: nfnetlink_log: remove useless prefix length limitation There is no reason for limiting netlink attributes in size. Signed-off-by: Patrick McHardy commit 829e17a1a602572ffa3beefe582dc103ee9fb9c7 Author: Eric Leblond Date: Wed Nov 29 02:35:33 2006 +0100 [NETFILTER]: nfnetlink_queue: allow changing queue length through netlink Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 7b621c1ea64a54f77b8a841b16dc4c9fee3ecf48 Author: Pablo Neira Ayuso Date: Wed Nov 29 02:35:32 2006 +0100 [NETFILTER]: ctnetlink: rework conntrack fields dumping logic on events | NEW | UPDATE | DESTROY | ----------------------------------------| tuples | Y | Y | Y | status | Y | Y | N | timeout | Y | Y | N | protoinfo | S | S | N | helper | S | S | N | mark | S | S | N | counters | F | F | Y | Leyend: Y: yes N: no S: iif the field is set F: iif overflow This patch also replace IPCT_HELPINFO by IPCT_HELPER since we want to track the helper assignation process, not the changes in the private information held by the helper. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit bbb3357d14f6becd156469220992ef7ab0f10e69 Author: Pablo Neira Ayuso Date: Wed Nov 29 02:35:31 2006 +0100 [NETFILTER]: ctnetlink: check for status attribute existence on conntrack creation Check that status flags are available in the netlink message received to create a new conntrack. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 1b683b551209ca46ae59b29572018001db5af078 Author: Patrick McHardy Date: Wed Nov 29 02:35:30 2006 +0100 [NETFILTER]: sip conntrack: better NAT handling The NAT handling of the SIP helper has a few problems: - Request headers are only mangled in the reply direction, From/To headers not at all, which can lead to authentication failures with DNAT in case the authentication domain is the IP address - Contact headers in responses are only mangled for REGISTER responses - Headers may be mangled even though they contain addresses not participating in the connection, like alternative addresses - Packets are droppen when domain names are used where the helper expects IP addresses This patch takes a different approach, instead of fixed rules what field to mangle to what content, it adds symetric mapping of From/To/Via/Contact headers, which allows to deal properly with echoed addresses in responses and foreign addresses not belonging to the connection. Signed-off-by: Patrick McHardy commit 77a78dec48386ce958196bf69f192ee76537c07d Author: Patrick McHardy Date: Wed Nov 29 02:35:28 2006 +0100 [NETFILTER]: sip conntrack: make header shortcuts optional Not every header has a shortcut, so make them optional instead of searching for the same string twice. Signed-off-by: Patrick McHardy commit 40883e8184947879f135605a05c0764c60656cc5 Author: Patrick McHardy Date: Wed Nov 29 02:35:27 2006 +0100 [NETFILTER]: sip conntrack: do case insensitive SIP header search SIP headers are generally case-insensitive, only SDP headers are case sensitive. Signed-off-by: Patrick McHardy commit 9d5b8baa4e9ace9be113c6151aaeeb3c07a26fc8 Author: Patrick McHardy Date: Wed Nov 29 02:35:26 2006 +0100 [NETFILTER]: sip conntrack: minor cleanup - Use enum for header field enumeration - Use numerical value instead of pointer to header info structure to identify headers, unexport ct_sip_hdrs - group SIP and SDP entries in header info structure - remove double forward declaration of ct_sip_get_info Signed-off-by: Patrick McHardy commit 337fbc4166967a72c3cc71c597bdde7e6a8633ab Author: Patrick McHardy Date: Wed Nov 29 02:35:25 2006 +0100 [NETFILTER]: ip_conntrack: fix NAT helper unload races The NAT helpr hooks are protected by RCU, but all of the conntrack helpers test and use the global pointers instead of copying them first using rcu_dereference() Also replace synchronize_net() by synchronize_rcu() for clarity since sychronizing only with packet receive processing is insufficient to prevent races. Signed-off-by: Patrick McHardy commit 468ec44bd5a863736d955f78b8c38896f26864a1 Author: Yasuyuki Kozakai Date: Wed Nov 29 02:35:23 2006 +0100 [NETFILTER]: conntrack: add '_get' to {ip, nf}_conntrack_expect_find We usually uses 'xxx_find_get' for function which increments reference count. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy commit e4bd8bce3e8b53e2c0a0d5c9afbc29731e517f8d Author: Patrick McHardy Date: Wed Nov 29 02:35:22 2006 +0100 [NETFILTER]: nf_conntrack: /proc compatibility with old connection tracking This patch adds /proc/net/ip_conntrack, /proc/net/ip_conntrack_expect and /proc/net/stat/ip_conntrack files to keep old programs using them working. The /proc/net/ip_conntrack and /proc/net/ip_conntrack_expect files show only IPv4 entries, the /proc/net/stat/ip_conntrack shows global statistics. Signed-off-by: Patrick McHardy commit a999e6837603e4b5a164333c93918a1292f074c8 Author: Patrick McHardy Date: Wed Nov 29 02:35:20 2006 +0100 [NETFILTER]: nf_conntrack: sysctl compatibility with old connection tracking This patch adds an option to keep the connection tracking sysctls visible under their old names. Signed-off-by: Patrick McHardy commit 933a41e7e12b773d1dd026018f02b86b5d257a22 Author: Patrick McHardy Date: Wed Nov 29 02:35:18 2006 +0100 [NETFILTER]: nf_conntrack: move conntrack protocol sysctls to individual modules Signed-off-by: Patrick McHardy commit d62f9ed4a490309bd9e5df0b42ba5d096e7b5902 Author: Patrick McHardy Date: Wed Nov 29 02:35:17 2006 +0100 [NETFILTER]: nf_conntrack: automatic sysctl registation for conntrack protocols Add helper functions for sysctl registration with optional instantiating of common path elements (like net/netfilter) and use it for support for automatic registation of conntrack protocol sysctls. Signed-off-by: Patrick McHardy commit f8eb24a89afa12b48fa7e39775faea6d64b8e538 Author: Patrick McHardy Date: Wed Nov 29 02:35:15 2006 +0100 [NETFILTER]: nf_conntrack: move extern declaration to header files Using extern in a C file is a bad idea because the compiler can't catch type errors. Signed-off-by: Patrick McHardy commit d73468533451fd896324058d9ba649c11ba3e3ee Author: Patrick McHardy Date: Wed Nov 29 02:35:14 2006 +0100 [NETFILTER]: nf_conntrack_ftp: fix missing helper mask initilization Signed-off-by: Patrick McHardy commit be00c8e48993368663e2714bd1e7c886b7736406 Author: Martin Josefsson Date: Wed Nov 29 02:35:12 2006 +0100 [NETFILTER]: nf_conntrack: reduce timer updates in __nf_ct_refresh_acct() Only update the conntrack timer if there's been at least HZ jiffies since the last update. Reduces the number of del_timer/add_timer cycles from one per packet to one per connection per second (plus once for each state change of a connection) Should handle timer wraparounds and connection timeout changes. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 824621eddd2087b0e6f0b2e0da91e8d77e4919bf Author: Martin Josefsson Date: Wed Nov 29 02:35:11 2006 +0100 [NETFILTER]: nf_conntrack: remove unused struct list_head from protocols Remove unused struct list_head from struct nf_conntrack_l3proto and nf_conntrack_l4proto as all protocols are kept in arrays, not linked lists. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 3ffd5eeb1a031ad226c80ae6e658970cd08569e2 Author: Martin Josefsson Date: Wed Nov 29 02:35:10 2006 +0100 [NETFILTER]: nf_conntrack: minor __nf_ct_refresh_acct() whitespace cleanup Minor whitespace cleanup. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 951d36cace3d3ad2ac6c222e126aed4113ad2bf7 Author: Martin Josefsson Date: Wed Nov 29 02:35:09 2006 +0100 [NETFILTER]: nf_conntrack: remove ASSERT_{READ,WRITE}_LOCK Remove the usage of ASSERT_READ_LOCK/ASSERT_WRITE_LOCK in nf_conntrack, it didn't do anything, it was just an empty define and it uglified the code. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit ae5718fb3dd0a11a4c9a061bf86417d52d58a6b3 Author: Martin Josefsson Date: Wed Nov 29 02:35:08 2006 +0100 [NETFILTER]: nf_conntrack: more sanity checks in protocol registration/unregistration Add some more sanity checks when registering/unregistering l3/l4 protocols. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 605dcad6c85226e6d43387917b329d65b95cef39 Author: Martin Josefsson Date: Wed Nov 29 02:35:06 2006 +0100 [NETFILTER]: nf_conntrack: rename struct nf_conntrack_protocol Rename 'struct nf_conntrack_protocol' to 'struct nf_conntrack_l4proto' in order to help distinguish it from 'struct nf_conntrack_l3proto'. It gets rather confusing with 'nf_conntrack_protocol'. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit e2b7606cdb602a4f69c02cfc8bebe9c63b595e24 Author: Martin Josefsson Date: Wed Nov 29 02:35:04 2006 +0100 [NETFILTER]: More __read_mostly annotations Place rarely written variables in the read-mostly section by using __read_mostly Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 8f03dea52b1d0227656319e1b0822628b43791a8 Author: Martin Josefsson Date: Wed Nov 29 02:35:03 2006 +0100 [NETFILTER]: nf_conntrack: split out protocol handling This patch splits out L3/L4 protocol handling into its own file nf_conntrack_proto.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit f61801218a58381f498ae5c38ae3eae0bc73e976 Author: Martin Josefsson Date: Wed Nov 29 02:35:01 2006 +0100 [NETFILTER]: nf_conntrack: split out the event cache This patch splits out the event cache into its own file nf_conntrack_ecache.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 7e5d03bb9d2b96fdeab0cb0c98b93e6cf7130c96 Author: Martin Josefsson Date: Wed Nov 29 02:34:59 2006 +0100 [NETFILTER]: nf_conntrack: split out helper handling This patch splits out handling of helpers into its own file nf_conntrack_helper.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 77ab9cff0f4112703df3ef7903c1a15adb967114 Author: Martin Josefsson Date: Wed Nov 29 02:34:58 2006 +0100 [NETFILTER]: nf_conntrack: split out expectation handling This patch splits out expectation handling into its own file nf_conntrack_expect.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit d2e4bdc8704b0e711c5046a430bfd1681b0bd5a9 Author: David S. Miller Date: Tue Nov 28 14:37:38 2006 -0800 [TCP] Vegas: Increase default alpha to 2 and beta to 4. This helps Vegas cope better with delayed ACKs, see analysis at: http://www.cs.caltech.edu/%7Eweixl/technical/ns2linux/known_linux/index.html#vegas Signed-off-by: David S. Miller commit 6b57c93dc3aa0115b589cb89ef862d46ab9bd95e Author: Gerrit Renker Date: Tue Nov 28 19:55:06 2006 -0200 [DCCP]: Use `unsigned' for packet lengths This patch implements a suggestion by Ian McDonald and 1) Avoids tests against negative packet lengths by using unsigned int for packet payload lengths in the CCID send_packet()/packet_sent() routines 2) As a consequence, it removes an now unnecessary test with regard to `len > 0' in ccid3_hc_tx_packet_sent: that condition is always true, since * negative packet lengths are avoided * ccid3_hc_tx_send_packet flags an error whenever the payload length is 0. As a consequence, ccid3_hc_tx_packet_sent is never called as all errors returned by ccid_hc_tx_send_packet are caught in dccp_write_xmit 3) Removes the third argument of ccid_hc_tx_send_packet (the `len' parameter), since it is currently always set to skb->len. The code is updated with regard to this parameter change. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit a79ef76f4d8424324c2f108824a7398571193f43 Author: Gerrit Renker Date: Tue Nov 28 19:51:42 2006 -0200 [DCCP] ccid3: Larger initial windows This implements the larger-initial-windows feature for CCID 3, as described in section 5 of RFC 4342. When the first feedback packet arrives, the sender can send up to 2..4 packets per RTT, instead of just one. The patch further * reduces the number of timestamping calls by passing the timestamp value (which is computed in one of the calling functions anyway) as argument * renames one constant with a very long name into one which is shorter and resembles the one in RFC 3448 (t_mbi) * simplifies some of the min_t/max_t cases where both `x', `y' have the same type Commiter note: renamed TFRC_t_mbi to TFRC_T_MBI, to follow Linux coding style. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 841bac1d607d8bf2e068e4b24393fb77372814e3 Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 19:42:03 2006 -0200 [DCCP]: Make {set,get}sockopt(DCCP_SOCKOPT_PACKET_SIZE) return 0 To reflect the fact that this now is of no effect, not making apps stop working, just be warned in the system log. Signed-off-by: Arnaldo Carvalho de Melo commit 5aed324369c94a2c38469c8288e42eb1a9fac400 Author: Gerrit Renker Date: Tue Nov 28 19:33:36 2006 -0200 [DCCP]: Tidy up unused structures This removes and cleans up unused variables and structures which have become unnecessary following the introduction of the EWMA patch to automatically track the CCID 3 receiver/sender packet sizes `s'. It deprecates the PACKET_SIZE socket option by returning an error code and printing a deprecation warning if an application tries to read or write this socket option. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 78ad713da673a2977763521c347176137f3e493f Author: Gerrit Renker Date: Tue Nov 28 19:22:33 2006 -0200 [DCCP] ccid3: Track RX/TX packet size `s' using moving-average Problem: commit 2a1fda6f6c01d7ac195c040f14edcf9f64a5451e Author: Gerrit Renker Date: Tue Nov 28 18:34:34 2006 -0200 [DCCP] ccid3: Set NoFeedback Timeout according to RFC 3448 This corrects the setting of the nofeedback timer with regard to RFC 3448 - previously it was not set to max(4*R, 2*s/X) as specified. Using the maximum of 1 second as upper bound (as it was done before) can have detrimental effects, especially if R is small. Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 4384260443efe90a2ec0d907568dbc58ae792cd0 Author: Gerrit Renker Date: Tue Nov 28 18:14:10 2006 -0200 [DCCP]: Remove allocation of sysctl numbers This is in response to a request sent earlier by Eric W. Biederman and replaces all sysctl numbers for net.dccp.default with CTL_UNNUMBERED. It has been tested to compile and to work. Commiter note: I've removed the use of CTL_UNNUMBERED, not setting .ctl_name sets it to 0, that is the what CTL_UNNUMBERED is, reason is to avoid unneeded source code cluttering. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit ee41e2dff1a0ac548f12871f4bb23fe9e69e13eb Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 03:11:33 2006 -0200 [INET]: Change protocol field in struct inet_protosw to u16 [acme@newtoy net-2.6.20]$ pahole /tmp/tcp_ipv6.o inet_protosw /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/net/protocol.h:69 */ struct inet_protosw { struct list_head list; /* 0 8 */ short unsigned int type; /* 8 2 */ /* XXX 2 bytes hole, try to pack */ int protocol; /* 12 4 */ struct proto * prot; /* 16 4 */ const struct proto_ops * ops; /* 20 4 */ int capability; /* 24 4 */ char no_check; /* 28 1 */ unsigned char flags; /* 29 1 */ }; /* size: 32, sum members: 28, holes: 1, sum holes: 2, padding: 2 */ So that we can kill that hole, protocol can only go all the way to 255 (RAW). Signed-off-by: Arnaldo Carvalho de Melo commit 3a137d2065571864be0301b9ebd72ddb01060997 Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 01:12:38 2006 -0200 [TCP]: Renove the __ prefix on the struct tcp_sock members As this struct is not userland visible at all. Signed-off-by: Arnaldo Carvalho de Melo commit 2ff52f282cf287d60e9eda1f3b5ec83e00a86130 Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 00:48:32 2006 -0200 [TCP]: Change tcp_header_len member in tcp_sock to u16 With this we eliminate the last hole in struct tcp_sock. End result: [acme@newtoy net-2.6.20]$ codiff -sV /tmp/tcp.o.before net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: struct tcp_sock | -4 tcp_header_len; from: int /* 1000(0) 4(0) */ to: u16 /* 1000(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ Now sizeof(tcp_sock) is just... [acme@newtoy net-2.6.20]$ pahole --sizes ../OUTPUT/qemu/net-2.6.20/net/ipv4/tcp.o | grep -w tcp_sock struct tcp_sock: 1500 0 1500 bytes ;-) Signed-off-by: Arnaldo Carvalho de Melo commit 5d0dbc4a9b2d325458dcbf9a8329bd1d2cc7bd7e Author: Gerrit Renker Date: Mon Nov 27 20:32:37 2006 -0200 [DCCP] ccid3: Consolidate handling of t_RTO This patch * removes setting t_RTO in ccid3_hc_tx_init (per [RFC 3448, 4.2], t_RTO is undefined until feedback has been received); * makes some trivial changes (updates of comments); * performs a small optimisation by exploiting that the feedback timeout uses the value of t_ipi. The way it is done is safe, because the timeouts appear after the changes to t_ipi, ensuring that up-to-date values are used; * in ccid3_hc_tx_packet_recv, moves the t_rto statement closer to the calculation of the next_tmout. This makes the code clearer to read and is also safe, since t_rto is not updated until the next call of ccid3_hc_tx_packet_recv, and is not read by the functions called via ccid_wait_for_ccid(); * removes a `max' statement in sk_reset_timer, this is not needed since the timeout value is always greater than 1E6 microseconds. * adds `XXX'es to highlight that currently the nofeedback timer is set in a non-standard way Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 17893bc1a632e195574dc0dd9751243f0d5993d2 Author: Gerrit Renker Date: Mon Nov 27 20:31:33 2006 -0200 [DCCP] ccid3: Consistently update t_nom, t_ipi, t_delta This patch: * consolidates updating of parameters (t_nom, t_ipi, t_delta) which need to be updated at the same time, since they are inter-dependent * removes two inline functions which are no longer needed as a result of the above consolidation * resolves a FIXME regarding the re-calculation of t_ipi within the nofeedback timer, in the state where no feedback has previously been received * ties updating these parameters to updating the sending rate X, exploiting that all three parameters in turn depend on X; and using a small optimisation which can reduce the number of required instructions: only update the three parameters when X really changes Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 48e03eee715b9e19df03153f2bcce6413632afcb Author: Gerrit Renker Date: Mon Nov 27 20:29:27 2006 -0200 [DCCP] ccid3: Consolidate timer resets This patch concerns updating the value of the nofeedback timer when no feedback has been received so far. Since in this case the value of R is still undefined according to [RFC 3448, 4.2], we can not perform step (3) of [RFC 3448, 4.3]. A clarification is provided in [RFC 4342, sec. 5], which states that in these cases the nofeedback timer (still) expires "after two seconds". Many thanks to Ian McDonald for pointing this out and providing the clarification. The patch * implements [RFC 4342, sec. 5] with regard to the above case * consolidates handling timer restart by - adding an appropriate jump label and - initialising the timeout value Acked-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit b798a9ede2b2434b9cbf0f3aee3e8598586fa89c Author: Jamal Hadi Salim Date: Mon Nov 27 12:59:30 2006 -0800 [XFRM]: Convert a few __u8 to proper u8 Caught by the EyeBalls(tm) of Thomas Graf Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 0c51f53c57c5584508dfae7110db5caccfd499c6 Author: Jamal Hadi Salim Date: Mon Nov 27 12:58:20 2006 -0800 [XFRM]: Make flush notifier prettier when subpolicy used Might as well make flush notifier prettier when subpolicy used Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 46ca5f5dc4f1c9b5ac02c0090ae8ff4ac8560446 Author: Arnaldo Carvalho de Melo Date: Mon Nov 27 17:58:59 2006 -0200 [XFRM]: Pack struct xfrm_policy [acme@newtoy net-2.6.20]$ pahole net/ipv4/tcp.o xfrm_policy /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/security.h:67 */ struct xfrm_policy { struct xfrm_policy * next; /* 0 4 */ struct hlist_node bydst; /* 4 8 */ struct hlist_node byidx; /* 12 8 */ rwlock_t lock; /* 20 36 */ atomic_t refcnt; /* 56 4 */ struct timer_list timer; /* 60 24 */ u8 type; /* 84 1 */ /* XXX 3 bytes hole, try to pack */ u32 priority; /* 88 4 */ u32 index; /* 92 4 */ struct xfrm_selector selector; /* 96 56 */ struct xfrm_lifetime_cfg lft; /* 152 64 */ struct xfrm_lifetime_cur curlft; /* 216 32 */ struct dst_entry * bundles; /* 248 4 */ __u16 family; /* 252 2 */ __u8 action; /* 254 1 */ __u8 flags; /* 255 1 */ __u8 dead; /* 256 1 */ __u8 xfrm_nr; /* 257 1 */ /* XXX 2 bytes hole, try to pack */ struct xfrm_sec_ctx * security; /* 260 4 */ struct xfrm_tmpl xfrm_vec[6]; /* 264 360 */ }; /* size: 624, sum members: 619, holes: 2, sum holes: 5 */ So lets have just one hole instead of two, by moving 'type' to just before 'action', end result: [acme@newtoy net-2.6.20]$ codiff -s /tmp/tcp.o.before net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: struct xfrm_policy | -4 1 struct changed [acme@newtoy net-2.6.20]$ [acme@newtoy net-2.6.20]$ pahole -c 64 net/ipv4/tcp.o xfrm_policy /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/security.h:67 */ struct xfrm_policy { struct xfrm_policy * next; /* 0 4 */ struct hlist_node bydst; /* 4 8 */ struct hlist_node byidx; /* 12 8 */ rwlock_t lock; /* 20 36 */ atomic_t refcnt; /* 56 4 */ struct timer_list timer; /* 60 24 */ u32 priority; /* 84 4 */ u32 index; /* 88 4 */ struct xfrm_selector selector; /* 92 56 */ struct xfrm_lifetime_cfg lft; /* 148 64 */ struct xfrm_lifetime_cur curlft; /* 212 32 */ struct dst_entry * bundles; /* 244 4 */ u16 family; /* 248 2 */ u8 type; /* 250 1 */ u8 action; /* 251 1 */ u8 flags; /* 252 1 */ u8 dead; /* 253 1 */ u8 xfrm_nr; /* 254 1 */ /* XXX 1 byte hole, try to pack */ struct xfrm_sec_ctx * security; /* 256 4 */ struct xfrm_tmpl xfrm_vec[6]; /* 260 360 */ }; /* size: 620, sum members: 619, holes: 1, sum holes: 1 */ Are there any fugly data dependencies here? None that I know. In the process changed the removed the __ prefixed types, that are just for userspace visible headers. Signed-off-by: Arnaldo Carvalho de Melo commit d5c42c0ec4f7fd5a4e19e33a2d561758b67c55c8 Author: Arnaldo Carvalho de Melo Date: Mon Nov 27 17:58:02 2006 -0200 [NET]: Pack struct hh_cache [acme@newtoy net-2.6.20]$ pahole net/ipv4/tcp.o hh_cache /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/netdevice.h:190 */ struct hh_cache { struct hh_cache * hh_next; /* 0 4 */ atomic_t hh_refcnt; /* 4 4 */ __be16 hh_type; /* 8 2 */ /* XXX 2 bytes hole, try to pack */ int hh_len; /* 12 4 */ int (*hh_output)(); /* 16 4 */ rwlock_t hh_lock; /* 20 36 */ long unsigned int hh_data[24]; /* 56 96 */ }; /* size: 152, sum members: 150, holes: 1, sum holes: 2 */ [acme@newtoy net-2.6.20]$ find net -name "*.[ch]" | xargs grep 'hh_len.\+=' | sort -u net/atm/br2684.c: hh->hh_len = PADLEN + ETH_HLEN; net/ethernet/eth.c: hh->hh_len = ETH_HLEN; net/ipv4/ipconfig.c: int hh_len = LL_RESERVED_SPACE(dev); net/ipv4/ip_output.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); net/ipv4/ip_output.c: int hh_len = LL_RESERVED_SPACE(dev); net/ipv4/netfilter.c: hh_len = (*pskb)->dst->dev->hard_header_len; net/ipv4/raw.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); net/ipv6/ip6_output.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); net/ipv6/netfilter/ip6t_REJECT.c: hh_len = (dst->dev->hard_header_len + 15)&~15; net/ipv6/raw.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); [acme@newtoy net-2.6.20]$ [acme@newtoy net-2.6.20]$ find include -name "*.h" | xargs grep 'define ETH_HLEN' include/linux/if_ether.h:#define ETH_HLEN 14 /* Total octets in header. */ (((dev)->hard_header_len&~(HH_DATA_MOD - 1)) + HH_DATA_MOD) [acme@newtoy net-2.6.20]$ pahole net/ipv4/tcp.o net_device | grep hard_header_len short unsigned int hard_header_len; /* 106 2 */ [acme@newtoy net-2.6.20]$ So I think we're safe in turning hh_len an u16, end result: [acme@newtoy net-2.6.20]$ codiff -sV /tmp/tcp.o.before net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: struct hh_cache | -4 hh_len; from: int /* 12(0) 4(0) */ to: u16 /* 10(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 850db6b8c53ff12eadee9ef2aa69360c06bce057 Author: Arnaldo Carvalho de Melo Date: Mon Nov 27 17:56:43 2006 -0200 [INET_CONNECTION_SOCK]: Pack struct inet_connection_sock_af_ops We have a hole in: [acme@newtoy net-2.6.20]$ pahole net/ipv6/tcp_ipv6.o inet_connection_sock_af_ops /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/net/inet_connection_sock.h:38 */ struct inet_connection_sock_af_ops { int (*queue_xmit)(); /* 0 4 */ void (*send_check)(); /* 4 4 */ int (*rebuild_header)(); /* 8 4 */ int (*conn_request)(); /* 12 4 */ struct sock * (*syn_recv_sock)(); /* 16 4 */ int (*remember_stamp)(); /* 20 4 */ __u16 net_header_len; /* 24 2 */ /* XXX 2 bytes hole, try to pack */ int (*setsockopt)(); /* 28 4 */ int (*getsockopt)(); /* 32 4 */ int (*compat_setsockopt)(); /* 36 4 */ int (*compat_getsockopt)(); /* 40 4 */ void (*addr2sockaddr)(); /* 44 4 */ int sockaddr_len; /* 48 4 */ }; /* size: 52, sum members: 50, holes: 1, sum holes: 2 */ But we don't need sockaddr_len to be an int: [acme@newtoy net-2.6.20]$ find net -name "*.[ch]" | xargs grep '\.sockaddr_len.\+=' | sort -u net/dccp/ipv4.c: .sockaddr_len = sizeof(struct sockaddr_in), net/dccp/ipv6.c: .sockaddr_len = sizeof(struct sockaddr_in6), net/ipv4/tcp_ipv4.c: .sockaddr_len = sizeof(struct sockaddr_in), net/ipv6/tcp_ipv6.c: .sockaddr_len = sizeof(struct sockaddr_in6), net/sctp/ipv6.c: .sockaddr_len = sizeof(struct sockaddr_in6), net/sctp/protocol.c: .sockaddr_len = sizeof(struct sockaddr_in), [acme@newtoy net-2.6.20]$ pahole --sizes net/ipv6/tcp_ipv6.o | grep sockaddr_in struct sockaddr_in: 16 0 struct sockaddr_in6: 28 0 [acme@newtoy net-2.6.20]$ So I turned sockaddr_len a 'u16', and now: [acme@newtoy net-2.6.20]$ pahole net/ipv6/tcp_ipv6.o inet_connection_sock_af_ops /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/net/inet_connection_sock.h:38 */ struct inet_connection_sock_af_ops { int (*queue_xmit)(); /* 0 4 */ void (*send_check)(); /* 4 4 */ int (*rebuild_header)(); /* 8 4 */ int (*conn_request)(); /* 12 4 */ struct sock * (*syn_recv_sock)(); /* 16 4 */ int (*remember_stamp)(); /* 20 4 */ u16 net_header_len; /* 24 2 */ u16 sockaddr_len; /* 26 2 */ int (*setsockopt)(); /* 28 4 */ int (*getsockopt)(); /* 32 4 */ int (*compat_setsockopt)(); /* 36 4 */ int (*compat_getsockopt)(); /* 40 4 */ void (*addr2sockaddr)(); /* 44 4 */ }; /* size: 48 */ So we've saved 4 bytes: [acme@newtoy net-2.6.20]$ codiff -sV /tmp/tcp_ipv6.o.before net/ipv6/tcp_ipv6.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/tcp_ipv6.c: struct inet_connection_sock_af_ops | -4 net_header_len; from: __u16 /* 24(0) 2(0) */ to: u16 /* 24(0) 2(0) */ sockaddr_len; from: int /* 48(0) 4(0) */ to: u16 /* 26(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 4c0a6cb0db19de411c4bf7fcdc79d4c7c4ccafb1 Author: Gerrit Renker Date: Mon Nov 27 09:29:59 2006 -0800 [UDP(-Lite)]: consolidate v4 and v6 get|setsockopt code This patch consolidates set/getsockopt code between UDP(-Lite) v4 and 6. The justification is that UDP(-Lite) is a transport-layer protocol and therefore the socket option code (at least in theory) should be AF-independent. Furthermore, there is the following code reduplication: * do_udp{,v6}_getsockopt is 100% identical between v4 and v6 * do_udp{,v6}_setsockopt is identical up to the following differerence --v4 in contrast to v4 additionally allows the experimental encapsulation types UDP_ENCAP_ESPINUDP and UDP_ENCAP_ESPINUDP_NON_IKE --the remainder is identical between v4 and v6 I believe that this difference is of little relevance. The advantages in not duplicating twice almost completely identical code. The patch further simplifies the interface of udp{,v6}_push_pending_frames, since for the second argument (struct udp_sock *up) it always holds that up = udp_sk(sk); where sk is the first function argument. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit e3703b3de1f049b38733ba520e5038f23063068e Author: Thomas Graf Date: Mon Nov 27 09:27:07 2006 -0800 [RTNETLINK]: Add rtnl_put_cacheinfo() to unify some code IPv4, IPv6, and DECNet all use struct rta_cacheinfo in a similiar way, therefore rtnl_put_cacheinfo() is added to reuse code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 4e9b82693542003b028c8494e9e3c49615b91ce7 Author: Thomas Graf Date: Mon Nov 27 09:25:58 2006 -0800 [NETLINK]: Remove unused dst_pid field in netlink_skb_parms The destination PID is passed directly to netlink_unicast() respectively netlink_multicast(). Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit d61c167dd0797a16584f7a922dd5d50efad1d28a Author: Gerrit Renker Date: Mon Nov 27 12:31:45 2006 -0200 [NET]: Add documentation for TFRC structures This adds documentation for the TFRC structure fields. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 5e19e3fcd7351de1ca87c4797cca27ba55c7e55e Author: Gerrit Renker Date: Mon Nov 27 12:28:48 2006 -0200 [DCCP] ccid3: Resolve small FIXME This considers the case - ACK received while no packet has been sent so far. Resolved by printing a (rate-limited) warning message. Further removes an unnecessary BUG_ON in ccid3_hc_tx_packet_recv, received feedback on a terminating connection is simply ignored. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 70dbd5b0ef3915f1e018e6437c8db9e999b0d701 Author: Gerrit Renker Date: Mon Nov 27 12:27:55 2006 -0200 [DCCP] ccid3: Remove redundant statements in ccid3_hc_tx_packet_sent This patch removes a switch statement which is redundant since, * nothing is done in states TFRC_SSTATE_NO_SENT/TFRC_SSTATE_NO_FBACK * it is impossible that the function is called in the state TFRC_SSTATE_TERM, since --the function is called, in dccp_write_xmit, after ccid3_hc_tx_send_packet --if ccid3_hc_tx_send_packet is called in state TFRC_SSTATE_TERM, it returns -EINVAL, which means that ccid3_hc_tx_packet_sent will not be called (compare dccp_write_xmit) --> therefore, this case is logically impossible * the remaining state is TFRC_SSTATE_FBACK which conditionally updates t_ipi, t_nom, and t_delta. This is a no-op, since --t_ipi only changes when feedback is received --however, when feedback arrives via ccid3_hc_tx_packet_recv, there is an identical code block which performs the same set of operations --performing the same set of operations again in ccid3_hc_tx_packet_sent therefore does not change anything, since between the time of receiving the last feedback (and therefore update of t_ipi, t_nom, and t_delta), the value of t_ipi has not changed --since t_ipi has not changed, the values of t_delta and t_nom also do not change, they depend fully on t_ipi Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit da335baf9e788edfb00ee3b96f7b9526b6b2f8a9 Author: Gerrit Renker Date: Mon Nov 27 12:26:57 2006 -0200 [DCCP] ccid3: Avoid congestion control on zero-sized data packets This resolves an `XXX' in ccid3_hc_tx_send_packet(). The function is only called on Data and DataAck packets and returns a negative result on zero-sized messages. This is a reasonable policy since CCID 3 is a congestion-control module and congestion control on zero-sized Data(Ack) packets is in a way pathological. The patch uses a more suitable error code for this case, it returns the Posix.1 code `EBADMSG' ("Not a data message") instead of `ENOTCONN'. As a result of ignoring zero-sized packets, a the condition for a warning "First packet is data" in ccid3_hc_tx_packet_sent is always satisfied; this message has been removed since it will always be printed. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 7da7f456d7bc0e52009f882e8af0ac910293e157 Author: Gerrit Renker Date: Mon Nov 27 12:26:03 2006 -0200 [DCCP] ccid3: Simplify control flow of ccid3_hc_tx_send_packet This makes some logically equivalent simplifications, by replacing rc - values plus goto's with direct return statements. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 91cf5a17257e1d2ef936fbf0223c3436ca583af9 Author: Gerrit Renker Date: Mon Nov 27 12:25:10 2006 -0200 [DCCP] ccid3: Fix calculation of t_ipi time of scheduled transmission Problem: commit f5c2d6367b04fd5ba98a5f9846b5fb870423968a Author: Gerrit Renker Date: Mon Nov 27 12:22:48 2006 -0200 [DCCP] ccid3: Simplify control flow in the calculation of t_ipi This patch performs a simplifying (performance) optimisation: In each call of the inline function ccid3_calc_new_t_ipi(), the state is tested against TFRC_SSTATE_NO_FBACK. This is expensive when the function is called very often. A simpler solution, implemented by this patch, is to adapt the control flow. Background: commit 90feeb951f61a80d3a8f8e5ced25b9ec78867eaf Author: Gerrit Renker Date: Mon Nov 27 12:13:38 2006 -0200 [DCCP] ccid3: Fix bug in calculation of first t_nom and first t_ipi Problem: commit 6472c051fcc5e571a9abee7f7a1ac58cc6e7bafa Author: Andrea Bittau Date: Sun Nov 26 01:07:50 2006 -0200 [DCCP] ccid2: Allow window to grow larger Now that we can stuff bigger ack vectors into options. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 522f1d095bf76dbe2430fb9a9a257c0f27033f31 Author: Andrea Bittau Date: Sun Nov 26 01:04:40 2006 -0200 [DCCP] ackvec: Split long ack vectors across multiple options Ack vectors grow proportional to the window size. If an ack vector does not fit into a single option, it must be spread across multiple options. This patch will allow for windows to grow larger. Committer note: Simplified the patch a bit, original algorithm kept. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit bdf13d208dee4ada6d2b422536a12b45d5831aa3 Author: Andrea Bittau Date: Fri Nov 24 13:02:42 2006 -0200 [DCCP] ackvec: infrastructure for sending more than one ackvec per packet Commiter note: This was split from Andrea's original patch, in the process I changed the type of the ackvec index fields to u16 instead of to int and haven't folded dccp_ackvec_parse with dccp_ackvec_check_rcv_ackno. Next patch will actually do the insertion of more than one ackvec per packet, using, initially, up to a max of 2 ackvecs as per Andrea's original patch, then I'll work on support for larger ackvecs, be it using a sysctl or using setsockopt. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 0bd4ff1b1528a39b07aab6c744ac37e053740ad0 Author: Andrea Bittau Date: Tue Nov 21 16:17:10 2006 -0200 [DCCP] ackvec: Remove unused dccpav_ack_ptr field from dccp_ackvec Commiter note: original patch was splitted. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 4a89c2562cb81c24c515b9de041aced4d21cb6d1 Author: Thomas Graf Date: Fri Nov 24 17:14:51 2006 -0800 [DECNET] address: Convert to new netlink interface Extends the netlink interface to support the __le16 type and converts address addition, deletion and, dumping to use the new netlink interface. Fixes multiple occasions of possible illegal memory references due to not validated netlink attributes. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit b020b942cdc238e9761cb38598eda6691c366d68 Author: Thomas Graf Date: Fri Nov 24 17:14:31 2006 -0800 [DECNET] address: Rename rtmsg_ifa() to dn_ifaddr_notify() The name rtmsg_ifa is heavly overused and confusing. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit a6f01cace3a6532c6f22d8e2fdefed3632ea61b2 Author: Thomas Graf Date: Fri Nov 24 17:14:07 2006 -0800 [DECNET] address: Calculate accurate message size for netlink notifications Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 107a5fe6191249878de0de42bb64d3c35be1a986 Author: Ville Nuorvala Date: Fri Nov 24 17:08:58 2006 -0800 [IPV6]: Improve IPv6 tunnel error reporting Log an error if the remote tunnel endpoint is unable to handle tunneled packets. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 6fb32ddeb2502292bb89e17f58600ce265598ed7 Author: Ville Nuorvala Date: Fri Nov 24 17:08:32 2006 -0800 [IPV6]: Don't allocate memory for Tunnel Encapsulation Limit Option Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 305d4b3ce8c2f00643edc3bb19f005f72e8f84fc Author: Ville Nuorvala Date: Fri Nov 24 17:06:53 2006 -0800 [IPV6]: Allow link-local tunnel endpoints Allow link-local tunnel endpoints if the underlying link is defined. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 09c6bbf090ecb52c8d670fa4d5730be134a8ec8b Author: Ville Nuorvala Date: Fri Nov 24 17:06:27 2006 -0800 [IPV6]: Do mandatory IPv6 tunnel endpoint checks in realtime Doing the mandatory tunnel endpoint checks when the tunnel is set up isn't enough as interfaces can go up or down and addresses can be added or deleted after this. The checks need to be done realtime when the tunnel is processing a packet. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 567131a722ca064c917c0b06e4bcf07d47602103 Author: Ville Nuorvala Date: Fri Nov 24 17:05:41 2006 -0800 [IPV6]: Fix SIOCCHGTUNNEL bug in IPv6 tunnels A logic bug in tunnel lookup could result in duplicate tunnels when changing an existing device. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit e94ef682053a6eeca91aefdaecf8efe7fd7e33a5 Author: Thomas Graf Date: Thu Nov 23 11:44:37 2006 -0800 [GENETLINK] ctrl: Avoid empty CTRL_ATTR_OPS attribute when dumping Based on Jamal's patch but compiled and even tested. :-) Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit cdbc6dae5cc90d7d9e109e7d0568979d5355b653 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:22:51 2006 -0200 [XFRM]: Use kmemdup where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit 2710b57ff9b1437cfbe96b23ae86fedf3239f1ca Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:22:12 2006 -0200 [TIPC]: Use kzalloc where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit e69062b4f728dca01ec1a9eb4ed55b73a374f164 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:21:34 2006 -0200 [SUNRPC]: Use k{mem,str}dup where applicable Signed-off-by: Arnaldo Carvalho de Melo commit af997d8c9568d556cd0a362d56de9fb14a6a012a Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:20:33 2006 -0200 [SCTP]: Use kzalloc where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit c7b1b24978d89efab7d420bbdc9557dbe6259c89 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:19:40 2006 -0200 [SCHED]: Use kmemdup & kzalloc where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit b3ab09f9e1681916df349d54232fbb3f8a79bfa5 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:18:33 2006 -0200 [IRDA]: Use kmemdup where applicable Signed-off-by: Arnaldo Carvalho de Melo commit 8b2ed4bba45b7ca8e378d45f82f3f32f651e0a42 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:17:18 2006 -0200 [IPVS]: Use kmemdup where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit e6b61105f6b06a1d6bb35d2a0978cf91106808b8 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:16:24 2006 -0200 [DECNET]: Use kzalloc where applicable Signed-off-by: Arnaldo Carvalho de Melo commit b1a98bf685e26f1a0b509d6f0f6bd8f7764303a5 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:15:32 2006 -0200 [NET] neighbour: Use kmemdup where applicable Signed-off-by: Arnaldo Carvalho de Melo commit 2afe37cdffa96f69c9096e6d4a10a275c9c7d2c9 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:14:33 2006 -0200 [ATM]: Use kmemdup & kzalloc where applicable Signed-off-by: Arnaldo Carvalho de Melo commit 66625984ca94552f75836596e0e83f3e5594bd58 Author: Al Viro Date: Mon Nov 20 18:08:37 2006 -0800 [CIPSO]: Missing annotation in cipso_ipv4 update. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5e57dff2c49956e24f27f9b6d2ec0db967680c39 Author: Al Viro Date: Mon Nov 20 18:08:13 2006 -0800 [NETPOLL]: Another udp checksum mangling. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 66c6f529c31e2886536aad4b2320d566deb1f150 Author: Al Viro Date: Mon Nov 20 18:07:51 2006 -0800 [NET]: net/sched annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ff1dcadb1b55dbf471c5ed109dbbdf06bd19ef3b Author: Al Viro Date: Mon Nov 20 18:07:29 2006 -0800 [NET]: Split skb->csum ... into anonymous union of __wsum and __u32 (csum and csum_offset resp.) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5b14027bf2132c0631ea9f3be11ced89a5057220 Author: Al Viro Date: Mon Nov 20 18:06:59 2006 -0800 [NETFILTER]: ip_nat_snmp_basic annotations. ... and switch the damn checksum update to something saner Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8e5200f54062b8af0ed1d186ea0f113854786d89 Author: Al Viro Date: Mon Nov 20 18:06:37 2006 -0800 [NET]: Fix assorted misannotations (from md5 and udplite merges). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 34bcca28335977e969338c98c6c43a1e08f592b2 Author: Al Viro Date: Mon Nov 20 17:27:15 2006 -0800 [SCTP]: Even more trivial sctp annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2178eda82616566b7397791afa6e5487990bac8e Author: Al Viro Date: Mon Nov 20 17:26:53 2006 -0800 [SCTP]: SCTP_CMD_PROCESS_CTSN annotations. argument passed as __be32 Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9f81bcd9429e9bb4006eb9b7df276706c5df926d Author: Al Viro Date: Mon Nov 20 17:26:34 2006 -0800 [SCTP]: More trivial sctp annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 962c837275e8a8c1df41f1882e971636093cdee4 Author: Al Viro Date: Mon Nov 20 17:26:08 2006 -0800 [SCTP]: Netfilter sctp annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3dbe86566ed262dae3b5472b9360cb5b65d42716 Author: Al Viro Date: Mon Nov 20 17:25:49 2006 -0800 [SCTP]: Annotate ->supported_addrs(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e1857ea28dc76e2a929d1fff4d5d5cf712f12f4e Author: Al Viro Date: Mon Nov 20 17:25:32 2006 -0800 [SCTP]: sctp_association ->peer.i is a host-endian analog of sctp_inthdr. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dce116ae86cb224a9dad787e91fb552dae67b2e8 Author: Al Viro Date: Mon Nov 20 17:25:15 2006 -0800 [SCTP]: Get rid of the last remnants of sin_port flipping. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6fbfa9f951878ab489147d9e459191d4aacfa819 Author: Al Viro Date: Mon Nov 20 17:24:53 2006 -0800 [SCTP]: Annotate ->inaddr_any(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c9c938cb050e6d45088c5c39e4097742e875c496 Author: Al Viro Date: Mon Nov 20 17:24:36 2006 -0800 [SCTP]: flip_to_{h,n}() are not needed anymore. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7dcdbd9579c944bb833f95a7f276d01f49161734 Author: Al Viro Date: Mon Nov 20 17:24:21 2006 -0800 [SCTP]: Don't bother setting sin_port in ->from_sk(). ... the only caller will overwrite immediately Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 516b20ee2d4df76e7f76332e161a25c70e8f7bea Author: Al Viro Date: Mon Nov 20 17:24:02 2006 -0800 [SCTP]: ->a_h is gone now. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9fd76494855c974e9079e9812ba5ecf88dedab38 Author: Al Viro Date: Mon Nov 20 17:23:46 2006 -0800 [SCTP]: ip6_send() doesn't need fl_ip_[sd]port. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7dd8a5821dd4991916c4eedf84e10fc2d0b47555 Author: Al Viro Date: Mon Nov 20 17:23:25 2006 -0800 [SCTP]: sctp_sf_send_restart_abort() is endian-agnostic. ... so caller can use ->ipaddr instead of ->ipaddr_h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8cec6b80664eb20b0c033fd20d2c7ed15621437f Author: Al Viro Date: Mon Nov 20 17:23:01 2006 -0800 [SCTP]: We need to be careful when copying to sockaddr_storage. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b3f5b3b6654422bb0a6ef745fe4d11a4f01d006a Author: Al Viro Date: Mon Nov 20 17:22:43 2006 -0800 [SCTP]: Trivial ->ipaddr_h -> ->ipaddr conversions. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 74af924ab6562717ef9aab1061ec05bbbf31d979 Author: Al Viro Date: Mon Nov 20 17:22:26 2006 -0800 [SCTP]: ->a_h is gone now. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5ae955cffdb96190c2bd4f57313f5f147f87854b Author: Al Viro Date: Mon Nov 20 17:22:08 2006 -0800 [SCTP]: sctp_make_asconf_update_ip() and sctp_find_unmatch_addr(). ... switched to taking and returning pointers to net-endian sctp_addr resp. Together, since the only user of sctp_find_unmatch_addr() just passes its value to sctp_make_asconf_update_ip(). sctp_make_asconf_update_ip() is actually endian-agnostic. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6244be4e063075f6077f05e70f8fa1bf7f4a968e Author: Al Viro Date: Mon Nov 20 17:21:44 2006 -0800 [SCTP]: Trivial parts of a_h -> a switch. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 80f15d62418040e78849f5fc3a4a5af9c9d1fec7 Author: Al Viro Date: Mon Nov 20 17:14:23 2006 -0800 [SCTP]: ->source_h is not used anymore. kill it Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a926626893aca20567f27af1c5edc830e1c51b2b Author: Al Viro Date: Mon Nov 20 17:13:58 2006 -0800 [SCTP]: Switch all remaining users of ->saddr_h to ->saddr. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 16b0a030330d179427edffbeddaa5b7dc5b31196 Author: Al Viro Date: Mon Nov 20 17:13:38 2006 -0800 [SCTP]: Switch sctp_chunk ->dest to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d448388bdaca946aa2b07973cb72a9b834e530bf Author: Al Viro Date: Mon Nov 20 17:13:21 2006 -0800 [SCTP]: sctp_transport_route() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit cb7b4a0dcf67ae747406b58b1cdc875916019739 Author: Al Viro Date: Mon Nov 20 17:13:01 2006 -0800 [SCTP]: Pass net-endian to ->get_dst(). all instances are actually endian-agnostic... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d3f7a54a295f2ffc9033b425c6538a7e9d7fbe8a Author: Al Viro Date: Mon Nov 20 17:12:41 2006 -0800 [SCTP]: ->get_saddr() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6a1e5f335461567f593e88b218f1c06817cbd323 Author: Al Viro Date: Mon Nov 20 17:12:25 2006 -0800 [SCTP]: sctp_process_init() and sctp_source() switched to net-endian. both are done in one go since almost always we have result of the latter immediately passed to the former. Possibly non-obvious note: sctp_process_param() is endian-agnostic Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 02a8a4db3b38ad2dd8bcfcca41694e043e44d282 Author: Al Viro Date: Mon Nov 20 17:12:07 2006 -0800 [SCTP]: sctp_copy_one_addr() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6c7be55ca0c204473d07a030a03c49a7471b4508 Author: Al Viro Date: Mon Nov 20 17:11:50 2006 -0800 [SCTP]: sctp_has_association() switched to net-endian. Ditto for its only caller (sctp_endpoint_is_peeled_off) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit cd4ff034e3572679f7ff8f126469b3addd1a4fbc Author: Al Viro Date: Mon Nov 20 17:11:33 2006 -0800 [SCTP]: sctp_endpoint_lookup_assoc() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dd86d136f9feb72c52a5b07707affe80edbc8dda Author: Al Viro Date: Mon Nov 20 17:11:13 2006 -0800 [SCTP]: Switch ->from_addr_param() to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5ab7b859ab58e3479a5a66e383ecd6bc447f6c1d Author: Al Viro Date: Mon Nov 20 17:10:38 2006 -0800 [SCTP]: Switch sctp_add_bind_addr() to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 4bdf4b5fe22c26750c39fdd2939a5f33df0cc341 Author: Al Viro Date: Mon Nov 20 17:10:20 2006 -0800 [SCTP]: Switch sctp_assoc_add_peer() to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b488c7dd58f61e07b54e5d286c7b45c43dd52f1a Author: Al Viro Date: Mon Nov 20 17:10:03 2006 -0800 [SCTP]: sctp_transport_{init,new}() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d55c41b115e74b30a3d1a61db806bd03bdd9dd6f Author: Al Viro Date: Mon Nov 20 17:09:40 2006 -0800 [SCTP]: Switch ->from_skb() to net-endian. All instances switched, callers updated. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9b1dfad011d409bc56476a81810342751645ee54 Author: Al Viro Date: Mon Nov 20 17:09:17 2006 -0800 [SCTP]: Switch sctp_cookie ->peer_addr to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f235fca389f23cd6c9e0f466611bb2d6a05ae758 Author: Al Viro Date: Mon Nov 20 17:09:01 2006 -0800 [SCTP]: sctp_init_addrs() switched to net-endian. Caller adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e2fccedb0136205d02e97a41851503e2b96d2a17 Author: Al Viro Date: Mon Nov 20 17:08:41 2006 -0800 [SCTP]: Switch sctp_assoc_is_match to net-endian. Along with it, statics in input.c that end up calling it (__sctp_lookup_association, sctp_lookup_association, __sctp_rcv_init_lookup, __sctp_rcv_lookup). Callers are adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1c7d1fc14974f44809b22521bd9796411d8ba440 Author: Al Viro Date: Mon Nov 20 17:08:09 2006 -0800 [SCTP]: Switch sctp_endpoint_is_match() to net-endian. The only caller (__sctp_rcv_lookup_endpoint()) also switched, its caller adjusted Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c9a08505ec0a0260fc94a823c014cc3970f72d25 Author: Al Viro Date: Mon Nov 20 17:07:48 2006 -0800 [SCTP]: Switch sctp_del_bind_addr() to net-endian. Callers adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 63de08f45bb73a445edb482850f4cdccd84def48 Author: Al Viro Date: Mon Nov 20 17:07:25 2006 -0800 [SCTP]: Switch address inside the heartbeat opaque data to net-endian. Its only use happens on the same host, when it gets quoted back to us. So we are free to flip to net-endian and avoid extra PITA. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit be29681edfbad72167df735e243e8621840dca4f Author: Al Viro Date: Mon Nov 20 17:07:06 2006 -0800 [SCTP]: Switch sctp_assoc_lookup_paddr() to net-endian. Callers updated. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 38a03145efcdbbcc60465fdffc0546208a52daf8 Author: Al Viro Date: Mon Nov 20 17:06:45 2006 -0800 [SCTP]: sctp_assoc_del_peer() switched to net-endian. Callers adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 854d43a465cc8ba8e501320b3bc27359d909da2f Author: Al Viro Date: Mon Nov 20 17:06:24 2006 -0800 [SCTP]: Annotate ->dst_saddr() switched to taking a pointer to net-endian sctp_addr and a net-endian port number. Instances and callers adjusted; interestingly enough, the only calls are direct calls of specific instances - the method is not used at all. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit acd2bc96e19535fcd74c6eb94532c19c817857bd Author: Al Viro Date: Mon Nov 20 17:06:04 2006 -0800 [SCTP]: Switch ->primary_addr to net-endian. Users adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7e1e4a2b9dcc63ac3328f786f9d98bde90c8fc6c Author: Al Viro Date: Mon Nov 20 17:05:43 2006 -0800 [SCTP]: Switch sctp_bind_addr_match() to net-endian. Callers adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5f242a13e8505e0f3efd3113da6e029f6e7dfa32 Author: Al Viro Date: Mon Nov 20 17:05:23 2006 -0800 [SCTP]: Switch ->cmp_addr() and sctp_cmp_addr_exact() to net-endian. instances of ->cmp_addr() are fine with switching both arguments to net-endian; callers other than in sctp_cmp_addr_exact() (both as ->cmp_addr(...) and direct calls of instances) adjusted; sctp_cmp_addr_exact() switched to net-endian itself and adjustment is done in its callers Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c604e368a477ed1f7dd532605a8f1990d2b128ee Author: Al Viro Date: Mon Nov 20 17:04:59 2006 -0800 [SCTP]: Pass net-endian to ->seq_dump_addr() No actual modifications of method instances are needed - they don't look at port numbers. Switch callers... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2a6fd78adec062f16f8662563115679e669efaca Author: Al Viro Date: Mon Nov 20 17:04:42 2006 -0800 [SCTP] embedded sctp_addr: net-endian mirrors Add sctp_chunk->source, sctp_sockaddr_entry->a, sctp_transport->ipaddr and sctp_transport->saddr, maintain them as net-endian mirrors of their host-endian counterparts. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 09ef7fecea40c5e4c0dfe35bed3f0ed8da554cf5 Author: Al Viro Date: Mon Nov 20 17:04:10 2006 -0800 [SCTP]: Beginning of conversion to net-endian for embedded sctp_addr. Part 1: rename sctp_chunk->source, sctp_sockaddr_entry->a, sctp_transport->ipaddr and sctp_transport->saddr (to ..._h) The next patch will reintroduce these fields and keep them as net-endian mirrors of the original (renamed) ones. Split in two patches to make sure that we hadn't forgotten any instanes. Later in the series we'll eliminate uses of host-endian variants (basically switching users to net-endian counterparts as we progress through that mess). Then host-endian ones will die. Other embedded host-endian sctp_addr will be easier to switch directly, so we leave them alone for now. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 30330ee00ce077de9d459c17125573ff618bd7a9 Author: Al Viro Date: Mon Nov 20 17:03:18 2006 -0800 [SCTP] bug: endianness problem in sctp_getsockopt_sctp_status() Again, invalid sockaddr passed to userland - host-endiand sin_port. Potential leak, again, but less dramatic than in previous case. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0906e20fa03afdb14faf7fd166bfe4ed67c8db55 Author: Al Viro Date: Mon Nov 20 17:03:01 2006 -0800 [SCTP] bug: sctp_assoc_control_transport() breakage a) struct sockaddr_storage * passed to sctp_ulpevent_make_peer_addr_change() actually points at union sctp_addr field in a structure. Then that sucker gets copied to userland, with whatever junk we might have there. b) it's actually having host-endian sin_port. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d5c747f6efc03495635f129c8eb1dad0200ab183 Author: Al Viro Date: Mon Nov 20 17:02:40 2006 -0800 [SCTP] bug: sctp_find_unmatch_addr() compares net-endian to host-endian Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 39940a48c42441da5e7428483ac515e822d52b1d Author: Al Viro Date: Mon Nov 20 17:02:22 2006 -0800 [SCTP] bug: sctp_assoc_lookup_laddr() is broken with ipv6. It expects (and gets) laddr with net-endian sin_port. And then it calls sctp_bind_addr_match(), which *does* care about port numbers in case of ipv6 and expects them to be host-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 04afd8b282d702bc122051751466000e9513ef96 Author: Al Viro Date: Mon Nov 20 17:02:01 2006 -0800 [SCTP]: Beginning of sin_port fixes. That's going to be a long series. Introduced temporary helpers doing copy-and-convert for sctp_addr; they are used to kill flip-in-place in global data structures and will be used to gradually push host-endian uses of sctp_addr out of existence. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dbc16db1e58da6c346ca3e63870c17b93fbed0f0 Author: Al Viro Date: Mon Nov 20 17:01:42 2006 -0800 [SCTP]: Trivial sctp endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 72f17e1c0984fbdb60abf245d81b947393910100 Author: Al Viro Date: Mon Nov 20 17:01:23 2006 -0800 [SCTP]: Annotate tsn_dups. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5be291fe2d0d76681190589f6480ce1e28c2406b Author: Al Viro Date: Mon Nov 20 17:01:06 2006 -0800 [SCTP]: SCTP_CMD_ASSOC_FAILED annotations. also always get __be16 protocol error; switch to SCTP_PERR() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dc251b2b1c4bfea51903cb9fbc141a5b33f6aca7 Author: Al Viro Date: Mon Nov 20 17:00:44 2006 -0800 [SCTP]: SCTP_CMD_INIT_FAILED annotations. argument stored for SCTP_CMD_INIT_FAILED is always __be16 (protocol error). Introduced new field and accessor for it (SCTP_PERR()); switched to their use (from SCTP_U32() and .u32) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f94c0198dd98c2ca66a7a44e9ad310a3eb21ad31 Author: Al Viro Date: Mon Nov 20 17:00:25 2006 -0800 [SCTP]: sctp_stop_t1_and_abort() annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 63706c5c6fd07f58bed85d0aa031ffbce3a0385f Author: Al Viro Date: Mon Nov 20 17:00:05 2006 -0800 [SCTP]: sctp_make_op_error() annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5bf2db03908b9121805af3c76e3ac2d0759e199f Author: Al Viro Date: Mon Nov 20 16:59:45 2006 -0800 [SCTP]: Annotate sctp_init_cause(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f3ffaf14681e3cad61006873be8656ab41b793e0 Author: Al Viro Date: Mon Nov 20 16:59:12 2006 -0800 [SCTP]: Annotate SCTP headers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 89c89458152c4d387eeca6532b6e50780fc59f8b Author: Adrian Bunk Date: Mon Nov 20 16:56:48 2006 -0800 [IPV6] net/ipv6/sit.c: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 1459bb36b12ac52bde68d70e2ba7a6f1f2e8be17 Author: Jamal Hadi Salim Date: Mon Nov 20 16:51:22 2006 -0800 [XFRM]: Make copy_to_user_policy_type take a type Make copy_to_user_policy_type take a type instead a policy and fix its users to pass the type Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 746859625d879688adb99f1e5e8108fea876d369 Author: Thomas Graf Date: Mon Nov 20 16:20:22 2006 -0800 [BRIDGE] netlink: Convert bridge netlink code to new netlink interface Removes dependency on buggy rta_buf, fixes a memory corruption bug due to a unvalidated netlink attribute, and simplifies the code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 82e3ab9dbeebd5c8d5402ad1607d22086271a56d Author: Ian McDonald Date: Mon Nov 20 19:19:32 2006 -0200 [DCCP]: Adds the tx buffer sysctls This one got lost on the way from Ian to Gerrit to me, fix it. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 455431739ca2f4c7f02d0a5979559ac5a68a6f95 Author: Ian McDonald Date: Mon Nov 20 18:44:03 2006 -0200 [DCCP] CCID3: Remove non-referenced variable This removes a non-referenced variable. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit ddfe10b82455a5a524055fc606d1f1562d388dc8 Author: Ian McDonald Date: Mon Nov 20 18:42:45 2006 -0200 [DCCP]: Update Documentation This patch just updates DCCP documentation a bit. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit e1b7441e803442828780a6d6d792643f79d5665b Author: Ian McDonald Date: Mon Nov 20 18:41:37 2006 -0200 [DCCP]: Make dccp_probe more portable This makes the code of the dccp_probe module more portable. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 23ea8945f6be2287fec67c85abcf24736c1ded80 Author: Gerrit Renker Date: Mon Nov 20 18:40:42 2006 -0200 [CCID 3]: Add annotations for socket structures This adds documentation to the CCID 3 rx/tx socket fields, plus some minor re-formatting. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 59348b19efebfd6a8d0791ff81d207b16594c94b Author: Gerrit Renker Date: Mon Nov 20 18:39:23 2006 -0200 [DCCP]: Simplified conditions due to use of enum:8 states This reaps the benefit of the earlier patch, which changed the type of CCID 3 states to use enums, in that many conditions are now simplified and the number of possible (unexpected) values is greatly reduced. In a few instances, this also allowed to simplify pre-conditions; where care has been taken to retain logical equivalence. [DCCP]: Introduce a consistent BUG/WARN message scheme This refines the existing set of DCCP messages so that * BUG(), BUG_ON(), WARN_ON() have meaningful DCCP-specific counterparts * DCCP_CRIT (for severe warnings) is not rate-limited * DCCP_WARN() is introduced as rate-limited wrapper Using these allows a faster and cleaner transition to their original counterparts once the code has matured into a full DCCP implementation. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit b1308dc015eb09cf094ca169296738a13ae049ad Author: Ian McDonald Date: Mon Nov 20 18:30:17 2006 -0200 [DCCP]: Set TX Queue Length Bounds via Sysctl Previously the transmit queue was unbounded. This patch: * puts a limit on transmit queue length and sends back EAGAIN if the buffer is full * sets the TX queue length to a sensible default * implements tx buffer sysctls for DCCP Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 56724aa434e9b4d73548021ede7a1474f533f3fe Author: Gerrit Renker Date: Mon Nov 20 18:28:09 2006 -0200 [DCCP]: Add CCID3 debug support to Kconfig This adds a CCID3 debug option to the configuration menu which is missing in Kconfig, but already used by the code. CCID 2 already provides such an entry. To enable debugging, set CONFIG_IP_DCCP_CCID3_DEBUG=y NOTE: The use of ccid3_{t,r}x_state_name is safe, since now only enum values can appear. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 84116716cc9404356f775443b460f76766f08f65 Author: Gerrit Renker Date: Mon Nov 20 18:26:03 2006 -0200 [DCCP]: enable debug messages also for static builds This patch * makes debugging (when configured) work both for static / module build * provides generic debugging macros for use in other DCCP / CCID modules * adds missing information about debug parameters to Kconfig * performs some code tidy-up Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit f123bc5f800d528e59684c7faffda88b4dd2d38c Author: Michael Chan Date: Sun Nov 19 14:15:31 2006 -0800 [BNX2]: Update version and rel date. Update version to 1.5.1. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit bac0dff6cd194f7a28f7e840c9b6a7aa71c6ef97 Author: Michael Chan Date: Sun Nov 19 14:15:05 2006 -0800 [BNX2]: Add 5709 PCI ID. Add PCI ID and detection for 5709 copper and SerDes chips. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d43584c8bf851145ed7ec6d148916a01979040f4 Author: Michael Chan Date: Sun Nov 19 14:14:35 2006 -0800 [BNX2]: Download 5709 firmware. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5793bfe19beaa3c804fa2d33af238bf51bf28211 Author: Michael Chan Date: Sun Nov 19 14:13:52 2006 -0800 [BNX2]: New firmware to support 5709 (part 4). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 123d19a3fa4a2c94f9154d04e5355304720020fd Author: Michael Chan Date: Sun Nov 19 14:13:23 2006 -0800 [BNX2]: New firmware to support 5709 (part 3). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fc2a0bca102bab668badf2e5bfc3012441dd051f Author: Michael Chan Date: Sun Nov 19 14:12:55 2006 -0800 [BNX2]: New firmware to support 5709 (part 2). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b6690cc2bd5e2831f971231a2ff8c4a74b06acc4 Author: Michael Chan Date: Sun Nov 19 14:12:28 2006 -0800 [BNX2]: New firmware to support 5709 (part 1). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 234754d5c1ef25bbc64631a420ba66eeb2904633 Author: Michael Chan Date: Sun Nov 19 14:11:41 2006 -0800 [BNX2]: Add 5709 reset and runtime code. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 59b47d8ad35b9858d63d6fd3db76e698e4a98f36 Author: Michael Chan Date: Sun Nov 19 14:10:45 2006 -0800 [BNX2]: Add 5709 init code. Add basic support to initialize the 5709 chip. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9052a840fffa2f565ed13e6ecd53fbe2532d51b9 Author: Michael Chan Date: Sun Nov 19 14:10:12 2006 -0800 [BNX2]: Add new 5709 registers (part 2). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 19cdeb794b7ef9e1f0e408777445bd76fe90e694 Author: Michael Chan Date: Sun Nov 19 14:09:48 2006 -0800 [BNX2]: Add new 5709 registers (part 1). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit af3ee519c5d6bebbda9bf0ca3b81bc50b4dd2163 Author: Michael Chan Date: Sun Nov 19 14:09:25 2006 -0800 [BNX2]: Re-organize firmware structures. Re-organize the firmware handling code and declarations a bit to make the code more compact. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a16dda0e67cea666fb7eb708ab1199892c4a1a13 Author: Michael Chan Date: Sun Nov 19 14:08:56 2006 -0800 [BNX2]: Remove udelay() in copper PHY code. Change a long udelay() in bnx2_setup_copper_phy() to msleep(). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f8dd064ee1bd62ef2cdb398cb9cdc8a8f112cb28 Author: Michael Chan Date: Sun Nov 19 14:08:29 2006 -0800 [BNX2]: Add 5708S parallel detection. Add code to parallel detect 1Gbps and 2.5Gbps link speeds. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 48b01e2d7c83d37321722f1cdd46193d4ca73b41 Author: Michael Chan Date: Sun Nov 19 14:08:00 2006 -0800 [BNX2]: Add bnx2_5706_serdes_timer(). Separate the 5706S SerDes handling code in bnx2_timer() and put it in a new function. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 80be44348e30b68d2d8c5b6d1b7e53f2c5659134 Author: Michael Chan Date: Sun Nov 19 14:07:28 2006 -0800 [BNX2]: Improve SerDes handling. 1. Add support for 2.5Gbps forced speed setting. 2. Remove a long udelay() loop and change to msleep(). 3. Other misc. SerDes fixes. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7510873d8659f4192cb5b3327f748e401d216399 Author: Michael Chan Date: Sun Nov 19 14:06:40 2006 -0800 [BNX2]: Fix Xen problem. This fixes the problem of not receiving packets in the Xen bridging environment. The Xen script sets the device's MAC address to FE:FF:FF:FF:FF:FF and puts the device in promiscuous mode. The firmware had problem receiving all packets in this configuration. New firmware and setting the PROM_VLAN bit when in promiscuous mode will fix this problem. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit bb22f58087fdf8b617803c9b65bc86c6d26b5115 Author: James Morris Date: Fri Nov 17 23:01:03 2006 -0500 Compile fix for "peer secid consolidation for external network labeling" Use a forward declaration instead of dragging in skbuff.h and related junk. Signed-off-by: James Morris commit de64688ffb952a65ddbc5295ccd235d35f292593 Author: Paul Moore Date: Fri Nov 17 17:38:55 2006 -0500 NetLabel: honor the audit_enabled flag The audit_enabled flag is used to signal when syscall auditing is to be performed. While NetLabel uses a Netlink interface instead of syscalls, it is reasonable to consider the NetLabel Netlink interface as a form of syscall so pay attention to the audit_enabled flag when generating audit messages in NetLabel. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 3de4bab5b9f8848a0c16a4b1ffe0452f0d670237 Author: Paul Moore Date: Fri Nov 17 17:38:54 2006 -0500 SELinux: peer secid consolidation for external network labeling Now that labeled IPsec makes use of the peer_sid field in the sk_security_struct we can remove a lot of the special cases between labeled IPsec and NetLabel. In addition, create a new function, security_skb_extlbl_sid(), which we can use in several places to get the security context of the packet's external label which allows us to further simplify the code in a few places. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9f2ad66509b182b399a5b03de487f45bde623524 Author: Paul Moore Date: Fri Nov 17 17:38:53 2006 -0500 NetLabel: SELinux cleanups This patch does a lot of cleanup in the SELinux NetLabel support code. A summary of the changes include: * Use RCU locking for the NetLabel state variable in the skk_security_struct instead of using the inode_security_struct mutex. * Remove unnecessary parameters in selinux_netlbl_socket_post_create(). * Rename selinux_netlbl_sk_clone_security() to selinux_netlbl_sk_security_clone() to better fit the other NetLabel sk_security functions. * Improvements to selinux_netlbl_inode_permission() to help reduce the cost of the common case. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9bb5fd2b05cb4dba229e225536faa59eaadd837d Author: Paul Moore Date: Fri Nov 17 17:38:52 2006 -0500 NetLabel: use cipso_v4_doi_search() for local CIPSOv4 functions The cipso_v4_doi_search() function behaves the same as cipso_v4_doi_getdef() but is a local, static function so use it whenever possibile in the CIPSOv4 code base. Signed-of-by: Paul Moore Signed-off-by: James Morris commit c6b1677a54330b72d961270c9a66bb99c62c4a8e Author: Paul Moore Date: Fri Nov 17 17:38:51 2006 -0500 NetLabel: use the correct CIPSOv4 MLS label limits The CIPSOv4 engine currently has MLS label limits which are slightly larger than what the draft allows. This is not a major problem due to the current implementation but we should fix this so it doesn't bite us later. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9fade4bf8eed3db2fd1306968da4d51bc611aca3 Author: Paul Moore Date: Fri Nov 17 17:38:50 2006 -0500 NetLabel: return the correct error for translated CIPSOv4 tags The CIPSOv4 translated tag #1 mapping does not always return the correct error code if the desired mapping does not exist; instead of returning -EPERM it returns -ENOSPC indicating that the buffer is not large enough to hold the translated value. This was caused by failing to check a specific error condition. This patch fixes this so that unknown mappings return -EPERM which is consistent with the rest of the related CIPSOv4 code. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 91b1ed0afdbffbda88c472ef72af37e19b7876fb Author: Paul Moore Date: Fri Nov 17 17:38:49 2006 -0500 NetLabel: fixup the handling of CIPSOv4 tags to allow for multiple tag types While the original CIPSOv4 code had provisions for multiple tag types the implementation was not as great as it could be, pushing a lot of non-tag specific processing into the tag specific code blocks. This patch fixes that issue making it easier to support multiple tag types in the future. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 6ce61a7c2678800cfe59a5f4a41ce8f785b9d355 Author: Paul Moore Date: Fri Nov 17 17:38:48 2006 -0500 NetLabel: add tag verification when adding new CIPSOv4 DOI definitions Currently the CIPSOv4 engine does not do any sort of checking when a new DOI definition is added. The tags are still verified but only as a side effect of normal NetLabel operation (packet processing, socket labeling, etc.) which would cause application errors due to the faulty configuration. This patch adds tag checking when new DOI definition are added allowing us to catch these configuration problems when they happen. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 05e00cbf5036929355020dab4837b637203a0742 Author: Paul Moore Date: Fri Nov 17 17:38:47 2006 -0500 NetLabel: check for a CIPSOv4 option before we do call into the CIPSOv4 layer Right now the NetLabel code always jumps into the CIPSOv4 layer to determine if a CIPSO IP option is present. However, we can do this check directly in the NetLabel code by making use of the CIPSO_V4_OPTEXIST() macro which should save us a function call in the common case of not having a CIPSOv4 option present. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 701a90bad99b8081a824cca52c178c8fc8f46bb2 Author: Paul Moore Date: Fri Nov 17 17:38:46 2006 -0500 NetLabel: make netlbl_lsm_secattr struct easier/quicker to understand The existing netlbl_lsm_secattr struct required the LSM to check all of the fields to determine if any security attributes were present resulting in a lot of work in the common case of no attributes. This patch adds a 'flags' field which is used to indicate which attributes are present in the structure; this should allow the LSM to do a quick comparison to determine if the structure holds any security attributes. Example: if (netlbl_lsm_secattr->flags) /* security attributes present */ else /* NO security attributes present */ Signed-off-by: Paul Moore Signed-off-by: James Morris commit c6fa82a9dd6160e0bc980cb0401c16bf62f2fe66 Author: Paul Moore Date: Fri Nov 17 17:38:45 2006 -0500 NetLabel: change netlbl_secattr_init() to return void The netlbl_secattr_init() function would always return 0 making it pointless to have a return value. This patch changes the function to return void. Signed-off-by: Paul Moore Signed-off-by: James Morris commit cd28786d6d4209ec32a375d92188ec7b4d98779f Author: Paul Moore Date: Fri Nov 17 17:38:44 2006 -0500 NetLabel: convert the unlabeled accept flag to use RCU Currently the NetLabel unlabeled packet accept flag is an atomic type and it is checked for every non-NetLabel packet which comes into the system but rarely ever changed. This patch changes this flag to a normal integer and protects it with RCU locking. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 1f758d93548fb3c6297c05a351a4ba532de6a497 Author: Paul Moore Date: Fri Nov 17 17:38:43 2006 -0500 NetLabel: use gfp_t instead of int where it makes sense There were a few places in the NetLabel code where the int type was being used instead of the gfp_t type, this patch corrects this mistake. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 352d48008b6f3e02d8ce77868432e329dd921cb1 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 19:59:12 2006 -0200 [TCP]: Tidy up skb_entail Heck, it even saves us some few bytes: [acme@newtoy net-2.6.20]$ codiff -f /tmp/tcp.o.before ../OUTPUT/qemu/net-2.6.20/net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: tcp_sendpage | -7 tcp_sendmsg | -5 2 functions changed, 12 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit eafff86d3bd80403c808f67f5389813fdb5bd6c8 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 13:05:04 2006 -0200 [NETROM]: Use kmemdup Signed-off-by: Arnaldo Carvalho de Melo commit 0459d70add3f7ca5d433d4b2334cc6ec9ddab05b Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:43:07 2006 -0200 [AX25]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/ax25.ko.before /tmp/ax25.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/ax25_out.c: ax25_send_frame | -8 1 function changed, 8 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/ax25_route.c: ax25_rt_autobind | -15 1 function changed, 15 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/af_ax25.c: ax25_make_new | -33 1 function changed, 33 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/sysctl_net_ax25.c: ax25_register_sysctl | -21 1 function changed, 21 bytes removed /tmp/ax25.ko.after: 4 functions changed, 77 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit c66b721a502cbbc15be8bd7c79c305fa40f1e6ce Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:29:21 2006 -0200 [DECNET]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/decnet.ko.before /tmp/decnet.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/decnet/dn_dev.c: dn_dev_sysctl_register | -51 1 function changed, 51 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit eed73417d501c2c7bdef1bc8a1f7a1548a635b09 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:21:43 2006 -0200 [DCCP]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/dccp.ko.before /tmp/dccp.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/dccp/feat.c: __dccp_feat_init | -16 dccp_feat_change_recv | -55 dccp_feat_clone | -56 3 functions changed, 127 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit af879cc704372ef762584e916129d19ffb39e844 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:14:37 2006 -0200 [IPV6]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/ipv6.ko.before /tmp/ipv6.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/ip6_output.c: ip6_output | -52 ip6_append_data | +2 2 functions changed, 2 bytes added, 52 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/addrconf.c: addrconf_sysctl_register | -27 1 function changed, 27 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/tcp_ipv6.c: tcp_v6_syn_recv_sock | -32 tcp_v6_parse_md5_keys | -24 2 functions changed, 56 bytes removed /tmp/ipv6.ko.after: 5 functions changed, 2 bytes added, 135 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit c67862403e28dd67f38e896736f063d8dd522688 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:25:49 2006 -0200 [TCP] minisocks: Use kmemdup and LIMIT_NETDEBUG Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/tcp_minisocks.o.before /tmp/tcp_minisocks.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp_minisocks.c: tcp_check_req | -44 1 function changed, 44 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 42e5ea466c1897c4ac2e3b4fe0b33a28e9e3d5de Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:18:20 2006 -0200 [IPV4]: Use kmemdup in net/ipv4/devinet.c Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/devinet.o.before /tmp/devinet.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/devinet.c: devinet_sysctl_register | -38 1 function changed, 38 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit fac5d7315126f4b6745a8565c3a875617e02f8b8 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:14:16 2006 -0200 [NETLABEL]: Use kmemdup in cipso_ipv4.c Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/cipso_ipv4.o.before /tmp/cipso_ipv4.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/cipso_ipv4.c: cipso_v4_cache_add | -46 1 function changed, 46 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit f6685938f9181e95f814edfca287d4f04a925240 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:06:01 2006 -0200 [TCP_IPV4]: Use kmemdup where appropriate Also use a variable to avoid the longish tp->md5sig_info-> use in tcp_v4_md5_do_add. Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/tcp_ipv4.o.before /tmp/tcp_ipv4.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp_ipv4.c: tcp_v4_md5_do_add | -62 tcp_v4_syn_recv_sock | -32 tcp_v4_parse_md5_keys | -86 3 functions changed, 180 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 7174259e6ced15bebee202983511d8fc950e929f Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 10:57:30 2006 -0200 [TCP_IPV4]: CodingStyle cleanups, no code change Mostly related to CONFIG_TCP_MD5SIG recent merge. Signed-off-by: Arnaldo Carvalho de Melo commit 32aac18dfa0963fde40cc074ba97ebbae8b755f2 Author: Andrea Bittau Date: Thu Nov 16 14:28:40 2006 -0200 [DCCP] CCID2: Code optimizations These are code optimizations which are relevant when dealing with large windows. They are not coded the way I would like to, but they do the job for the short-term. This patch should be more neat. Commiter note: Changed the seqno comparisions to use {after,before}48 to handle wrapping. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 58a5a7b9555ea231b557ebef5cabeaf8e951df0b Author: Arnaldo Carvalho de Melo Date: Thu Nov 16 14:06:06 2006 -0200 [NET]: Conditionally use bh_lock_sock_nested in sk_receive_skb Spotted by Ian McDonald, tentatively fixed by Gerrit Renker: http://www.mail-archive.com/dccp%40vger.kernel.org/msg00599.html Rewritten not to unroll sk_receive_skb, in the common case, i.e. no lock debugging, its optimized away. Signed-off-by: Arnaldo Carvalho de Melo commit e523a1550e877f8a8ff87a50269b7ee7bfb43464 Author: Arnaldo Carvalho de Melo Date: Thu Nov 16 12:23:58 2006 -0200 [DCCP]: One NET_INC_STATS() could be NET_INC_STATS_BH in dccp_v4_err() Spotted by Eric Dumazet in tcp_v4_rcv(). Signed-off-by: Arnaldo Carvalho de Melo commit 3c6952624a8f600f9a0fbc1f5db5560a7ef9b13e Author: Gerrit Renker Date: Wed Nov 15 21:27:47 2006 -0200 [DCCP]: Introduce DCCP_{BUG{_ON},CRIT} macros, use enum:8 for the ccid3 states This patch tackles the following problem: * the ccid3_hc_{t,r}x_sock define ccid3hc{t,r}x_state as `u8', but in reality there can only be a few, pre-defined enum names * this necessitates addiditional checking for unexpected values which would otherwise be caught by the compiler Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 6bb100b9fc8f1ce330231b360028ab705a9f0378 Author: David S. Miller Date: Wed Nov 15 01:09:32 2006 -0800 [UDPLite]: udplite.h needs ip6_checksum.h Signed-off-by: David S. Miller commit 078250d68d883495f31d0e6ce8321292f2dc1cfa Author: Gerrit Renker Date: Wed Nov 15 00:44:49 2006 -0800 [NET/IPv4]: Make udp_push_pending_frames static udp_push_pending_frames is only referenced within net/ipv4/udp.c and hence can remain static. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 7d9e9b3df491d5e1c3ed76c5cff7ace6094124c1 Author: David S. Miller Date: Tue Nov 14 22:09:20 2006 -0800 [IPV6]: udp.c build fix Signed-off-by: David S. Miller commit 7d533f941856d7d192bfec28581e130dda9c6688 Author: Al Viro Date: Tue Nov 14 21:51:36 2006 -0800 [NET]: More dccp endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1f61ab5ca5cca939a6509892d84b34849e155036 Author: Al Viro Date: Tue Nov 14 21:44:08 2006 -0800 [NET]: Preliminaty annotation of skb->csum. It's still not completely right; we need to split it into anon unions of __wsum and unsigned - for cases when we use it for partial checksum and for offset of checksum in skb Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5a5a852e45b651c71dfeb3972b30d58742f8941e Author: Al Viro Date: Tue Nov 14 21:43:44 2006 -0800 [NET] driver/s390/net: Checksum annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 43bc0ca7eadc024e9e5b935fa5e0892df4fec9eb Author: Al Viro Date: Tue Nov 14 21:43:23 2006 -0800 [NET]: netfilter checksum annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f9214b2627fb8582af1986afc4aed5942086a535 Author: Al Viro Date: Thu Nov 16 02:41:18 2006 -0800 [NET]: ipvs checksum annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5c78f275e696a25a9919671aa8aa3d0a3d967978 Author: Al Viro Date: Tue Nov 14 21:42:26 2006 -0800 [NET]: IP header modifier helpers annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f6ab028804bdc580fe0915494dbf31f5ea473ca7 Author: Al Viro Date: Thu Nov 16 02:36:50 2006 -0800 [NET]: Make mangling a checksum (0 -> 0xffff on the wire) explicit. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b51655b958dfb1176bfcf99466231fdbef8751ff Author: Al Viro Date: Tue Nov 14 21:40:42 2006 -0800 [NET]: Annotate __skb_checksum_complete() and friends. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b1550f221255f7dd06048d832bf0f3d166840e1c Author: Al Viro Date: Tue Nov 14 21:37:50 2006 -0800 [NET]: Annotate ip_vs_checksum_complete() and callers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 81d77662763ae527ba3a9b9275467901aaab7dfd Author: Al Viro Date: Tue Nov 14 21:37:33 2006 -0800 [NET]: Annotate skb_copy_and_csum_bits() and callers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2bbbc86890ac4c911c5057f69af93853e52a42a8 Author: Al Viro Date: Tue Nov 14 21:37:14 2006 -0800 [NET]: Annotate skb_checksum() and callers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5f92a7388a29594d6c365b23a48d4bb8299a3ea7 Author: Al Viro Date: Tue Nov 14 21:36:54 2006 -0800 [NET]: Annotate callers of the reset of checksum.h stuff. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5084205faf45384fff25c4cf77dd5c96279283ad Author: Al Viro Date: Tue Nov 14 21:36:34 2006 -0800 [NET]: Annotate callers of csum_partial_copy_...() and csum_and_copy...() in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 44bb93633f57a55979f3c2589b10fd6a2bfc7c08 Author: Al Viro Date: Tue Nov 14 21:36:14 2006 -0800 [NET]: Annotate csum_partial() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 868c86bcb5bdea7ed8d45979b17bb919af9254db Author: Al Viro Date: Tue Nov 14 21:35:48 2006 -0800 [NET]: annotate csum_ipv6_magic() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2bda2853150e20ca2a44627d00b5f85af0b24a42 Author: Al Viro Date: Tue Nov 14 21:28:51 2006 -0800 [NET]: Annotate csum_tcpudp_magic() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6b11687ef003ed595033da89643c8995676f929d Author: Al Viro Date: Tue Nov 14 21:28:24 2006 -0800 [NET]: Annotate csum_tcpudp_magic() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d6f5493c1a42b1203e5b0cb0507afd00bb2927bf Author: Al Viro Date: Tue Nov 14 21:26:08 2006 -0800 [NET]: Annotate callers of csum_tcpudp_nofold() in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d3bc23e7ee9db8023dff5a86bb3b0069ed018789 Author: Al Viro Date: Tue Nov 14 21:24:49 2006 -0800 [NET]: Annotate callers of csum_fold() in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9981a0e36a572e9fcf84bfab915fdc93bed0e3c9 Author: Al Viro Date: Tue Nov 14 21:24:30 2006 -0800 [NET]: Annotate checksums in on-the-wire packets. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 56649d5d3c4cb0fe6dd34808ca9f9208d84130ab Author: Al Viro Date: Tue Nov 14 21:23:59 2006 -0800 [NET]: Generic checksum annotations and cleanups. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b8e4e01dd5576a14602a49829f9f9d997bb60b6b Author: Al Viro Date: Tue Nov 14 21:23:40 2006 -0800 [NET]: XTENSA checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy_fromuser * kill csum_partial_copy * kill useless shifts * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d5c63936410fbcabd92df1ac12f3f63ca23c7a86 Author: Al Viro Date: Tue Nov 14 21:23:20 2006 -0800 [NET]: SPARC64 checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 16ec7e168db6747e69b101b86ddf86f001fdcd60 Author: Al Viro Date: Tue Nov 14 21:22:56 2006 -0800 [NET]: SPARC checksum annotations and cleanups. * sanitize prototypes, annotate * kill bogus access_ok() in csum_partial_copy_from_user (the only caller checks) * kill useless shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7c73a746ba726faa5ab12981b4b192768eb439de Author: Al Viro Date: Tue Nov 14 21:22:35 2006 -0800 [NET]: SH checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f994aae1bd8e4813d59a2ed64d17585fe42d03fc Author: Al Viro Date: Tue Nov 14 21:22:18 2006 -0800 [NET]: S390 checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 879178cfbe56baa42ee73b9668816872c97d8ccd Author: Al Viro Date: Tue Nov 14 21:21:58 2006 -0800 [NET]: POWERPC checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 72685fcd286e94fef0b692f634d304b7240cef04 Author: Al Viro Date: Tue Nov 14 21:21:37 2006 -0800 [NET]: I386 checksum annotations and cleanups. * sanitize prototypes, annotate * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 475b8f311bf3e9b5a024b779435f408395a76890 Author: Al Viro Date: Tue Nov 14 21:21:15 2006 -0800 [NET]: AVR32 checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts * kill useless ntohs (it's big-endian, for fsck sake!) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0ffb7122bc988ce328e84d14c81d029bc62c47c5 Author: Al Viro Date: Tue Nov 14 21:20:51 2006 -0800 [NET]: ARM26 checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy Signed-off-by: Al Viro Signed-off-by: David S. Miller commit eb5a9658656c3d633cc973ec90ccfd6c439dabb6 Author: Al Viro Date: Tue Nov 14 21:20:28 2006 -0800 [NET]: ARM checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy * usual ntohs->shift, this time in assembler part Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a4f89fb7c072b8592b296c2ba216269c0c96db43 Author: Al Viro Date: Tue Nov 14 21:20:08 2006 -0800 [NET]: X86_64 checksum annotations and cleanups. * sanitize prototypes, annotate * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9d3d41955845939cb41b87affb039db0bae03b65 Author: Al Viro Date: Tue Nov 14 21:19:44 2006 -0800 [NET]: V850 checksum annotations and cleanups. * sanitize prototypes, annotate * collapse csum_partial_copy * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit abf419b809bed2333267e4b23dd2b3b4f10da88c Author: Al Viro Date: Tue Nov 14 21:19:22 2006 -0800 [NET]: UML checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy_fromuser * kill shift-by-16 in checksum calculations * ntohs->shift in checksum calculations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c459dd90f0de00db1ca1328482214019f6ca292f Author: Al Viro Date: Tue Nov 14 21:19:01 2006 -0800 [NET]: SH64 checksum annotations and cleanups. * sanitize prototypes, annotate * collapse csum_partial_copy * kill csum_partial_copy_fromuser * ntohs->shift in checksum calculation Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7814e4b6d6ce59071887600a8659641ba3d30a43 Author: Al Viro Date: Tue Nov 14 21:18:39 2006 -0800 [NET]: PARISC checksum annotations and cleanups. * sanitized prototypes, annotated * kill shift-by-16 in checksum calculation Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8e3d8433d8c22ca6c42cba4a67d300c39aae7822 Author: Al Viro Date: Tue Nov 14 21:18:18 2006 -0800 [NET]: MIPS checksum annotations and cleanups. * sanitize prototypes, annotate * kill shift-by-16 in checksum calculations * htons->shift in l-e checksum calculations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 59ed05a7e891d694a43df96ac613f7e8e164eb95 Author: Al Viro Date: Tue Nov 14 21:17:56 2006 -0800 [NET]: M68Knommu checksum annotations and cleanups. * sanitize prototypes, annotated * collapsed csum_partial_copy() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2061acaaae0e165f0104ec9d327a02addbcabd62 Author: Al Viro Date: Tue Nov 14 21:17:19 2006 -0800 [NET]: M68K checksum annotations and cleanups. * sanitize prototypes, annotate Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 85d20dee20f0958df1615e73698f6b0c525812f7 Author: Al Viro Date: Tue Nov 14 21:16:55 2006 -0800 [NET]: M32R checksum annotations and cleanups. * sanitize prototypes, annotate * ntohs -> shift in checksum calculations in l-e case * kill shift-by-16 in checksum calculations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 322529961e3b3e64fdf1a3e46a45294456c91acf Author: Al Viro Date: Tue Nov 14 21:16:30 2006 -0800 [NET]: IA64 checksum annotations and cleanups. * sanitize prototypes, annotate * ntohs -> shift in checksum calculations * kill access_ok() in csum_partial_copy_from_user * collapse do_csum_partial_copy_from_user Signed-off-by: Al Viro Signed-off-by: David S. Miller commit db521083bcb75505e9c3e21cbabe8274ee0daea6 Author: Al Viro Date: Tue Nov 14 21:16:07 2006 -0800 [NET]: H8300 checksum annotations and cleanups. * sanitize prototypes and annotate * collapse csum_partial_copy NB: csum_partial() is almost certainly still buggy. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8042c44b8a6171ed75b7dd6a224df18d993f6094 Author: Al Viro Date: Tue Nov 14 21:15:40 2006 -0800 [NET]: FRV checksum annotations. * sanitize prototypes and annotate * collapse csum_partial_copy Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3532010bcf7699f2ce9a2baab58b4b9a5426d97e Author: Al Viro Date: Tue Nov 14 21:15:19 2006 -0800 [NET]: Cris checksum annotations and cleanups. * sanitize prototypes and annotate * kill cast-as-lvalue abuses in csum_partial() * usual ntohs-equals-shift for checksum purposes Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9be259aae5264511fe0a8b5e3d6711e0fd1d55df Author: Al Viro Date: Tue Nov 14 21:14:53 2006 -0800 [NET]: Alpha checksum annotations and cleanups. * sanitize prototypes and annotate * kill useless access_ok() in csum_partial_copy_from_user() (the only caller checks it already). * do_csum_partial_copy_from_user() is not needed now * replace htons(len) with len << 8 - they are the same wrt checksums on little-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2bc357987a6510e61d33f3b20fa989fb2b6a10b8 Author: Al Viro Date: Tue Nov 14 21:14:18 2006 -0800 [NET]: Introduce types for checksums. New types - for 16bit checksums and "unfolded" 32bit variant. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3277c39f8d706afb6fefc02f49563a73bbd405b9 Author: Al Viro Date: Tue Nov 14 21:13:53 2006 -0800 [NET]: Kill direct includes of asm/checksum.h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 75e7ce66ef044fa877a420f1b4febe416bbc09ad Author: Al Viro Date: Tue Nov 14 21:13:28 2006 -0800 [IPVS]: Annotate ..._app_hashkey(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a64b78a077a71c9b9c0c1b0be699083379783c3d Author: Al Viro Date: Tue Nov 14 21:12:29 2006 -0800 [NET]: Annotate net_srandom(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 47c183fa5ea7feebc356da8ccbd9105a41f8e534 Author: Al Viro Date: Tue Nov 14 21:11:51 2006 -0800 [BRIDGE]: Annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 30d492da738a8d5f4ec884b3e1a13eef97714994 Author: Al Viro Date: Tue Nov 14 21:11:29 2006 -0800 [ATM]: Annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 42d224aa170a4f7446cea6c972d9302d524545e5 Author: Al Viro Date: Tue Nov 14 21:11:08 2006 -0800 [NETFILTER]: More trivial annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ef296f56f8501f3ac68b8d44f63205f544126733 Author: Al Viro Date: Tue Nov 14 20:56:33 2006 -0800 [IPV6]: __ipv6_addr_diff() annotations and cleanup. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e69a4adc669fe210817ec50ae3f9a7a5ad62d4e8 Author: Al Viro Date: Tue Nov 14 20:56:00 2006 -0800 [IPV6]: Misc endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b09b845ca6724c3bbdc00c0cb2313258c7189ca9 Author: Al Viro Date: Tue Nov 14 20:52:19 2006 -0800 [RANDOM]: Annotate random.h IP helpers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 714e85be3557222bc25f69c252326207c900a7db Author: Al Viro Date: Tue Nov 14 20:51:49 2006 -0800 [IPV6]: Assorted trivial endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 252e33467a3b016f20dd8df12269cef3b167f21e Author: Al Viro Date: Tue Nov 14 20:48:11 2006 -0800 [NET] net/core: Annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 448c31aa34b5ee947d322e8747c4cf801fc4c104 Author: Al Viro Date: Tue Nov 14 20:47:46 2006 -0800 [IRDA]: Trivial annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c68b907028d35b0ad5a98b5e5552f0ad56a9ba1d Author: David S. Miller Date: Tue Nov 14 20:40:49 2006 -0800 [NETPOLL]: Minor coding-style cleanups. Signed-off-by: David S. Miller commit ba4e58eca8aa9473b44fdfd312f26c4a2e7798b3 Author: Gerrit Renker Date: Mon Nov 27 11:10:57 2006 -0800 [NET]: Supporting UDP-Lite (RFC 3828) in Linux This is a revision of the previously submitted patch, which alters the way files are organized and compiled in the following manner: * UDP and UDP-Lite now use separate object files * source file dependencies resolved via header files net/ipv{4,6}/udp_impl.h * order of inclusion files in udp.c/udplite.c adapted accordingly [NET/IPv4]: Support for the UDP-Lite protocol (RFC 3828) This patch adds support for UDP-Lite to the IPv4 stack, provided as an extension to the existing UDPv4 code: * generic routines are all located in net/ipv4/udp.c * UDP-Lite specific routines are in net/ipv4/udplite.c * MIB/statistics support in /proc/net/snmp and /proc/net/udplite * shared API with extensions for partial checksum coverage [NET/IPv6]: Extension for UDP-Lite over IPv6 It extends the existing UDPv6 code base with support for UDP-Lite in the same manner as per UDPv4. In particular, * UDPv6 generic and shared code is in net/ipv6/udp.c * UDP-Litev6 specific extensions are in net/ipv6/udplite.c * MIB/statistics support in /proc/net/snmp6 and /proc/net/udplite6 * support for IPV6_ADDRFORM * aligned the coding style of protocol initialisation with af_inet6.c * made the error handling in udpv6_queue_rcv_skb consistent; to return `-1' on error on all error cases * consolidation of shared code [NET]: UDP-Lite Documentation and basic XFRM/Netfilter support The UDP-Lite patch further provides * API documentation for UDP-Lite * basic xfrm support * basic netfilter support for IPv4 and IPv6 (LOG target) Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 6051e2f4fb68fc8e5343db58fa680ece376f405c Author: Thomas Graf Date: Tue Nov 14 19:54:19 2006 -0800 [IPv6] prefix: Convert RTM_NEWPREFIX notifications to use the new netlink api RTM_GETPREFIX is completely unused and is thus removed. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 04561c1fe7b067a8250e6caaf168256783580c4c Author: Thomas Graf Date: Tue Nov 14 19:53:58 2006 -0800 [IPv6] iflink: Convert IPv6's RTM_GETLINK to use the new netlink api By replacing the current method of exporting the device configuration which included allocating a temporary buffer, copying ipv6_devconf into it and copying that buffer into the message with a method that uses nla_reserve() allowing to copy the device configuration directly into the skb data buffer, a GFP_ATOMIC allocation could be removed. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit a928630a2ffeaf6aa9a6b78456935b6ab1be3066 Author: David S. Miller Date: Tue Nov 14 19:53:22 2006 -0800 [TCP]: Fix some warning when MD5 is disabled. Just some mis-placed ifdefs: net/ipv4/tcp_minisocks.c: In function ‘tcp_twsk_destructor’: net/ipv4/tcp_minisocks.c:364: warning: unused variable ‘twsk’ net/ipv6/tcp_ipv6.c:1846: warning: ‘tcp_sock_ipv6_specific’ defined but not used net/ipv6/tcp_ipv6.c:1877: warning: ‘tcp_sock_ipv6_mapped_specific’ defined but not used Signed-off-by: David S. Miller commit 17c157c889f4b07258af6bfec9e4e9dcf3c00178 Author: Thomas Graf Date: Tue Nov 14 19:46:02 2006 -0800 [GENL]: Add genlmsg_put_reply() to simplify building reply headers By modyfing genlmsg_put() to take a genl_family and by adding genlmsg_put_reply() the process of constructing the netlink and generic netlink headers is simplified. Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit 81878d27fdd297a33f3cfcf29483fe1abaf26dec Author: Thomas Graf Date: Tue Nov 14 19:45:27 2006 -0800 [GENL]: Add genlmsg_reply() to simply unicast replies to requests A generic netlink user has no interest in knowing how to address the source of the original request. Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit 3dabc7157859e706770c825aa229f8943db4e0e1 Author: Thomas Graf Date: Tue Nov 14 19:44:52 2006 -0800 [GENL]: Add genlmsg_new() to allocate generic netlink messages Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit cfb6eeb4c860592edd123fdea908d23c6ad1c7dc Author: YOSHIFUJI Hideaki Date: Tue Nov 14 19:07:45 2006 -0800 [TCP]: MD5 Signature Option (RFC2385) support. Based on implementation by Rick Payne. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit bf6bce71eae386dbc37f93af7e5ad173450d9945 Author: Stephen Hemminger Date: Thu Oct 26 15:46:56 2006 -0700 netpoll header cleanup As Steve left netpoll beast, hopefully not to return soon. He noticed that the header was messy. He straightened it up and polished it a little, then waved goodbye. Signed-off-by: Stephen Hemminger commit 5de4a473bda49554e4e9bd93b78f43c49a7ea69c Author: Stephen Hemminger Date: Thu Oct 26 15:46:55 2006 -0700 netpoll queue cleanup The beast had a long and not very happy history. At one point, a friend (netdump) had asked that he open up a little. Well, the friend was long gone now, and the beast had this dangling piece hanging (netpoll_queue). It wasn't hard to stitch the netpoll_queue back in where it belonged and make everything tidy. Signed-off-by: Stephen Hemminger commit 2bdfe0baeca0e2750037b8fba71905c00ac3c515 Author: Stephen Hemminger Date: Thu Oct 26 15:46:54 2006 -0700 netpoll retry cleanup The netpoll beast was still not happy. If the beast got clogged pipes, it tended to stare blankly off in space for a long time. The problem couldn't be completely fixed because the beast talked with irq's disabled. But it could be made less painful and shorter. Signed-off-by: Stephen Hemminger commit 6c43ff18f91e54aa7555d8ae4f26eab7da5bce68 Author: Stephen Hemminger Date: Thu Oct 26 15:46:53 2006 -0700 netpoll deferred transmit path When the netpoll beast got busy, he tended to babble. Instead of talking out of his large mouth as normal, he tended to try to snort out other orifices. This lead to words (skbs) ending up in odd places (like NIT) that he did not intend. The normal way of talking wouldn't work, but he could at least change to using the same tone all the time. Signed-off-by: Stephen Hemminger commit b41848b61bae30e3661efd4ec62ea380cedef687 Author: Stephen Hemminger Date: Thu Oct 26 15:46:52 2006 -0700 netpoll setup error handling The beast was not always healthy. When it was sick, it tended to be laconic and not tell anyone the real problem. A few small changes had it telling the world about its problems, if they really wanted to hear. Signed-off-by: Stephen Hemminger commit b6cd27ed33886a5ffaf0925a6d98e13e18e8a1af Author: Stephen Hemminger Date: Thu Oct 26 15:46:51 2006 -0700 netpoll per device txq When the netpoll beast got really busy, it tended to clog things, so it stored them for later. But the beast was putting all it's skb's in one basket. This was bad because maybe some pipes were clogged and others were not. Signed-off-by: Stephen Hemminger commit 93ec2c723e3f8a216dde2899aeb85c648672bc6b Author: Stephen Hemminger Date: Thu Oct 26 15:46:50 2006 -0700 netpoll info leak After looking harder, Steve noticed that the netpoll beast leaked a little every time it shutdown for a nap. Not a big leak, but a nuisance kind of thing. He took out his refcount duct tape and patched the leak. It was overkill since there was already other locking in that area, but it looked clean and wouldn't attract fleas. Signed-off-by: Stephen Hemminger commit a1bcfacd0577ff477e934731d4ceb3d26eab947d Author: Stephen Hemminger Date: Tue Nov 14 10:43:58 2006 -0800 netpoll: private skb pool (rev3) It was a dark and stormy night when Steve first saw the netpoll beast. The beast was odd, and misshapen but not extremely ugly. "Let me take off one of your warts" he said. This wart is where you tried to make an skb list yourself. If the beast had ever run out of memory, he would have stupefied himself unnecessarily. The first try was painful, so he tried again till the bleeding stopped. And again, and again... Signed-off-by: Stephen Hemminger commit d23ca15a21804631d8f787a0cc5646df81b9c2ea Author: Andrea Bittau Date: Tue Nov 14 13:19:45 2006 -0200 [DCCP] ACKVEC: Optimization - Do not traverse records if none will be found Do not traverse the list of ack vector records [proportional to window size] when we know we will not find what we are looking for. This is especially useful because ack vectors are checked twice: 1) Upon parsing of options. 2) Upon notification of a new ack. All of the work will occur during check #1. Therefore, when check #2 is performed, no new work will be done. This is now "detected" and there is no performance hit when doing #2. Signed-off-by: Andrea Bittau Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 09dbc3895e3242346bd434dae743c456fd28fc6a Author: Gerrit Renker Date: Tue Nov 14 12:57:34 2006 -0200 [DCCP]: Miscellaneous code tidy-ups This patch does not change code; it performs some trivial clean/tidy-ups: * removal of a `debug_prefix' string in favour of the already existing dccp_role(sk) * add documentation of structures and constants * separated out the cases for invalid packets (step 1 of the packet validation) * removing duplicate statements * combining declaration & initialisation Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit c02fdc0e81e9c735d8d895af1e201b235df326d8 Author: Gerrit Renker Date: Tue Nov 14 12:48:10 2006 -0200 [DCCP]: Make feature negotiation more readable This patch replaces cryptic feature negotiation messages of type Oct 31 15:42:20 kernel: dccp_feat_change: feat change type=32 feat=1 Oct 31 15:42:21 kernel: dccp_feat_change: feat change type=34 feat=1 Oct 31 15:42:21 kernel: dccp_feat_change: feat change type=32 feat=5 into ones of type: Nov 2 13:54:45 kernel: dccp_feat_change: ChangeL(CCID (1), 3) Nov 2 13:54:45 kernel: dccp_feat_change: ChangeR(CCID (1), 3) Nov 2 13:54:45 kernel: dccp_feat_change: ChangeL(Ack Ratio (5), 2) Also, * completed the feature number list wrt RFC 4340 sec. 6.4 * annotating which ones have been implemented so far * implemented rudimentary sanity checking in feat.c (FIXMEs) * some minor fixes Commiter note: uninlined dccp_feat_name and dccp_feat_typename, for consistency with dccp_{state,packet}_name, that, BTW, should be compiled only if CONFIG_IP_DCCP_DEBUG is selected, leaving this to another cset tho. Also shortened dccp_feat_negotiation_debug to dccp_feat_debug. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 6a128e053e75a5f1be9fb53d0d53159f88197c61 Author: Gerrit Renker Date: Tue Nov 14 11:50:36 2006 -0200 [DCCPv6]: Resolve conditional build problem Resolves the problem that if IPv6 was configured `y' and DCCP `m' then dccp_ipv6 was not built as a module. With this change, dccp_ipv6 is built as a module whenever DCCP *OR* IPv6 are configured as modules; it will be built-in only if both DCCP = `y' and IPV6 = `y'. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit b9df3cb8cf9a96e63dfdcd3056a9cbc71f2459e7 Author: Gerrit Renker Date: Tue Nov 14 11:21:36 2006 -0200 [TCP/DCCP]: Introduce net_xmit_eval Throughout the TCP/DCCP (and tunnelling) code, it often happens that the return code of a transmit function needs to be tested against NET_XMIT_CN which is a value that does not indicate a strict error condition. This patch uses a macro for these recurring situations which is consistent with the already existing macro net_xmit_errno, saving on duplicated code. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 1ed176a801b83915b7c8ab80e0a2a6376a2d6051 Author: Peter Zijlstra Date: Mon Nov 13 16:19:07 2006 -0800 [SCTP]: Cleanup of the sctp state table code. I noticed an insane high density of repeated characters fixable by a simple regular expression: % s/{.fn = \([^,]*\),[[:space:]]\+\(\\\n[[:space:]]\+\)\?.name = "\1"}/TYPE_SCTP_FUNC(\1)/g (NOTE: the .name for .fn = sctp_sf_do_9_2_start_shutdown didn't match) Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit 5f3f24faf322e54752d1df00cdb768a013de5d1f Author: Alexey Dobriyan Date: Mon Nov 13 16:12:08 2006 -0800 [ATM] ambassador,firestream: "-1 >>" is implementation defined 6.5.7(5): The result of E1 >> E2 is E1 right-shifted E2 bit positions. ... If E1 has a signed type and a negative value, the resulting value is implementation defined. So, cast -1 to unsigned type to make result well-defined. [ Modified to use ~0U based upon recommendation from Al Viro. -DaveM ] Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 2ee92d46c6cabedd50edf6f273fa8cf84f707618 Author: James Morris Date: Mon Nov 13 16:09:01 2006 -0800 [SELinux]: Add support for DCCP This patch implements SELinux kernel support for DCCP (http://linux-net.osdl.org/index.php/DCCP), which is similar in operation to TCP in terms of connected state between peers. The SELinux support for DCCP is thus modeled on existing handling of TCP. A new DCCP socket class is introduced, to allow protocol differentation. The permissions for this class inherit all of the socket permissions, as well as the current TCP permissions (node_bind, name_bind etc). IPv4 and IPv6 are supported, although labeled networking is not, at this stage. Patches for SELinux userspace are at: http://people.redhat.com/jmorris/selinux/dccp/user/ I've performed some basic testing, and it seems to be working as expected. Adding policy support is similar to TCP, the only real difference being that it's a different protocol. Acked-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: David S. Miller commit 90833aa4f496d69ca374af6acef7d1614c8693ff Author: Adrian Bunk Date: Mon Nov 13 16:02:22 2006 -0800 [NET]: The scheduled removal of the frame diverter. This patch contains the scheduled removal of the frame diverter. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit d7f7365f5776723da6df73540d855069c2daaa5c Author: Gerrit Renker Date: Mon Nov 13 13:34:38 2006 -0200 [DCCPv6]: Choose a genuine initial sequence number This * resolves a FIXME - DCCPv6 connections started all with an initial sequence number of 1; * provides a redirection `secure_dccpv6_sequence_number' in case the init_sequence_v6 code should be updated later; * concentrates the update of S.GAR into dccp_connect_init(); * removes a duplicate dccp_update_gss() in ipv4.c; * uses inet->dport instead of usin->sin_port, due to the following assignment in dccp_v4_connect(): inet->dport = usin->sin_port; Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 865e9022d88ceedd89fa1079a6e1f9266ccd3711 Author: Gerrit Renker Date: Mon Nov 13 13:31:50 2006 -0200 [DCCP]: Remove redundant statements in init_sequence (ISS) This patch removes the following redundancies: 1) The test skb->protocol == htons(ETH_P_IPV6) in dccp_v6_init_sequence is always true since * dccp_v6_conn_request() is the only calling function * dccp_v6_conn_request() redirects all skb's with ETH_P_IP to dccp_v4_conn_request() 2) The first argument, `struct sock *sk', of dccp_v{4,6}_init_sequence() is never used. (This is similar for tcp_v{4,6}_init_sequence, an analogous patch has been submitted to netdev and merged.) By the way - are the `sport' / `dport' arguments in the right order? I have made them consistent among calls but they seem to be in the reverse order. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 4ed800d02cfb639b4f8375a0f0f04f0efea64e7f Author: Gerrit Renker Date: Mon Nov 13 13:26:51 2006 -0200 [DCCP]: Remove forward declarations in timer.c This removes 3 forward declarations by reordering 2 functions. No code change at all. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit afb0a34dd3e20b3f534de19993271b8664cf10bb Author: Gerrit Renker Date: Mon Nov 13 13:25:41 2006 -0200 [DCCP]: Introduce a consistent naming scheme for sysctls In order to make their function clearer and obtain a consistent naming scheme to identify sysctls, all existing DCCP sysctls have been prefixed with `sysctl_dccp', following the same convention as used by TCP. Feature-specific sysctls retain the `feat' in the middle, although the `default' has been dropped, since it is obvious from use. Also removed a duplicate `dccp_feat_default_sequence_window' in ipv4.c. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 2e2e9e92bd723244ea20fa488b1780111f2b05e1 Author: Gerrit Renker Date: Mon Nov 13 13:23:52 2006 -0200 [DCCP]: Add sysctls to control retransmission behaviour This adds 3 sysctls which govern the retransmission behaviour of DCCP control packets (3way handshake, feature negotiation). It removes 4 FIXMEs from the code. The close resemblance of sysctl variables to their TCP analogues is emphasised not only by their name, but also by giving them the same initial values. This is useful since there is not much practical experience with DCCP yet. Furthermore, with regard to the previous patch, it is now possible to limit the number of keepalive-Responses by setting net.dccp.default.request_retries (also a bit like in TCP). Lastly, added documentation of all existing DCCP sysctls. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit e11d9d30802278af22e78d8c10f348b683670cd9 Author: Gerrit Renker Date: Mon Nov 13 13:12:07 2006 -0200 [DCCP]: Increment sequence numbers on retransmitted Response packets Problem: commit 08a29e41bb6d6516b0f65e19381f537168d1768e Author: Gerrit Renker Date: Mon Nov 13 13:07:51 2006 -0200 [DCCP]: Update comments on precisely which packets can be retransmitted This updates program documentation: spell out precise conditions about which packets are eligible for retransmission (which is actually quite hard to extract from RFC 4340). It is based on the following table derived from RFC 4340: +-----------+---------------------------------+---------------------+ | Type | Retransmit? | Remark | +-----------+---------------------------------+---------------------+ | Request | in client-REQUEST state | sec. 8.1.1 | | Response | NEVER | SHOULD NOT, 8.1.3 | | Data | NEVER | unreliable protocol | | Ack | possible in client-PARTOPEN | sec. 8.1.5 | | DataAck | NEVER | unreliable protocol | | CloseReq | only in server-CLOSEREQ state | MUST, sec. 8.3 | | Close | in node-CLOSING state | MUST, sec. 8.3 | +-----------+-------------------------------------------------------+ | Reset | only in response to other packets | | Sync | only in response to sequence-invalid packets (7.5.4) | | SyncAck | only in response to Sync packets | +-----------+-------------------------------------------------------+ Hence the only packets eligible for retransmission are: * Requests in client-REQUEST state (sec. 8.1.1) * Acks in client-PARTOPEN state (sec. 8.1.5) * CloseReq in server-CLOSEREQ state (sec. 8.3) * Close in node-CLOSING state (sec. 8.3) I had meant to put in a check for these types too, but have left that for later. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 75356f27ed4f85bd789a822bca3fc5e92e334140 Author: David S. Miller Date: Sun Nov 12 23:02:01 2006 -0800 [DECNET]: Fix build regressions. Spotted by Arnaldo. Signed-off-by: David S. Miller commit 2404043a665a9f4c748ab81eef29c76b3e443801 Author: David S. Miller Date: Fri Nov 10 15:01:14 2006 -0800 [TCP] htcp: Better packing of struct htcp. Based upon a patch by Joe Perches. Signed-off-by: David S. Miller commit d3a1be9cba86c4385a5fe46673bbb4730551f454 Author: Brian Haley Date: Fri Nov 10 14:54:51 2006 -0800 [IPv6]: Only modify checksum for UDP Only change upper-layer checksum from 0 to 0xFFFF for UDP (as RFC 768 states), not for others as RFC 4443 doesn't require it. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit f465e489c457821751f6253abaaf28c10f9d8895 Author: Thomas Graf Date: Fri Nov 10 14:11:04 2006 -0800 [IPv6] rules: Remove bogus tos validation check Noticed by Al Viro: (frh->tos & ~IPV6_FLOWINFO_MASK)) where IPV6_FLOWINFO_MASK is htonl(0xfffffff) and frh->tos is u8, which makes no sense here... Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 339bf98ffc6a8d8eb16fc532ac57ffbced2f8a68 Author: Thomas Graf Date: Fri Nov 10 14:10:15 2006 -0800 [NETLINK]: Do precise netlink message allocations where possible Account for the netlink message header size directly in nlmsg_new() instead of relying on the caller calculate it correctly. Replaces error handling of message construction functions when constructing notifications with bug traps since a failure implies a bug in calculating the size of the skb. Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit a94f723d595ee085f81b1788d18e031af7eeba91 Author: Gerrit Renker Date: Fri Nov 10 14:06:49 2006 -0800 [TCP]: Remove dead code in init_sequence This removes two redundancies: 1) The test (skb->protocol == htons(ETH_P_IPV6) in tcp_v6_init_sequence() is always true, due to * tcp_v6_conn_request() is the only function calling this one * tcp_v6_conn_request() redirects all skb's with ETH_P_IP protocol to tcp_v4_conn_request() [ cf. top of tcp_v6_conn_request()] 2) The first argument, `struct sock *sk' of tcp_v{4,6}_init_sequence() is never used. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 6f4e5fff1e4d46714ea554fd83e44eab534e8b11 Author: Gerrit Renker Date: Fri Nov 10 17:43:06 2006 -0200 [DCCP]: Support for partial checksums (RFC 4340, sec. 9.2) This patch does the following: a) introduces variable-length checksums as specified in [RFC 4340, sec. 9.2] b) provides necessary socket options and documentation as to how to use them c) basic support and infrastructure for the Minimum Checksum Coverage feature [RFC 4340, sec. 9.2.1]: acceptability tests, user notification and user interface In addition, it (1) fixes two bugs in the DCCPv4 checksum computation: * pseudo-header used checksum_len instead of skb->len * incorrect checksum coverage calculation based on dccph_x (2) removes dccp_v4_verify_checksum() since it reduplicates code of the checksum computation; code calling this function is updated accordingly. (3) now uses skb_checksum(), which is safer than checksum_partial() if the sk_buff has is a non-linear buffer (has pages attached to it). (4) fixes an outstanding TODO item: * If P.CsCov is too large for the packet size, drop packet and return. The code has been tested with applications, the latest version of tcpdump now comes with support for partial DCCP checksums. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit a11d206d0f88e092419877c7f706cafb5e1c2e57 Author: YOSHIFUJI Hideaki Date: Sat Nov 4 20:11:37 2006 +0900 [IPV6]: Per-interface statistics support. For IP MIB (RFC4293). Signed-off-by: YOSHIFUJI Hideaki commit 7a3025b1b3a0173be5de6ced18754b909da27b38 Author: YOSHIFUJI Hideaki Date: Fri Oct 13 16:17:25 2006 +0900 [IPV6]: Introduce ip6_dst_idev() to get inet6_dev{} stored in dst_entry{}. Otherwise, we will see a lot of casts... Signed-off-by: YOSHIFUJI Hideaki commit 40aa7b90a9b41a2162c829fd6cd34a09056a7ddb Author: YOSHIFUJI Hideaki Date: Thu Oct 19 13:50:09 2006 +0900 [IPV6] ROUTE: Use &rt->u.dst instead of cast. Signed-off-by: YOSHIFUJI Hideaki commit 33e93c9699981024cc99fb23a0545fb19d23847d Author: YOSHIFUJI Hideaki Date: Sat Oct 14 02:00:56 2006 +0900 [IPV6] ROUTE: Use macros to format /proc/net/ipv6_route. Signed-off-by: YOSHIFUJI Hideaki commit d83ca5accb256de1b44835cd222bfdc3207bd7dc Author: Gerrit Renker Date: Fri Nov 10 16:29:14 2006 -0200 [DCCP]: Update code comments for Step 2/3 Sorts out the comments for processing steps 2,3 in section 8.5 of RFC 4340. All comments have been updated against this document, and the reference to step 2 has been made consistent throughout the files. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit cf557926f6955b4c3fa55e81fdb3675e752e8eed Author: Gerrit Renker Date: Fri Nov 10 16:08:37 2006 -0200 [DCCP]: tidy up dccp_v{4,6}_conn_request This is a code simplification to remove reduplicated code by concentrating and abstracting shared code. Detailed Changes: commit f45b3ec481581f24719d8ab0bc812c02fcedc2bc Author: Ian McDonald Date: Fri Nov 10 13:09:10 2006 -0200 [DCCP]: Fix logfile overflow This patch fixes data being spewed into the logs continually. As the code stood if there was a large queue and long delays timeo would go down to zero and never get reset. This fixes it by resetting timeo. Put constant into header as well. Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit fec5b80e4924f638418c21b09165dce8b79fee86 Author: Ian McDonald Date: Fri Nov 10 13:04:52 2006 -0200 [DCCP]: Fix DCCP Probe Typo Fixes a typo in Kconfig, patch is by Ian McDonald and is re-sent from http://www.mail-archive.com/dccp@vger.kernel.org/msg00579.html Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 73c9e02c22e35e29db6d0fdec994d261fcfd82c0 Author: Gerrit Renker Date: Fri Nov 10 13:01:31 2006 -0200 [DCCPv6]: remove forward declarations in ipv6.c This does the same for ipv6.c as the preceding one does for ipv4.c: Only the inet_connection_sock_af_ops forward declarations remain, since at least dccp_ipv6_mapped has a circular dependency to dccp_v6_request_recv_sock. No code change, merely re-ordering. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 3d2fe62b8d8522722c4fe46b8af13520b73848c4 Author: Gerrit Renker Date: Fri Nov 10 12:52:36 2006 -0200 [DCCPv4]: remove forward declarations in ipv4.c This relates to Arnaldo's announcement in http://www.mail-archive.com/dccp@vger.kernel.org/msg00604.html Originally this had been part of the Oops fix and is a revised variant of http://www.mail-archive.com/dccp@vger.kernel.org/msg00598.html No code change, merely reshuffling, with the particular objective of having all request_sock_ops close(r) together for more clarity. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 8a73cd09d96aa01743316657fc4e6864fe79b703 Author: Gerrit Renker Date: Fri Nov 10 12:32:01 2006 -0200 [DCCP]: calling dccp_v{4,6}_reqsk_send_ack is a BUG This patch removes two functions, the send_ack functions of request_sock, which are not called/used by the DCCP code. It is correct that these functions are not called, below is a justification why calling these functions (on a passive socket in the LISTEN/RESPOND state) would mean a DCCP protocol violation. A) Background: using request_sock in TCP: commit f6484f7c7ad22e4bb018875c386d6a7aaa441426 Author: Arnaldo Carvalho de Melo Date: Fri Nov 10 12:01:52 2006 -0200 [DCCP] timewait: Remove leftover extern declarations Gerrit Renker noticed dccp_tw_deschedule and submitted a patch with a FIXME, but as he suggests in the same patch the best thing is to just ditch this declaration, while doing that also noticed that tcp_tw_count is as well not defined anywhere, so ditch it too. Signed-off-by: Arnaldo Carvalho de Melo commit d23c7107bfbaac955289685c522c7ff99dad3780 Author: Gerrit Renker Date: Fri Nov 10 11:46:34 2006 -0200 [DCCP]: Simplify jump labels in dccp_v{4,6}_rcv This is a code simplification and was singled out from the DCCPv6 Oops patch on http://www.mail-archive.com/dccp@vger.kernel.org/msg00600.html It mainly makes the code consistent between ipv{4,6}.c for the functions dccp_v4_rcv dccp_v6_rcv and removes the do_time_wait label to simplify code somewhat. Commiter note: fixed up a compile problem, trivial. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 9b42078ed6edfe04e9dc9a59b946ad912aeef717 Author: Gerrit Renker Date: Fri Nov 10 11:22:32 2006 -0200 [DCCP]: Combine allocating & zeroing header space on skb This is a code simplification: it combines three often recurring operations into one inline function, * allocate `len' bytes header space in skb * fill these `len' bytes with zeroes * cast the start of this header space as dccp_hdr Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 89e7e57778ecd8744fee97491300f05a9fb1388a Author: Gerrit Renker Date: Fri Nov 10 11:13:33 2006 -0200 [DCCPv6]: Add a FIXME for missing IPV6_PKTOPTIONS This refers to the possible memory leak pointed out in http://www.mail-archive.com/dccp@vger.kernel.org/msg00574.html, fixed by David Miller in http://www.mail-archive.com/netdev@vger.kernel.org/msg24881.html and adds a FIXME to point out where code is missing. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 60361be1be7854cbffb6dc268d1bc094da33431c Author: Gerrit Renker Date: Fri Nov 10 02:13:56 2006 -0200 [DCCP]: set safe upper bound for option length This is a re-send from http://www.mail-archive.com/dccp@vger.kernel.org/msg00553.html It is the same patch as before, but I have built in Arnaldo's suggestions pointed out in that posting. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 931731123a103cfb3f70ac4b7abfc71d94ba1f03 Author: David S. Miller Date: Thu Nov 9 19:58:25 2006 -0800 [TCP]: Don't set SKB owner in tcp_transmit_skb(). The data itself is already charged to the SKB, doing the skb_set_owner_w() just generates a lot of noise and extra atomics we don't really need. Lmbench improvements on lat_tcp are minimal: before: TCP latency using localhost: 23.2701 microseconds TCP latency using localhost: 23.1994 microseconds TCP latency using localhost: 23.2257 microseconds after: TCP latency using localhost: 22.8380 microseconds TCP latency using localhost: 22.9465 microseconds TCP latency using localhost: 22.8462 microseconds Signed-off-by: David S. Miller commit ef56e622c61e74dd6077615c9ea76c5132195880 Author: Stephen Hemminger Date: Thu Nov 9 16:37:26 2006 -0800 [NET] ip-sysctl.txt: Alphabetize. Rearrange TCP entries in alpha order. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 35bfbc94070e480f350c868abc4ff9f77e7f2051 Author: Stephen Hemminger Date: Thu Nov 9 16:36:36 2006 -0800 [TCP]: Allow autoloading of congestion control via setsockopt. If user has permision to load modules, then autoload then attempt autoload of TCP congestion module. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ce7bc3bf15cbf5dc5a5587ccb6b04c5b4dde4336 Author: Stephen Hemminger Date: Thu Nov 9 16:35:15 2006 -0800 [TCP]: Restrict congestion control choices. Allow normal users to only choose among a restricted set of congestion control choices. The default is reno and what ever has been configured as default. But the policy can be changed by administrator at any time. For example, to allow any choice: cp /proc/sys/net/ipv4/tcp_available_congestion_control \ /proc/sys/net/ipv4/tcp_allowed_congestion_control Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3ff825b28d3345ef381eceae22bf9d92231f23dc Author: Stephen Hemminger Date: Thu Nov 9 16:32:06 2006 -0800 [TCP]: Add tcp_available_congestion_control sysctl. Create /proc/sys/net/ipv4/tcp_available_congestion_control that reflects currently available TCP choices. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b68dbcab1dc70938fa5516d0ee82c0bf94e9a768 Author: Vlad Yasevich Date: Thu Nov 9 16:29:57 2006 -0800 [SCTP]: Fix warning An alternate solution would be to make the digest a pointer, allocate it in sctp_endpoint_init() and free it in sctp_endpoint_destroy(). I guess I should have originally done it this way... CC [M] net/sctp/sm_make_chunk.o net/sctp/sm_make_chunk.c: In function 'sctp_unpack_cookie': net/sctp/sm_make_chunk.c:1358: warning: initialization discards qualifiers from pointer target type The reason is that sctp_unpack_cookie() takes a const struct sctp_endpoint and modifies the digest in it (digest being embedded in the struct, not a pointer). Make digest a pointer to fix this warning. Signed-off-by: Vlad Yasevich Acked-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 9ec75fe85c58471db958386c1604e5006a2e2f69 Author: David S. Miller Date: Thu Nov 9 16:26:09 2006 -0800 [IPV6] tcp: Fix typo _read_mostly --> __read_mostly. Signed-off-by: David S. Miller commit 494b4e7d819246bad67c40897b9eeaf0ce18d5ff Author: David S. Miller Date: Thu Nov 9 16:23:22 2006 -0800 [DCCP]: Fix typo _read_mostly --> __read_mostly. Signed-off-by: David S. Miller commit 72a3effaf633bcae9034b7e176bdbd78d64a71db Author: Eric Dumazet Date: Thu Nov 16 02:30:37 2006 -0800 [NET]: Size listen hash tables using backlog hint We currently allocate a fixed size (TCP_SYNQ_HSIZE=512) slots hash table for each LISTEN socket, regardless of various parameters (listen backlog for example) On x86_64, this means order-1 allocations (might fail), even for 'small' sockets, expecting few connections. On the contrary, a huge server wanting a backlog of 50000 is slowed down a bit because of this fixed limit. This patch makes the sizing of listen hash table a dynamic parameter, depending of : - net.core.somaxconn tunable (default is 128) - net.ipv4.tcp_max_syn_backlog tunable (default : 256, 1024 or 128) - backlog value given by user application (2nd parameter of listen()) For large allocations (bigger than PAGE_SIZE), we use vmalloc() instead of kmalloc(). We still limit memory allocation with the two existing tunables (somaxconn & tcp_max_syn_backlog). So for standard setups, this patch actually reduce RAM usage. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3c62f75aac7348ee262b1295cfcfeb3473f76815 Author: David Kimdon Date: Thu Nov 9 16:16:21 2006 -0800 [PKT_SCHED]: Make sch_fifo.o available when CONFIG_NET_SCHED is not set. Based on patch by Patrick McHardy. Add a new option, NET_SCH_FIFO, which provides a simple fifo qdisc without requiring CONFIG_NET_SCHED. The d80211 stack needs a generic fifo qdisc for WME. At present it uses net/d80211/fifo_qdisc.c which is functionally equivalent to sch_fifo.c. This patch will allow the d80211 stack to remove net/d80211/fifo_qdisc.c and use sch_fifo.c instead. Signed-off-by: David Kimdon Signed-off-by: David S. Miller commit 3dfbcc411e461db51a1ac1aa1c6ebe2c5a0275a0 Author: Thomas Graf Date: Thu Nov 9 15:23:20 2006 -0800 [NET] rules: Add support to invert selectors Introduces a new flag FIB_RULE_INVERT causing rules to apply if the specified selector doesn't match. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 1f6c9557e8206757c91b5737bb8dbd5b1ae3a773 Author: Thomas Graf Date: Thu Nov 9 15:22:48 2006 -0800 [NET] rules: Share common attribute validation policy Move the attribute policy for the non-specific attributes into net/fib_rules.h and include it in the respective protocols. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit b8964ed9fa727109c9084abc807652ebfb681c18 Author: Thomas Graf Date: Thu Nov 9 15:22:18 2006 -0800 [NET] rules: Protocol independant mark selector Move mark selector currently implemented per protocol into the protocol independant part. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 5f300893fdd3b6e30a226c9a848eaa39b99a6431 Author: Thomas Graf Date: Thu Nov 9 15:21:41 2006 -0800 [IPV4] nl_fib_lookup: Rename fl_fwmark to fl_mark For the sake of consistency. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 47dcf0cb1005e86d0eea780f2984b2e7490f63cd Author: Thomas Graf Date: Thu Nov 9 15:20:38 2006 -0800 [NET]: Rethink mark field in struct flowi Now that all protocols have been made aware of the mark field it can be moved out of the union thus simplyfing its usage. The config options in the IPv4/IPv6/DECnet subsystems to enable respectively disable mark based routing only obfuscate the code with ifdefs, the cost for the additional comparison in the flow key is insignificant, and most distributions have all these options enabled by default anyway. Therefore it makes sense to remove the config options and enable mark based routing by default. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 82e91ffef60e6eba9848fe149ce1eecd2b5aef12 Author: Thomas Graf Date: Thu Nov 9 15:19:14 2006 -0800 [NET]: Turn nfmark into generic mark nfmark is being used in various subsystems and has become the defacto mark field for all kinds of packets. Therefore it makes sense to rename it to `mark' and remove the dependency on CONFIG_NETFILTER. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 0afc46c4683df512eef34a71a85065dc555c2af2 Author: Ralf Baechle Date: Wed Nov 8 23:02:19 2006 -0800 [DECNET]: Don't clear memory twice. When dn_neigh.c was converted from kmalloc to kzalloc in commit 0da974f4f303a6842516b764507e3c0a03f41e5a it was missed that dn_neigh_seq_open was actually clearing the allocation twice was missed. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 776810217ac558351cdcca01c4c6a9474e4a68c2 Author: Andrew Morton Date: Wed Nov 8 22:46:26 2006 -0800 [XFRM]: uninline xfrm_selector_match() Six callsites, huge. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit fcc70d5fdc9b0bd3e99c9dacb8198224af2b4b42 Author: Peter Zijlstra Date: Wed Nov 8 22:44:35 2006 -0800 [BLUETOOTH] lockdep: annotate sk_lock nesting in AF_BLUETOOTH ============================================= [ INFO: possible recursive locking detected ] 2.6.18-1.2726.fc6 #1 commit 67f83cbf081a70426ff667e8d14f94e13ed3bdca Author: Venkat Yekkirala Date: Wed Nov 8 17:04:26 2006 -0600 SELinux: Fix SA selection semantics Fix the selection of an SA for an outgoing packet to be at the same context as the originating socket/flow. This eliminates the SELinux policy's ability to use/sendto SAs with contexts other than the socket's. With this patch applied, the SELinux policy will require one or more of the following for a socket to be able to communicate with/without SAs: 1. To enable a socket to communicate without using labeled-IPSec SAs: allow socket_t unlabeled_t:association { sendto recvfrom } 2. To enable a socket to communicate with labeled-IPSec SAs: allow socket_t self:association { sendto }; allow socket_t peer_sa_t:association { recvfrom }; Signed-off-by: Venkat Yekkirala Signed-off-by: James Morris commit 6b877699c6f1efede4545bcecc367786a472eedb Author: Venkat Yekkirala Date: Wed Nov 8 17:04:09 2006 -0600 SELinux: Return correct context for SO_PEERSEC Fix SO_PEERSEC for tcp sockets to return the security context of the peer (as represented by the SA from the peer) as opposed to the SA used by the local/source socket. Signed-off-by: Venkat Yekkirala Signed-off-by: James Morris commit c1a856c9640c9ff3d70bbd8214b6a0974609eef8 Author: Venkat Yekkirala Date: Wed Nov 8 17:03:44 2006 -0600 SELinux: Various xfrm labeling fixes Since the upstreaming of the mlsxfrm modification a few months back, testing has resulted in the identification of the following issues/bugs that are resolved in this patch set. 1. Fix the security context used in the IKE negotiation to be the context of the socket as opposed to the context of the SPD rule. 2. Fix SO_PEERSEC for tcp sockets to return the security context of the peer as opposed to the source. 3. Fix the selection of an SA for an outgoing packet to be at the same context as the originating socket/flow. The following would be the result of applying this patchset: - SO_PEERSEC will now correctly return the peer's context. - IKE deamons will receive the context of the source socket/flow as opposed to the SPD rule's context so that the negotiated SA will be at the same context as the source socket/flow. - The SELinux policy will require one or more of the following for a socket to be able to communicate with/without SAs: 1. To enable a socket to communicate without using labeled-IPSec SAs: allow socket_t unlabeled_t:association { sendto recvfrom } 2. To enable a socket to communicate with labeled-IPSec SAs: allow socket_t self:association { sendto }; allow socket_t peer_sa_t:association { recvfrom }; This Patch: Pass correct security context to IKE for use in negotiation Fix the security context passed to IKE for use in negotiation to be the context of the socket as opposed to the context of the SPD rule so that the SA carries the label of the originating socket/flow. Signed-off-by: Venkat Yekkirala Signed-off-by: James Morris commit e8db8c99100750ade5a9b4072b9469cab718a5b7 Author: Al Viro Date: Wed Nov 8 00:28:44 2006 -0800 [BLUETOOTH] rfcomm endianness bug: param_mask is little-endian on the wire Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6ba9c755e5f044c6a37296481bf6a861e4193a37 Author: Al Viro Date: Wed Nov 8 00:28:19 2006 -0800 [BLUETOOTH]: rfcomm endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1bc5d4483a83349f143e2bbf23ec144cd7e21e89 Author: Al Viro Date: Wed Nov 8 00:27:57 2006 -0800 [BLUETOOTH]: bnep endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e41d21697326a38a0a871c515db88fa310177e24 Author: Al Viro Date: Wed Nov 8 00:27:36 2006 -0800 [BLUETOOTH] bnep endianness bug: filtering by packet type <= and => don't work well on net-endian... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ae08e1f092210619fe49551aa3ed0dc0003d5880 Author: Al Viro Date: Wed Nov 8 00:27:11 2006 -0800 [IPV6]: ip6_output annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 98a4a86128d7179b22365e16bf880e849e20bc7d Author: Al Viro Date: Wed Nov 8 00:26:51 2006 -0800 [NETFILTER]: trivial annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0e11c91e1e912bc4db5b71607d149e7e9a77e756 Author: Al Viro Date: Wed Nov 8 00:26:29 2006 -0800 [AF_PACKET]: annotate Weirdness: the third argument of socket() is net-endian here. Oh, well - it's documented in packet(7). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3fbd418acc264e7069483d04165633ed3bfad80c Author: Al Viro Date: Wed Nov 8 00:26:05 2006 -0800 [LLC]: anotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit fede70b9862635ab1bed84ab3d765e9069616b02 Author: Al Viro Date: Wed Nov 8 00:25:41 2006 -0800 [IPV6]: annotate inet6_csk_search_req() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 90bcaf7b4a33bb9b100cc06869f0c033a870d4a0 Author: Al Viro Date: Wed Nov 8 00:25:17 2006 -0800 [IPV6]: flowlabels are net-endian Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 92d9ece7af9c84bfbd1ff640926fac5b573a09f7 Author: Al Viro Date: Wed Nov 8 00:24:47 2006 -0800 [INET]: annotate inet_ecn.h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8a9ae2110baf39b2dc53c2891e0705895a8829a9 Author: Al Viro Date: Wed Nov 8 00:24:26 2006 -0800 [NET]: annotate dsfield.h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5d36b1803d875cf101fdb972ff9c56663e508e39 Author: Al Viro Date: Wed Nov 8 00:24:06 2006 -0800 [XFRM]: annotate ->new_mapping() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d29ef86b0a497dd2c4f9601644a15392f7e21f73 Author: Al Viro Date: Wed Nov 8 00:23:42 2006 -0800 [AF_KEY]: annotate Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d5a0a1e3109339090769e40fdaa62482fcf2a717 Author: Al Viro Date: Wed Nov 8 00:23:14 2006 -0800 [IPV4]: encapsulation annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 4806126d78345ad8a99bca1367a8a39c08e19393 Author: Al Viro Date: Wed Nov 8 00:22:34 2006 -0800 [SUNRPC]: annotate hash_ip() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8a74ff7770f4795d7580392890fdf06821c78769 Author: Al Viro Date: Wed Nov 8 00:22:08 2006 -0800 [IPV6]: annotate ipv6 mcast Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 44473a6b279794f058955aec5c36975e74deb541 Author: Al Viro Date: Wed Nov 8 00:21:46 2006 -0800 [IPV6]: annotate struct frag_hdr Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a27ee7a4dd30feda1954950b5840455a51ae1507 Author: Al Viro Date: Wed Nov 8 00:21:21 2006 -0800 [IPV6]: annotate icmpv6 headers Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 04ce69093f91547d3a7c4fc815d2868195591340 Author: Al Viro Date: Wed Nov 8 00:21:01 2006 -0800 [IPV6]: 'info' argument of ipv6 ->err_handler() is net-endian Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8c689a6eae2d83970e4f34753d513e96fb97a025 Author: Al Viro Date: Wed Nov 8 00:20:21 2006 -0800 [XFRM]: misc annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d2ecd9ccd0694278a8c1fa179d1d058ee66e2297 Author: Al Viro Date: Wed Nov 8 00:20:00 2006 -0800 [IPV6]: annotate inet6_hashtables Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5a874db4d9bfd8a4c6324d844a4d1c7cfa5cf2c4 Author: Al Viro Date: Wed Nov 8 00:19:38 2006 -0800 [NET]: ipconfig and nfsroot annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3e6c8cd5669c1202fe806ce3e13d701f20a71c7e Author: Al Viro Date: Wed Nov 8 00:19:09 2006 -0800 [TIPC]: endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d54a81d341af80875c201890500f727c8188dd9b Author: David S. Miller Date: Sat Dec 2 21:00:06 2006 -0800 [IPV6] NDISC: Calculate packet length correctly for allocation. MAX_HEADER does not include the ipv6 header length in it, so we need to add it in explicitly. With help from YOSHIFUJI Hideaki. Signed-off-by: David S. Miller commit 97be852f81c5bb114aab31974af2c061eb86a6de Merge: cdb54fa... aae343d... Author: Linus Torvalds Date: Sat Dec 2 15:08:32 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (118 commits) [netdrvr] skge: build fix [PATCH] NetXen: driver cleanup, removed unnecessary __iomem type casts [PATCH] PHY: Add support for configuring the PHY connection interface [PATCH] chelesio: transmit locking (plus bug fix). [PATCH] chelsio: statistics improvement [PATCH] chelsio: add MSI support [PATCH] chelsio: use standard CRC routines [PATCH] chelsio: cleanup pm3393 code [PATCH] chelsio: add 1G swcixw aupport [PATCH] chelsio: add support for other 10G boards [PATCH] chelsio: remove unused mutex [PATCH] chelsio: use kzalloc [PATCH] chelsio: whitespace fixes [PATCH] amd8111e use standard CRC lib [PATCH] sky2: msi enhancements. [PATCH] sky2: kfree_skb_any needed [PATCH] sky2: fixes for Yukon EC_U chip revisions [PATCH] sky2: add Dlink 560SX id [PATCH] sky2: receive error handling fix [PATCH] skge: don't clear MC state on link down ... commit cdb54fac35812a21943f0e506e8e3b94b469a77c Merge: 3704331... 8b7feff... Author: Linus Torvalds Date: Sat Dec 2 08:29:04 2006 -0800 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/drzeus/mmc: mmc: correct request error handling mmc: Flush block queue when removing card mmc: sdhci high speed support mmc: Support for high speed SD cards mmc: Fix mmc_delay() function mmc: Add support for mmc v4 wide-bus modes [PATCH] mmc: Add support for mmc v4 high speed mode trivial change for mmc/Kconfig: MMC_PXA does not mean only PXA255 Make general code cleanups Add MMC_CAP_{MULTIWRITE,BYTEBLOCK} flags Platform device error handling cleanup Move register definitions away from the header file Change OMAP_MMC_{READ,WRITE} macros to use the host pointer Replace base with virt_base and phys_base mmc: constify mmc_host_ops vectors mmc: remove kernel_thread() commit 37043318b12ea351c357d7bd8a184b63940f38d7 Merge: 116b23b... 7bdd21c... Author: Linus Torvalds Date: Sat Dec 2 08:28:28 2006 -0800 Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of master.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: Revert "ACPI: SCI interrupt source override" commit aae343d493df965ac3abec1bd97cccfe44a7d920 Author: Jeff Garzik Date: Sat Dec 2 07:14:39 2006 -0500 [netdrvr] skge: build fix Signed-off-by: Jeff Garzik commit 7bdd21cef9e5dbc3d3a718c55bb3d0da024644da Author: Len Brown Date: Sat Dec 2 02:27:46 2006 -0500 Revert "ACPI: SCI interrupt source override" This reverts commit 281ea49b0c294649a6de47a6f8fbe5611137726b, which broke ACPI Interrupt source overrides that move the SCI from one IRQ in PIC mode to another in IOAPIC mode. If the SCI shared an interrupt line with another device, this would result in a "irq 18: nobody cared" type failure. http://bugzilla.kernel.org/show_bug.cgi?id=7601 Signed-off-by: Len Brown commit 71bd7877d470b4037c9ef0d060ac39228f0f6289 Author: Amit S. Kale Date: Fri Dec 1 05:36:22 2006 -0800 [PATCH] NetXen: driver cleanup, removed unnecessary __iomem type casts Signed-off-by: Amit S. Kale netxen_nic.h | 38 ++++++++------------------------------ netxen_nic_ethtool.c | 5 ++--- netxen_nic_hw.c | 12 +++++------- netxen_nic_main.c | 8 +++----- 4 files changed, 18 insertions(+), 45 deletions(-) Signed-off-by: Jeff Garzik commit e8a2b6a4207332a2d59628a12cece9e8c1d769e4 Author: Andy Fleming Date: Fri Dec 1 12:01:06 2006 -0600 [PATCH] PHY: Add support for configuring the PHY connection interface Most PHYs connect to an ethernet controller over a GMII or MII interface. However, a growing number are connected over different interfaces, such as RGMII or SGMII. The ethernet driver will tell the PHY what type of connection it is by setting it manually, or passing it in through phy_connect (or phy_attach). Changes include: * Updates to documentation * Updates to PHY Lib consumers * Changes to PHY Lib to add interface support * Some minor changes to whitespace in phy.h * gianfar driver now detects interface and passes appropriate value to PHY Lib Signed-off-by: Andrew Fleming Signed-off-by: Jeff Garzik commit cabdfb373ae74036225826ce260c16a8e260eb0b Author: Stephen Hemminger Date: Fri Dec 1 16:36:22 2006 -0800 [PATCH] chelesio: transmit locking (plus bug fix). If transmit lock is contended on, then push return code back and retry at higher level. Bugfix: If buffer is reallocated because of lack of headroom and the send is blocked, then drop packet. This is necessary because caller would end up requeuing a freed skb. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 56f643c28c5df63693d7c66e56f8e4767cfd7a65 Author: Stephen Hemminger Date: Fri Dec 1 16:36:21 2006 -0800 [PATCH] chelsio: statistics improvement Cleanup statistics management: * Get rid of duplicate or unused statistics * Convert high volume stats to per-cpu and 64 bit Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 325dde48914e8ec1614d79ffacdbf9c0b8d24f42 Author: Stephen Hemminger Date: Fri Dec 1 16:36:20 2006 -0800 [PATCH] chelsio: add MSI support Using MSI can avoid sharing IRQ and associated overhead. Tested on PCI-X. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 57834ca152d5979f3f84f4e25f29f423e19d38fa Author: Stephen Hemminger Date: Fri Dec 1 16:36:19 2006 -0800 [PATCH] chelsio: use standard CRC routines Replace driver crc calculation with existing library. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a7377a50b88fce135249cfa68dfe02fac4f5fd61 Author: Stephen Hemminger Date: Fri Dec 1 16:36:18 2006 -0800 [PATCH] chelsio: cleanup pm3393 code Replace macro with function for updating RMON values Cleanups: * remove unused enum's * Fix comment format Signed-off-by: Stephen HEmminger Signed-off-by: Jeff Garzik commit 352c417ddb593de757f0ee1fa490cb5444778c41 Author: Stephen Hemminger Date: Fri Dec 1 16:36:17 2006 -0800 [PATCH] chelsio: add 1G swcixw aupport Add support for 1G versions of Chelsio devices. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f1d3d38af75789f1b82969b83b69cab540609789 Author: Stephen Hemminger Date: Fri Dec 1 16:36:16 2006 -0800 [PATCH] chelsio: add support for other 10G boards Add support for other versions of the 10G Chelsio boards. This is basically a port of the vendor driver with the TOE features removed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 415294ecbb32ddbd0a7a2b7bae0b60fedfa09cc4 Author: Stephen Hemminger Date: Fri Dec 1 16:36:15 2006 -0800 [PATCH] chelsio: remove unused mutex This mutex is unused in current (non TOE) code. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 1270266cf94c0de5bd1121f15aff9af8556dee84 Author: Stephen Hemminger Date: Fri Dec 1 16:36:14 2006 -0800 [PATCH] chelsio: use kzalloc Use kzalloc in several places. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 11e5a202ca9e93ecb5ff314a6a345e0e4db77d97 Author: Stephen Hemminger Date: Fri Dec 1 16:36:13 2006 -0800 [PATCH] chelsio: whitespace fixes Fix indentation and blank/tab issues. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 6b4bdde61bd1f8451801e5fb092cbe2d1050984e Author: Stephen Hemminger Date: Fri Dec 1 16:10:50 2006 -0800 [PATCH] amd8111e use standard CRC lib I noticed this driver (and several others) reinvent their own copy of the existing CRC library. Don't have the hardware, but tested by extracting code and comparing result. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit b0a20ded562cfa60b0d45d269e416f541f2d5aaf Author: Stephen Hemminger Date: Fri Dec 1 14:29:37 2006 -0800 [PATCH] sky2: msi enhancements. If using Message Signaled Interrupts (MSI) then the IRQ will never be shared. Don't call pci_disable_msi() unless using MSI. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 794b2bd20f620892616b09466186ff27101d9e5b Author: Stephen Hemminger Date: Fri Dec 1 14:29:36 2006 -0800 [PATCH] sky2: kfree_skb_any needed It is possible for the sky2 driver NAPI poll routine to be called with IRQ's disabled if netpoll is trying to make space in the tx queue. This is an obscure path, but if it happens, the kfree_skb needs to happen via softirq. Calling kfree_skb with IRQ's disabled is a not allowed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8df9a87604e38529898ce35c610792c03c8713a2 Author: Stephen Hemminger Date: Fri Dec 1 14:29:35 2006 -0800 [PATCH] sky2: fixes for Yukon EC_U chip revisions Update workarounds for 88E803X based on the latest SysKonnect vendor driver version (8.41). Tested on EC_U rev A1, only. These up the receive performance. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 508f89e75ab26506fcdbb1b6f7166029e4c56855 Author: Stephen Hemminger Date: Fri Dec 1 14:29:34 2006 -0800 [PATCH] sky2: add Dlink 560SX id Add new PCI ID for DLink 560SX. This from the latest SysKonnect vendor driver (version 8.41). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5df791117afedf7fdc67dc0842dab4859e3edf69 Author: Stephen Hemminger Date: Fri Dec 1 14:29:33 2006 -0800 [PATCH] sky2: receive error handling fix If sky2 detects out of memory, or gets a bad frame, it reuses the same receive buffer, but forgets to poke the hardware. This could lead to the receiver getting stuck if there were lots of errors. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 758140900a82e3ed3bb2be1d4705dd352fe44825 Author: Stephen Hemminger Date: Fri Dec 1 11:41:08 2006 -0800 [PATCH] skge: don't clear MC state on link down I would rather fix Andy's problem by not clearing multicast information on link down. Also, add code to restore multicast state after ethtool phy reset. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f789dfdc44d5bbc04fb7f06e1e4eb682169acaaf Author: Mariusz Kozlowski Date: Thu Nov 30 04:27:00 2006 -0700 [PATCH] mv643xx_eth: fix unbalanced parentheses in macros Signed-off-by: Mariusz Kozlowski Signed-off-by: Dale Farnsworth Signed-off-by: Jeff Garzik commit 7628b0a8c01a02966d2228bdf741ddedb128e8f8 Author: Samuel Thibault Date: Thu Nov 30 07:11:24 2006 -0500 drivers/net/tulip/dmfe: support basic carrier detection Signed-off-by: Jeff Garzik commit 88041b79f864dcd7f95e1d594eba683244dd968a Author: Stephen Hemminger Date: Fri Nov 17 13:41:58 2006 -0800 [PATCH] netdev: don't allow register_netdev with blank name This bit of old backwards compatibility cruft can be removed in 2.6.20. If there is still an device that calls register_netdev() with a zero or blank name, it will get -EINVAL from register_netdevice(). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5ac366152a44da60c22c08df619012b1e3bc1adb Author: Randy Dunlap Date: Thu Nov 16 21:39:11 2006 -0800 [PATCH] netxen: uses PCI drivers/built-in.o: In function `netxen_nic_remove': netxen_nic_main.c:(.text+0x31b4d): undefined reference to `pci_disable_msi' netxen_nic_main.c:(.text+0x31b8e): undefined reference to `pci_release_regions' drivers/built-in.o: In function `netxen_init_module': netxen_nic_main.c:(.init.text+0x3f17): undefined reference to `pci_module_init' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit cbee9f9115da7eac5dc44a450f2dab343236cb2c Author: Stephen Hemminger Date: Fri Nov 17 17:01:52 2006 -0800 [PATCH] chelsio: use kzalloc Use kzalloc() in chelsio driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 86c27d275507d81da179b571f35d34df61f7c6d3 Author: Stephen Hemminger Date: Fri Nov 17 17:00:34 2006 -0800 [PATCH] chelsio: use __netif_rx_schedule_prep The chelsio driver can use __netif_rx_schedule_prep instead of it's own test_and_set inline. Applies after the previous 4 patches. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e487647abbe66390b99f9a32ede4688b255282dd Author: Stephen Hemminger Date: Fri Nov 17 11:25:23 2006 -0800 [PATCH] chelsio: free_netdev Network devices need to be free'd with free_netdev() not kfree() otherwise the kernel will panic if an application has /sys/class/net/ethX/value open and reads it. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit bac7e8746ce562556b7bd750c7652154483b15e2 Author: Stephen Hemminger Date: Fri Nov 17 11:23:41 2006 -0800 [PATCH] chelsio: procectomy Complete removal of proc stuff from chelsio. The orignal driver had a debug proc interface, but not all the code got removed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 205781510d2a55a5c231f6e51df5b6c4aa765143 Author: Stephen Hemminger Date: Fri Nov 17 11:21:22 2006 -0800 [PATCH] chelsio: whitespace cleanup Whitespace cleanups. Replace leading spaces with tabs and fix indentation Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 9300abd4c60d385683944b9bc5cbf2c7c2cc6e78 Author: Stephen Hemminger Date: Fri Nov 17 11:21:33 2006 -0800 [PATCH] chelsio: remove leftover code The chelsio network driver has some extra ifdef's that got in because the driver was originally based on code that worked on 2.4 as well as 2.6. This patch removes the dead code. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a4f0c2ca8c475e00caa469b4574950852c376076 Author: Kim Phillips Date: Wed Nov 15 12:29:35 2006 -0600 [PATCH] Adapt ucc_geth driver to use new of_platform_device support Include of_platform header, and use new of_[un]register_platform_driver() fns. Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit bca79eb7e7a1855947864952fcd878a5ae7b5c92 Author: Randy Dunlap Date: Wed Nov 29 13:15:17 2006 -0800 [PATCH] sundance: use NULL for pointer Use NULL instead of 0 for pointers (cures sparse warnings). drivers/net/sundance.c:1106:16: warning: Using plain integer as NULL pointer drivers/net/sundance.c:1652:16: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit cb8011ad53e0855ef088e0e5a4bcb98fa90c70b6 Author: Amit S. Kale Date: Wed Nov 29 09:00:10 2006 -0800 [PATCH] NetXen: temp monitoring, newer firmware support, mm footprint reduction NetXen: 1G/10G Ethernet Driver updates - Temparature monitoring and device control - Memory footprint reduction - Driver changes to support newer version of firmware Signed-off-by: Amit S. Kale netxen_nic.h | 165 ++++++++++++++++++++++++++++++++-- netxen_nic_ethtool.c | 89 ++++++++++++------ netxen_nic_hdr.h | 71 +++++++++++++- netxen_nic_hw.c | 206 +++++++++++++++++++++++++++++-------------- netxen_nic_hw.h | 8 + netxen_nic_init.c | 239 +++++++++++++++++++++++++++++++++++++++++--------- netxen_nic_ioctl.h | 12 +- netxen_nic_isr.c | 54 +++++------ netxen_nic_main.c | 121 +++++++++++++++++-------- netxen_nic_niu.c | 172 +++++++++++++++++++++++++++-------- netxen_nic_phan_reg.h | 24 ++++- 11 files changed, 891 insertions(+), 270 deletions(-) Signed-off-by: Jeff Garzik commit edf901638144525a140c68be01be1b22e6041a6d Author: Amit S. Kale Date: Wed Nov 29 08:58:11 2006 -0800 [PATCH] NetXen: Fixed /sys mapping between device and driver Signed-off-by: Amit S. Kale netxen_nic_main.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit 38e3a6466f369944a2a1ec9aee9a9e472689d0a9 Author: Larry Finger Date: Sat Nov 25 18:30:03 2006 -0600 [PATCH] softmac: reduce scan debug output When scanning in debug mode, softmac is very chatty in that it puts 3 lines in the logs for each time it scans. This patch has only one line containing all the information previously reported. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 718cc4ca2bfb3263c7ea3ceba9c194f9cd7292e2 Author: Daniel Drake Date: Wed Nov 22 03:15:46 2006 +0000 [PATCH] ieee80211: Provide generic get_stats implementation bcm43xx and ipw2100 currently duplicate the same simplistic get_stats handler. Additionally, zd1211rw requires the same handler to fix a bug where all stats are reported as 0. This patch adds a generic implementation to the ieee80211 layer, which drivers are free to override. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit b1382edef9c06eca337e8982e6040e0699abab82 Author: Daniel Drake Date: Wed Nov 22 00:06:48 2006 +0000 [PATCH] zd1211rw: Use softmac ERP handling functionality This adds zd1211rw driver support for the softmac functionality I added a while back. We now obey changes in basic rates, use short preamble if it is available (but long if the AP says it's not), and send self-CTS in the proper situations. Locking fixed and improved by Ulrich Kunitz. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit b1cd84167b92de0f9fc7aad9cf272261496f4d0b Author: Daniel Drake Date: Wed Nov 22 00:06:38 2006 +0000 [PATCH] zd1211rw: Rename cs_rate to zd_rate These controlset rate constants are also applicable in places outside the controlset, such as in the RTS/CTS control register. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 35f2c7c0ce8eb09d19fb50ed2cd29b6dbea9cd86 Author: Daniel Drake Date: Wed Nov 22 00:06:32 2006 +0000 [PATCH] zd1211rw: Allow channels 1-13 in Japan Eric Goff found that he could not use his ZD1211 device which is programmed for the Japan regulatory domain. It turns out that ZyDAS deviate from the spec here: they do not use the newer Japan region code (0x41) but their drivers do operate as if the newer Japan legal frequency range is in effect. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 850c211ce6948bcd71e505be22b7ead99a425bfa Author: Ulrich Kunitz Date: Wed Nov 22 00:06:19 2006 +0000 [PATCH] zd1211rw: Optimized handling of zero length entries in length info There are a high number of split USB transactions, which contain only one packet but have a length info field. This patch optimizes this code by stopping parsing the length info structure if a zero length field is encountered. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 741fec53f268b691b869ffc70023319406e0cc97 Author: Ulrich Kunitz Date: Wed Nov 22 00:05:53 2006 +0000 [PATCH] zd1211rw: cleanups Bit-field constants in zd_chip.h are now defined using a shift expression. The value 0x08 is now (1 << 3). The fix is intended to improve readability. Remove misleading comment in zd_mac.c: The function already returns -EPERM in managed mode (IW_MODE_INFRA). Remove unused code in zd_mac.c: The unused code intended for debugging rx_status values is no longer useful. Added dump_stack() to ZD_ASSERT macro: Output of the stack helps to debug assertions. Keep in mind that the ZD_ASSERT() macro only results in code, if DEBUG is defined. Improved comments for filter_rx() zd_usb.c: Added driver name to module init and exit functions Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 84bc715c465f76584fc5127955fca0c61592e04b Author: Daniel Drake Date: Wed Nov 22 00:05:30 2006 +0000 [PATCH] zd1211rw: Remove IW_FREQ_AUTO support http://bugzilla.kernel.org/show_bug.cgi?id=7399 zd1211rw's support for IW_FREQ_AUTO is broken: when specified, the driver tries to change to a channel specified in an uninitialized integer. As IW_FREQ_AUTO is hard to implement properly, the solution (at least for now) is to drop support for it and start ignoring the flags like all other wireless drivers do. This has the added advantage that kismet also starts working with zd1211rw, even though kismet requesting IW_FREQ_AUTO is also a bug (fixed in their svn) Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 571d6eee9b5bce28fcbeb7588890ad5ca3f8c718 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:26:49 2006 -0200 [PATCH] Check ieee80211softmac_auth_resp kmalloc result And use kmemdup and kzalloc where applicable Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: John W. Linville commit 8e87295b9578fa46b5f325a7dc42ddbbdad6e0d0 Author: Daniel Drake Date: Fri Nov 17 00:26:40 2006 +0000 [PATCH] zd1211rw: Add ID for Belkin F5D7050 v4000 zd1211b chip 050d:705c v4810 high 00-17-3f AL2230_RF pa0 g--N Tested by Bryan Barnard Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 229782a336ab21b8eb7aa91dcb0dbdf728e95aef Author: Daniel Drake Date: Fri Nov 17 00:13:48 2006 +0000 [PATCH] zd1211rw: Add ID for Planex GW-US54Mini zd1211 chip 14ea:ab13 v4330 high 00-90-cc AL2230_RF pa0 g--- Tested by Tetsuya Yatagai. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit e72ba2d328331e9687f0105a7937ea1b1969246c Author: John W. Linville Date: Tue Nov 14 20:08:53 2006 -0500 [PATCH] prism54: correct overly aggressive check of return from pci_set_mwi Failure of pci_set_mwi should not be considered a fatal error. Signed-off-by: John W. Linville commit b6d2b1db0637ff35127f3cc38c04f289a0ee0579 Author: Larry Finger Date: Wed Nov 8 11:04:49 2006 -0600 [PATCH] bcm43xx: correct "Move IV/ICV stripping into ieee80211_rx" In the patch sent by Daniel Drake under the title "[PATCH] ieee80211: Move IV/ICV stripping into ieee80211_rx", a needed line was accidentally removed. (NOTE: I'm pretty sure this was my fault, not Daniel's. -- JWL) Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit cefd9f7f1281c1ead03236f227dad4b163619705 Author: Jeff Garzik Date: Tue Nov 14 11:46:41 2006 -0500 Revert "[PATCH] Add support for Marvell 88e1111S and 88e1145" This reverts commit 477c517903d57047150b01608149e02c6e9d83dd. This patch depended on something that was not yet committed. commit 89e5785fc8a6b9eafd37f2318a9a76d479c796be Author: Haavard Skinnemoen Date: Thu Nov 9 14:51:17 2006 +0100 [PATCH] Atmel MACB ethernet driver Driver for the Atmel MACB on-chip ethernet module. Tested on AVR32/AT32AP7000/ATSTK1000. I've heard rumours that it works with AT91SAM9260 as well, and it may be possible to share some code with the at91_ether driver for AT91RM9200. Hardware documentation can be found in the AT32AP7000 data sheet, which can be downloaded from http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 Changes since previous version: * Probe for PHY ID instead of depending on it being provided through platform_data. * Grab initial ethernet address from the MACB registers instead of depending on platform_data. * Set MII/RMII mode correctly. These changes are mostly about making the driver more compatible with the at91 infrastructure. Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit b690bdef7c4523bf55103b7a841c454d4674b315 Author: Krzysztof Halasa Date: Mon Nov 13 19:48:54 2006 +0100 [PATCH] WAN: DSCC4 driver requires generic HDLC Another thing, reported recently to me by several people - DSCC4 WAN driver now (and perhaps for the last couple of years+) requires the generic HDLC. I've fixed the Kconfig and moved the DSCC4 option under CONFIG_HDLC so it's consistent visually. Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit 5e123b844a1cbd4ec258cd37847ce4d57fa308c1 Author: Zang Roy-r61911 Date: Wed Nov 8 19:49:13 2006 -0800 [PATCH] Add tsi108/9 On Chip Ethernet device driver support Add tsi108/9 on chip Ethernet controller driver support. The driver code collects the feedback of previous posting form the mailing list and gives the update. MPC7448HPC2 platform in arch/powerpc uses tsi108 bridge. The following is a brief description of the Ethernet controller: The Tsi108/9 Ethernet Controller connects Switch Fabric to two independent Gigabit Ethernet ports,E0 and E1. It uses a single Management interface to manage the two physical connection devices (PHYs). Each Ethernet port has its own statistics monitor that tracks and reports key interface statistics. Each port supports a 256-entry hash table for address filtering. In addition, each port is bridged to the Switch Fabric through a 2-Kbyte transmit FIFO and a 4-Kbyte Receive FIFO. Each Ethernet port also has a pair of internal Ethernet DMA channels to support the transmit and receive data flows. The Ethernet DMA channels use descriptors set up in memory, the memory map of the device, and access via the Switch Fabric. The Ethernet Controller’s DMA arbiter handles arbitration for the Switch Fabric. The Controller also has a register bus interface for register accesses and status monitor control. The PMD (Physical Media Device) interface operates in MII, GMII, or TBI modes. The MII mode is used for connecting with 10 or 100 Mbit/s PMDs. The GMII and TBI modes are used to connect with Gigabit PMDs. Internal data flows to and from the Ethernet Controller through the Switch Fabric. Each Ethernet port uses its transmit and receive DMA channels to manage data flows through buffer descriptors that are predefined by the system (the descriptors can exist anywhere in the system memory map). These descriptors are data structures that point to buffers filled with data ready to transmit over Ethernet, or they point to empty buffers ready to receive data from Ethernet. Signed-off-by: Alexandre Bounine Signed-off-by: Roy Zang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 31f817e9d6f325b10a316bb84237cae3739487ed Author: Jesse Huang Date: Wed Nov 8 19:49:12 2006 -0800 [PATCH] sundance: solve host error problem in low performance embedded system when continune down and up Solve host error problem in low performance embedded system when continune down and up. It will cause IP100A DMA TargetAbort. So we need more safe process to up and down IP100A with wait hardware completely stop and software cur_tx/ dirty_tx/cur_task/last_tx be clear. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d0bb53e102e10cc90de50953531a163d95da1e07 Author: Andrew Morton Date: Tue Nov 14 10:35:03 2006 -0500 e1000 linkage fix ia64: drivers/built-in.o(.text+0xd9a72): In function `e1000_xmit_frame': : undefined reference to `csum_ipv6_magic' Cc: Auke Kok Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 95d21ff4c64592bdee7f1af2925145bed849c994 Author: Andy Fleming Date: Wed Nov 8 00:11:29 2006 -0600 [PATCH] Add support for Marvell 88e1111S and 88e1145 This patch requires the new support for configurable PHY interfaces. Changes include: * New support for 88e1145 * New support for 88e111s * Fixing 88e1101 driver to not match non-88e1101 PHYs * Increases in feature support across Marvell PHY product line * Fixes a bunch of whitespace issues found by Lindent Signed-off-by: Andrew Fleming Signed-off-by: Jeff Garzik commit f2d71c2d800e68f158a5949e38b23f5140948548 Author: Vitaly Wool Date: Tue Nov 7 13:27:02 2006 +0300 [PATCH] add netpoll support for gianfar: respin The patch inlined below adds NET_POLL_CONTROLLER support for gianfar network driver, slightly modified wrt the comments from Andy Fleming. drivers/net/gianfar.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) Signed-off-by: Vitaly Wool Signed-off-by: Jeff Garzik commit 02e0e5e935cad59a2d30a004df9065e8697543e3 Author: John W. Linville Date: Tue Nov 7 20:53:48 2006 -0500 [PATCH] wireless: clean-up some "check return code" warnings Clean-up some warnings from missing return code checks, mostly from calling pci_enable_device during a PCI resume. Signed-off-by: John W. Linville commit 5398d5901dcb677d24d839d3feac7209e250b161 Author: Larry Finger Date: Sat Nov 4 13:29:50 2006 -0600 [PATCH] ieee80211softmac: fix verbosity when debug disabled SoftMAC contains a number of debug-type messages that continue to print even when debugging is turned off. This patch substitutes dprintkl for printkl for those lines. Signed-off-by: Larry Finger Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7f424ff4825adeae8d236fb3eafd699e6b2665e1 Author: Larry Finger Date: Thu Nov 2 21:56:52 2006 -0600 [PATCH] bcm43xx: Remove useless core enable/disable messages In the softmac version of bcm43xx, the core scan logs whether each core is enabled or disabled. This information is useless as one of the next steps is to enable all cores. This patch removes this output from the log. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 08c3103a562ed83c4f9ac8fad6f5cb1ebb1f29a0 Author: Larry Finger Date: Wed Nov 1 18:11:18 2006 -0600 [PATCH] bcm43xx: remove badness variable and related routine When the periodic work function in bcm43xx was converted for voluntary preemption to reduce latency, a new function was created to estimate the "badness" of each step, and this quantity was used to determine if preemption should be enabled when periodic work was undertaken. This concept was quite useful while debugging of periodic work was in progress. Now that this routine seems to be working correctly, it is time to simplify the code. This patch keeps the functionality intact, but simplifies the code. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1494a81410d8c53fa6c800be1e22b6b6f64180e6 Author: Jeff Garzik Date: Tue Nov 7 05:12:16 2006 -0500 [netdrvr] netxen: build fixes Most contributed and Signed-off-by: Andrew Morton with some from me as well. Signed-off-by: Jeff Garzik commit acd70c2bfddb52aee27a4864c160bea7f0d117e1 Author: Jesse Huang Date: Fri Oct 20 14:42:13 2006 -0700 [PATCH] sundance: correct initial and close hardware step. Correct initial and close hardware step. In some embedded system down and up IP100A will cause DMA crash. We add some for safe down and up IP100A. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6b655529c3d817ed1b69cf2dd29e2c3ce5148a2b Author: Andy Fleming Date: Mon Oct 16 16:19:17 2006 -0500 [PATCH] Fixed a number of bugs in the PHY Layer * genphy_update_link is now exported * Added a fix from ncase@xes-inc.com which changes forcing so it only updates the link. Otherwise, it never tries the lower values, since it is always overwriting the speed/duplex values with the current ones, rather than the intended ones. * Fixed a bug where bringing up a PHY with no link caused it to timeout, and enter forcing mode. Once in forcing mode, plugging in the link didn't autonegotiate. Now the AN state detects the lack of link, and enters the NO_LINK state. AN only times out if the link is up and AN fails * Cleaned up the PHY_AN case, reducing one level of indentation for the timeout code. Signed-off-by: Jeff Garzik commit 2109f89f3483ff5a05899385ee3fb04d779e9cce Author: Jesse Huang Date: Fri Oct 20 14:42:11 2006 -0700 [PATCH] subdance: fix TX Pause bug (reset_tx, intr_handler) Fix TX Pause bug (reset_tx, intr_handler). When MaxCollisions occurred, need to re-enable Tx. But just after re-enable, MaxCollisions maybe occurred again and with TxStatusOverflow. This will cause driver can't check new MaxCollisions to re-enable Tx again, because TxStatusOverflow. For this reason, after re-enable Tx, we need to make sure Tx was actually enabled. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit e242040df1da94a9a3daa98ea5539e2b52502bb4 Author: Jesse Huang Date: Fri Oct 20 14:42:05 2006 -0700 [PATCH] sundance: remove TxStartThresh and RxEarlyThresh For patent issue need to remove TxStartThresh and RxEarlyThresh. This patent is cut-through patent. If use this function, Tx will start to transmit after few data be move in to Tx FIFO. We are not allow to use those function in DFE530/DFE550/DFE580/DL10050/IP100/IP100A. It will decrease a little performance. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ac7468e923278cdcb202f8aa992d8f2776f8344c Author: Komuro Date: Sun Oct 15 10:08:00 2006 +0900 [PATCH] network: pcnet_cs: remove the code to change the E8390_CMD register from ei_watchdog() Remove the code to change the E8390_CMD register from ei_watchdog(). The 8390-page is always 0 outside the spin_lock. Signed-off-by: komurojun-mbn@nifty.com Signed-off-by: Jeff Garzik commit f4344848f8a7acbef2558dc5b89c62485f147033 Author: Ayaz Abdulla Date: Mon Nov 6 00:43:40 2006 -0800 [PATCH] forcedeth: add support for new mcp67 device Add support for the new mcp67 device into forcedeth. Signed-off-by: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 52d78d63310d9818458fd9800d24a4d5425aeac7 Author: Ayaz Abdulla Date: Mon Nov 6 00:43:39 2006 -0800 [PATCH] forcedeth: add new NVIDIA pci ids Add pci device ids for the NVIDIA MCP67 chip. Signed-off-by: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c5cf9101fefae32df654da5f0e736ffbe28aefdc Author: Ayaz Abdulla Date: Mon Oct 30 17:32:01 2006 -0500 [PATCH] forcedeth: add recoverable error support This patch adds support to recover from a previously fatal MAC error. In the past the MAC would be hung on an internal fatal error. On new chipsets, the MAC has the ability to enter a non-fatal state and allow the driver to re-init it. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 7e680c22c0579f1db7b84a7b155755a2754f9557 Author: Ayaz Abdulla Date: Mon Oct 30 17:31:51 2006 -0500 [PATCH] forcedeth: add mgmt unit support This patch adds support for the mgmt unit in certain chipsets. The MAC and the mgmt unit share the PHY and therefore proper intialization procedures are needed for them to maintain coexistense. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit b2e68aa337f950e4a8c893a82b95b1755309bc56 Author: Maciej W. Rozycki Date: Mon Oct 23 13:53:17 2006 +0100 [PATCH] defxx: Big-endian hosts support The PDQ DMA engine requires a different byte-swapping mode for big-endian hosts; also the MAC address which is read from a register through PIO has to be byte-swapped. These changes have been verified with DEFPA-DC (PCI) boards and a Broadcom BCM91250A (MIPS CPU based) host. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit c3a9392e4f3b9d97803b067871d66bc143369dbf Author: Eric Sesterhenn Date: Mon Oct 23 22:20:15 2006 +0200 [PATCH] kmemdup() cleanup in drivers/net hi, replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Jeff Garzik commit bf793295e1090af84972750898bf8470df5e5419 Author: Francois Romieu Date: Wed Nov 1 00:53:05 2006 +0100 r8169: perform a PHY reset before any other operation at boot time Realtek's 8139/810x (0x8136) PCI-E comes with a touchy PHY. A big heavy reset seems to calm it down. Fix for http://bugzilla.kernel.org/show_bug.cgi?id=7378. Signed-off-by: Francois Romieu Signed-off-by: Darren Salt commit de3edab4276c3c789f64dc3d78eea027709fef0e Author: Auke Kok Date: Wed Nov 1 08:48:18 2006 -0800 e1000: update README for e1000 Signed-off-by: Auke Kok commit 25006ac61e514628b9d0f78fce0bed155f4f109c Author: Auke Kok Date: Wed Nov 1 08:48:15 2006 -0800 e1000: increment version to 7.3.15-k2 Signed-off-by: Auke Kok commit 835bb1298311f372a3387fb40b952b18d90aa9f8 Author: Jesse Brandeburg Date: Wed Nov 1 08:48:13 2006 -0800 e1000: add dynamic itr modes Add a new dynamic itr algorithm, with 2 modes, and make it the default operation mode. This greatly reduces latency and increases small packet performance, at the "cost" of some CPU utilization. Bulk traffic throughput is unaffected. The driver can limit the amount of interrupts per second that the adapter will generate for incoming packets. It does this by writing a value to the adapter that is based on the maximum amount of interrupts that the adapter will generate per second. Setting InterruptThrottleRate to a value greater or equal to 100 will program the adapter to send out a maximum of that many interrupts per second, even if more packets have come in. This reduces interrupt load on the system and can lower CPU utilization under heavy load, but will increase latency as packets are not processed as quickly. The default behaviour of the driver previously assumed a static InterruptThrottleRate value of 8000, providing a good fallback value for all traffic types,but lacking in small packet performance and latency. The hardware can handle many more small packets per second however, and for this reason an adaptive interrupt moderation algorithm was implemented. Since 7.3.x, the driver has two adaptive modes (setting 1 or 3) in which it dynamically adjusts the InterruptThrottleRate value based on the traffic that it receives. After determining the type of incoming traffic in the last timeframe, it will adjust the InterruptThrottleRate to an appropriate value for that traffic. The algorithm classifies the incoming traffic every interval into classes. Once the class is determined, the InterruptThrottleRate value is adjusted to suit that traffic type the best. There are three classes defined: "Bulk traffic", for large amounts of packets of normal size; "Low latency", for small amounts of traffic and/or a significant percentage of small packets; and "Lowest latency", for almost completely small packets or minimal traffic. In dynamic conservative mode, the InterruptThrottleRate value is set to 4000 for traffic that falls in class "Bulk traffic". If traffic falls in the "Low latency" or "Lowest latency" class, the InterruptThrottleRate is increased stepwise to 20000. This default mode is suitable for most applications. For situations where low latency is vital such as cluster or grid computing, the algorithm can reduce latency even more when InterruptThrottleRate is set to mode 1. In this mode, which operates the same as mode 3, the InterruptThrottleRate will be increased stepwise to 70000 for traffic in class "Lowest latency". Setting InterruptThrottleRate to 0 turns off any interrupt moderation and may improve small packet latency, but is generally not suitable for bulk throughput traffic. Signed-off-by: Jesse Brandeburg Cc: Rick Jones Signed-off-by: Auke Kok commit 9ac98284428961bd5be285a6cc1f5e6f5b6644aa Author: Jesse Brandeburg Date: Wed Nov 1 08:48:10 2006 -0800 e1000: add dynamic generic MSI interrupt routine Add a generic MSI interrupt routine that is IO read-free, speeding up MSI interrupt handling. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok commit 04fedbfbc3dac1158519f8ef8cc8aca4fe79695b Author: Auke Kok Date: Wed Nov 1 08:48:07 2006 -0800 e1000: reorder e1000_param.c This file needs some cleanups and reordering - logically order it so that relevant defines and code are together with properly quoted defaults. Signed-off-by: Auke Kok commit 6a042dab19567fc888d5b87ce6ab68ac02aea1dc Author: Jesse Brandeburg Date: Wed Nov 1 08:48:04 2006 -0800 e1000: Only set IDE for tx when we are using TIDV/TADV Spec fix: don't set IDE unless we are actually setting the tx int delay time. Signed-off-by: Auke Kok Signed-off-by: Jesse Brandeburg commit 2df7d59f287236a636fb2d7e05879e65c8c56492 Author: Jeff Kirsher Date: Wed Nov 1 08:48:02 2006 -0800 e1000: rename ICH8 flash macros ICH8 will soon be followed by newer chipsets bearing the same acronym, thus we remove the '8' and make it independent of the version number in the platform name. Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok commit fcfb1224250d7877b6a6c6a947986e08b2160fb6 Author: Jesse Brandeburg Date: Wed Nov 1 08:47:59 2006 -0800 e1000: add queue restart counter Add a netif_wake/start_queue counter to the ethtool statistics to indicated to the user that their transmit ring could be too small for their workload. Signed-off-by: Jesse brandeburg Cc: Jamal Hadi Signed-off-by: Auke Kok commit fc2307d00c15385fbdbb5928a8517e5f63c3d068 Author: Auke Kok Date: Wed Nov 1 08:47:56 2006 -0800 e1000: New hardware support Add support for a Low Profile quad-port PCI-E adapter and 2 variants of the ICH8 systems' onboard NIC's. Signed-off-by: Auke Kok commit a9ebadd640927ac6529d904b4131b17e8019d199 Author: Jesse Brandeburg Date: Wed Nov 1 08:47:53 2006 -0800 e1000: Remove unneeded and unwanted memsets This memsetting was added in a paranoid rage debugging TX hangs, but are no longer of importance. We can beef up the performance quite a bit removing them. Make sure to fill in next_to_watch to allow this. Signed-off-by: Auke Kok Signed-off-by: Jesse Brandeburg commit 996695de21b9b301ebb32379e2950fc2142df3a7 Author: Auke Kok Date: Wed Nov 1 08:47:50 2006 -0800 e1000: simplify skb_put call. Simplify two calls to skb_put by removing one call to it. Signed-off-by: Auke Kok commit 2bc35c1078fdfe7bb2a849c2d1bee8d9d5fea4a7 Author: Jeff Kirsher Date: Wed Nov 1 08:47:47 2006 -0800 e1000: reorder pci-e infor struct Order pci-e capability struct according to bus/pci bus width ordering preserving the hard pci spec numbers. Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher commit 070f6ffbb8ed5c398e84f1508752b8fd15b05cf2 Author: Jeff Kirsher Date: Wed Nov 1 08:47:44 2006 -0800 e1000: fix VR powerdown code On ich systems during PHY power down to D3, the voltage regulators were left on. Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher commit 2ce9047f5d8464039da8ff986e71be5546e229c0 Author: Jesse Brandeburg Date: Wed Nov 1 08:47:42 2006 -0800 e1000: add mmiowb() for IA64 to sync tail writes IA64 SMP systems were seeing TX issues with multiple cpu's attempting to write tail registers unordered. This mmiowb() fixes the issue. Signed-off-by: Auke Kok Signed-off-by: Jesse Brandeburg commit 21c4d5e07859a6fc0f62be37da15b161e142c8d1 Author: Auke Kok Date: Wed Nov 1 08:47:39 2006 -0800 e1000: Enble early receive (ERT) on 82573 Enable early receives on 82573 for jumbo frame performance. Jumbo's are only supported on 82573L with ASPM disabled. Signed-off-by: Auke Kok commit 87ca4e5b8d729fc157a0a599d78ccab245fc0602 Author: Auke Kok Date: Wed Nov 1 08:47:36 2006 -0800 e1000: FIX: enable hw TSO for IPV6 Enable TSO for IPV6. All e1000 hardware supports it. This reduces CPU utilizations by 50% when transmitting IPv6 frames. Fix symbol naming enabling ipv6 TSO. Turn off TSO6 for 10/100. Signed-off-by: Auke Kok commit b00dae7cce465323850c3e1fd3ac8b2d9229735c Author: Auke Kok Date: Wed Nov 1 08:47:33 2006 -0800 e1000: Remove DISABLE_MULR debug code Remove debugging code disabling MULR (multiple reads). It's not usable for a wide audience and there are no known problems with MULR right now. Signed-off-by: Auke Kok commit 90fb51358a264f2f7e0cabdca6fc229bbc40cd91 Author: Auke Kok Date: Wed Nov 1 08:47:30 2006 -0800 e1000: whitespace changes, comments, typos Small whitespace changes, comment changes, typo fixes. Signed-off-by: Auke Kok commit a362bf57aa12835e4fa6af6960e5135b5626bc5b Author: Daniel Drake Date: Wed Oct 18 00:17:02 2006 +0100 [PATCH] zd1211rw: Add ID for ZyXEL G-220 Tested by Newsome on IRC zd1211 chip 0586:3401 v4330 high 00-13-49 AL2230_RF pa0 g--- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit fe75f7471ba5604fe65435f717e3612a482c28cb Author: Christian Lamparter Date: Mon Oct 2 19:55:22 2006 +0200 [PATCH] wext: extend MLME support This patch adds two new defines for the SIOCSIWMLME to cover all kinds MLMEs (well, except REASSOC) through a ioctl. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3d396eb17e9f8c5f59314078b45b88647591378d Author: Amit S. Kale Date: Sat Oct 21 15:33:03 2006 -0400 Add NetXen 1G/10G ethernet driver. Signed-off-by: Amit S. Kale Signed-off-by: Jeff Garzik commit f3d1fca3eb05cf6ff3879a385a15d24fbf556c57 Author: Stefano Brivio Date: Sun Oct 15 23:18:11 2006 -0500 [PATCH] bcm43xx: add PCI-E code The current bcm43xx driver does not contain code to handle PCI-E interfaces such as the BCM4311 and BCM4312. This patch, originally written by Stefano Brivio adds the necessary code to enable these interfaces. Signed-off-by: Stefano Brivio Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 995cdaa45b1faf8f4472e4b4c6027dc685ae1b54 Author: Alexey Dobriyan Date: Tue Oct 10 14:45:47 2006 -0700 [PATCH] prism54: use BUILD_BUG_ON Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 3b31dc327f07a2df06da931ffb0bb1627711bd86 Author: Holden Karau Date: Tue Oct 10 14:45:33 2006 -0700 [PATCH] atmel: output signal strength information Output signal strength information as part of iwlist scan - before it did not output any signal strength related information. Signed-off-by: Holden Karau Cc: Jean Tourrilhes Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 93b2dd12049d1adb0d76fb918fcd4c1030445433 Author: Dmitry Torokhov Date: Sun Oct 8 00:38:15 2006 -0400 [PATCH] prism54: whitespace cleanup NET: prism54 - whitespace cleanup Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit d18e0c4a5434f02586b5fdcbcc72f1fe61ab49e6 Author: Dmitry Torokhov Date: Sun Oct 8 00:38:14 2006 -0400 [PATCH] prism54: fix potential race in reset scheduling NET: prism54 - fix potential race in reset scheduling There appears to be a race in reset scheduling logic - thread responsible for reseting the interface should clear "reset pending" flag before restarting the queue, otherwise timeout handler might not schedule another reset even if it is needed. This race is mostly theoretical as far as I can see but a race nonetheless. Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 5c877fe58c5df19646204b144b978b99c2ef074f Author: Dmitry Torokhov Date: Sun Oct 8 00:14:30 2006 -0400 [PATCH] atmel: whitespace cleanup NET: atmel: whitespace cleanup Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit b4341135794fdad85f995a378da424e4f4128e4d Author: Dmitry Torokhov Date: Sun Oct 8 00:14:29 2006 -0400 [PATCH] atmel: use ARRAY_SIZE() NET: atmel - switch to using ARRAY_SIZE() Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 00a5ebf8621e8098305ca5e7b319937eed430184 Author: Dmitry Torokhov Date: Sun Oct 8 00:14:28 2006 -0400 [PATCH] atmel: save on array initialization NET: atmel - do not initialize array over and over again Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 837925df022a667c302b24aad9d6a58f94efd959 Author: Larry Finger Date: Tue Oct 3 18:49:32 2006 -0500 [PATCH] ieee80211: Drop and count duplicate data frames to remove 'replay detected' log messages In the SoftMAC version of the IEEE 802.11 stack, not all duplicate messages are detected. For the most part, there is no difficulty; however for TKIP and CCMP encryption, the duplicates result in a "replay detected" log message where the received and previous values of the TSC are identical. This change adds a new variable to the ieee80211_device structure that holds the 'seq_ctl' value for the previous frame. When a new frame repeats the value, the frame is dropped and the appropriate counter is incremented. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 42a4cf9576f036db69e15fa6b4e72986e17f0359 Author: matthieu castet Date: Thu Sep 28 19:57:25 2006 +0200 [PATCH] ieee80211: allow mtu bigger than 1500 Hi this patch allow to set the mtu between 1500 and 2304 (max octets in an MSDU) for devices using ieee80211 linux stack. Signed-off-by: Matthieu CASTET Signed-off-by: John W. Linville commit c9308b06c049a107edfbd4e5271771564eb6024d Author: Daniel Drake Date: Wed Sep 27 03:50:31 2006 +0100 [PATCH] ieee80211: Move IV/ICV stripping into ieee80211_rx This patch adds a host_strip_iv_icv flag to ieee80211 which indicates that ieee80211_rx should strip the IV/ICV/other security features from the payload. This saves on some memmove() calls in the driver and seems like something that belongs in the stack as it can be used by bcm43xx, ipw2200, and zd1211rw I will submit the ipw2200 patch separately as it needs testing. This patch also adds some sensible variable reuse (idx vs keyidx) in ieee80211_rx Signed-off-by: Daniel Drake Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f2423723d70298e04179f934ff17346c3e06f408 Author: Daniel Drake Date: Tue Sep 26 04:04:38 2006 +0100 [PATCH] zd1211rw: Add 3 more device IDs iNexQ UR055g: Tested by Todor T Zviskov zd1211 chip 1435:0711 v4330 high 00-10-a7 AL2230_RF pa0 g-- ZyXEL AG-225, FCC ID SI5WUB410: Tested by Nathan zd1211 chip 0586:3409 v4810 full 00-13-49 AL7230B_RF pa0 g--- Yakumo QuickWLAN USB: Tested by EdB zd1211 chip 0b3b:1630 v4330 high 00-01-36 RF2959_RF pa0 --- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit f04e2be7d9b73a1da7be99a08b3695074e14970c Author: Larry Finger Date: Mon Sep 25 15:33:20 2006 -0500 [PATCH] bcm43xx: output proper link quality with scans The bcm43xx-softmac driver fails to set two quantities needed for iwlist to compute wireless quality when scanning. As a result, userland programs using the quality to determine the best connection fail. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3470cb1d4fb27572273079e7095734ac4f9caa43 Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] 8390 fixes - the final chunk (h8300) The rest of 8390 conversions; ifdef cascade in 8390.h is gone now. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b936889c8f95b601d3ef6caac6ac653a8adb4fec Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] 8390 cleanup - etherh iomem annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 8c6270f957f0eaa343e4a609159c4b85038468d6 Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] 8390 fixes - m68k oddballs more 8390 conversions - mac8390, zorro8390 and hydra got the same treatment as arm etherh; one more case in 8390.h ifdef cascade is gone. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 6c3561b0c1b64c8f0d1419f3909ab29f0eb98906 Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] beginning of 8390 fixes - generic and arm/etherh etherh and a handful of other odd drivers use different macros when building 8390.c. Since we generate a single 8390.o and then link with it, in any config with both oddball and normal 8390-based driver we will end up with breakage in at least one of them. Solution: take most of 8390.c into lib8390.c and have 8390.c, etherh.c and the rest of oddballs #include it. Helper macros are taken from 8390.h to whoever includes lib8390.c. That way odd drivers get separate instances of compiled 8390 stuff and stop stepping on each other's toes. 8390.h gets cleaned up - we don't have the cascade of ifdefs in there and are left with the stuff that can be used by any 8390-based driver. Current problems are exactly because of that cascade - we attempt to choose the set of helpers by looking at config and that, of course, doesn't work well when we have several sets needed by various drivers in our config. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 865f3b2b6ac578a061c823bec5baf00ad04cbd8c Author: Stephen Hemminger Date: Thu Oct 5 10:21:26 2006 -0700 [PATCH] sk98lin: MII ioctl support Add MII ioctl support to the deprecated sk98lin driver. This allows comparison with skge driver's PHY settings. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 24b46a0f0a9a736f125141f271102f70c2612a9f Author: Stephen Hemminger Date: Thu Oct 5 10:16:23 2006 -0700 [PATCH] sk98lin: ethtool register dump Add support for dumping the registers in the deprecated sk98lin driver. This is allows for easier comparison with settings in new skge driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 83717cf054214d144165c576cba6362d07fc6656 Author: Henrik Kretzschmar Date: Tue Oct 10 14:33:29 2006 -0700 [PATCH] pci_module_init() convertion in olympic.c pci_module_init() convertion in olympic.c Signed-off-by: Henrik Kretzschmar Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 107ce6d21b746f33f85f4385b9802b3ae928f876 Author: Eric Sesterhenn Date: Tue Oct 10 14:33:28 2006 -0700 [PATCH] Remove unnecessary check in drivers/net/depca.c This was spotted by coverity (cid #793). All callers dereference dev before calling this functions, and we dereference it earlier in the function, when initializing lp. Signed-off-by: Eric Sesterhenn Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a189317fa0e9d425cd3a4c248b06f96d876cf7fd Author: Francois Romieu Date: Tue Oct 10 14:33:27 2006 -0700 [PATCH] forcedeth: power management support Tobias Diedrich sayeth: Vanilla forcedeth doesn't seem to support suspend and an ifdown/up-cycle is needed to get it working again after suspend. Francois Romieu's "Awfully experimental" patch is working just fine for me (with message signalled interrupts disabled) and has survived quite a few suspend/resume cycles. So I'd very much like to see (at least partial, with msi disabled) suspend support for forcedeth in mainline. (Addresses http://bugzilla.kernel.org/show_bug.cgi?id=6398) Cc: Francois Romieu Cc; Jeff Garzik Cc: Manfred Spraul Cc: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3c3070d713d798f7f9e7ee3614e49b47655d14d8 Author: Maciej W. Rozycki Date: Tue Oct 3 16:18:35 2006 +0100 [PATCH] 2.6.18: sb1250-mac: Phylib IRQ handling fixes This patch fixes a couple of problems discovered with interrupt handling in the phylib core, namely: 1. The driver uses timer and workqueue calls, but does not include nor . 2. The driver uses schedule_work() for handling interrupts, but does not make sure any pending work scheduled thus has been completed before driver's structures get freed from memory. This is especially important as interrupts may keep arriving if the line is shared with another PHY. The solution is to ignore phy_interrupt() calls if the reported device has already been halted and calling flush_scheduled_work() from phy_stop_interrupts() (but guarded with current_is_keventd() in case the function has been called through keventd from the MAC device's close call to avoid a deadlock on the netlink lock). Signed-off-by: Maciej W. Rozycki patch-mips-2.6.18-20060920-phy-irq-16 Signed-off-by: Jeff Garzik commit 13df29f69749a61b5209d52b71fcbf7300e5d6fb Author: Maciej W. Rozycki Date: Tue Oct 3 16:18:28 2006 +0100 [PATCH] 2.6.18: sb1250-mac: Missing inclusions from The uses some types and macros defined in , , and , but fails to include these headers. Signed-off-by: Maciej W. Rozycki patch-mips-2.6.18-20060920-include-phy-16 Signed-off-by: Jeff Garzik commit c4b41c9f077392803cd548000f3a2312dcd4a122 Author: Maciej W. Rozycki Date: Tue Oct 3 16:18:13 2006 +0100 [PATCH] 2.6.18: sb1250-mac: Broadcom PHY support This patch adds support for interrupt-driven operation of the Broadcom Gigabit Ethernet PHYs. I have included device IDs for the parts used on Broadcom SiByte evaluation boards; more can be added as a need arises. They are apparently generally software-compatible with one another. Signed-off-by: Maciej W. Rozycki patch-mips-2.6.18-20060920-broadcom-phy-15 Signed-off-by: Jeff Garzik commit 116b23b0ed36f8d5b56d16ac50266fce8de904c1 Merge: b6ef977... 9e1402a... Author: Linus Torvalds Date: Fri Dec 1 20:55:21 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: [PATCH] Fix an offset error when reading the CS89x0 ADD_PORT register [PATCH] spidernet: poor network performance [PATCH] Spidernet: remove ETH_ZLEN check in earlier patch [PATCH] bonding: fix an oops when slave device does not provide get_stats [PATCH] drivers/net: SAA9730: Fix build error Revert "[PATCH] zd1211rw: Removed unneeded packed attributes" [PATCH] zd1211rw: Fix of a locking bug [PATCH] softmac: remove netif_tx_disable when scanning [PATCH] ieee80211: Fix kernel panic when QoS is enabled commit 664e8503fee2f299d0f96eaab0f5f8fae8fad325 Author: Tejun Heo Date: Mon Nov 20 16:05:34 2006 +0900 [PATCH] libata: print cdb[0] in failed qc report Print cdb[0] in failed qc report. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2dec7555e6bf2772749113ea0ad454fcdb8cf861 Author: Robert Hancock Date: Sun Nov 26 14:20:19 2006 -0600 [PATCH] sata_nv: fix ATAPI in ADMA mode The attached patch against 2.6.19-rc6-mm1 fixes some problems in sata_nv with ATAPI devices on controllers running in ADMA mode. Some of the logic in the nv_adma_bmdma_* functions was inverted causing a bunch of warnings and caused those functions not to work properly. Also, when an ATAPI device is connected, we need to use the legacy DMA engine. The code now disables the PCI configuration register bits for ADMA so that this works, and ensures that no ATAPI DMA commands go through until this is done. Fixes Bugzilla http://bugzilla.kernel.org/show_bug.cgi?id=7538 Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 099156db555aabf54dc80b40abb628ce35d90065 Author: Alan Date: Mon Nov 27 16:37:52 2006 +0000 [PATCH] pata_marvell: merge Mandriva patches Correct and complete the Marvell PATA cable detection logic. From: Arnaud Patard Signed-off-by: Arnaud Patard Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit aff0df0593f4beea42800115c0658f58c03dfe9f Author: Alan Date: Mon Nov 27 16:25:51 2006 +0000 [PATCH] pata_hpt3x3: suspend/resume support Again split the chipset init away and call it both on resume and on setup Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 62d64ae0ec76360736c9dc4ca2067ae8de0ba9f2 Author: Alan Date: Mon Nov 27 16:27:20 2006 +0000 [PATCH] pata : more drivers that need only standard suspend and resume Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit aa54ab1eff30f1e5859acf4e15f0730288373ee5 Author: Alan Date: Mon Nov 27 16:24:15 2006 +0000 [PATCH] hpt36x: Suspend/resume support Another chipset which needs some reconfiguration after a resume. All the chip setup is moved to a new function called in both setup and resume. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 627d2d3261a42c9b5b0a02a1f8d0ae5414729cb9 Author: Alan Date: Mon Nov 27 16:19:36 2006 +0000 [PATCH] pata_via suspend/resume support The major VIA issues were handled by the quirks update for resume quirks. The ATA driver also has to do some work however when resuming from RAM. Certain chips need the FIFO reconfiguring, and the 66MHz clock setup updating. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c304193a005b5262671c1389b1cae96d7afc952a Author: Alan Date: Mon Nov 27 16:21:24 2006 +0000 [PATCH] pata_amd: suspend/resume Early AMD chips require FIFO and/or simplex flag clearing work on resume from RAM. Most devices need no help Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f535d53f3f8bc8243ad2167d7127f6efba9b46cb Author: Alan Date: Mon Nov 27 16:14:36 2006 +0000 [PATCH] pata_it821x: Suspend/Resume support If you are using the noraid option then after a suspend/resume sequence we need to reset the card back out of raid mode again. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 38e0d56e67849720d306e2d7cd1a2793deec9644 Author: Alan Date: Mon Nov 27 16:16:35 2006 +0000 [PATCH] pata_serverworks suspend/resume The Serverworks chips need various fixups doing on a resume from RAM. Conveniently the needed functions were already split out ready for re-use Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 7f72a379146913dc5f2751383722cdedb8998bc9 Author: Alan Date: Wed Nov 22 16:59:07 2006 +0000 [PATCH] pata_cmd64x: suspend/resume On a resume of the CMD64x we must restore MRDMODE and latency if the BIOS didn't get them right originally. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 8501120f1df1aa6abe38b51ab91df08ccaa1b971 Author: Alan Date: Wed Nov 22 17:01:06 2006 +0000 [PATCH] pata_cs5520: resume support The CS5520 doesn't need much help to resume but we do need to restore pcicfg which may have been reset to the BIOS default which is sometimes incorrect. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 30ced0f0d211999f316930eff7287aa5a9995bef Author: Alan Date: Wed Nov 22 16:57:36 2006 +0000 [PATCH] PATA libata: suspend/resume simple cases This patch adds the suspend/resume callbacks for drivers which don't need any additional help (beyond the pci resume quirk patch I posted earlier anyway). Also bring version numbers back inline with master copies. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 8550c1637ba7dd96a76353eb52d31088f9c2f5fe Author: Alan Date: Wed Nov 22 17:28:41 2006 +0000 [PATCH] pata_sil680 suspend/resume The SI680 can come back from s2ram with the clocks disabled (crash time) or wrong (ugly as this can cause CRC errors, and in theory corruption). On a resume we must put the clock back. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit ad4a42d287546888349ad24d351673a59f429ee8 Author: Alan Date: Wed Nov 22 17:23:37 2006 +0000 [PATCH] pata_rz1000: Force readahead off on resume The RZ1000 is a generic device except that it has a readahead fifo flaw that corrupts. We force this off at init time but we want to be paranoid and force it off at resume as well. I don't know of any actual hardware that supports both RZ1000 and suspend to RAM but given its a disk muncher better safe than sorry. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 34d8dfb1e6b51dbd6eefcb449b531c7ee773664c Author: Alan Date: Wed Nov 22 17:26:06 2006 +0000 [PATCH] pata_ali: suspend/resume support Various chipset functions must be reprogrammed on a resume from RAM, without this things like ATAPI DMA stop working on resume with some chipset variants. Split the chipset programming and init time method selection into two functions. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d39ca896fb9a25f80465d3e52872cf5c510762a8 Author: Alan Date: Wed Nov 22 17:18:30 2006 +0000 [PATCH] pata_jmicron: fix JMB368 support, add suspend/resume handling This (and the pci resume quirk code) get the JMicron controllers to resume properly. Without this patch the drive mapping changes when you suspend/resume which is not good at all.... Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f7e37ba83fd3e92411dfc97d08eaf9d85dfac2ee Author: Alan Date: Wed Nov 22 17:21:03 2006 +0000 [PATCH] pata_cs5530: suspend/resume support The 5530 needs various set up performing both at init time and resume time. To keep the code clean the common setup code is moved into a new function and called from both handlers. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 54083f114efad2d4fa993c52024f8973c70b9edb Author: Alan Date: Wed Nov 15 16:17:13 2006 +0000 [PATCH] pata_hpt366 enablebits More enablebits Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b2d1eee1e99e15a80fa9623724d6861a81d2aba4 Author: Mikael Pettersson Date: Wed Nov 22 22:00:15 2006 +0100 [PATCH] sata_promise fixes and updates This patch updates the sata_promise driver as follows: - Correct typo in definition of PDC_TBG_MODE: it's at 0x41C not 0x41 in first-generation chips. This error caused PCI access alignment exceptions on SPARC64, and on all platforms it disabled the expected initialisation of TBG mode. - Add flags field to struct pdc_host_priv. Define PDC_FLAG_GEN_II and use it to distinguish first- and second-generation chips. - Prevent the FLASH_CTL FIFO_SHD bit from being set to 1 on second- generation chips. This matches Promises' ulsata2 driver. - Prevent TBG mode and SLEW rate initialisation in second-generation chips. These two registers have moved, TBG mode has been redefined, and Promise's ulsata2 driver no longer attempts to initialise them. - Correct PCI device table so devices 0x3570, 0x3571, and 0x3d73 are marked as 2057x (2nd gen) not 2037x (1st gen). - Correct PCI device table so device 0x3d17 is marked as 40518 (2nd gen 4 ports) not 20319 (1st gen 4 ports). - Correct pdc_ata_init_one() to treat 20771 as a second-generation chip. Tested on 0x3d75 (2nd gen), 0x3d73 (2nd gen), and 0x3373 (1st gen) chips. The information comes from the newly uploaded Promise SATA HW specs, Promise's ultra and ulsata2 drivers, and debugging on 3d75/3d73/3373 chips. hp->hotplug_offset could now be removed and its value recomputed in pdc_host_init() using hp->flags, but that would be a cleanup not a functional change, so I'm ignoring it for now. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 46b027cc30b6f6571191826afc718fa942403fc8 Author: Jeff Garzik Date: Tue Nov 14 14:46:17 2006 -0500 [libata] sata_promise: fix TBG mode register offset Fixes crashes on sparc, and may correct weird behavior reported on occasions, because we were never programming this register correctly (or at all). Signed-off-by: Jeff Garzik commit d25614bad6eec8fb80f3ef5bffbf720ebb7d2412 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: improve SCSI sense data generation Update ata_gen_ata_sense() to use desc format sense data to report the first failed block. The first failed block is read from result_tf using ata_tf_read_block() which can handle all three address formats. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 35b649fe2587b2e569c17c022ba3506ba441b6a2 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: implement ata_tf_read_block() Implement ata_tf_read_block(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 750426aa1ad1ddd1fa8bb4ed531a7956f3b9a27c Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: cosmetic changes to sense generation functions * s/ata_gen_ata_desc_sense/ata_gen_passthru_sense/ * s/ata_gen_fixed_sense/ata_gen_ata_sense/ * make both functions static * neither function has locking requirement, change it to None. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f38621b3109068adc8430bc2d170ccea59df4261 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: fix passthru sense data header sb[7] should contain the length of whole information sense data descriptor while desc[1] should contain the number of following bytes in the descriptor. ie. 14 for sb[7] but 12 for desc[1]. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 39599a5334decc2669ba794fb0ccd2b112ef1ba4 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: sync result_tf.flags w/ command tf.flags libata didn't initialize result_tf.flags which indicates transfer type (RW/FUA) and address type (CHS/LBA/LBA48). ata_gen_fixed_sense() assumed result_tf.flags equals command tf.flags and failed to report the first failed block to SCSI layer because zero tf flags indicates CHS and bad block reporting for CHS is not implemented. Implement fill_result_tf() which sets result_tf.flags to command tf.flags and use it to fill result_tf. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 61c0596c5fbef99df5518ae449be4ab49a2c2233 Author: Tejun Heo Date: Tue Nov 14 22:35:43 2006 +0900 [PATCH] libata: trivial updates to ata_sg_init_one() There's no need to memset &qc->sgent manually, sg_init_one() clears sgent inside it. Also, kill not-so-necessary sg local variable. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8a93758170a58b5afe3e45d7d5bebbdd401a24c2 Author: Tejun Heo Date: Tue Nov 14 22:36:12 2006 +0900 [PATCH] libata: improve failed qc reporting Improve failed qc reporting. The original message didn't include the actual command nor full error status and it was necessary to temporarily patch the code to find out exactly which command is causing problem. This patch makes EH report full command and result TFs along with data direction and length. This change will make bug reports more useful. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5e56a37c3706498b25049bb556928c461875250f Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] ata_piix: strip now unneded MAP related stuff Now that PCS isn't used for device detection anymore... * esb_sata is identical to ich5_sata * no reason to know present_shift * no reason to store map_db in host private area The MAP table itself is left because it can be used for SCR access. Signed-off-by: Jeff Garzik commit 228c1590be39872022006ab81fda112a4f35ce47 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] ata_piix: apply device detection via polling IDENTIFY PATA PIIX uses reset signature + TF r/w test for device presence detection, which doesn't always work. It sometimes reports phantom device which results in IDENTIFY timeouts. SATA PIIX uses some combination of PCS + reset signature + TF r/w test for device presence detection. No combination satifies all and for some controllers, there doesn't seem to be any combination which works reliably. This patch makes both PATA and SATA piix's use reset signature + TF r/w + polling IDENTIFY for device detection. This is what the old libata (before irq-pio and new EH) did and what IDE does. This patch also removes now obsolete PIIX_FLAG_IGNORE_PCS, force_pcs and related code. Signed-off-by: Jeff Garzik commit 55a8e2c83ce50548dfef74bb19dfe2b809cb3099 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] libata: implement presence detection via polling IDENTIFY On some controllers (ICHs in piix mode), there is *NO* reliable way to determine device presence other than issuing IDENTIFY and see how the transaction proceeds by watching the TF status register. libata acted this way before irq-pio and phantom devices caused very little problem but now that IDENTIFY is performed using IRQ drive PIO, such phantom devices now result in multiple 30sec timeouts during boot. This patch implements ATA_FLAG_DETECT_POLLING. If a LLD sets this flag, libata core issues the initial IDENTIFY in polling mode and if the initial data transfer fails w/ HSM violation, the port is considered to be empty thus replicating the old libata and IDE behavior. Signed-off-by: Jeff Garzik commit bff0464769f2a1bd348265de704471747378e247 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] libata: convert @post_reset to @flags in ata_dev_read_id() Make ata_dev_read_id() take @flags instead of @post_reset. Currently there is only one flag defined - ATA_READID_POSTRESET, which is equivalent to @post_reset. This is preparation for polling presence detection. Signed-off-by: Jeff Garzik commit b3362f88a8f938fb700fdedf074ec222cba7cf83 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] ata_piix: clean up port flags * move common flags into PIIX_PATA_FLAGS and PIIX_SATA_FLAGS * kill unnecessary ATA_FLAG_SRST Signed-off-by: Jeff Garzik commit 6fc49adb9417b9c793e8f88d485387bb89ceb733 Author: Tejun Heo Date: Sat Nov 11 20:10:45 2006 +0900 [PATCH] libata: use FLUSH_EXT only when driver is larger than LBA28 limit Many drives support LBA48 even when its capacity is smaller than 1<<28, as LBA48 is required for many functionalities. FLUSH_EXT is mandatory for drives w/ LBA48 support. Interestingly, at least one of such drives (ST960812A) has problems dealing with FLUSH_EXT. It eventually completes the command but takes around 7 seconds to finish in many cases thus drastically slowing down IO transactions. This seems to be a firmware bug which sneaked into production probably because no other ATA driver including linux IDE issues FLUSH_EXT to drives which report support for LBA48 & FLUSH_EXT but is smaller than 1<<28 blocks. This patch adds ATA_DFLAG_FLUSH_EXT which is set iff the drive supports LBA48 & FLUSH_EXT and is larger than LBA28 limit. Both cache flush paths are updated to issue FLUSH_EXT only when the flag is set. Note that the changed behavior is more inline with the rest of libata. libata prefers shorter commands whenever possible. Signed-off-by: Tejun Heo Cc: Danny Kukawka Cc: Stefan Seyfried Signed-off-by: Jeff Garzik commit 648a88be4a016d2637ace3ae74b85a0512255ee8 Author: Tejun Heo Date: Thu Nov 9 15:08:40 2006 +0900 [PATCH] ahci: honor PORTS_IMPL on ICH8s Some ICH8s use non-linear port mapping. ahci driver didn't use to honor PORTS_IMPL and this made ports after hole nonfunctional. This patch makes ahci mark those ports as dummy and properly initialize all the implemented ports after the dummies. As it's unknown whether other AHCIs implement PORTS_IMPL register properly, new board id board_ahci_pi is added and selectively applied to ICH8s. All other AHCIs continue to use linear mapping regardless of PORTS_IMPL value. Signed-off-by: Tejun Heo Cc: Robin H. Johnson Signed-off-by: Jeff Garzik commit 0df0d0a0ea9ffcee4e56f96cd9d9e32b0644eb21 Author: Alessandro Zummo Date: Tue Nov 14 13:43:21 2006 -0500 [libata] ARM: add ixp4xx PATA driver Signed-off-by: Alessandro Zummo Signed-off-by: Jeff Garzik commit 4adccf6f447dfa7af6f3af7e12f87829a6fac8dd Author: Uwe Koziolek Date: Wed Nov 8 09:57:00 2006 +0100 [PATCH] sata_sis: slave support on SiS965 SiS965 and SiS180 chips must support slave mode, SiS965L and SiS964 chips must not support slave mode. SCR_STATUS for SATA ports in powerdown state fixed. Now returning 0x0113 instead of 0x0117. Avoids problem on detecting sata_sis controller. Signed-off-by: Uwe Koziolek Signed-off-by: Jeff Garzik commit 98fa4b60c673526fdd478d9719e41cd9e2b84986 Author: Tejun Heo Date: Thu Nov 2 12:17:23 2006 +0900 [PATCH] ahci: preserve PORTS_IMPL over host resets Instead of writing 0xf blindly, preserve the content of write-once PORTS_IMPL register over host resets. This patch is taken from Jeff Garzik's AHCI init update patch. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ada406c8246b0792afe4d7f8ae7606093052de87 Author: Alan Cox Date: Fri Nov 3 13:18:06 2006 +0000 [PATCH] pdc202xx_old: Fix name clashes with PA-RISC pdc_* functions are part of the global namespace for the PDC on PA-RISC systems and this means our choice of pdc_ causes collisions between the PDC globals and our static functions. Rename them to pdc202xx where they are for both 2024x and 2026x. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 415ae2b5c03b6ed1a041a473885e502d297e1d37 Author: Jeff Garzik Date: Wed Nov 1 05:10:42 2006 -0500 [libata] ahci: Match PCI class code for AHCI Signed-off-by: Jeff Garzik commit 914ed354b373680b648d913161cca6f742f32791 Author: Tejun Heo Date: Wed Nov 1 18:39:55 2006 +0900 [PATCH] libata: move dev->max_sectors configuration into ata_dev_configure() Move dev->max_sectors configuration from ata_scsi_dev_config() to ata_dev_configure(). * more consistent. * allows LLDs to peek at the default dev->max_sectors value. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit baa1e78a834c917984a4659fd282f712c17ee3bf Author: Tejun Heo Date: Wed Nov 1 18:39:27 2006 +0900 [PATCH] libata: implement ATA_EHI_SETMODE and ATA_EHI_POST_SETMODE libata EH used to perform ata_set_mode() iff the EH session performed reset as indicated by ATA_EHI_DID_RESET. This is incorrect because ->dev_config() called by revalidation is allowed to modify transfer mode which ata_set_mode() should take care of. This patch implements the following two flags. * ATA_EHI_SETMODE: set during EH to schedule ata_set_mode(). Both new device attachment and revalidation set this flag. * ATA_EHI_POST_SETMODE: set while the device is revalidated after ata_set_mode(). Post-setmode revalidation is different from initial configuaration and EH revalidation in that ->dev_config() is not allowed tune transfer mode. LLD can use this flag to determine whether it's allowed to tune transfer mode. Note that POST_SETMODE ->dev_config() is guaranteed to be preceded by non-POST_SETMODE ->dev_config(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit efdaedc443e935eda82e9e78a6e65d1f993d242f Author: Tejun Heo Date: Wed Nov 1 18:38:52 2006 +0900 [PATCH] libata: implement ATA_EHI_PRINTINFO Implement ehi flag ATA_EHI_PRINTINFO. This flag is set when device configuration needs to print out device info. This used to be handled by @print_info argument to ata_dev_configure() but LLDs also need to know about it in ->dev_config() callback. This patch replaces @print_info w/ ATA_EHI_PRINTINFO and make sata_sil print workaround messages only on the initial configuration. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ad616ffbda8caf3ce76d2b43027e789d732abf48 Author: Tejun Heo Date: Wed Nov 1 18:00:24 2006 +0900 [PATCH] ahci: update ahci-vt8251 reset sequence ahci-vt8251 * requires hardreset after PHY status change * doesn't clear BSY on signature FIS after hardreset * needs SError cleared for the port to operate after hardreset This patch implements ahci_vt8251_hardreset() and sets ATA_FLAG_HRST_TO_RESUME to handle the above behaviors. This fixes EH including hotplug on vt8251. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b6103f6d1659e2024776bc759d28613fb36344a8 Author: Tejun Heo Date: Wed Nov 1 17:59:53 2006 +0900 [PATCH] libata: separate out and export sata_port_hardreset() Separate out sata_port_hardreset() from sata_std_hardreset(). This will be used by LLD hardreset implementation and later by PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4aeb0e3283351351a5381a495ea24537f3bc21cb Author: Tejun Heo Date: Wed Nov 1 17:58:33 2006 +0900 [PATCH] ahci: kill AHCI_FLAG_RESET_NEEDS_CLO Now that ahci_softreset() is fixed to automatically perform CLO if BSY/DRQ is set on entry, AHCI_FLAG_RESET_NEEDS_CLO is redundant. Kill it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c0c559083a084f9a19443d522b7d95a33701505a Author: Tejun Heo Date: Mon Oct 16 08:47:18 2006 +0900 [PATCH] sata_sil24: add PMP related constants Add PMP related constants. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 28c8f3b4f9ec9a5acffdc846effb0695839ecf37 Author: Tejun Heo Date: Mon Oct 16 08:47:18 2006 +0900 [PATCH] sata_sil24: rename PMP related constants Rename PMP related constants for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 309afcb5c87b5a41da51cc0c36f61c0e0d43ca9a Author: Tejun Heo Date: Sat Sep 30 18:07:17 2006 +0900 [PATCH] libata: make user scan wait for scan to complete Make user scan wait for scan to complete. This way user can wait for warm plug request to complete and is prevented from causing EH event storm by repetitively issuing scan request while EH is in progress. Signed-off-by: Tejun Heo Cc: Fajun Chen Signed-off-by: Jeff Garzik commit 722420fe6e2ab63bebc5a9ea346016b59076d75d Author: Tejun Heo Date: Thu Sep 28 17:49:22 2006 +0900 [PATCH] sata_nv: SRST sometimes fails after hotplug, use HRST_TO_RESUME NV controllers sometimes fail to perform softreset after hotplug. Make it use hardreset to resume link. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 90088bb41200b4da962282dfd45db82544adac3b Author: Tejun Heo Date: Mon Oct 9 11:10:26 2006 +0900 [PATCH] libata: move ata_irq_on() into libata-sff.c ata_irq_on() isn't used outside of libata core layer. The function is TF/SFF interface specific but currently used by core path with some hack too. Move it from include/linux/libata.h to drivers/ata/libata-sff.c. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d1adc1bbd6dde3e05a91e2d3e6ab42d202ea61d5 Author: Tejun Heo Date: Mon Oct 9 18:32:15 2006 +0900 [PATCH] libata: handle 0xff status properly libata waits for !BSY even when the status register reports 0xff. This causes long boot delays when D8 isn't pulled down properly. This patch does the followings. * don't wait if status register is 0xff in all wait functions * make ata_busy_sleep() return 0 on success and -errno on failure. -ENODEV is returned on 0xff status and -EBUSY on other failures. * make ata_bus_softreset() succeed on 0xff status. 0xff status is not reset failure. It indicates no device. This removes unnecessary retries on such ports. Note that the code change assumes unoccupied port reporting 0xff status does not produce valid device signature. Signed-off-by: Tejun Heo Cc: Joe Jin Signed-off-by: Jeff Garzik commit a20c9e820864e18b59d2a4f2f04e8b6053986c95 Author: Paul Mundt Date: Fri Oct 27 19:08:48 2006 -0700 [PATCH] ata: Generic platform_device libata driver needs a changelog Signed-off-by: Paul Mundt Acked-by: Russell King Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6919a0a6cfdad9e83d02cef5973826acd416560c Author: Alan Cox Date: Fri Oct 27 19:08:46 2006 -0700 [PATCH] libata: Revamp blacklist support to allow multiple kinds of blacklisting flaws Signed-off-by: Alan Cox Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit fbbb262d9ea9bdbd79d7058271560e9990bc62d3 Author: Robert Hancock Date: Fri Oct 27 19:08:41 2006 -0700 [PATCH] sata_nv ADMA/NCQ support for nForce4 This patch adds support for ADMA mode on NVIDIA nForce4 (CK804/MCP04) SATA controllers to the sata_nv driver. Benefits of ADMA mode include: - NCQ support - Reduced CPU overhead (controller DMAs command information from memory instead of them being pushed in by the CPU) - Full 64-bit DMA support ADMA mode is enabled by default in this version. To disable it, set the module parameter adma_enabled=0. Signed-off-by: Robert Hancock Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6e9d8629b5503175a4425722a1ef13eed232c650 Author: Jeff Garzik Date: Sat Oct 21 15:54:13 2006 -0400 [libata] pata_marvell: minor and trivial cleanups - use pci_iomap() [Alan, version 0.0.5t] - fix Alan's version 0.0.5t change - line length, trailing whitespace, case indentation cleanups - don't use deprecated ->eng_timeout() in a driver that uses new EH Signed-off-by: Jeff Garzik commit 75742cb41e4b5c7913f385b9688aad69c9fa7ada Author: Alan Cox Date: Mon Oct 16 16:40:06 2006 +0100 [PATCH] pata_marvell: Marvell 6101/6145 PATA driver This is a legacy mode PATA driver for the 6101/45 and will also drive the SATA ports 1 & 2 in legacy mode as well if desired. Tested and confirmed working by users. The chip supports AHCI type behaviour for SATA and has a more advanced PATA interface as well so this driver will get it working but not get best performance for now. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 72dc6794fcd7642200a87bf18e3a43e676314b63 Author: Henrik Kretzschmar Date: Tue Oct 10 14:29:24 2006 -0700 [PATCH] pci_module_init() conversion for pata_pdc2027x pci_module_init() conversion for pata_pdc2027x Signed-off-by: Henrik Kretzschmar Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit fc085150b491bfc186efbca90a14cf907a3060a9 Author: Alan Cox Date: Tue Oct 10 14:28:11 2006 -0700 [PATCH] libata: add 40pin "short" cable support, honour drive side speed detection [deweerdt@free.fr: build fix] Signed-off-by: Alan Cox Signed-off-by: Frederik Deweerdt Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2f27ce03628acdb81ead4abe914c713e04a3229e Author: Alan Cox Date: Tue Oct 10 14:28:12 2006 -0700 [PATCH] pci_module_init-convertion-in-ata_genericc fix Acked-by: Alan Cox but please apply as follows to keep revision id straight Cc: Henrik Kretzschmar Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3f03c6713a4adfae058f4f1db5acde393db44ec0 Author: Henrik Kretzschmar Date: Tue Oct 10 14:28:12 2006 -0700 [PATCH] pci_module_init convertion in ata_generic.c pci_module_init convertion in ata_generic.c. Signed-off-by: Henrik Kretzschmar Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7e45b0e5f6f68d04311ba7813f5f5457c9119640 Author: Alan Cox Date: Fri Sep 29 18:30:05 2006 +0100 [PATCH] libata: Winbond support Winbond 83759A support in non-multichip mode (afaik nobody ever used multichip mode anyway). The 83759 is not supported by this driver as it is already handled elsewhere and doens't use the same interfaces. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d38eb8db6aa359c060dfb72a29cf8d94a96657d8 Author: Tiger Yang Date: Mon Nov 27 09:59:21 2006 +0800 ocfs2: implement i_op->permission Implement .permission() in ocfs2_file_iops, ocfs2_special_file_iops and ocfs2_dir_iops. This helps us avoid some multi-node races with mode change and vfs operations. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 58d206c2fa5cc0b35bf3ca48324d7633aa7d0412 Author: Adrian Bunk Date: Mon Nov 20 03:24:00 2006 +0100 configfs: make configfs_dirent_exists() static This patch makes the needlessly global configfs_dirent_exists() static. Signed-off-by: Adrian Bunk Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 25899deef46c226c49c53b42c00e0f032379c04b Author: Tiger Yang Date: Wed Nov 15 15:49:02 2006 +0800 ocfs2: update file system paths to set atime Conditionally update atime in ocfs2_file_aio_read(), ocfs2_readdir() and ocfs2_mmap(). Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 7f1a37e31f94b4f1c123d32ce9f69205ab2095bd Author: Tiger Yang Date: Wed Nov 15 15:48:42 2006 +0800 ocfs2: core atime update functions This patch adds the core routines for updating atime in ocfs2. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 8659ac25b434fcc61cf7797f4b69edc3eaaffb55 Author: Tiger Yang Date: Tue Oct 17 18:29:52 2006 -0700 ocfs2: Add splice support Add splice read/write support in ocfs2. ocfs2_file_splice_read/write are very similar to ocfs2_file_aio_read/write. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit e88d0c9a4180821ad64c1fb421e4c28f8155eb74 Author: Mark Fasheh Date: Tue Oct 17 17:06:53 2006 -0700 ocfs2: Remove ocfs2_write_should_remove_suid() Use should_remove_suid() instead. Signed-off-by: Mark Fasheh commit d23a147bb6e8d467e8df73b6589888717da3b9ce Author: Mark Fasheh Date: Tue Oct 17 17:05:18 2006 -0700 [PATCH] Export should_remove_suid() This helps us avoid replicating the same logic within file system drivers. Signed-off-by: Mark Fasheh commit 55ed16029d597622db8121270e687373b5e31722 Author: Mark Fasheh Date: Fri Oct 20 14:55:54 2006 -0700 configfs: mutex_lock_nested() fix configfs_unregister_subsystem() nests a pair of inode i_mutex acquisitions, and thus needs annotation via mutex_lock_nested(). Signed-off-by: Mark Fasheh commit 1fabe1481fac9e01bf8bffa60a2307ef379aa5de Author: Mark Fasheh Date: Mon Oct 9 18:11:45 2006 -0700 ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t This is mostly a search and replace as ocfs2_journal_handle is now no more than a container for a handle_t pointer. ocfs2_commit_trans() becomes very straight forward, and we remove some out of date comments / code. Signed-off-by: Mark Fasheh commit 65eff9ccf86d63eb5c3e9071450a36e4e4fa9564 Author: Mark Fasheh Date: Mon Oct 9 17:26:22 2006 -0700 ocfs2: remove handle argument to ocfs2_start_trans() All callers either pass in NULL directly, or a local variable that is already set to NULL. The internals of ocfs2_start_trans() get a nice cleanup as a result. Signed-off-by: Mark Fasheh commit dae85832ffe2879b57b23aea319a0ec17667898d Author: Mark Fasheh Date: Mon Oct 9 16:50:32 2006 -0700 ocfs2: remove ocfs2_journal_handle journal field It is no longer used. Signed-off-by: Mark Fasheh commit 02dc1af44e9fa4b8801169891b3a1ba4047537ad Author: Mark Fasheh Date: Mon Oct 9 16:48:10 2006 -0700 ocfs2: pass ocfs2_super * into ocfs2_commit_trans() This sets us up to remove handle->journal. Signed-off-by: Mark Fasheh commit 4bcec1847ac4f75c2ee6d091b495f34d8d822e6a Author: Mark Fasheh Date: Mon Oct 9 16:02:40 2006 -0700 ocfs2: remove unused handle argument from ocfs2_meta_lock_full() Now that this is unused and all callers pass NULL, we can safely remove it. Signed-off-by: Mark Fasheh commit a301a27d715276a71827004549bcbb2b64776c11 Author: Mark Fasheh Date: Fri Oct 6 19:07:43 2006 -0700 ocfs2: make ocfs2_alloc_handle() static This is no longer used outside of journal.c Signed-off-by: Mark Fasheh commit daf29e9cdab7219838c6b6e82380aec3466cf379 Author: Mark Fasheh Date: Fri Oct 6 19:05:31 2006 -0700 ocfs2: remove unused ocfs2_handle_add_lock() This gets us rid of a slab we no longer need, as well as removing the majority of what's left on ocfs2_journal_handle. ocfs2_commit_unstarted_handle() has no more real work to do, so remove that function too. Signed-off-by: Mark Fasheh commit 02928a71ae6da6e3e205d99e1fa1a1f598ddb62d Author: Mark Fasheh Date: Fri Oct 6 18:51:46 2006 -0700 ocfs2: remove unused ocfs2_handle_add_inode() We can also delete the unused infrastructure which was once in place to support this functionality. ocfs2_inode_private loses ip_handle and ip_handle_list. ocfs2_journal_handle loses handle_list. Signed-off-by: Mark Fasheh commit 85b9e783cbc8cf4acc7bfaa76f37ea26b426f514 Author: Mark Fasheh Date: Fri Oct 6 18:40:41 2006 -0700 ocfs2: Don't allocate handle early in ocfs2_rename() It isn't used until ocfs2_start_trans() anyway. Signed-off-by: Mark Fasheh commit da5cbf2f9df922cfdafa39351691fa83517f1e25 Author: Mark Fasheh Date: Fri Oct 6 18:34:35 2006 -0700 ocfs2: don't use handle for locking in allocation functions Instead we record our state on the allocation context structure which all callers already know about and lifetime correctly. This means the reservation functions don't need a handle passed in any more, and we can also take it off the alloc context. Signed-off-by: Mark Fasheh commit 8d5596c687c49c1d8812c3456946dec15d069139 Author: Mark Fasheh Date: Fri Oct 6 15:04:51 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_rename() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 6d8fc40e63401be065b0aa98dfa4246deca04b8c Author: Mark Fasheh Date: Fri Oct 6 11:54:33 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_symlink() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 30a4f5e86bc7bc388ce808117e7722706f739602 Author: Mark Fasheh Date: Fri Oct 6 11:49:45 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_unlink() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 5098c27bb8cd89e30d909ac9d76e305d334dadaf Author: Mark Fasheh Date: Thu Oct 5 18:12:57 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in orphan dir code Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 123a9643408882620347cc2c82f24e57dab05f44 Author: Mark Fasheh Date: Thu Oct 5 16:48:23 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in ocfs2_link() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit e3a821385984e57d5dd1b0e7292761abb0ea4dd9 Author: Mark Fasheh Date: Thu Oct 5 16:04:17 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in ocfs2_mknod() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit e08dc8b9808f06d412904db4d67434bf19984752 Author: Mark Fasheh Date: Thu Oct 5 15:58:48 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in __ocfs2_flush_truncate_log() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 8898a5a58fb2a2f78a15b046588b5b3adccb82c4 Author: Mark Fasheh Date: Thu Oct 5 15:42:08 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in localalloc.c Take and drop the locks directly. Signed-off-by: Mark Fasheh commit c161f89be7d57af863e434e9b15afaa863343a7a Author: Mark Fasheh Date: Thu Oct 5 15:11:36 2006 -0700 ocfs2: remove ocfs2_journal_handle flags field Callers can set h_sync directly on the handle_t, whether a transaction has been started or not can be determined via the existence of the handle_t on the struct ocfs2_journal_handle. Signed-off-by: Mark Fasheh commit 1fc581467e52546195c7ee8233a34d63c1cc1322 Author: Mark Fasheh Date: Thu Oct 5 14:15:36 2006 -0700 ocfs2: have ocfs2_extend_trans() take handle_t No reason to use our wrapper struct in this function, so take the handle_t directly. Also fixes a bug where we were incorrectly setting the handle to NULL in case of a failure from journal_restart() Signed-off-by: Mark Fasheh commit 01ddf1e186b3b12b38c9e44912e0fd6a1cbc882b Author: Mark Fasheh Date: Thu Oct 5 13:54:39 2006 -0700 ocfs2: remove unused ocfs2_journal_handle field max_buffs was just being set and not actually used. Signed-off-by: Mark Fasheh commit f5a923d1ba648bfb3cc922c66981fc8e3280f57f Author: Mark Fasheh Date: Tue Nov 28 15:13:18 2006 -0800 ocfs2: fix format warnings in dlm_alloc_pagevec() Signed-off-by: Mark Fasheh commit da66116eef7da8557762c9b5efdc435bc0afecfa Author: Adrian Bunk Date: Mon Nov 20 03:24:28 2006 +0100 [2.6 patch] make ocfs2_create_new_lock() static This patch makes the needlessly global ocfs2_create_new_lock() static. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit b6ef977b608b01e0f338afd9445cab5436c61e00 Merge: 9ba5aa3... bdbf77d... Author: Linus Torvalds Date: Fri Dec 1 16:47:26 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 4 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 3 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 2 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 1 [WATCHDOG] MIPS RM9000 on-chip watchdog device [WATCHDOG] Add iTCO vendor specific support [WATCHDOG] sc1200wdt.c pnp unregister fix. [WATCHDOG] config.h removal [WATCHDOG] NS pc87413-wdt Watchdog driver - fixes [WATCHDOG] NS pc87413-wdt Watchdog driver v1.1 [WATCHDOG] NS pc87413-wdt Watchdog driver commit 9ba5aa3126873a9c29999b78de20a52c5f87d389 Merge: c3e59d1... a17259a... Author: Linus Torvalds Date: Fri Dec 1 16:46:22 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [PATCH] libata: add missing sht->slave_destroy [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers commit c3e59d1e891f6140a346de2b8547e25133c716b0 Merge: b07e3c3... aa414df... Author: Linus Torvalds Date: Fri Dec 1 16:44:02 2006 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (31 commits) [MIPS] Remove duplicate ISA DMA code for 0 DMA channel case. [MIPS] Remove unused definition of cpu_to_lelongp() [MIPS] Remove userspace proofing from . [MIPS] Remove old junk left from old atomic_lock. [MIPS] Use conditional traps for BUG_ON on MIPS II and better. [MIPS] mips HPT cleanup: make clocksource_mips public [MIPS] do_IRQ cleanup [MIPS] Avoid dupliate D-cache flush on R400C / R4400 SC and MC variants. [MIPS] Remove redundant r4k_blast_icache() calls [MIPS] Work around bogus gcc warnings. [MIPS] Fix double inclusions [MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq [MIPS] IRQ cleanups [MIPS] mips hpt cleanup: get rid of mips_hpt_init [MIPS] PB1200: Remove duplicate definitions [MIPS] Fix alignment hole in struct cache_desc; shrink struct. [MIPS] Oprofile: kernel support for the R10000. [MIPS] Remove unused R10000 performance counter definitions. [MIPS] Add support for kexec [MIPS] Don't print presence of WAIT instruction on bootup. ... commit b07e3c3a1db0ce399d2a1d04860e1b901927c05e Merge: 5f56bbd... b94c7e6... Author: Linus Torvalds Date: Fri Dec 1 16:43:42 2006 -0800 Merge branch 'for-2.6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-2.6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: validate kernel object classes and permissions SELinux: ensure keys constant in hashtab_search SELinux: export object class and permission definitions SELinux: remove current object class and permission validation mechanism commit 5f56bbdf1e35d41b4b3d4c92bdb3e70c63877e4d Merge: 9641219... f469b26... Author: Linus Torvalds Date: Fri Dec 1 16:43:06 2006 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (25 commits) IB/ucm: Fix deadlock in cleanup IB/cm: Fix automatic path migration support IPoIB: Fix skb leak when freeing neighbour IB/srp: Fix memory leak on reconnect RDMA/addr: list_move() cleanups RDMA/addr: Fix some cancellation problems in process_req() RDMA/amso1100: Prevent deadlock in destroy QP IB/mthca: Fix initial SRQ logsize for mem-free HCAs IB/ehca: Use WQE offset instead of WQE addr for pending work reqs RDMA/iwcm: Fix comment for iwcm_deref_id() to match code RDMA/iwcm: Remove unnecessary function argument RDMA/iwcm: Remove unnecessary initializations RDMA/iwcm: Fix memory leak RDMA/iwcm: Fix memory corruption bug in cm_work_handler() IB: Convert kmem_cache_t -> struct kmem_cache IB/ipath: Fix typo in pma_counter_select subscript RDMA/amso1100: Fix section mismatches IB/mthca: Fix section mismatches IB/srp: Increase supported CDB size RDMA/cm: Remove setting local write as part of QP access flags ... commit 9641219825a54249d77d7aa1afa7d874a05c7f90 Merge: 72a73a6... 94fcda1... Author: Linus Torvalds Date: Fri Dec 1 16:41:58 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (103 commits) usbcore: remove unused argument in autosuspend USB: keep count of unsuspended children USB hub: simplify remote-wakeup handling USB: struct usb_device: change flag to bitflag OHCI: make autostop conditional on CONFIG_PM USB: Add autosuspend support to the hub driver EHCI: Fix root-hub and port suspend/resume problems USB: create a new thread for every USB device found during the probe sequence USB: add driver for the USB debug devices USB: added dynamic major number for USB endpoints USB: pegasus error path not resetting task's state USB: endianness fix for asix.c USB: build the appledisplay driver USB serial: replace kmalloc+memset with kzalloc USB: hid-core: canonical defines for Apple USB device IDs USB: idmouse cleanup USB: make drivers/usb/core/driver.c:usb_device_match() static USB: lh7a40x_udc remove double declaration USB: pxa2xx_udc recognizes ixp425 rev b0 chip usbtouchscreen: add support for DMC TSC-10/25 devices ... commit 72a73a69f6a79266b8b4b18f796907b73a5c01e3 Merge: 4549df8... 2b290da... Author: Linus Torvalds Date: Fri Dec 1 16:41:27 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (28 commits) PCI: make arch/i386/pci/common.c:pci_bf_sort static PCI: ibmphp_pci.c: fix NULL dereference pciehp: remove unnecessary pci_disable_msi pciehp: remove unnecessary free_irq PCI: rpaphp: change device tree examination PCI: Change memory allocation for acpiphp slots i2c-i801: SMBus patch for Intel ICH9 PCI: irq: irq and pci_ids patch for Intel ICH9 PCI: pci_{enable,disable}_device() nestable ports PCI: switch pci_{enable,disable}_device() to be nestable PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap pci/i386: style cleanups PCI: Block on access to temporarily unavailable pci device pci: fix __pci_register_driver error handling pci: clear osc support flags if no _OSC method acpiphp: fix missing acpiphp_glue_exit() acpiphp: fix use of list_for_each macro Altix: Initial ACPI support - ROM shadowing. Altix: SN ACPI hotplug support. Altix: Add initial ACPI IO support ... commit 4549df891a31b9a05b7d183106c09049b79327be Merge: 6b8cc71... e17e0f5... Author: Linus Torvalds Date: Fri Dec 1 16:41:07 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits) Driver core: show drivers in /sys/module/ Documentation/driver-model/platform.txt update/rewrite Driver core: platform_driver_probe(), can save codespace driver core: Use klist_remove() in device_move() driver core: Introduce device_move(): move a device to a new parent. Driver core: make drivers/base/core.c:setup_parent() static driver core: Introduce device_find_child(). sysfs: sysfs_write_file() writes zero terminated data cpu topology: consider sysfs_create_group return value Driver core: Call platform_notify_remove later ACPI: Change ACPI to use dev_archdata instead of firmware_data Driver core: add dev_archdata to struct device Driver core: convert sound core to use struct device Driver core: change mem class_devices to be real devices Driver core: convert fb code to use struct device Driver core: convert firmware code to use struct device Driver core: convert mmc code to use struct device Driver core: convert ppdev code to use struct device Driver core: convert PPP code to use struct device Driver core: convert cpuid code to use struct device ... commit 6b8cc71ab2619a776b02869fd733ac1ead3db4e8 Merge: 1399ff5... 8d6286f... Author: Linus Torvalds Date: Fri Dec 1 16:40:13 2006 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix timezone handling on stat to os/2 [CIFS] Incorrect hardlink count when original file is cached (oplocked) commit 1399ff54741b3aa0aaf5097b8559fa30277ebe61 Merge: bb37b94... 6b44d4e... Author: Linus Torvalds Date: Fri Dec 1 16:38:18 2006 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: Fix typos in drivers/isdn/hisax/isdnl2.c Fix typos in doc and comments BUG_ON conversion for fs/aio.c BUG_ON conversion for drivers/mmc/omap.c BUG_ON conversion for drivers/media/video/pwc/pwc-if.c Fix misc .c/.h comment typos Fix misc Kconfig typos Fix typos in /Documentation : Misc Fix typos in /Documentation : 'U-Z' Fix typos in /Documentation : 'T'' Fix jiffies.h comment tabify MAINTAINERS fix spelling error in include/linux/kernel.h mqueue.h: don't include linux/types.h commit f5236225a3858b505221a59233af1f1158be9139 Author: Dan Williams Date: Fri Dec 1 19:31:42 2006 +0100 [ARM] 3967/1: xsc3: make branch predication configurable on xsc3 Remove BTB_ENABLE from proc-xsc3.S On some early revisions of xsc3 enabling the branch target buffer can cause crashes, see erratum #42. Cc: Lennert Buytenhek Signed-off-by: Dan Williams Signed-off-by: Russell King commit 0e5fdca7622eb950f42f97a1970670e00a739175 Author: Lennert Buytenhek Date: Sat Dec 2 00:03:47 2006 +0100 [ARM] 3971/1: xsc3: get rid of L_PTE_COHERENT Merge L_PTE_COHERENT with L_PTE_SHARED and free up a L_PTE_* bit. Signed-off-by: Lennert Buytenhek Signed-off-by: Dan Williams Signed-off-by: Russell King commit e17e0f51aeea4e59c7e450a1c0f26605b91c1260 Author: Kay Sievers Date: Fri Nov 24 12:15:25 2006 +0100 Driver core: show drivers in /sys/module/ Show the drivers, which belong to the module: $ ls -l /sys/module/usbcore/drivers/ hub -> ../../../bus/usb/drivers/hub usb -> ../../../bus/usb/drivers/usb usbfs -> ../../../bus/usb/drivers/usbfs Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c957b32406b73ed66d0f20ebab0cab25c848105d Author: David Brownell Date: Thu Nov 16 23:30:14 2006 -0800 Documentation/driver-model/platform.txt update/rewrite This is almost a rewrite of the driver-model/platform.txt documentation; the previous text was obsolete (for several years), evidently it never got updated to match the change from being a PC "legacy_bus" to the more widely used core bus for most embedded systems. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c67334fbdfbba533af767610cf3fde8a49710e62 Author: David Brownell Date: Thu Nov 16 23:28:47 2006 -0800 Driver core: platform_driver_probe(), can save codespace This defines a new platform_driver_probe() method allowing the driver's probe() method, and its support code+data, to safely live in __init sections for typical system configurations. Many system-on-chip processors could benefit from this API, to the tune of recovering hundreds to thousands of bytes per driver. That's memory which is currently wasted holding code which can never be called after system startup, yet can not be removed. It can't be removed because of the linkage requirement that pointers to init section code (like, ideally, probe support) must not live in other sections (like driver method tables) after those pointers would be invalid. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit acf02d23b96efa92e7cff05987122ceeb37dd075 Author: Cornelia Huck Date: Wed Nov 22 17:49:39 2006 +0100 driver core: Use klist_remove() in device_move() As pointed out by Alan Stern, device_move needs to use klist_remove which waits until removal is complete. Signed-off-by: Cornelia Huck Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8a82472f86bf693b8e91ed56c9ca4f62fbbdcfa3 Author: Cornelia Huck Date: Mon Nov 20 17:07:51 2006 +0100 driver core: Introduce device_move(): move a device to a new parent. Provide a function device_move() to move a device to a new parent device. Add auxilliary functions kobject_move() and sysfs_move_dir(). kobject_move() generates a new uevent of type KOBJ_MOVE, containing the previous path (DEVPATH_OLD) in addition to the usual values. For this, a new interface kobject_uevent_env() is created that allows to add further environmental data to the uevent at the kobject layer. Signed-off-by: Cornelia Huck Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit af9e0765362151b27372c14d9d6dc417184182d3 Author: Adrian Bunk Date: Fri Nov 17 02:19:44 2006 +0100 Driver core: make drivers/base/core.c:setup_parent() static This patch makes the needlessly global setup_parent() static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 5ab699810d46011ad2195c5916f3cbc684bfe3ee Author: Cornelia Huck Date: Thu Nov 16 15:42:07 2006 +0100 driver core: Introduce device_find_child(). Introduce device_find_child() to match device_for_each_child(). Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 035ed7a49447bc8e15d4d9316fc6a359b2d94333 Author: Thomas Maier Date: Sun Oct 22 19:17:47 2006 +0200 sysfs: sysfs_write_file() writes zero terminated data since most of the files in sysfs are text files, it would be nice, if the "store" function called during sysfs_write_file() gets a zero terminated string / data. The current implementation seems not to ensure this. (But only if it is the first time the zeroed buffer page is allocated.) So the buffer can be scanned by sscanf() easily, for example. This patch simply sets a \0 char behind the data in buffer->page. Signed-off-by: Thomas Maier Signed-off-by: Greg Kroah-Hartman commit 06a4bcae1ff2cd5f6f42bd74add85ec785a26343 Author: Heiko Carstens Date: Wed Nov 8 19:46:09 2006 -0800 cpu topology: consider sysfs_create_group return value Take return value of sysfs_create_group() into account. That function got called in case of CPU_ONLINE notification. Since callbacks are not allowed to fail on CPU_ONLINE notification do the sysfs group creation on CPU_UP_PREPARE notification. Also remember if creation succeeded in a bitmask. So it's possible to know whether it's legal to call sysfs_remove_group or not. In addition some other minor stuff: - since CPU_UP_PREPARE might fail add CPU_UP_CANCELED handling as well. - use hotcpu_notifier instead of register_hotcpu_notifier. - #ifdef code that isn't needed in the !CONFIG_HOTPLUG_CPU case. Signed-off-by: Heiko Carstens Acked-by: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 289535334646796fe41f199718e4a731f7411a92 Author: Benjamin Herrenschmidt Date: Wed Nov 8 19:46:14 2006 -0800 Driver core: Call platform_notify_remove later Move the call to platform_notify_remove() to after the call to bus_remove_device(), where it belongs. It's bogus to notify the platform of removal while drivers are still attached to the device and possibly still operating since the platform might use this callback to tear down some resources used by the driver (ACPI bits, iommu table, ...) Signed-off-by: Benjamin Herrenschmidt Cc: "Brown, Len" Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 465ae641e4a3e5028aa9c85d3843259aa28a22ce Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:18:42 2006 +1100 ACPI: Change ACPI to use dev_archdata instead of firmware_data Change ACPI to use dev_archdata instead of firmware_data This patch changes ACPI to use the new dev_archdata on i386, x86_64 and ia64 (is there any other arch using ACPI ?) to store it's acpi_handle. It also removes the firmware_data field from struct device as this was the only user. Only build-tested on x86 Signed-off-by: Benjamin Herrenschmidt Cc: Len Brown Signed-off-by: Greg Kroah-Hartman commit c6dbaef22a2f78700e242915a13218dd780c89ff Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:18:39 2006 +1100 Driver core: add dev_archdata to struct device Add arch specific dev_archdata to struct device Adds an arch specific struct dev_arch to struct device. This enables architecture to add specific fields to every device in the system, like DMA operation pointers, NUMA node ID, firmware specific data, etc... Signed-off-by: Benjamin Herrenschmidt Acked-by: Andi Kleen Acked-By: David Howells Signed-off-by: Greg Kroah-Hartman commit d80f19fab89cba8a6d16193154c8ff3edab00942 Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert sound core to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. It also makes the struct sound_card to show up as a "real" device where all the different sound class devices are placed as childs and different card attribute files can hang off of. /sys/class/sound is still a flat directory, but the symlink targets of all devices belonging to the same card, point the the /sys/devices tree below the new card device object. Thanks to Kay for the updates to this patch. Signed-off-by: Kay Sievers Acked-by: Jaroslav Kysela Signed-off-by: Greg Kroah-Hartman commit ebf644c4623bc3eb57683199cd2b9080028b0f6f Author: Greg Kroah-Hartman Date: Tue Jul 25 17:13:31 2006 -0700 Driver core: change mem class_devices to be real devices Signed-off-by: Greg Kroah-Hartman commit 78cde0887930f5d11a56fc51b013f2672fba0e6f Author: Greg Kroah-Hartman Date: Thu Sep 14 07:30:59 2006 -0700 Driver core: convert fb code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit e55c8790d40fdbc6887b4e3e52afefe4b03f1311 Author: Greg Kroah-Hartman Date: Thu Sep 14 07:30:59 2006 -0700 Driver core: convert firmware code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit fcaf71fd51f9cfc504455d3e19ec242e4b2073ed Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert mmc code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 04880edae5e1027d61241beb5ac37b520755f2ab Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert ppdev code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 9a6a2a5e0b57d25c1bf6eb9b8c958940e156b059 Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert PPP code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 07accdc18e014cad945013886ee34e09f859f88a Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert cpuid code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit a271aaf15f492d202def1b34e447107b60fe4ece Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert msr code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit ac11d0601bbe73c92e31b393eeb1225593788d4c Author: Greg Kroah-Hartman Date: Mon Jul 3 13:46:24 2006 -0700 I2C: convert i2c-dev to use struct device instead of struct class_device As class_device is going away eventually... Cc: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 38ca6c34d385f143027ff40dd271c61adcc9b23c Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert raw device code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 01107d343076c34b9e1ce5d073292bd7f3097fda Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert tty core to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Also fixes up the isdn drivers that were putting something in the class device's directory. Signed-off-by: Greg Kroah-Hartman commit 94fbcded4ea0dc14cbfb222a5c68372f150d1476 Author: Greg Kroah-Hartman Date: Thu Jul 27 16:16:04 2006 -0700 Driver core: change misc class_devices to be real devices This also ment that some of the misc drivers had to also be fixed up as they were assuming the device was a class_device. Signed-off-by: Greg Kroah-Hartman commit cd15422b9f39155e2d9ea56ae95c6f62aa5df42e Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert vc code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 805952a889c4d0fdab23307c14c5ce9571f81233 Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert vt code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 805fab474ed75f9603dbde6fa74a2976868b4bd2 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - class symlinks Turn off class symlinks CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a87cb2ac4a78c590583b52a3ed196adc6c25b6c9 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - PHYSDEV* uevent variables Disable the PHYSDEV* uevent variables if CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 99ef3ef8d5f2f5b5312627127ad63df27c0d0d05 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - device symlinks Turn off device symlinks CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b9cafc7d5b8af0c71896f60dfcff40c71bd38a9a Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - bus symlinks Turn off the bus symlinks if CONFIG_SYSFS_DEPRECATED is enabled Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 40fa54226f518a9bc97ed1d711c0016e416e3782 Author: Greg Kroah-Hartman Date: Tue Oct 24 00:37:58 2006 +0100 Driver core: make old versions of udev work properly If CONFIG_SYSFS_DEPRECATED is enabled, old versions of udev will work properly with devices that are associated with a class. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 88a22c985e3545c55c9779971007f0f29f912519 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED Provide a way to support older versions of udev that are shipped in older distros. If this option is disabled, it will also turn off the compatible symlinks in sysfs that older programs might rely on. When in doubt, or if running a distro older than 2006, say Yes here. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f0ee61a6cecd100301a60d99feb187776533b2a2 Author: Greg Kroah-Hartman Date: Mon Oct 23 10:40:54 2006 -0700 Driver Core: Move virtual_device_parent() to core.c It doesn't need to be global or in device.h Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1901fb2604fbcd53201f38725182ea807581159e Author: Kay Sievers Date: Sat Oct 7 21:55:55 2006 +0200 Driver core: fix "driver" symlink timing Create the "driver" link before the child device may be created by the probing logic. This makes it possible for userspace (udev), to determine the driver property of the parent device, at the time the child device is created. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 116af378201ef793424cd10508ccf18b06d8a021 Author: Benjamin Herrenschmidt Date: Wed Oct 25 13:44:59 2006 +1000 Driver core: add notification of bus events I finally did as you suggested and added the notifier to the struct bus_type itself. There are still problems to be expected is something attaches to a bus type where the code can hook in different struct device sub-classes (which is imho a big bogosity but I won't even try to argue that case now) but it will solve nicely a number of issues I've had so far. That also means that clients interested in registering for such notifications have to do it before devices are added and after bus types are registered. Fortunately, most bus types that matter for the various usage scenarios I have in mind are registerd at postcore_initcall time, which means I have a really nice spot at arch_initcall time to add my notifiers. There are 4 notifications provided. Device being added (before hooked to the bus) and removed (failure of previous case or after being unhooked from the bus), along with driver being bound to a device and about to be unbound. The usage I have for these are: - The 2 first ones are used to maintain a struct device_ext that is hooked to struct device.firmware_data. This structure contains for now a pointer to the Open Firmware node related to the device (if any), the NUMA node ID (for quick access to it) and the DMA operations pointers & iommu table instance for DMA to/from this device. For bus types I own (like IBM VIO or EBUS), I just maintain that structure directly from the bus code when creating the devices. But for bus types managed by generic code like PCI or platform (actually, of_platform which is a variation of platform linked to Open Firmware device-tree), I need this notifier. - The other two ones have a completely different usage scenario. I have cases where multiple devices and their drivers depend on each other. For example, the IBM EMAC network driver needs to attach to a MAL DMA engine which is a separate device, and a PHY interface which is also a separate device. They are all of_platform_device's (well, about to be with my upcoming patches) but there is no say in what precise order the core will "probe" them and instanciate the various modules. The solution I found for that is to have the drivers for emac to use multithread_probe, and wait for a driver to be bound to the target MAL and PHY control devices (the device-tree contains reference to the MAL and PHY interface nodes, which I can then match to of_platform_devices). Right now, I've been polling, but with that notifier, I can more cleanly wait (with a timeout of course). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit 2b290da053608692ea206507d993b70c39d2cdea Author: Adrian Bunk Date: Thu Nov 16 13:16:23 2006 +0100 PCI: make arch/i386/pci/common.c:pci_bf_sort static This patch makes the needlessly global pci_bf_sort static. Signed-off-by: Adrian Bunk Acked-by: Matt Domsch Signed-off-by: Greg Kroah-Hartman commit b0d974e90d6f9fbf3a926defbbc76543cff74426 Author: Adrian Bunk Date: Fri Nov 17 02:19:25 2006 +0100 PCI: ibmphp_pci.c: fix NULL dereference The correct order is: NULL check before dereference Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 9d167dc367f22c07285137370816b83b4be9c697 Author: Kenji Kaneshige Date: Mon Nov 13 15:13:09 2006 -0800 pciehp: remove unnecessary pci_disable_msi This patch fixes the problem that "irq XX: nobody cared" kernel oops is reported when pciehp is once rmmoded and insmoded again. The cause of this problem is pciehp driver calls pci_disable_msi() at controller release time, even though it must be done by PCI Express Port Bus driver. This patch removes unnecessary pci_disable_msi() call from pciehp driver. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 407f452b05f9e5d019c07077d05238bca1b45c4c Author: Kenji Kaneshige Date: Mon Nov 13 15:13:00 2006 -0800 pciehp: remove unnecessary free_irq This patch fixes the problem that the following error messages is reported when pciehp driver is rmmoded. Trying to free already-free IRQ XX The cause of this problem is that pciehp driver is doing unknown 2nd free_irq at driver unloading. This patch removes this unknown 2nd free_irq call. Note: The pciehp driver should be adapted to standard device driver mode. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit a57ed79ef1b71f6da44ebeabb41d019d172fb261 Author: John Rose Date: Mon Nov 13 15:12:52 2006 -0800 PCI: rpaphp: change device tree examination Change the criterion that RPA PCI Hotplug and RPA DLPAR use when determining the hotplug capabilities of a given device node. The "device_type" property is less consistent than "name" across PCI nodes on newer hardware. Signed-off-by: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit ac9e98918776d8fa6dc38bfa6d298a7dbcbac2cb Author: Rolf Eike Beer Date: Mon Nov 13 15:12:45 2006 -0800 PCI: Change memory allocation for acpiphp slots Change memory allocation for acpiphp slots Change the "struct slot" that acpiphp uses for managing it's slots to directly contain the memory for the needed struct hotplug_slot_info and the slot's name. This way we need only two memory allocations per slot instead of four. While we are at it: make_slot_name() is just a wrapper around snprintf() knowing the right arguments to call it. Since the function makes just one function call and is only called from one place I inlined it by hand. Finally this fixes a possible bug waiting for someone to hit it. There were two unused local variables in acpiphp_register_hotplug_slot(). gcc did not find them because they were used in memory allocations with sizeof(*var). They had the same types as the target of the allocation, but nevertheless this was just weird. Signed-off-by: Rolf Eike Beer Acked-by: Matthew Wilcox Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit adbc2a102252994c36102008293b52760613d6c3 Author: Jason Gaston Date: Wed Nov 22 15:19:12 2006 -0800 i2c-i801: SMBus patch for Intel ICH9 This updated patch adds the Intel ICH9 LPC and SMBus Controller DID's. Thi= s patch relies on the irq ICH9 patch to pci_ids.h. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman commit 3b59d52d8c7925e7a9a396f2e31a66eb060c6c37 Author: Jason Gaston Date: Wed Nov 22 15:15:08 2006 -0800 PCI: irq: irq and pci_ids patch for Intel ICH9 This updated patch adds the Intel ICH9 LPC and SMBus Controller DID's. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman commit 95ddc5f25590e31843a09357365d5cbc6ec978db Author: Inaky Perez-Gonzalez Date: Wed Nov 22 12:40:32 2006 -0800 PCI: pci_{enable,disable}_device() nestable ports Change drivers/message/i20 pci driver to simply do a nestable enable()/disable() instead of checking for it. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit bae94d02371c402408a4edfb95e71e88dbd3e973 Author: Inaky Perez-Gonzalez Date: Wed Nov 22 12:40:31 2006 -0800 PCI: switch pci_{enable,disable}_device() to be nestable Changes the pci_{enable,disable}_device() functions to work in a nested basis, so that eg, three calls to enable_device() require three calls to disable_device(). The reason for this is to simplify PCI drivers for multi-interface/capability devices. These are devices that cram more than one interface in a single function. A relevant example of that is the Wireless [USB] Host Controller Interface (similar to EHCI) [see http://www.intel.com/technology/comms/wusb/whci.htm]. In these kind of devices, multiple interfaces are accessed through a single bar and IRQ line. For that, the drivers map only the smallest area of the bar to access their register banks and use shared IRQ handlers. However, because the order at which those drivers load cannot be known ahead of time, the sequence in which the calls to pci_enable_device() and pci_disable_device() cannot be predicted. Thus: 1. driverA starts pci_enable_device() 2. driverB starts pci_enable_device() 3. driverA shutdown pci_disable_device() 4. driverB shutdown pci_disable_device() between steps 3 and 4, driver B would loose access to it's device, even if it didn't intend to. By using this modification, the device won't be disabled until all the callers to enable() have called disable(). This is implemented by replacing 'struct pci_dev->is_enabled' from a bitfield to an atomic use count. Each caller to enable increments it, each caller to disable decrements it. When the count increments from 0 to 1, __pci_enable_device() is called to actually enable the device. When it drops to zero, pci_disable_device() actually does the disabling. We keep the backend __pci_enable_device() for pci_default_resume() to use and also change the sysfs method implementation, so that userspace enabling/disabling the device doesn't disable it one time too much. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 039d09a845209122c5193e650ab2d8b3c849ca7c Author: Amol Lad Date: Tue Oct 17 10:02:50 2006 +0530 PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only): - using allmodconfig - making sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad Signed-off-by: Greg Kroah-Hartman commit 7edab2f0876ff6a38e10a88c9aca20180aad307c Author: Randy Dunlap Date: Tue Oct 17 10:17:58 2006 -0700 pci/i386: style cleanups Mostly CodingStyle cleanups for arch/i386/pci/i386.c: - fit in 80 columns; - use a #defined value instead of an inline constant; Also change one resource_size_t (DBG) printk from %08lx to %lx since it can be more than 32 bits (more than 8 hexits). Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 7ea7e98fd8d02351c43ef4ab35d70f3aaa26c31d Author: Matthew Wilcox Date: Thu Oct 19 09:41:28 2006 -0600 PCI: Block on access to temporarily unavailable pci device The existing implementation of pci_block_user_cfg_access() was recently criticised for providing out of date information and for returning errors on write, which applications won't be expecting. This reimplementation uses a global wait queue and a bit per device. I've open-coded prepare_to_wait() / finish_wait() as I could optimise it significantly by knowing that the pci_lock protected us at all points. It looked a bit funny to be doing a spin_unlock_irqsave(); schedule(), so I used spin_lock_irq() for the _user versions of pci_read_config and pci_write_config. Not carrying a flags pointer around made the code much less nasty. Attempts to block an already blocked device hit a BUG() and attempts to unblock an already unblocked device hit a WARN(). If we need to block access to a device from userspace, it's because it's unsafe for even another bit of the kernel to access the device. An attempt to block a device for a second time means we're about to access the device to perform some other operation, which could provoke undefined behaviour from the device. Signed-off-by: Matthew Wilcox Acked-by: Adam Belay Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 50bf14b3ff05fb6e10688021b96f95d30a300f8d Author: Akinobu Mita Date: Wed Nov 8 19:53:59 2006 -0800 pci: fix __pci_register_driver error handling __pci_register_driver() error path forgot to unwind. driver_unregister() needs to be called when pci_create_newid_file() failed. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0dcb2b7e722f62b886f28b01150860de67d219fa Author: Kristen Carlson Accardi Date: Mon Oct 30 13:08:12 2006 -0800 pci: clear osc support flags if no _OSC method So it looks like pci aer code will call pci_osc_support_set to tell the firmware about OSC_EXT_PCI_CONFIG_SUPPORT flag. that causes ctrlset_buf[OSC_SUPPORT_TYPE] to evaluate to true when pciehp calls pci_osc_control_set() is called (to attempt to use OSC to gain native pcie control from firmware), regardless of whether or not _OSC was actually successfully executed. That causes this section of code: if (ctrlset_buf[OSC_SUPPORT_TYPE] && ((global_ctrlsets & ctrlset) != ctrlset)) { return AE_SUPPORT; } to be hit. This patch will reset the OSC_SUPPORT_TYPE field if _OSC fails, and then would allow pciehp to go ahead and try to run _OSC again. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 0a9dee2739fd4385e83c3316e3f3bee641796638 Author: Akinobu Mita Date: Mon Oct 30 13:08:04 2006 -0800 acpiphp: fix missing acpiphp_glue_exit() acpiphp_glue_exit() needs to be called to unwind when no slots found. (It fixes data corruption when reloading acpiphp driver with no such devices) Signed-off-by: Akinobu Mita Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 467c442f092e22acf86a3b4ad4863d097d7257da Author: Akinobu Mita Date: Mon Oct 30 13:07:58 2006 -0800 acpiphp: fix use of list_for_each macro This patch fixes invalid usage of list_for_each() list_for_each (node, &bridge_list) { bridge = (struct acpiphp_bridge *)node; ... } This code works while the member of list node is located at the head of struct acpiphp_bridge. Signed-off-by: Akinobu Mita Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit a2302c68d923537436b1114aa207787c1a31bd50 Author: John Keller Date: Wed Oct 4 16:49:52 2006 -0500 Altix: Initial ACPI support - ROM shadowing. Support a shadowed ROM when running with an ACPI capable PROM. Define a new dev.resource flag IORESOURCE_ROM_BIOS_COPY to describe the case of a BIOS shadowed ROM, which can then be used to avoid pci_map_rom() making an unneeded call to pci_enable_rom(). Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit 9f581f162e2b304be25dee49bf3945d4ed65dfb6 Author: John Keller Date: Wed Oct 4 16:49:35 2006 -0500 Altix: SN ACPI hotplug support. A few minor changes to the way slot/device fixup is done. No need to be calling sn_pci_controller_fixup(), as a root bus cannot be hotplugged. Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit 8ea6091f500162e97687d7acf925f84202066b8d Author: John Keller Date: Wed Oct 4 16:49:25 2006 -0500 Altix: Add initial ACPI IO support First phase in introducing ACPI support to SN. In this phase, when running with an ACPI capable PROM, the DSDT will define the root busses and all SN nodes (SGIHUB, SGITIO). An ACPI bus driver will be registered for the node devices, with the acpi_pci_root_driver being used for the root busses. An ACPI vendor descriptor is now used to pass platform specific information for both nodes and busses, eliminating the need for the current SAL calls. Also, with ACPI support, SN fixup code is no longer needed to initiate the PCI bus scans, as the acpi_pci_root_driver does that. However, to maintain backward compatibility with non-ACPI capable PROMs, none of the current 'fixup' code can been deleted, though much restructuring has been done. For example, the bulk of the code in io_common.c is relocated code that is now common regardless of what PROM is running, while io_acpi_init.c and io_init.c contain routines specific to an ACPI or non ACPI capable PROM respectively. A new pci bus fixup platform vector has been created to provide a hook for invoking platform specific bus fixup from pcibios_fixup_bus(). The size of io_space[] has been increased to support systems with large IO configurations. Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit e08cf02f32dff732b2be0c9755cf5eb676f88e48 Author: Matthew Wilcox Date: Tue Oct 10 08:01:22 2006 -0600 PCI: Delete unused extern in powermac/pci.c This file no longer uses pci_cache_line_size, so delete the declaration Signed-off-by: Matthew Wilcox Cc: Benjamin Herrenschmidt Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit edb2d97eb57b7a21c9256260562de6a65dda86cc Author: Matthew Wilcox Date: Tue Oct 10 08:01:21 2006 -0600 PCI: Replace HAVE_ARCH_PCI_MWI with PCI_DISABLE_MWI pSeries is the only architecture left using HAVE_ARCH_PCI_MWI and it's really inappropriate for its needs. It really wants to disable MWI altogether. So here are a pair of stub implementations for pci_set_mwi and pci_clear_mwi. Also rename pci_generic_prep_mwi to pci_set_cacheline_size since that better reflects what it does. Signed-off-by: Matthew Wilcox Cc: Paul Mackerras Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit ebf5a24829def5d066922ceebde61dd57fdc6b1e Author: Matthew Wilcox Date: Tue Oct 10 08:01:20 2006 -0600 PCI: Use pci_generic_prep_mwi on sparc64 The setting of the CACHE_LINE_SIZE register in sparc64's pci initialisation code isn't quite adequate as the device may have incompatible requirements. The generic code tests for this, so switch sparc64 over to using it. Since sparc64 has different L1 cache line size and PCI cache line size, it would need to override the generic code like i386 and ia64 do. We know what the cache line size is at compile time though, so introduce a new optional constant PCI_CACHE_LINE_BYTES. Signed-off-by: Matthew Wilcox Signed-off-by: David Miller Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 3efe2d84c8d909567c7976a7106114127b8c3470 Author: Matthew Wilcox Date: Tue Oct 10 08:01:19 2006 -0600 PCI: Use pci_generic_prep_mwi on ia64 The pci_generic_prep_mwi() code does everything that pcibios_prep_mwi() does on ia64. All we need to do is be sure that pci_cache_line_size is set appropriately, and we can delete pcibios_prep_mwi(). Using SMP_CACHE_BYTES as the default was wrong on uniprocessor machines as it is only 8 bytes. The default in the generic code of L1_CACHE_BYTES is at least as good. Signed-off-by: Matthew Wilcox Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 368c73d4f689dae0807d0a2aa74c61fd2b9b075f Author: Alan Cox Date: Wed Oct 4 00:41:26 2006 +0100 PCI: quirks: fix the festering mess that claims to handle IDE quirks The number of permutations of crap we do is amazing and almost all of it has the wrong effect in 2.6. At the heart of this is the PCI SFF magic which says that compatibility mode PCI IDE controllers use ISA IRQ routing and hard coded addresses not the BAR values. The old quirks variously clears them, sets them, adjusts them and then IDE ignores the result. In order to drive all this garbage out and to do it portably we need to handle the SFF rules directly and properly. Because we know the device BAR 0-3 are not used in compatibility mode we load them with the values that are implied (and indeed which many controllers actually thoughtfully put there in this mode anyway). This removes special cases in the IDE layer and libata which now knows that bar 0/1/2/3 always contain the correct address. It means our resource allocation map is accurate from boot, not "mostly accurate" after ide is loaded, and it shoots lots of code. There is also lots more code and magic constant knowledge to shoot once this is in and settled. Been in my test tree for a while both with drivers/ide and with libata. Wants some -mm shakedown in case I've missed something dumb or there are corner cases lurking. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cc692a5f1e9816671b77da77c6d6c463156ba1c7 Author: Stephen Hemminger Date: Wed Nov 8 16:17:15 2006 -0800 PCI: save/restore PCI-X state Shouldn't PCI-X state be saved/restored? No device really needs this right now. qla24xx (fc HBA) and mthca (infiniband) don't do suspend, and sky2 resets its tweaks when links are brought up. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit e65e5fb5ceb02aaea7b65bf8b3b0d0c9057718b6 Author: Michael Ellerman Date: Tue Nov 7 18:21:21 2006 +1100 PCI: Make some MSI-X #defines generic Move some MSI-X #defines into pci_regs.h so they can be used outside of drivers/pci. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 009af1ff78bfc30b9a27807dd0207fc32848218a Author: Greg Kroah-Hartman Date: Fri Oct 27 16:12:30 2006 -0700 PCI: Let PCI_MULTITHREAD_PROBE not be broken It's not really broken, but people keep running into other problems caused by it. Re-enable it so that the drivers get stress tested. Signed-off-by: Greg Kroah-Hartman commit 94fcda1f8ab5e0cacc381c5ca1cc9aa6ad523576 Author: Alan Stern Date: Mon Nov 20 11:38:46 2006 -0500 usbcore: remove unused argument in autosuspend Thanks to several earlier patches, usb_autosuspend_device() and usb_autoresume_device() are never called with a second argument other than 1. This patch (as819) removes the now-redundant argument. It also consolidates some common code between those two routines, putting it into a new subroutine called usb_autopm_do_device(). And it includes a sizable kerneldoc update for the affected functions. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ee49fb5dc89d34f1794ac9362fa97c1a640f7ddd Author: Alan Stern Date: Wed Nov 22 16:55:54 2006 -0500 USB: keep count of unsuspended children This patch (as818b) simplifies autosuspend processing by keeping track of the number of unsuspended children of each USB hub. This will permit us to avoid a good deal of unnecessary work all the time; we will no longer have to create a bunch of workqueue entries to carry out autosuspend requests, only to have them fail because one of the hub's children isn't suspended. The basic idea is simple. There already is a usage counter in the usb_device structure for preventing autosuspends. The patch just increments that counter for every unsuspended child. There's only one tricky part: When a device disconnects we need to remember whether it was suspended at the time (leave the counter alone) or not (decrement the counter). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d25450c68767481f7c9cc4823a6da8235db40be6 Author: Alan Stern Date: Mon Nov 20 11:14:30 2006 -0500 USB hub: simplify remote-wakeup handling This patch (as817) simplifies the remote-wakeup processing in the hub driver. Now instead of using a specialized code path, it relies on the standard USB resume routines. The hub_port_resume() function does an initial get_port_status() to see whether the port has already resumed itself (as it does when a remote-wakeup request is sent). This will slow down handling of other resume events slightly, but not enough to matter. The patch also changes the hub_port_status() routine, making it return an error if a short reply is received. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ce3615879ae85373c03744b45b7c2d7ae5e29b2a Author: Alan Stern Date: Mon Nov 20 11:12:22 2006 -0500 USB: struct usb_device: change flag to bitflag This patch (as816) changes an existing flag in the usb_device structure to a bitflag, preparing the way for more bitflags to come in the future. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1f9fc882d92f3ff390455836f98d7ddc36d4e4c3 Author: Alan Stern Date: Mon Nov 20 11:06:59 2006 -0500 OHCI: make autostop conditional on CONFIG_PM Unlike UHCI, OHCI does not exert any DMA load on the system when no devices are connected. Consequently there is no advantage to doing an autostop other than the power savings, so we shouldn't compile the necessary code unless CONFIG_PM is enabled. This patch (as820) makes the root-hub suspend and resume routines conditional on CONFIG_PM. It also prevents autostop from activating if the device_may_wakeup flag isn't set; some people use this flag to alert the driver about Resume-Detect bugs in the hardware. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 40f122f343797d02390c5a157372cac0c5b50bb7 Author: Alan Stern Date: Thu Nov 9 14:44:33 2006 -0500 USB: Add autosuspend support to the hub driver This patch (as742b) adds autosuspend/autoresume support to the USB hub driver. The largest aspect of the change is that we no longer need a special flag for root hubs that want to be resumed. Now every hub is autoresumed whenever khubd needs to access it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8c03356a559ced6fa78931f498193f776d67e445 Author: Alan Stern Date: Thu Nov 9 14:42:16 2006 -0500 EHCI: Fix root-hub and port suspend/resume problems This patch (as738b) fixes numerous problems in the controller/root-hub suspend/resume/remote-wakeup support in ehci-hcd: The bus_resume() routine should wake up only the ports that were suspended by bus_suspend(). Ports that were already suspended should remain that way. The interrupt mask is used to detect loss of power in the bus_resume() routine (if the mask is 0 then power was lost). However bus_suspend() always sets the mask to 0. Instead the mask should retain its normal value, with port-change-detect interrupts disabled if remote wakeup is turned off. The interrupt mask should be reset to its correct value at the end of bus_resume() regardless of whether power was lost. bus_resume() reinitializes the operational registers if power was lost. However those registers are not in the aux power well, hence they can lose their values whenever the controller is put into D3. They should always be reinitialized. When a port-change interrupt occurs and the root hub is suspended, the interrupt handler should request a root-hub resume instead of starting up the controller all by itself. There's no need for the interrupt handler to request a root-hub resume every time a suspended port sends a remote-wakeup request. The pci_resume() method doesn't need to check for connected ports when deciding whether or not to reset the controller. It can make that decision based on whether Vaux power was maintained. Even when the controller does not need to be reset, pci_resume() must undo the effect of pci_suspend() by re-enabling the interrupt mask. If power was lost, pci_resume() must not call ehci_run(). At this point the root hub is still supposed to be suspended, not running. It's enough to rewrite the command register and set the configured_flag. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c066475e1fe3b3afbd613ddf5f1eca9be4fb6de0 Author: Greg Kroah-Hartman Date: Fri Aug 11 01:55:12 2006 -0700 USB: create a new thread for every USB device found during the probe sequence Might speed up some systems. If nothing else, a bad driver should not take the whole USB subsystem down with it. Signed-off-by: Greg Kroah-Hartman commit 958e8741bf9ff5d0f0b82b7cef578e96c764a288 Author: Greg Kroah-Hartman Date: Tue Apr 9 12:14:34 2002 -0700 USB: add driver for the USB debug devices It's a simple usb-serial driver that just creates a tty device to read and write from. Signed-off-by: Greg Kroah-Hartman commit 7e27780ffdf5fcf8675dfb278ca316a1f2b7e179 Author: Sarah Bailey Date: Sat Nov 18 22:30:16 2006 -0800 USB: added dynamic major number for USB endpoints This patch is an update for Greg K-H's proposed usbfs2: http://sourceforge.net/mailarchive/message.php?msg_id=19295229 It creates a dynamic major for USB endpoints and fixes the endpoint minor calculation. Signed-off-by: Sarah Bailey Signed-off-by: Greg Kroah-Hartman commit 10c8211c634f759633ffcdc3b0e2913963b32abc Author: Oliver Neukum Date: Thu Nov 23 15:40:17 2006 +0100 USB: pegasus error path not resetting task's state there is an error path in the pegasus driver which can leave the task in TASK_UNINTERRUPTIBLE. Depending on when it schedules next, this can be bad. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 9aa742ef7c1a7ff8e6df92a93ce3688e99fa66e3 Author: Oliver Neukum Date: Thu Nov 23 12:45:31 2006 +0100 USB: endianness fix for asix.c the latest update for asix.c reverted some endianness fixes. This reinstates them. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 8feabf70f51f3f6772e2beda608a0ebca1dbf46a Author: Adrian Bunk Date: Fri Nov 24 03:24:03 2006 +0100 USB: build the appledisplay driver We do already have both the code and a config option, so why not build this driver? ;-) Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 7ac9da10af7ffd94cfd07e097b93d588bbd32b75 Author: Burman Yan Date: Wed Nov 22 20:54:38 2006 +0200 USB serial: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Greg Kroah-Hartman commit afd21ee5abd0fef567dbfa234099304886ff83ce Author: Julien BLACHE Date: Wed Nov 15 00:00:17 2006 -0500 USB: hid-core: canonical defines for Apple USB device IDs Use canonical defines for the Apple USB device IDs. Also add the Geyser IV devices missing in my previous patch. Signed-off-by: Julien BLACHE Acked-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 54ecf1fba683f779a1b36abed9c843decafc7d5b Author: Mariusz Kozlowski Date: Mon Nov 6 17:37:20 2006 +0100 USB: idmouse cleanup Just digging through code and found these needless variable initializations. So here is the patch. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8bb22d2bdaac415965e7be1af8da2b8f3ee35f31 Author: Adrian Bunk Date: Tue Nov 21 22:02:54 2006 +0100 USB: make drivers/usb/core/driver.c:usb_device_match() static usb_device_match() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 7481bb8a7f2fd6b411764e0dc91713b1a58fce4c Author: David Brownell Date: Mon Nov 20 11:41:39 2006 -0800 USB: lh7a40x_udc remove double declaration Remove minor double-declaration goof. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 827982c577cddbe50b2120e577a60f6376716900 Author: David Brownell Date: Mon Nov 20 11:38:57 2006 -0800 USB: pxa2xx_udc recognizes ixp425 rev b0 chip Make the pxa2xx_udc driver recognize a newer revision of the IXP425 chip. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 24ced062a2965645d651ff92bc93b2c1f926474e Author: Holger Schurig Date: Fri Nov 17 22:50:15 2006 +0100 usbtouchscreen: add support for DMC TSC-10/25 devices Adds support for the DMC TSC-10 and TSC-25 usb touchscreen controllers. Signed-off-by: Holger Schurig Signed-off-by: Daniel Ritz Signed-off-by: Greg Kroah-Hartman commit 9ce8540c884c19c0f5f38c9e85d4bdc192baf321 Author: Adrian Bunk Date: Mon Nov 20 03:24:44 2006 +0100 USB: ftdi-elan.c: fixes and cleanups This patch contains the following possible cleanups: - make the needlessly global ftdi_release_platform_dev() static - remove the unused usb_ftdi_elan_read_reg() - proper prototypes for the following functions: - usb_ftdi_elan_read_pcimem() - usb_ftdi_elan_write_pcimem() Note that the misplaced prototypes for the latter ones in drivers/usb/host/u132-hcd.c were buggy. Depending on the calling convention of the architecture calling one of them could have turned your stack into garbage. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 27a3de4cfc3508b30803b7350ca6385b3c53f223 Author: Adrian Bunk Date: Mon Nov 20 03:23:54 2006 +0100 USB: make drivers/usb/host/u132-hcd.c:u132_hcd_wait static This patch makes the needlessly global "u132_hcd_wait" static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 2e46b74852446404d64b0b00ce872724bfa627ab Author: Mariusz Kozlowski Date: Fri Nov 17 17:49:22 2006 +0100 usb: cypress_m8 init error path fix If at some point cypress_init() fails deregister only the resources that were registered until that point. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 93f1a47c4af34c4ee014b3d2aae70089b3b69f72 Author: David Brownell Date: Thu Nov 16 23:34:58 2006 -0800 USB: add ehci_hcd.ignore_oc parameter Certain boards seem to like to issue false overcurrent notifications, for example on ports that don't have anything connected to them. This looks like a hardware error, at the level of noise to those ports' overcurrent input signals (or non-debounced VBUS comparators). This surfaces to users as truly massive amounts of syslog spam from khubd (which is appropriate for real hardware problems, except for the volume from multiple ports). Using this new "ignore_oc" flag helps such systems work more sanely, by preventing such indications from getting to khubd (and spam syslog). The downside is of course that true overcurrent errors will be masked; they'll appear as spontaneous disconnects, without the diagnostics that will let users troubleshoot issues like short circuited cables. Note that the bulk of these reports seem to be with VIA southbridges, but I think some were with Intel ones. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f0d7f27351058284f62ab4848909373c2d1f5ce8 Author: David Brownell Date: Thu Nov 16 23:56:15 2006 -0800 USB: EHCI hooks for high speed electrical tests EHCI hooks for high speed electrical tests of the root hub ports. The expectation is that a usermode program actually triggers the test, making the same control request it would make for an external hub. Tests for peripheral upstream ports would issue a different request. In all cases, the hardware needs re-initialization before it could be used "normally" again (e.g. unplug/replug, rmmod/modprobe). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1f26e28d3e32339ca683f087cd55a70e2befc333 Author: Alan Stern Date: Thu Nov 16 10:16:00 2006 -0500 USB: net2280: don't send unwanted zero-length packets The net2280 driver is too eager to send zero-length packets when IN tokens are received on ep0. No such packet should be sent (the driver should NAK) before the gadget driver has queued the proper response. Otherwise deferred responses are impossible. This patch (as823) makes net2280 avoid sending ZLPs for IN transfers on ep0 until a response has been submitted, and avoids stalling when an OUT packet is received before a request has been submitted for an OUT transfer on ep0. Signed-off-by: Alan Stern Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit a3b1f50ce2fdc73c7e60e04c0a2235af74deac2b Author: Mariusz Kozlowski Date: Fri Nov 17 11:53:23 2006 +0100 usb: microtek possible memleak fix Possible memleak fix on error path. The changes: - out_kfree2 and out_free_urb replaced - missing scsi_host_put() added Here it goes: Signed-off-by: Mariusz Kozlowski Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 49314378ac9b76c40f221e3e5aed866e912e7e99 Author: Jaco Kroon Date: Wed Nov 15 01:02:08 2006 -0800 USB: add Digitech USB-Storage to unusual_devs.h The mass storage device from Digitech designed for Flash Cards, as found on (for example) the GNX4 device has issues with residue, similar to the bug report at http://kerneltrap.org/node/6297. This patch adds the faulty storage device to unusual_devs.h, this not only reduces the noise in dmesg but also increases the transfer speeds by a factor of 7x for me (89kB/s -> 637kB/s). T: Bus=02 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1210 ProdID=0003 Rev= 1.00 S: Manufacturer=DigiTech HMG S: Product=DigiTech Mass Storage C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms Signed-off-by: Jaco Kroon Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit db063507b40664de33a61161c90358fe6fc9565a Author: Alan Stern Date: Mon Nov 13 15:02:04 2006 -0500 USB core: fix compiler warning about usb_autosuspend_work This patch (as821) fixes a compiler warning when CONFIG_PM isn't on ("usb_autosuspend_work" defined but not used). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7a5c7b42d3c7b1e0085d48414ee73003d3888d1f Author: Naranjo Manuel Francisco Date: Wed Nov 15 15:14:27 2006 -0300 USB: fix aircable.c: inconsequent NULL checking > 2006/11/11, Adrian Bunk : > > The Coverity checker spotted the following in > > drivers/usb/serial/aircable.c: > > > > <-- snip --> > > > > ... > > static void aircable_read(void *params) > > { > > ... Hi everyone, Sorry for the long time response but here is the patch, I think this way should work, if anyone has any suggestion let me know. What I do now is, in case I don't have the tty available I reschedule the work, I have tried it and it works with no problem, I even tried removing the device, and didn't find anything strange. Signed-off-by: Naranjo Manuel Signed-off-by: Greg Kroah-Hartman commit 1b7be3c066ae9238996a7a861b39b0bfd5860735 Author: Alan Stern Date: Mon Nov 6 12:05:00 2006 -0500 OHCI: change priority level of resume log message All the other root-hub suspend or resume log messages, in ohci-hcd or any of the other host controller drivers, use the debug priority level. This patch (as815) makes the one single exception behave like all the rest. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 68df9de1d0e95034355283dc12056f93de8e0a79 Author: Mariusz Kozlowski Date: Wed Nov 8 15:37:04 2006 +0100 usb: usbmixer free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f5e135af8737bdc57168cddb3fd83028b25c26cd Author: Mariusz Kozlowski Date: Wed Nov 8 15:37:00 2006 +0100 usb: usbmidi kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit bcb54a54033ff9359cf64e4283e4f4b92bf9132f Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:55 2006 +0100 usb: visor kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 95d4316654a7e09778ebf81e03cab7040ecca1b0 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:51 2006 +0100 usb: usb-serial free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 9aac10ff1d9a228d05491f68f933cf6a41b9debc Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:46 2006 +0100 usb: navman kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 73135bb9154f9565e8ae294ffa73f9e871d72b47 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:42 2006 +0100 usb: mct_u232 free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5505c2261eb5e7a6ff851afbe7f77d54d960e83b Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:38 2006 +0100 usb: kobil_sct kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 1cadc1378fe9cdee9515842a4bf9f42228448ad2 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:34 2006 +0100 usb: keyspan free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 9a25f44f91b621f49b459687ae49d4fed4423d0e Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:29 2006 +0100 usb: io_edgeport kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit c69694b779714b751a326d1b886087322001e86f Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:22 2006 +0100 usb: catc free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 794c944ecd468ddf8a571bd37ab7b21035965f91 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:25 2006 +0100 usb: ftdi_sio kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5483eb1300fc052c294a9dac57d5bf6653126efd Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:18 2006 +0100 usb: phidgetmotorcontrol free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit df43121463d2e6dde9f7e40a7720e111e4cc600e Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:07 2006 +0100 usb: phidgetkit free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f53510e8c49d00085a820ae98ca4753d4487dbad Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:14 2006 +0100 usb: legousbtower free kill urb cleanup Hello, - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 2891a51cc27e0eed9474668b58e4f587b9f36694 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:03 2006 +0100 usb: auerswald free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4ba0b2ed583b80cb26b9c8d8a8b418f677ec4a83 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:58 2006 +0100 usb: usbkbd free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 6f07429fa295a04e06c93601e6c597e7a6d95495 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:54 2006 +0100 usb: hid-core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 2381526a793582ad18b30af0e3013ccad1a8bcdb Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:50 2006 +0100 usb: ati_remote2 free urb cleanup Hello, - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 459f836a612d28f224dbbc306ab63187014a6503 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:46 2006 +0100 usb: ati_remote free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f988f272fe8de462045e9f298e5b7f1e39b2e53a Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:42 2006 +0100 usb: zd1201 free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8fd31e1d85d5c13c1273013067474ebb73ad6fd1 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:38 2006 +0100 usb: irda-usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8563650da0fb2df5755ea133d5fb182ded9d2ae8 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:12 2006 +0100 usb: zc0301_core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 926b1e90093688d91cbc358e5339ad2861c86e46 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:02 2006 +0100 usb: quickcam_messenger free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 14d2707b80d6a9d1e8e92718885f99b77531b339 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:59 2006 +0100 usb: sn9c102_core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 90b2625a5159607e37871cd75370c189fc22d208 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:55 2006 +0100 usb: pwc-if free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4c6f7d4a889ad997483a4c0318111b4a506f0fe3 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:50 2006 +0100 usb: pvrusb2-io free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5e55d2cea80254faa6ba5c13f3053070db57b63f Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:31 2006 +0100 usb: pvrusb2-hdw free unlink urb cleanup - usb_free_urb() cleanup - usb_unlink_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5d02d027ac2e7778011fa833b3efa50b72a23dcd Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:27 2006 +0100 usb: ttusb_dec free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4064fe43e8bf6cfe7fc6fadfbccc7fe1fbb1f0c1 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:22 2006 +0100 usb: cinergyT2 free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit ead54fcd6a6ffc0c45e318ffe8872d228bdff0e5 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:17 2006 +0100 usb: usb-gigaset free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8f21d119f457ece27a69ac1dadd655deee6f2a20 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:09 2006 +0100 usb: iforce-usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 6265d62f31e42cc839f929439a95f602d70d6bf7 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:02 2006 +0100 usb: pcwd_usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 3c8961ee6d93c5a2ddf34d8d8171dd685538722b Author: Mariusz Kozlowski Date: Wed Nov 8 15:33:38 2006 +0100 usb: writing_usb_driver free urb cleanup Allright. As Greg KH suggested I split this big patch into smaller ones to make the changes easier to review. Having no better idea how to split that I split it on a 'patch per file' basis. All those patches clean redundant 'if' before usb_unlink/free/kill_urb(): if (urb) usb_free_urb(urb); /* unlink / free / kill */ I decided not to touch bigger 'if's like if (urb) { usb_kill_urb(urb); usb_free_urb(urb); urb = NULL; } as that would be probably too intrusive. One of patches also fixes drivers/usb/misc/auerswald.c memleak I found when digging the code. All those patches are against 2.6.19-rc4. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 444f4f91fda54bea57a0e31098a75f54548e8b28 Author: Mariusz Kozlowski Date: Thu Nov 16 16:38:57 2006 +0100 USB: pwc-if loop fix We should free urbs starting at [i-1] not [i]. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 1f54a6ae79ab4369f17d6bc86eaff3125395af9c Author: Oleg Verych Date: Fri Nov 17 08:21:27 2006 +0000 usb-serial: ti_usb, TI ez430 development tool ID usb-serial: ti_usb, TI ez430 development tool ID Signed-off-by: Oleg Verych Signed-off-by: Greg Kroah-Hartman commit ad0327d680734b76c33f5438cd656bdfd26f5f5b Author: daniel@centurion.net.nz Date: Sat Nov 11 15:47:52 2006 +1300 USB: airprime: New device ID Signed-off-by: Greg Kroah-Hartman commit 54c9b2266f83dfc3d6c538417564dc74266f4dd9 Author: Adrian Bunk Date: Mon Nov 20 03:23:58 2006 +0100 USB: make drivers/usb/input/wacom_sys.c:wacom_sys_irq() static This patch makes the needlessly global wacom_sys_irq() static. Signed-off-by: Adrian Bunk Signed-off-by: Ping Cheng Signed-off-by: Greg Kroah-Hartman commit d5ec1686ba96eb75e132196c486cc0521b00f12c Author: Stephen Hemminger Date: Tue Nov 14 10:06:17 2006 -0800 USB: resume_device symbol conflict Several functions in USB core overlap with global functions. The linker appears to do the right thing, but it is bad practice and makes debugging harder. Signed-off-by: Stephen Hemminger Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d8126a0c23b95d8f49a8f4b49191691f9a09ae4a Author: David Brownell Date: Sun Nov 12 18:09:44 2006 -0800 usb/gadget/ether.c minor manycast tweaks Minor cleanup/clarification in the ethernet gadget driver, using standard calls to test for Ethernet multicast and broadcast addresses. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1bb5f66bb3b6c2fd7eec1cdfee9cf3f68ef83487 Author: Alan Stern Date: Mon Nov 6 11:56:13 2006 -0500 USB: Move private hub declarations out of public header file This patch (as809b) moves the declaration of the hub driver's private data structure from hub.h into the hub.c source file. Lots of other files import hub.h; they have no need to know about the details of the hub driver's private data. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b4ee4a2309c9f811457ce44962eed753e451dc11 Author: Jean Delvare Date: Thu Nov 9 22:02:37 2006 +0100 USB: net1080: Fix && typos Fix STATUS_PACKETS_* macros, where "&&" was mistakenly used where "&" should have. Signed-off-by: Jean Delvare Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 692a186c9d5f12d43cef28d40c25247dc4f302f0 Author: Alan Stern Date: Mon Oct 30 17:07:51 2006 -0500 USB: expand autosuspend/autoresume API This patch (as814) adds usb_autopm_set_interface() to the autosuspend API. It also provides convenient wrapper routines, usb_autopm_enable() and usb_autopm_disable(), for drivers that want to specify directly whether autosuspend should be allowed. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit af4f76066d0fcb215ae389b8839d7ae37ce0e28b Author: Alan Stern Date: Mon Oct 30 17:06:45 2006 -0500 USB: autosuspend code consolidation This patch (as813) gathers together common code for USB interface autosuspend/autoresume. It also adds some simple checking at the time an autosuspend request is made, to see whether the request will fail. This way we don't add a workqueue entry when it would end up doing nothing. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0c1ac4f25f894f9df0ffe9b912c165fb6a185a3c Author: Luiz Fernando N. Capitulino Date: Mon Oct 30 14:53:03 2006 -0300 USB: makes usb_endpoint_* functions inline. We have no benefits of having the usb_endpoint_* functions as functions, but making them inline saves text and data segment sizes: text data bss dec hex filename 14893634 3108770 1108840 19111244 1239d4c vmlinux.func 14893185 3108566 1108840 19110591 1239abf vmlinux.inline This is the result of a 2.6.19-rc3 kernel compiled with GCC 4.1.1 without CONFIG_MODULES, CONFIG_CC_OPTIMIZE_FOR_SIZE, CONFIG_REGPARM options set. USB support is fully enabled (while most of the other drivers are not), and that kernel has most of the USB code ported to use the endpoint functions. That happens because a call to those functions are expensive (in terms of bytes), while the function's size is smaller or have the same 'size' of the call. Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 6f7cd44162ca1bffd54f4090e67b9810bacb5d25 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:04 2006 -0300 USB: yealink: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 0472074748444529188c77f62f0714f9ff7d7556 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:03 2006 -0300 USB: storage: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 4d823dd21d81c29a83a4672ac92e449fc5fa5cca Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:02 2006 -0300 USB: usbtest: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit fc6e2544bdb1e7cb9f7ccbb16c268d61743b123c Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:01 2006 -0300 USB: usbnet: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 30f36ef922201cd085a598a6274ee18a360635ea Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:00 2006 -0300 USB: usbmouse: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a20c314412b9e9e029a73dbb4dd951e36499eb58 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:59 2006 -0300 USB: usbkbd: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit c5dd1f94246acdf6be6796db47efba8b2a93f93e Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:58 2006 -0300 USB: speedtch: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a742e5a7fc5b179e2482b85e875fc99192cead74 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:57 2006 -0300 USB: phidgetmotorcontrol: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 8419404949488bba4504005c0d1180fb07bef740 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:56 2006 -0300 USB: phidgetkit: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 66722a194ef96a09ac12d0fe2f9e206f86c29c9f Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:55 2006 -0300 USB: onetouch: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 240661c55646401df64411e04ba5833c411c42bc Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:54 2006 -0300 USB: legousbtower: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 4f1f1ddd73d04e8d41c010934d81122d1a632e4e Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:53 2006 -0300 USB: kobil_sct: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a7dc218b8f61d58fcf27ee5650e340d7baff74c4 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:52 2006 -0300 USB: idmouse: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 0f12aa03972e797129c79a236d2872f2ee5d25b6 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:51 2006 -0300 USB: hid-core: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 2ae7745beac6de54a47ed19fe441f1d45aa96172 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:50 2006 -0300 USB: ftdi-elan: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 87ad46c94ec74f1750764c12744410ed524f9900 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:49 2006 -0300 USB: devices: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 45aea704d12d05f06b3f82974aa1438460f42398 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:48 2006 -0300 USB: cdc-acm: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit b333d5bfd7d3791f91c678f3f5033c82b1e2b46f Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:47 2006 -0300 USB: cdc_ether: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 16f96376174bfbcb1b40734f83f5701161a5e63b Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:46 2006 -0300 USB: appledisplay: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 377f13bf95b64cf5fb0fad0bf2b94106ad868562 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:45 2006 -0300 USB: aircable: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 565402baee99096da4d79209e450fe42d379a0ca Author: Alan Stern Date: Fri Oct 27 10:35:01 2006 -0400 USB: OHCI: remove stale testing code from root-hub resume This patch (as811) removes some stale testing code from the root-hub resume routine in ohci-hcd. It also adds a spin_lock_irq() call that inadvertently got left out of an error pathway. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5d7efe5b3768bf53df9b87380ea68baacf11f933 Author: Eric Sesterhenn Date: Thu Oct 26 21:06:24 2006 +0200 USB: kmemdup() cleanup in drivers/usb/ replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Greg Kroah-Hartman commit 052ac01aeb84d8427ba8ac3d70991ac01b009b59 Author: Alan Stern Date: Fri Oct 27 10:33:11 2006 -0400 USB: OHCI: disable RHSC inside interrupt handler This patch (as808b) moves the Root Hub Status Change interrupt-disable code in ohci-hcd back into the interrupt handler proper, to avoid the chance of adverse interactions with mediocre hardware implementations. It also deletes the root-hub status timer from within the interrupt-enable routine. There's no need to poll for status any more once interrupts are re-enabled. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b1878440d46a0dc357ed5c9687c534e20955e940 Author: Alan Stern Date: Tue Oct 24 12:02:31 2006 -0400 USB: ohci-hcd: fix compiler warning This patch (as806) fixes a compiler warning when ohci-hcd is built with CONFIG_PM turned off. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 93c8bf45e083b89dffe3a708363c15c1b220c723 Author: Alan Stern Date: Wed Oct 18 16:41:51 2006 -0400 USB core: don't match interface descriptors for vendor-specific devices This patch (as804) makes USB driver matching ignore the interface class, subclass, and protocol if the device class is Vendor Specific. Drivers can override this policy by specifying a Vendor ID as part of the match; then vendor-specific matches are allowed. Linus Walleij has reported a problem this patch fixes. When a particular mass-storage device is switched from mass-storage mode to Media Transfer Protocol, the interface class remains set to mass-storage and usb-storage binds to it erroneously, even though the device class changes to Vendor-Specific. This may cause a problem for some drivers until their match records can be updated to include Vendor IDs. But if it does, then those records were broken to begin with. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6d8fc4d28deaf828606c19fb743fbe94aeab4caf Author: Alan Stern Date: Wed Oct 18 12:35:24 2006 -0400 USB HID: Handle STALL on interrupt endpoint The USB HID driver doesn't include any code to handle a STALL on the interrupt endpoint. While this may be uncommon, it does happen sometimes. This patch (as805) adds a fix. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 88fafff9d73c0a506c0b08e7cd637c89d8b604e1 Author: inaky@linux.intel.com Date: Wed Oct 11 20:05:59 2006 -0700 usb hub: fix root hub code so it takes more than 15 devices per root hub Wireless USB Host Controllers accept a large number of devices per host, which shows up as a large number of ports in its root hub. When the number of ports in a hub device goes over 16, the activation of the hub fails with the cryptic message in klogd. hub 2-0:1.0: activate --> -22 Following this further, it was seen that: hub_probe() hub_configure() generates pipe number pseudo allocates buffer 'maxp' bytes in size using usb_maxpacket() The endpoint descriptor for a root hub interrupt endpoint is declared in drivers/usb/core/hcd.c:hs_rh_config_descriptor and declares it to be size two (supporting 15 devices max). hub_activate() usb_hcd_submit_urb() rh_urb_enqueue() urb->pipe is neither int nor ctl, so it errors out rh_queue_status() Returns -EINVAL because the buffer length is smaller than the minimum needed to report all the hub port bits as in accordance with USB2.0[11.12.3]. There has to be trunc((PORTS + 1 + 7) / 8) bytes of space at least. Alan Stern confirmed that the reason for reading maxpktsize and not the right amount is because some hubs are known to return more data and thus cause overflow. So this patch simply changes the code to make the interrupt endpoint's max packet size be at least the minimum required by USB_MAXCHILDREN (instead of a fixed magic number) and add documentation for that. This way we are always ahead of the limit. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 437052516779fea608261a50682b124315f48f01 Author: inaky@linux.intel.com Date: Wed Oct 11 20:05:58 2006 -0700 usb/hub: allow hubs up to 31 children Current Wireless USB host hardware (Intel i1480 for example) allows up to 22 devices to connect, thus bringing up the max number of children in the WUSB Host Controller to 22 'fake' ports. Upcoming hardware might raise that limit. Makes almost no difference to go to 31, as the bit arrays are byte-aligned (plus an extra bit in general), so 22 bits fit in 4 bytes as 31 do. As well, the only other array that depends on USB_MAXCHILDREN is 'struct usb_hub->indicator'. By declaring it 'u8' instead of 'enum hub_led_mode', we reduce the size of each entry from 4 bytes (in i386) to 1, which will add as we when are doubling USB_MAXCHILDREN (with 16 the size of that array is 64 bytes, with 31 would be 128; by using u8 that goes down to 31 bytes). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 8b7feff881b7e9f065ddd718a6841121207c3c19 Author: Pierre Ossman Date: Tue Nov 14 22:13:13 2006 +0100 mmc: correct request error handling We need to jump to the part of just flushing the request when we cannot claim the bus. Sending commands to a bus we do not own will give unpredictable results. Signed-off-by: Pierre Ossman commit 89b4e133afea9fce333054b94d89953583a55c19 Author: Pierre Ossman Date: Tue Nov 14 22:08:16 2006 +0100 mmc: Flush block queue when removing card After mmc_block's remove function has exited, we must not touch the card structure in any way. This means we not only must remove the gendisk, we must also flush out any remaning requests already queued up. We previously removed the disk, but didn't flush it, causing oops:es when removing a card in the middle of a transfer. Signed-off-by: Pierre Ossman commit 077df884835ebf2b5db16aacd9a24691d89902a0 Author: Pierre Ossman Date: Wed Nov 8 23:06:35 2006 +0100 mmc: sdhci high speed support The SDHCI spec implies that is is incorrect to set a clock frequency above 25 MHz without setting the high speed bit. Signed-off-by: Pierre Ossman commit 7ccd266e676a3f0c6f8f897f58b684cac3dd1650 Author: Pierre Ossman Date: Wed Nov 8 23:03:10 2006 +0100 mmc: Support for high speed SD cards Modern SD cards support a clock speed of 50 MHz. Make sure we test for this capability and do the song and dance required to activate it. Activating high speed support actually modifies the TRAN_SPEED field of the CSD. But as the spec says that the cards must report 50 MHz, we might as well skip re-reading the CSD. Signed-off-by: Pierre Ossman commit 73778120c4088a0a7b59c4c378904f7a230b4820 Author: Pierre Ossman Date: Sun Oct 22 22:13:10 2006 +0200 mmc: Fix mmc_delay() function Several fixes for mmc_delay(): * Repair if-clause that was supposed to detect sub-hz delays. * Change yield() to cond_resched() as yield() no longer has the semantics we desire. * mmc_delay() is used to guarantee protocol delays, so we cannot return early (i.e. use _interruptable). Based on patch by Amol Lad. Signed-off-by: Pierre Ossman commit e45a1bd20fa5b920901879e85cdf5eda21f78d7c Author: Philip Langdale Date: Sun Oct 29 10:14:19 2006 +0100 mmc: Add support for mmc v4 wide-bus modes This change adds support for the mmc4 4-bit wide-bus mode. The mmc4 spec defines 8-bit and 4-bit transfer modes. As we do not support any 8-bit hardware, this patch only adds support for the 4-bit mode, but it can easily be built upon when the time comes. The 4-bit mode is electrically compatible with SD's 4-bit mode but the procedure for turning it on is different. This patch implements only the essential parts of the procedure as defined by the spec. Two additional steps are recommended but not compulsory. I am documenting them here so that there's a record. 1) A bus-test mechanism is implemented using dedicated mmc commands which allow for testing the functionality of the data bus at the electrical level. This is pretty paranoid and they way the commands work is not compatible with the mmc subsystem (they don't set valid CRC values). 2) MMC v4 cards can indicate they would like to draw more than the default amount of current in wide-bus modes. We currently will never switch the card into a higher draw mode. Supposedly, allowing the card to draw more current will let it perform better, but the specs seem to indicate that the card will function correctly without the mode change. Empirical testing supports this interpretation. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit bce40a36de574376f41f1ff3c4d212a7da2a3c90 Author: Philip Langdale Date: Sat Oct 21 12:35:02 2006 +0200 [PATCH] mmc: Add support for mmc v4 high speed mode This adds support for the high-speed modes defined by mmc v4 (assuming the host controller is up to it). On a TI sdhci controller, it improves read speed from 1.3MBps to 2.3MBps. The TI controller can only go up to 24MHz, but everything helps. Another person has taken this basic patch and used it on a Nokia 770 to get a bigger boost because that controller can run at 48MHZ. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit e520a36de2f7985df5ef2e84a9f6d2608ecc6f25 Author: Milan Svoboda Date: Fri Dec 1 11:36:41 2006 +0100 [ARM] 3958/1: add platform device (pxa2xx-udc)to ixp4xx Create include/asm-arm/arch-ixp4xx/udc.h and add platfrom device ixp4xx_udc_device into arch/arm/mach-ixp4xx/common.c. This allows us to use pxa2xx-udc on the ixp4xx platfrom. Both pxa2xx and ixp4xx use the same device controller. Signed-off-by:Milan Svoboda Signed-off-by: Russell King commit 9c9c26188ff9fa5f44ba5a00e01b54b539f83d1d Author: Marcin Juszkiewicz Date: Thu Nov 16 22:39:10 2006 +0100 trivial change for mmc/Kconfig: MMC_PXA does not mean only PXA255 PXA MMC driver supports not only PXA255 but also PXA250 and newer ones Signed-off-by: Marcin Juszkiewicz Signed-off-by: Pierre Ossman commit c5cb431d27237937e1b04a888bf2f8863f06fa2d Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:42:39 2006 +0100 Make general code cleanups This patch is part of Juha Yrjola's and Komal Shah's earlier patch to make general code cleanups Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Komal Shah yahoo.com> Signed-off-by: Pierre Ossman commit f4204fdf05e70cdbff1f657e3ed78eddd3d6267f Author: Tony Lindgren tony Date: Sat Nov 11 23:41:54 2006 +0100 Add MMC_CAP_{MULTIWRITE,BYTEBLOCK} flags This patch is part of Tony Lindgren's earlier patch to add MMC_CAP_{MULTIWRITE,BYTEBLOCK} flags in omap.c Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Tony Lindgren atomide.com> Signed-off-by: Pierre Ossman commit 81ca70343f4d85637ac19b529dbcccd1db69a41d Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:39:20 2006 +0100 Platform device error handling cleanup This patch is part of Juha Yrjola's earlier patch to add platform device error handling and a BUG_ON to verify if host == NULL Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit 0551f4df35694c7f89e00da461d7bee9769f016f Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:38:36 2006 +0100 Move register definitions away from the header file This patch is part of Juha Yrjola's earlier patch to move register definitions away from the header file and the header file is removed. Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit 3342ee8bfa9c4453208766eb8ad61ef65241a091 Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:36:52 2006 +0100 Change OMAP_MMC_{READ,WRITE} macros to use the host pointer This patch is part of Juha Yrjola's earlier patch to change OMAP_MMC_{READ,WRITE} macros to use the host pointer Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit 89783b1e44d3a6fc63be911468e09494ebbba3e3 Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:36:01 2006 +0100 Replace base with virt_base and phys_base This patch is part of Juha Yrjola's earlier patch to replace base with virt_base and phys_base Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit ab7aefd0b38297e6d2d71f43e8f81f9f4a36cdae Author: David Brownell Date: Sun Nov 12 17:55:30 2006 -0800 mmc: constify mmc_host_ops vectors Now that mmc_host_ops can be constified, update the various drivers to constify those method tables and shrink the writable data segment. Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 87598a2bd4c4ed19b91ef163f76297f305007304 Author: Christoph Hellwig Date: Mon Nov 13 20:23:52 2006 +0100 mmc: remove kernel_thread() Replace kernel_thread() with kthread_run()/kthread_stop(). Signed-off-by: Christoph Hellwig Signed-off-by: Pierre Ossman commit 69c5eccd164200a17b5a24e594b37958d39d2933 Author: Andrew Victor Date: Fri Dec 1 15:53:20 2006 +0100 [ARM] 3966/1: AT91: RM9200 device data update This patch contains various updates the at91rm9200_devices.c file: * Consistent naming of resources and platform_devices. * PCMCIA/Compact Flash: Configuration of the memory controller moved out of the driver and into this file. * MMC: Enable the VCC pin (if one is configured) * MMC: Enable the internal pullups on the I/O pins. * NAND: Configuration of the memory controller moved out of the driver and into this file. * Added TWI/I2C resources. * The names of some of the CONFIG_ variables were changed. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 58a0cd7887cd689ae42540dd12b3b3131abfbe6c Author: Andrew Victor Date: Fri Dec 1 14:51:13 2006 +0100 [ARM] 3963/1: AT91: Update configuration files A number of configuration file changes. These are mainly to replace references to ARCH_AT91RM9200 and ARCH_AT91SAM9261 with the common/generic ARCH_AT91. That way we don't need to mention every specific AT91 processor explicitly. Also adds the configuration option for AT91SAM9260-EK and AT91SAM9261-EK boards. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 022cbd7376fcdf030fe821636f1c910c45a9356a Author: Andrew Victor Date: Fri Dec 1 14:38:59 2006 +0100 [ARM] 3961/2: AT91: Support for Atmel AT91SAM9261-EK board This patch adds support for the Atmel AT91SAM9261-EK board. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b85a8914033d81077e8276df1956bf3307bb31bd Author: Andrew Victor Date: Fri Dec 1 14:37:56 2006 +0100 [ARM] 3962/1: AT91: Support for Atmel AT91SAM9260-EK board This patch adds support for the Atmel AT91SAM9260-EK board. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2024c39dbba4d036f0b16daf530ad5f4416fb344 Author: Lennert Buytenhek Date: Fri Dec 1 16:02:40 2006 +0100 [ARM] 3965/1: ixp2000: fix handling of pci master aborts The master abort check in ixp2000_pci_read_config() recently started failing due to the compiler optimising out the read access following the clearing of pci_master_aborts. Mark pci_master_aborts volatile to force the compiler to reload it on every use. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 5283304bdcb4af47c46280ac21100d037d31fcf0 Author: Lennert Buytenhek Date: Fri Dec 1 15:15:55 2006 +0100 [ARM] 3964/1: ep93xx: add ads sphere support Add initial board support for the ADS Sphere board. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 05043d08045271eb5655308371dd285a852ef855 Author: Andrew Victor Date: Fri Dec 1 11:51:19 2006 +0100 [ARM] 3960/1: AT91: Final SAM9 intergration patches. This patch includes a number of small changes for integrating the AT91SAM9261 and AT91SAM0260 support. * Can only select support for one AT91 processor at a time. * Remove most of the remaining static memory mapping for the AT91RM9200. * Reserve 1Mb of memory below the IO for mapping the internal SRAM and any custom board-specific devices (ie, FPGA). * The SAM9260 has more serial ports, so increase the maximum to 7. * Define the standard chipselect addresses, and define other addresses relative to those. * CLOCK_TICK_RATE is different on the SAM926x's. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit d481f86449ccd66314b700c78b3a79168df80d02 Author: Andrew Victor Date: Fri Dec 1 11:27:31 2006 +0100 [ARM] 3959/1: AT91: Support for SAM9 USB and HCK clocks The bits used to select the USB clocks are different on the SAM9's. Add support for the HCK clocks on the AT91SAM9261. Patch from Patrice Vilchez & Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit fcc63716a5ee93ec3d1043890e38753d53313b80 Author: Andrew Victor Date: Fri Dec 1 10:55:15 2006 +0100 [ARM] 3957/1: AT91: Physically mapped flash on DK and EK boards This patch converts the old CONFIG_MTD_PHYSMAP_ options to the new physmap API by creating a physmap platform device for the NOR flash found on the Atmel AT91RM9200-DK and AT91RM9200-EK boards. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 330d741b0632960e7853a2cb3b2899e94e696f12 Author: Andrew Victor Date: Fri Dec 1 10:31:29 2006 +0100 [ARM] 3956/1: AT91: Carmeva board update This patch updates the Carmeva board support: * Specify the MMC Write-protect and Detection pins. * Add configuration of SPI devices. Patch from Peer Georgi. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit d100f25956e8626afeafbb38558ca8c58df1cb6b Author: Andrew Victor Date: Fri Dec 1 10:15:04 2006 +0100 [ARM] 3955/1: AT91: Clear timer interrupt when resuming Attached is a patch for at91rm9200_time.c which removes the 'BUG: soft lockup detected on CPU#0!' message when exiting suspended states. Patch from Savin Zlobec Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 86ad76bb2db7029343f681359c4b328fd8c36ae8 Author: Andrew Victor Date: Thu Nov 30 16:45:01 2006 +0100 [ARM] 3953/1: AT91: SAM9 platform devices This patch includes the pin initialization, resource definition and registration of the platform_devices for the SAM9260 and SAM9261 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 1a0ed732afdbd4b960a4b93f78fddc71b8076e61 Author: Andrew Victor Date: Fri Dec 1 09:04:47 2006 +0100 [ARM] 3949/2: AT91: SAM9 timer driver Add support for the timer on the Atmel AT91SAM9261 and AT91SAM9260 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit bb37b94c68e7b37eecea8576039ae9396ca07839 Author: Jens Axboe Date: Fri Dec 1 10:42:33 2006 +0100 [BLOCK] Cleanup unused variable passing - ->init_queue() does not need the elevator passed in - ->put_request() is a hot path and need not have the queue passed in - cfq_update_io_seektime() does not need cfqd passed in Signed-off-by: Jens Axboe commit 0e75f9063f5c55fb0b0b546a7c356f8ec186825e Author: Mike Christie Date: Fri Dec 1 10:40:55 2006 +0100 [PATCH] block: support larger block pc requests This patch modifies blk_rq_map/unmap_user() and the cdrom and scsi_ioctl.c users so that it supports requests larger than bio by chaining them together. Signed-off-by: Mike Christie Signed-off-by: Jens Axboe commit ad2d7225709b11da47e092634cbdf0591829ae9c Author: Mike Christie Date: Fri Dec 1 10:40:20 2006 +0100 [PATCH] block: kill length alignment test in bio_map_user() The target mode support is mapping in bios using bio_map_user. The current targets do not need their len to be aligned with a queue limit so this check is causing some problems. Note: pointers passed into the kernel are properly aligned by usersapace tgt code so the uaddr check in bio_map_user is ok. The major user, blk_bio_map_user checks for the len before mapping so it is not affected by this patch. And the semi-newly added user blk_rq_map_user_iov has been failing out when the len is not aligned properly so maybe people have been good and not sending misaligned lens or that path is not used very often and this change will not be very dangerous. st and sg do not check the length and we have not seen any problem reports from those wider used paths so this patch should be fairly safe - for mm and wider testing at least. Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit be1c63411addba3ad750eb4fdfc50b97bc82825e Author: Olaf Kirch Date: Fri Dec 1 10:39:12 2006 +0100 [PATCH] blktrace: add timestamp message This adds a new timestamp message to blktrace, giving the timeofday when we starting tracing. This helps user space correlate block trace events with eg an application strace. This requires a (compatible) update to blkparse. The changed blkparse is still able to process traces generated by older kernels, and older versions of blkparse should silently ignore the new records (because they have a pid of 0). Signed-off-by: Olaf Kirch Signed-off-by: Jens Axboe commit b7dc96d75309346c1213875be68fdbbec92da5e7 Author: Russell King Date: Thu Nov 30 20:39:18 2006 +0000 [ARM] Clean up discontigmem support Most architectures have fairly simple discontiguous memory - a simple set of successive regions each containing some memory. These can be described simply as a log2 of their maximum size, along with the base address of the first region and the number of regions. The base address is already described by PHYS_PFN_OFFSET, and the number of regions via the MAX_NUMNODES and the number of online nodes. If we then supply the log2 of their maximum size, all the other discontigmem macros can move into generic code. There is one exception: lh7a40x seems to have a more complicated setup; this is left alone. Signed-off-by: Russell King commit eaa595cb881bba043e79638c37cb357f296a7714 Author: Andrew Victor Date: Thu Nov 30 16:23:18 2006 +0100 [ARM] 3952/1: AT91: Hardware headers for SAM9 perhipherals This patch adds definitions for the new peripherals integrated in the AT91SAM9260 and AT91SAM9261 processors: ECC, LCD, RSTC, RTT, SHDWC, WDT, MATRIX, SDRAMC, SMC. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 55d8baee4a0b4709061104f7a56f53a310de76ac Author: Andrew Victor Date: Thu Nov 30 17:16:43 2006 +0100 [ARM] 3954/1: AT91: Update drivers for new headers This patch updates the drivers (and other files) which include the hardware headers. This fixes the breakage introduced in patches 3950/1 and 3951/1 (those patches were getting big). The AVR32 architecture uses the same serial driver and had its own copy of at91rm9200_pdc.h. Renamed it to at91_pdc.h Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a5c474580b8b7cc8b7b2cca9a2bd27ff5c065e70 Author: Andrew Victor Date: Thu Nov 30 16:08:49 2006 +0100 [ARM] 3951/1: AT91: Rename user peripheral header files Most of the AT91RM9200 user peripherals are also integrated into the Atmel SAM9 range of processors. This patch renames the headers from at91rm9200_xx.h to at91_xx.h to indicate they're not at91rm9200-specific. The new SAM9-specific registers and register bits have also been defined. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 6171de8f57e80873436345a9c7ba8bae800e577b Author: Andrew Victor Date: Thu Nov 30 14:34:53 2006 +0100 [ARM] 3950/1: AT91: Split up system header file The AT91RM9200 system header file (at91rm9200_sys.h) has been split into separate header files for each peripheral. This was necessary since some of the system peripherals are also used on AT91SAM9260 and AT91SAM9261. The new SAM9-specific register bits have also been defined. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 62c1660d908c44663c63ad6c679f6afa1d33c5f6 Author: Andrew Victor Date: Thu Nov 30 12:27:38 2006 +0100 [ARM] 3948/1: AT91: Initial support for AT91SAM9261 and AT91SAM9260 This patch adds the initial support for the newer Atmel AT91SAM9261 and AT91SAM9260 processors. The code is based on, and makes use of, the existing AT91RM9200 support. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 79da7a610a1f81b51a1a77e2ac27438d7a5c5124 Author: Andrew Victor Date: Thu Nov 30 11:58:14 2006 +0100 [ARM] 3947/1: AT91: cpu_is_XXX macro's This patch replaces the arch_identify() in system.h with a set of cpu_is_XXX() macro's. This allows for compile-time checking of the target AT91 processor. Original patch from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 1f4fd0a0d28fabf965815755f1a74ef91dfb5ca6 Author: Andrew Victor Date: Thu Nov 30 10:01:47 2006 +0100 [ARM] 3946/1: AT91: at91_arch_reset and at91_extern_irq The external interrupt sources are different on the various AT91 processors. This patch introduces the global 'at91_extern_irq' variable that contains a bitset of the available external interrupt sources. The processor reset mechanism also differs on the various AT91 processors. This patch also adds a global 'at91_arch_reset' callback (from system.h) into the processor-specific code to perform the reset. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 20127f6863990e1313178debe8c9cfe32d43b1dc Author: Andrew Victor Date: Thu Nov 30 09:33:53 2006 +0100 [ARM] 3945/1: AT91: Rename devices.c This patch renames the arch/arm/mach-at91rm9200/devices.c file to at91rm9200_devices.c. The file contains AT91RM9200-specific code, so we will need separate files for the SAM9 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 4e4e520fd52cfdcc7232c4762a78016e7656cad2 Author: Russell King Date: Thu Nov 30 22:42:20 2006 +0000 [ARM] Fix Versatile PB initialisation to use .init_machine There's no point having the Versatile PB initialisation using an arch_initcall() and then checking whether it's running on a Versatile PB board - this is what the .init_machine function pointer in the machine description is for. Use it. Signed-off-by: Russell King commit bdbf77d6707a52bdeff223d0a60df12d086d21d7 Merge: 0215ffb... d5d06ff... Author: Wim Van Sebroeck Date: Thu Nov 30 20:22:09 2006 +0100 Merge ../linux-2.6-watchdog-mm commit 33c3de32872ef3c075e4dac04c0de8f86ac39f6f Author: Steven Whitehouse Date: Thu Nov 30 10:14:32 2006 -0500 [GFS2] Don't flush everything on fdatasync The gfs2_fsync() function was doing a journal flush on each and every call. While this is correct, its also a lot of overhead. This patch means that on fdatasync flushes we rely on the VFS to flush the data for us and we don't do a journal flush unless we really need to. We have to do a journal flush for stuffed files though because they have the data and the inode metadata in the same block. Journaled files also need a journal flush too of course. Signed-off-by: Steven Whitehouse commit aac1a3c77a46c2d06f297641760dd740ac2a84af Author: Steven Whitehouse Date: Thu Nov 30 10:02:19 2006 -0500 [GFS2] Add a comment about reading the super block The comment explains why we use the bio functions to read the super block. Signed-off-by: Steven Whitehouse Cc: Andrew Morton Cc: Srinivasa Ds commit 0da3585e1ef650d3224b4d6f9799558d1d99fa1e Author: Srinivasa Ds Date: Thu Nov 30 15:04:55 2006 +0530 [GFS2] Mount problem with the GFS2 code While mounting the gfs2 filesystem,our test team had a problem and we got this error message. ======================================================= GFS2: fsid=: Trying to join cluster "lock_nolock", "dasde1" GFS2: fsid=dasde1.0: Joined cluster. Now mounting FS... GFS2: not a GFS2 filesystem GFS2: fsid=dasde1.0: can't read superblock: -22 ========================================================================== On debugging further we found that problem is while reading the super block(gfs2_read_super) and comparing the magic number in it. When I replace the submit_bio() call(present in gfs2_read_super) with the sb_getblk() and ll_rw_block(), mount operation succeded. On further analysis we found that before calling submit_bio(), bio->bi_sector was set to "sector" variable. This "sector" variable has the same value of bh->b_blocknr(block number). Hence there is a need to multiply this valuwith (blocksize >> 9)(9 because,sector size 2^9,samething happens in ll_rw_block also, before calling submit_bio()). So I have developed the patch which solves this problem. Please let me know your comments. ================================================================ Signed-off-by: Srinivasa DS Signed-off-by: Steven Whitehouse commit 77386e1f662f104680da7885d32e068e4b11b882 Author: Steven Whitehouse Date: Wed Nov 29 10:41:49 2006 -0500 [GFS2] Remove gfs2_check_acl() As pointed out by Adrian Bunk, the gfs2_check_acl() function is no longer used. This patch removes it and renamed gfs2_check_acl_locked() to gfs2_check_acl() since we only need one variant of that function now. Signed-off-by: Steven Whitehouse Cc: Adrian Bunk commit 57adf7eede38d315e0e328c52484d6a596e9a238 Author: Ryusuke Konishi Date: Wed Nov 29 09:33:48 2006 -0500 [DLM] fix format warnings in rcom.c and recoverd.c This fixes the following gcc warnings generated on the architectures where uint64_t != unsigned long long (e.g. ppc64). fs/dlm/rcom.c:154: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'uint64_t' fs/dlm/rcom.c:154: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'uint64_t' fs/dlm/recoverd.c:48: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' fs/dlm/recoverd.c:202: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' fs/dlm/recoverd.c:210: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' Signed-off-by: Ryusuke Konishi Signed-off-by: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 0ac230699a0f3f0d15ad4e4ad99446dac5b4a21f Author: Randy Dunlap Date: Tue Nov 28 22:29:19 2006 -0800 [GFS2] lock function parameter Fix function parameter typing: fs/gfs2/glock.c:100: warning: function declaration isn't a prototype Signed-off-by: Randy Dunlap Signed-off-by: Steven Whitehouse commit 98f176fb32f33795b6d0f83856008b932123ab38 Author: David Teigland Date: Mon Nov 27 13:19:28 2006 -0600 [DLM] don't accept replies to old recovery messages We often abort a recovery after sending a status request to a remote node. We want to ignore any potential status reply we get from the remote node. If we get one of these unwanted replies, we've often moved on to the next recovery message and incremented the message sequence counter, so the reply will be ignored due to the seq number. In some cases, we've not moved on to the next message so the seq number of the reply we want to ignore is still correct, causing the reply to be accepted. The next recovery message will then mistake this old reply as a new one. To fix this, we add the flag RCOM_WAIT to indicate when we can accept a new reply. We clear this flag if we abort recovery while waiting for a reply. Before the flag is set again (to allow new replies) we know that any old replies will be rejected due to their sequence number. We also initialize the recovery-message sequence number to a random value when a lockspace is first created. This makes it clear when messages are being rejected from an old instance of a lockspace that has since been recreated. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 1babdb453138f17b8ed3d1d5711089c4e2fa5ace Author: David Teigland Date: Mon Nov 27 13:18:41 2006 -0600 [DLM] fix size of STATUS_REPLY message When the not_ready routine sends a "fake" status reply with blank status flags, it needs to use the correct size for a normal STATUS_REPLY by including the size of the would-be config parameters. We also fill in the non-existant config parameters with an invalid lvblen value so it's easier to notice if these invalid paratmers are ever being used. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit aed3255f2267e2d1d95b9cf7f2995ce24e6c873b Author: Ryusuke Konishi Date: Tue Nov 28 02:53:22 2006 +0900 [GFS2] fs/gfs2/log.c:log_bmap() fix printk format warning Fix a printk format warning in fs/gfs2/log.c: fs/gfs2/log.c:322: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'sector_t' Signed-off-by: Ryusuke Konishi Signed-off-by: Steven Whitehouse commit 2896ee37ccc1f9acb244c9b02becb74a43661009 Author: David Teigland Date: Mon Nov 27 11:31:22 2006 -0600 [DLM] fix add_requestqueue checking nodes list Requests that arrive after recovery has started are saved in the requestqueue and processed after recovery is done. Some of these requests are purged during recovery if they are from nodes that have been removed. We move the purging of the requests (dlm_purge_requestqueue) to later in the recovery sequence which allows the routine saving requests (dlm_add_requestqueue) to avoid filtering out requests by nodeid since the same will be done by the purge. The current code has add_requestqueue filtering by nodeid but doesn't hold any locks when accessing the list of current nodes. This also means that we need to call the purge routine when the lockspace is being shut down since the add routine will not be rejecting requests itself any more. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit dcf3dd852f554bb0016aa23892596717cc123a26 Author: Steven Whitehouse Date: Mon Nov 27 10:12:05 2006 -0500 [GFS2] Fix recursive locking in gfs2_getattr The readdirplus NFS operation can result in gfs2_getattr being called with the glock already held. In this case we do not want to try and grab the lock again. This fixes Red Hat bugzilla #215727 Signed-off-by: Steven Whitehouse commit 300c7d75f3a5e8edd3e390ccd56b808f3fb14e33 Author: Steven Whitehouse Date: Mon Nov 27 09:55:28 2006 -0500 [GFS2] Fix recursive locking in gfs2_permission Since gfs2_permission may be called either from the VFS (in which case we need to obtain a shared glock) or from GFS2 (in which case we already have a glock) we need to test to see whether or not a lock is required. The original test was buggy due to a potential race. This one should be safe. This fixes Red Hat bugzilla #217129 Signed-off-by: Steven Whitehouse commit cb4c03131836a55bf95e1c165409244ac6b4f39f Author: Steven Whitehouse Date: Thu Nov 23 11:16:32 2006 -0500 [GFS2] Reduce number of arguments to meta_io.c:getbuf() Since the superblock and the address_space are determined by the glock, we might as well just pass that as the argument since all the callers already have that available. Signed-off-by: Steven Whitehouse commit a25311c8e0b7071b129ca9a9e49e22eeaf620864 Author: Steven Whitehouse Date: Thu Nov 23 11:06:35 2006 -0500 [GFS2] Move gfs2_meta_syncfs() into log.c By moving gfs2_meta_syncfs() into log.c, gfs2_ail1_start() can be made static. Signed-off-by: Steven Whitehouse commit b004157ab5b374a498a5874cda68c389219d23e7 Author: Steven Whitehouse Date: Thu Nov 23 10:51:34 2006 -0500 [GFS2] Fix journal flush problem This fixes a bug which resulted in poor performance due to flushing the journal too often. The code path in question was via the inode_go_sync() function in glops.c. The solution is not to flush the journal immediately when inodes are ejected from memory, but batch up the work for glockd to deal with later on. This means that glocks may now live on beyond the end of the lifetime of their inodes (but not very much longer in the normal case). Also fixed in this patch is a bug (which was hidden by the bug mentioned above) in calculation of the number of free journal blocks. The gfs2_logd process has been altered to be more responsive to the journal filling up. We now wake it up when the number of uncommitted journal blocks has reached the threshold level rather than trying to flush directly at the end of each transaction. This again means doing fewer, but larger, log flushes in general. Signed-off-by: Steven Whitehouse commit ae619320b22f8e0b2bbe4a3a5ac2f9ccf08d7ec2 Author: Steven Whitehouse Date: Wed Nov 22 11:28:47 2006 -0500 [GFS2] mark_inode_dirty after write to stuffed file Writes to stuffed files were not being marked dirty correctly. Signed-off-by: Steven Whitehouse commit 28626e2078571c4b776a17eaa486bbd2b7dfe2cd Author: Steven Whitehouse Date: Wed Nov 22 11:13:21 2006 -0500 [GFS2] Fix glock ordering on inode creation The lock order here should be parent -> child rather than numeric order. Signed-off-by: Steven Whitehouse commit 1a14d3a68f04527546121eb7b45187ff6af63151 Author: Steven Whitehouse Date: Mon Nov 20 10:37:45 2006 -0500 [GFS2] Simplify glops functions The go_sync callback took two flags, but one of them was set on every call, so this patch removes once of the flags and makes the previously conditional operations (on this flag), unconditional. The go_inval callback took three flags, each of which was set on every call to it. This patch removes the flags and makes the operations unconditional, which makes the logic rather more obvious. Two now unused flags are also removed from incore.h. Signed-off-by: Steven Whitehouse commit fa2ecfc5e11b12f25b67f9c84ac6b0e74a6a0115 Author: Steven Whitehouse Date: Mon Nov 20 10:04:49 2006 -0500 [GFS2] Fix Kconfig wrt CRC32 GFS2 requires the CRC32 library function. This was reported by Toralf Förster. Cc: Toralf Förster Signed-off-by: Steven Whitehouse commit 5e7d65cd9d3819512b059f4260de0119b985454c Author: Steven Whitehouse Date: Fri Nov 17 12:27:44 2006 -0500 [GFS2] Make sentinel dirents compatible with gfs1 When deleting directory entries, we set the inum.no_addr to zero in a dirent when its the first dirent in a block and thus cannot be merged into the previous dirent as is the usual case. In gfs1, inum.no_formal_ino was used instead. This patch changes gfs2 to set both inum.no_addr and inum.no_formal_ino to zero. It also changes the test from just looking at inum.no_addr to look at both inum.no_addr and inum.no_formal_ino and a sentinel is now considered to be a dirent in which _either_ (or both) of them is set to zero. This resolves Red Hat bugzillas: #215809, #211465 Signed-off-by: Steven Whitehouse commit dcd2479959c79d44f5dd77e71672e70f1f8b1f06 Author: Steven Whitehouse Date: Thu Nov 16 11:08:16 2006 -0500 [GFS2] Remove unused function from inode.c The gfs2_glock_nq_m_atime function is unused in so far as its only ever called with num_gh = 1, and this falls through to the gfs2_glock_nq_atime function, so we might as well call that directly. Signed-off-by: Steven Whitehouse commit 175011cf6edddea32e5f5e0e04434104cc348de9 Author: Steven Whitehouse Date: Thu Nov 16 10:58:55 2006 -0500 [GFS2] Remove unused sysfs files Four of the sysfs files are unused and can therefore be removed. Signed-off-by: Steven Whitehouse commit 4cf1ed8144e740de27c6146c25d5d7ea26679cc5 Author: Steven Whitehouse Date: Wed Nov 15 15:21:06 2006 -0500 [GFS2] Tidy up bmap & fix boundary bug This moves the locking for bmap into the bmap function itself rather than using a wrapper function. It also fixes a bug where the boundary flag was set on the wrong bh. Also the flags on the mapped bh are reset earlier in the function to ensure that they are 100% correct on the error path. Signed-off-by: Steven Whitehouse commit ab923031ceb95ec50ef33ccadf28663c660aa94c Author: Steven Whitehouse Date: Wed Nov 15 15:17:03 2006 -0500 [GFS2] Fix memory allocation in glock.c Change from GFP_KERNEL to GFP_NOFS as this was causing a slow down when trying to push inodes from cache. Signed-off-by: Steven Whitehouse commit b98c95af01c10827e3443157651eb469071391a3 Author: Patrick Caulfield Date: Wed Nov 15 12:29:24 2006 -0500 [DLM] Fix DLM config The attached patch fixes the DLM config so that it selects the chosen network transport. It should fix the bug where DLM can be left selected when NET gets unselected. This incorporates all the comments received about this patch. Cc: Adrian Bunk Cc: Andrew Morton Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 6f90a8b1b87f97144911790390d56f695b59db9b Author: David Teigland Date: Fri Nov 10 14:16:27 2006 -0600 [DLM] clear sbflags on lock master RH BZ 211622 The ALTMODE flag can be set in the lock master's copy of the lock but never cleared, so ALTMODE will also be returned in a subsequent conversion of the lock when it shouldn't be. This results in lock_dlm incorrectly switching to the alternate lock mode when returning the result to gfs which then asserts when it sees the wrong lock state. The fix is to propagate the cleared sbflags value to the master node when the lock is requested. QA's d_rwrandirectlarge test triggers this bug very quickly. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 4b77f2c93d052adca8cc8690b9b5e7f8798f4ddd Author: David Teigland Date: Wed Nov 1 09:31:48 2006 -0600 [DLM] do full recover_locks barrier Red Hat BZ 211914 The previous patch "[DLM] fix aborted recovery during node removal" was incomplete as discovered with further testing. It set the bit for the RS_LOCKS barrier but did not then wait for the barrier. This is often ok, but sometimes it will cause yet another recovery hang. If it's a new node that also has the lowest nodeid that skips the barrier wait, then it misses the important step of collecting and reporting the barrier status from the other nodes (which is the job of the low nodeid in the barrier wait routine). Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 2cdc98aaf072d573df10c503d3b3b0b74e2a6d06 Author: David Teigland Date: Tue Oct 31 11:56:08 2006 -0600 [DLM] fix stopping unstarted recovery Red Hat BZ 211914 When many nodes are joining a lockspace simultaneously, the dlm gets a quick sequence of stop/start events, a pair for adding each node. dlm_controld in user space sends dlm_recoverd in the kernel each stop and start event. dlm_controld will sometimes send the stop before dlm_recoverd has had a chance to take up the previously queued start. The stop aborts the processing of the previous start by setting the RECOVERY_STOP flag. dlm_recoverd is erroneously clearing this flag and ignoring the stop/abort if it happens to take up the start after the stop meant to abort it. The fix is to check the sequence number that's incremented for each stop/start before clearing the flag. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 91c0dc93a1a6bbdd79707ed311e48b4397df177f Author: David Teigland Date: Tue Oct 31 11:56:01 2006 -0600 [DLM] fix aborted recovery during node removal Red Hat BZ 211914 With the new cluster infrastructure, dlm recovery for a node removal can be aborted and restarted for a node addition. When this happens, the restarted recovery isn't aware that it's doing recovery for the earlier removal as well as the addition. So, it then skips the recovery steps only required when nodes are removed. This can result in locks not being purged for failed/removed nodes. The fix is to check for removed nodes for which recovery has not been completed at the start of a new recovery sequence. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d4400156d415540086c34a06e5d233122d6bf56a Author: David Teigland Date: Tue Oct 31 11:55:56 2006 -0600 [DLM] fix requestqueue race Red Hat BZ 211914 There's a race between dlm_recoverd (1) enabling locking and (2) clearing out the requestqueue, and dlm_recvd (1) checking if locking is enabled and (2) adding a message to the requestqueue. An order of recoverd(1), recvd(1), recvd(2), recoverd(2) will result in a message being left on the requestqueue. The fix is to have dlm_recvd check if dlm_recoverd has enabled locking after taking the mutex for the requestqueue and if it has processing the message instead of queueing it. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 435618b75b82b5ee511cc01fcdda9c44adb2f4bd Author: David Teigland Date: Thu Nov 2 09:45:56 2006 -0600 [DLM] status messages ping-pong between unmounted nodes Red Hat BZ 213682 If two nodes leave the lockspace (while unmounting the fs in the case of gfs) after one has sent a STATUS message to the other, STATUS/STATUS_REPLY messages will then ping-pong between the nodes when neither of them can find the lockspace in question any longer. We kill this by not sending another STATUS message when we get a STATUS_REPLY for an unknown lockspace. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 520698096436f7da5b9142e63e3bed5580c5f14e Author: David Teigland Date: Thu Nov 2 09:49:02 2006 -0600 [DLM] res_recover_locks_count not reset when recover_locks is aborted Red Hat BZ 213684 If a node sends an lkb to the new master (RCOM_LOCK message) during recovery and recovery is then aborted on both nodes before it gets a reply, the res_recover_locks_count needs to be reset to 0 so that when the subsequent recovery comes along and sends the lkb to the new master again the assertion doesn't trigger that checks that counter is zero. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit fdda387f73947e6ae511ec601f5b3c6fbb582aac Author: Patrick Caulfield Date: Thu Nov 2 11:19:21 2006 -0500 [DLM] Add support for tcp communications The following patch adds a TCP based communications layer to the DLM which is compile time selectable. The existing SCTP layer gives the advantage of allowing multihoming, whereas the TCP layer has been heavily tested in previous versions of the DLM and is known to be robust and therefore can be used as a baseline for performance testing. Signed-off-by: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 61057c6bb3a3d14cf2bea6ca20dc6d367e1d852e Author: Russell Cattelan Date: Thu Nov 9 11:42:33 2006 -0500 [GFS2] Remove unused zero_readpage from stuffed_readpage Stuffed files only consist of a maximum of (gfs2 block size - sizeof(struct gfs2_dinode)) bytes. Since the gfs2 block size is always less than page size, we will never see a call to stuffed_readpage for anything other than the first page in the file. Signed-off-by: Russell Cattelan Signed-off-by: Steven Whitehouse commit 7020933156ac2a8a7386314933e49948bf0438f7 Author: Russell Cattelan Date: Thu Nov 9 11:28:08 2006 -0500 [GFS2] Fix race in logging code The log lock is dropped prior to io submittion, but this exposes a hole in which the log data structures may be going away due to a truncate. Store the buffer head in a local pointer prior to dropping the lock and relay on the buffer_head lock for consitency on the buffer head. Signed-Off-By: Russell Cattelan Signed-off-by: Steven Whitehouse commit 9e2dbdac3df300516ffdd9a8631f23164d068a50 Author: Steven Whitehouse Date: Wed Nov 8 15:45:46 2006 -0500 [GFS2] Remove gfs2_inode_attr_in This function wasn't really doing the right thing. There was no need to update the inode size at this point and the updating of the i_blocks field has now been moved to the places where di_blocks is updated. A result of this patch and some those preceeding it is that unlocking a glock is now a much more efficient process, since there is no longer any requirement to copy data from the gfs2 inode into the vfs inode at this point. Signed-off-by: Steven Whitehouse commit e7c698d74fc9e0e76b3086062b0519df3601ff52 Author: Steven Whitehouse Date: Wed Nov 8 13:52:05 2006 -0500 [GFS2] Inode number is constant Since the inode number is constant, we don't need to keep updating it everytime we refresh the other inode fields. Signed-off-by: Steven Whitehouse commit 6b124d8dba1f46c5f2caf3b3159bbe627f75b9b6 Author: Steven Whitehouse Date: Wed Nov 8 12:51:06 2006 -0500 [GFS2] Only set inode flags when required We were setting the inode flags from GFS2's flags far too often, even when they couldn't possibly have changed. This patch reduces the amount of flag setting going on so that we do it only when the inode is read in or when the flags have changed. The create case is covered by the "when the inode is read in" case. This also fixes a bug where we didn't set S_SYNC correctly. Signed-off-by: Steven Whitehouse commit 2ca99501fa5422e84f18333918a503433449e2b5 Author: Steven Whitehouse Date: Wed Nov 8 10:26:54 2006 -0500 [GFS2] Fix page lock/glock deadlock This fixes a race between the glock and the page lock encountered during truncate in gfs2_readpage and gfs2_prepare_write. The gfs2_readpages function doesn't need the same fix since it only uses a try lock anyway, so it will fail back to gfs2_readpage in the case of a potential deadlock. This bug was spotted by Russell Cattelan. Cc: Russell Cattelan Signed-off-by: Steven Whitehouse commit c594d8866460a2710c436839d79f334a0714a2a7 Author: Steven Whitehouse Date: Wed Nov 8 09:01:13 2006 -0500 [GFS2] Remove unused GL_DUMP flag There is no way to set the GL_DUMP flag, and in any case the same thing can be done with systemtap if required for debugging, so this removes it. Signed-off-by: Steven Whitehouse commit f6e58f01e8dc869803b9f73b2aa9d5bc3f32ca05 Author: Steven Whitehouse Date: Tue Nov 7 15:14:58 2006 -0500 [GFS2] Don't copy meta_header for rgrp in and out The meta_header for an ondisk rgrp never changes, so there is no point copying it in and back out to disk. Also there is no reason to keep a copy for each rgrp in memory. The code already checks to ensure that the header is correct before it calls the routine to copy the data in, so that we don't even need to check whether its correct on disk in the functions in ondisk.c Signed-off-by: Steven Whitehouse commit 294caaa3b8304c0a14c5039691caf23363bd9369 Author: Steven Whitehouse Date: Thu Nov 2 11:59:28 2006 -0500 [GFS2] Tidy up 0 initialisations in inode.c We don't need to use endian conversions for 0 initialisations when creating a new on-disk inode. Cc: Christoph Hellwig Cc: Alexey Dobriyan Signed-off-by: Steven Whitehouse commit bfded27ba010d1c3b0aa3843f97dc9b80de751be Author: Steven Whitehouse Date: Wed Nov 1 16:05:38 2006 -0500 [GFS2] Shrink gfs2_inode (8) - i_vn This shrinks the size of the gfs2_inode by 8 bytes by replacing the version counter with a one bit valid/invalid flag. Signed-off-by: Steven Whitehouse commit a9583c7983cbba9726bfe64ee46613d654fc9e26 Author: Steven Whitehouse Date: Wed Nov 1 20:09:14 2006 -0500 [GFS2] Shrink gfs2_inode (7) - di_payload_format This is almost never used. Its there for backward compatibility with GFS1. It doesn't need its own field since it can always be calculated from the inode mode & flags. This saves a bit more space in the gfs2_inode. Signed-off-by: Steven Whitehouse commit 1a7b1eed5802502fd649e04784becd58557fdcf1 Author: Steven Whitehouse Date: Wed Nov 1 14:35:17 2006 -0500 [GFS2] Shrink gfs2_inode (6) - di_atime/di_mtime/di_ctime Remove the di_[amc]time fields and use inode->i_[amc]time fields instead. This saves 24 bytes from the gfs2_inode. Signed-off-by: Steven Whitehouse commit 4f56110a00af5fb2e22fbccfcaf944d62cae8fcf Author: Steven Whitehouse Date: Wed Nov 1 14:04:17 2006 -0500 [GFS2] Shrink gfs2_inode (5) - di_nlink Remove the di_nlink field in favour of inode->i_nlink and update the nlink handling to use the proper macros. This saves 4 bytes. Signed-off-by: Steven Whitehouse commit 2933f9254a6af33db25270778c998a42029da668 Author: Steven Whitehouse Date: Wed Nov 1 13:23:29 2006 -0500 [GFS2] Shrink gfs2_inode (4) - di_uid/di_gid Remove duplicate di_uid/di_gid fields in favour of using inode->i_uid/inode->i_gid instead. This saves 8 bytes. Signed-off-by: Steven Whitehouse commit b60623c238b6a819bd04090139704e2cb57a751f Author: Steven Whitehouse Date: Wed Nov 1 12:22:46 2006 -0500 [GFS2] Shrink gfs2_inode (3) - di_mode This removes the duplicate di_mode field in favour of using the inode->i_mode field. This saves 4 bytes. Signed-off-by: Steven Whitehouse commit e7f14f4d094ea1a9ce1953375f5bc1500c760c79 Author: Steven Whitehouse Date: Tue Oct 31 21:45:08 2006 -0500 [GFS2] Shrink gfs2_inode (2) - di_major/di_minor This removes the device numbers from this structure by using inode->i_rdev instead. It also cleans up the code in gfs2_mknod. It results in shrinking the gfs2_inode by 8 bytes. Signed-off-by: Steven Whitehouse commit af339c0241d0dd3b35f9097b4f4999bb22ffe502 Author: Steven Whitehouse Date: Wed Nov 1 10:34:15 2006 -0500 [GFS2] Shrink gfs2_inode (1) - di_header/di_num The metadata header doesn't need to be stored in the incore struct gfs2_inode since its constant, and this patch removes it. Also, there is already a field for the inode's number in the struct gfs2_inode, so we don't need one in struct gfs2_dinode_host as well. This saves 28 bytes of space in the struct gfs2_inode. Signed-off-by: Steven Whitehouse commit 4cc14f0b88bf3e0b508143e091eb5a8dff3e3b9c Author: Steven Whitehouse Date: Tue Oct 31 19:00:24 2006 -0500 [GFS2] Change argument to gfs2_dinode_print Change argument for gfs2_dinode_print in order to prepare for removal of duplicate fields between struct inode and struct gfs2_dinode_host. Signed-off-by: Steven Whitehouse commit ea744d01c6a5acf1f6171b4c6e1658a742063613 Author: Steven Whitehouse Date: Tue Oct 31 15:28:00 2006 -0500 [GFS2] Move gfs2_dinode_in to inode.c gfs2_dinode_in() is only ever called from one place, so move it to that place (in inode.c) and make it static. Signed-off-by: Steven Whitehouse commit 891ea14712da68e282de8583e5fa14f0d3f3731e Author: Steven Whitehouse Date: Tue Oct 31 15:22:10 2006 -0500 [GFS2] Change argument to gfs2_dinode_in This is a preliminary patch to enable the removal of fields in gfs2_dinode_host which are duplicated in struct inode. Signed-off-by: Steven Whitehouse commit 539e5d6b7ae8612c0393fe940d2da5b591318d3d Author: Steven Whitehouse Date: Tue Oct 31 15:07:05 2006 -0500 [GFS2] Change argument of gfs2_dinode_out Everywhere this was called, a struct gfs2_inode was available, but despite that, it was always called with a struct gfs2_dinode as an argument. By making this change it paves the way to start eliminating fields duplicated between the kernel's struct inode and the struct gfs2_dinode. Signed-off-by: Steven Whitehouse commit 9c9ab3d5414653bfe5e5b9f4dfdaab0c6ab17196 Author: Al Viro Date: Fri Oct 13 23:49:23 2006 -0400 [GFS2] gfs2 __user misannotation fix Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit b44b84d765b02f813a67b96bf79e3b5d4d621631 Author: Al Viro Date: Sat Oct 14 10:46:30 2006 -0400 [GFS2] gfs2 misc endianness annotations Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit b62f963e1fdf838fed91faec21228d421a834f2d Author: Al Viro Date: Fri Oct 13 23:46:46 2006 -0400 [GFS2] split and annotate gfs2_quota_change Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit bd209cc017f231e8536550bdab1bf5da93c32798 Author: Al Viro Date: Fri Oct 13 23:43:19 2006 -0400 [GFS2] split and annotate gfs2_statfs_change Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit b5bc9e8b065dbcd4c675e8c158d6e524f221b8e1 Author: Al Viro Date: Fri Oct 13 23:31:55 2006 -0400 [GFS2] split and annotate gfs2_quota Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 629a21e7ecedf779c68dcaa9a186069f57a7c652 Author: Al Viro Date: Fri Oct 13 22:51:24 2006 -0400 [GFS2] split and annotate gfs2_inum Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 1e81c4c3e0f55c95b6278a827262b80debd0dc7e Author: Al Viro Date: Fri Oct 13 22:51:24 2006 -0400 [GFS2] split and annotate gfs_rindex Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit e928a76f959e89884f6186bb6f846c533847d5df Author: Al Viro Date: Fri Oct 13 21:57:23 2006 -0400 [GFS2] split and annotate gfs2_meta_header Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 2a2c98247b822db8df037a56c27201f9d716ac66 Author: Steven Whitehouse Date: Tue Oct 31 14:44:50 2006 -0500 [GFS2] Fix crc32 calculation in recovery.c Commit "[GFS2] split and annotate gfs2_log_head" resulted in an incorrect checksum calculation for log headers. This patch corrects the problem without resorting to copying the whole log header as the previous code used to. Cc: Al Viro Signed-off-by: Steven Whitehouse commit 551676226163379c217e8ec54bd287eab9b8521e Author: Al Viro Date: Fri Oct 13 21:47:13 2006 -0400 [GFS2] split and annotate gfs2_log_head Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit e697264709c86040271cdd7abee781d7adbb7f91 Author: Al Viro Date: Fri Oct 13 21:29:46 2006 -0400 [GFS2] split and annotate gfs2_inum_range Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 68826664d12827d7a732192e2f00ba46fb899414 Author: Al Viro Date: Fri Oct 13 21:07:22 2006 -0400 [GFS2] split and annotate gfs2_rgrp Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit bc558c87bb7e50c4f728d32684a9f4f4c73ebde3 Author: Al Viro Date: Fri Oct 13 21:02:41 2006 -0400 [GFS2] fields of gfs2_sb_host are host-endian ... and several could be killed, but that's another story. Annotate scalar ones, kill completely unused. Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit f50dfaf78c01df3cc2d8819f07d6661915567bae Author: Al Viro Date: Fri Oct 13 20:45:02 2006 -0400 [GFS2] split gfs2_sb Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 5c6edb576f3800723bb65dbfaff82517089e32d0 Author: Al Viro Date: Fri Oct 13 20:33:01 2006 -0400 [GFS2] gfs2_dinode_host fields are host-endian Annotated scalar fields, dropped unused ones. Note that it's not at all obvious that we want to convert all of them to host-endian... Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 3ca68df6ee61e1a2034f3307b9edb9b3d87e5ca1 Author: Al Viro Date: Fri Oct 13 20:11:25 2006 -0400 [GFS2] split gfs2_dinode into on-disk and host variants The latter is used as part of gfs2-private part of struct inode. It actually stores a lot of fields differently; for now the declaration is just cloned, inode field is swtiched and changes propagated. Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 122214428a7bfab2c09b417f3acdb06222e81748 Author: Paul Gortmaker Date: Thu Nov 2 16:41:18 2006 +0100 [ARM] 3911/2: Simplify alloc_thread_info on ARM Remove ARM local cache of 4 struct thread_info. Can cause oops under certain circumstances. Russell indicated the original optimization was required on older kernels to avoid thread starvation on memory fragmentation, but may no longer be required. I've updated the patch to 19rc4 and ensured no dain-bramage slipped in this time (sorry about that). Original description follows: I was given some test results which pointed to an Oops in alloc_thread_info (happened 2x), and after looking at the code, I see that ARM has its own local cache of 4 struct thread_info. There wasn't any clear (to me) synchronization between the alloc_thread_info and the free_thread_info. I looked over the other arch, and they all simply allocate them on an as needed basis, so I simplified the ARM to do the same, based on the other arch (e.g. PPC) and the folks doing the testing have indicated that this fixed the oops. Signed-off-by: Paul Gortmaker Signed-off-by: Russell King commit 9b531ce242159bd26e09b55d8fb4be3f4bf75e24 Author: Russell King Date: Thu Nov 30 14:39:14 2006 +0000 [ARM] Remove "translated" io macros The "translated" io macros were never really used. Remove them. Preserve the L7200 inb() and friends by defining the __io() macro, so that the generic versions can be used instead. Signed-off-by: Russell King commit 6f4c7e39cb769addf047de8ec395a200cc6eec94 Author: Russell King Date: Thu Nov 30 14:36:29 2006 +0000 [ARM] Remove warnings for __io_pci and __arch_(get|put)* Since the last definitions of this macros have been removed, we can remove the warnings in asm/io.h. Signed-off-by: Russell King commit 74af1c227cf17caff3bb8c6547858655a473a39b Author: Russell King Date: Thu Nov 30 14:34:46 2006 +0000 [ARM] L7200: Remove deprecated __io_pci and __arch_(get|put)* These functions have been deprecated for quite some time, and in fact are no longer used. They just add to clutter. Remove them. Signed-off-by: Russell King commit 96b13f5c074fab56797109aedacc2405544d6f95 Author: Russell King Date: Thu Nov 30 14:04:49 2006 +0000 [ARM] Fix __must_check warnings in drivers/bus/amba.c Fix driver model __must_check warnings in drivers/bus/amba.c by rearranging how we add attributes to devices. Signed-off-by: Russell King commit 3ff1559eae70d5fb542eaa087389223dce4e364f Author: Russell King Date: Thu Nov 30 13:53:54 2006 +0000 [ARM] Fix nommu build Fix warnings and errors in arch/arm/mm for nommu build. Remove commented out function prototype in pgtable-nommu.h Signed-off-by: Russell King commit 5cd372e170f1827164e3bd267dff80962ded49d6 Author: Kristoffer Ericson Date: Mon Nov 20 20:42:44 2006 +0100 [ARM] 3936/1: [Jornada7xx] - No use for jornada720.h * We don't need this header anymore - there is no data we need to share this way. FB driver gets this data through a resources structure. MCU Driver api will go to a jornada720_mcu.h file. Signed-off-by: Filip Zyzniewski Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 46ec0ce8ce7eab6242188ea8a596538753c53b22 Author: Nicolas Pitre Date: Mon Nov 20 22:19:29 2006 +0100 [ARM] 3940/1: don't reset PXA2xx clock counter Don't reset OSCR to zero as this prevents us from having a contiguous time source. The value returned by sched_clock() is reset to zero in the middle of the boot process otherwise, making CONFIG_PRINTK_TIME rather messed up. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit bf46878c4ef4cf04a3564f0ff2e7daae353ee2e2 Author: Nicolas Pitre Date: Mon Nov 20 22:17:09 2006 +0100 [ARM] 3939/1: don't reset SA11x0 clock counter Don't reset OSCR to zero as this prevents us from having a contiguous time source. The value returned by sched_clock() is reset to zero in the middle of the boot process otherwise, making CONFIG_PRINTK_TIME rather messed up. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 10dd5ce28d78e2440e8fa1135d17e33399d75340 Author: Russell King Date: Thu Nov 23 11:41:32 2006 +0000 [ARM] Remove compatibility layer for ARM irqs set_irq_chipdata -> set_irq_chip_data get_irq_chipdata -> get_irq_chip_data do_level_IRQ -> handle_level_irq do_edge_IRQ -> handle_edge_irq do_simple_IRQ -> handle_simple_irq irqdesc -> irq_desc irqchip -> irq_chip Signed-off-by: Russell King commit 127e477e0cd8da4d3058709ab2dc7b92dccbcba5 Author: stanley cai Date: Mon Oct 16 15:13:43 2006 +0100 [ARM] 3894/1: pxa27x: Update DCSR_EORINTR bit definition in DCSR This patch updates a bit definition name to align with the PXA27x spec.EORINTR(End-Of-Receive Intr) bit in DCSR register (DMA Channel Control/Status Register) Signed-off-by: Stanley Cai Signed-off-by: Russell King commit d94cffe3d3794f70f928c3e5b97c252930775332 Author: stanley cai Date: Mon Oct 16 15:13:30 2006 +0100 [ARM] 3893/1: pxa27x: Update UDCISR1 bit definitions This patch updates several bit definitions name in UDCISR1 register. Signed-off-by: Stanley Cai Signed-off-by: Russell King commit eb8b0afc3a228cf6e0e1f9045127da3e72a6866b Author: Russell King Date: Thu Nov 9 15:16:16 2006 +0000 [ARM] Remove DEBUG_WAITQ DEBUG_WAITQ appears to have been removed by others, but no one removed the configuration option from ARM. Remote it from both Kconfig.debug and all default configurations. Signed-off-by: Russell King commit 80bcddc19d08a6eee99fb1bf3470ad6257af8721 Author: Russell King Date: Thu Nov 9 14:45:22 2006 +0000 [ARM] Convert apm.c to use mutexes instead of semaphores More semaphore-as-mutex to mutex conversions. Signed-off-by: Russell King commit 5974eaaedee49c25d7231cc72dc0b7b9d2ef2fd7 Author: Russell King Date: Thu Nov 9 14:37:06 2006 +0000 [ARM] Move HWCAP_* definitions to asm/elf.h Move HWCAP_* definitions into asm/elf.h, where they should belong. Since userspace wants to get at these definitions by including asm/procinfo.h, include asm/elf.h from this file if __KERNEL__ is not defined, and issue a warning suggesting to fix the program up to use asm/elf.h instead. Signed-off-by: Russell King commit ee90dabcadd053d5dd69f3a7f8161afa2c751ace Author: Russell King Date: Thu Nov 9 14:20:47 2006 +0000 [ARM] Include asm/elf.h instead of asm/procinfo.h These files want to provide/access ELF hwcap information, so should be including asm/elf.h rather than asm/procinfo.h Signed-off-by: Russell King commit 4a5222ca435c2af7466e5d262389609978a8e576 Author: Russell King Date: Thu Nov 9 14:07:52 2006 +0000 [ARM] Arrange asm-arm/elf.h so it can be included by assembly Prepare elf.h so that assembly code can include this file. Signed-off-by: Russell King commit beea494d5e09f9e2172894ec84324b94244826a9 Author: Russell King Date: Tue Nov 7 21:03:20 2006 +0000 [ARM] Remove EEPROM slave emulation from i2c-pxa driver. The i2c-pxa driver should not contain EEPROM slave-mode emulation; this is something the platform should provide where required. Remove it. Signed-off-by: Russell King commit df58d0359581bbd4ee741406d81e69456c684f9d Author: Russell King Date: Tue Nov 7 21:01:30 2006 +0000 [ARM] Fix "apm -s" command hang Fix an apparant hang with the "apm -s" command. We omitted to wake up this process once resume had completed. Signed-off-by: Russell King commit b729c09a452a659cdf4d29d83943aa798c5c4ffc Author: Russell King Date: Tue Nov 7 21:00:22 2006 +0000 [ARM] Improve reliability of APM-emulation suspend The APM emulation can sometimes cause suspend to fail to work due to apparantly waiting for some process to acknowledge an event when it actually has already done so. We re-jig the event handling to work around this behaviour. Signed-off-by: Russell King commit 9e1402ab89623f08c8dc06ec395e3214e1ec7848 Author: George G. Davis Date: Thu Nov 16 14:50:14 2006 -0500 [PATCH] Fix an offset error when reading the CS89x0 ADD_PORT register Fix an offset error when reading the CS89x0 ADD_PORT register. Signed-off-by: George G. Davis Signed-off-by: Jeff Garzik commit 7bd54c863608a460e72aa0e57170cffb6bc62110 Author: Linas Vepstas Date: Fri Nov 17 14:39:40 2006 -0800 [PATCH] spidernet: poor network performance Correct a problem seen on later kernels running the NetPIPE application. Specifically, NetPIPE would begin running very slowly at the 1533 packet size. It was determined that Spidernet slowed with an idle DMA engine. Signed-off-by: James K Lewis Signed-off-by: Linas Vepstas Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9c434f5e2181097e1d22d9b3e381ca6d693e5188 Author: James K Lewis Date: Fri Nov 17 14:39:36 2006 -0800 [PATCH] Spidernet: remove ETH_ZLEN check in earlier patch In an earlier patch, code was added to pad packets that were less that ETH_ZLEN (60) bytes using the skb_pad function. This has caused hangs when accessing certain NFS mounted file systems. This patch removes the check and solves the NFS problem. The driver, with this patch, has been tested extensively. Please apply. Signed-off-by: James K Lewis Cc: Stephen Hemminger Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 418e8f3d7ef4a30d4b5c84440641c9792a7f83f1 Author: Laurent Riffard Date: Sat Nov 18 12:03:04 2006 +0100 [PATCH] bonding: fix an oops when slave device does not provide get_stats Bonding driver unconditionnaly dereference get_stats function pointer for each of its slave device. This patch - adds a check for NULL dev->get_stats pointer in bond_get_stats - prints a notice when the bonding device enslave a device without get_stats function. Signed-off-by: Laurent Riffard Signed-off-by: Jeff Garzik commit c1cb0b77f905a2f5f297e91fafbe766acc143891 Merge: f2b67c7... a88556a... Author: Jeff Garzik Date: Thu Nov 30 06:01:04 2006 -0500 Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes commit f2b67c7945e8d709444884633670fef498218639 Author: Ralf Baechle Date: Wed Nov 29 17:10:38 2006 +0000 [PATCH] drivers/net: SAA9730: Fix build error Confusingly NET_PCI is also set for for non-PCI EISA configurations where building this driver will result in a build error due to a reference to pci_release_regions. While at it, remove the EXPERIMENTAL - in all its uglyness and despite the sincerest attempts of the buggy hardware the driver is known to work. Also limit the driver to the Atlas board - the only known system to ever use the SAA9730 before Phillips ended the short live of the SAA9730. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit a17259a726c4c9806dc99bda5e904727de76b694 Merge: 0215ffb... afdfe89... Author: Jeff Garzik Date: Thu Nov 30 05:20:49 2006 -0500 Merge branch 'tj-upstream-fixes' of git://htj.dyndns.org/libata-tj into tmp commit 6b44d4e69c6144d0df71ab47ec90d2009237d48f Author: Jan Engelhardt Date: Thu Nov 30 05:33:40 2006 +0100 Fix typos in drivers/isdn/hisax/isdnl2.c Changes persistant -> persistent in actual C code. (part 1 changed docs/comments). Compile-tested. Signed-off-by: Jan Engelhardt Signed-off-by: Adrian Bunk commit 03a67a46af8647b2c7825107045ecae641e103d3 Author: Jan Engelhardt Date: Thu Nov 30 05:32:19 2006 +0100 Fix typos in doc and comments Changes persistant -> persistent. www.dictionary.com does not know persistant (with an A), but should it be one of those things you can spell in more than one correct way, let me know. Signed-off-by: Jan Engelhardt Signed-off-by: Adrian Bunk commit 93e06b4140cc018826bce4d97b0bf7c9ba05ae6e Author: Eric Sesterhenn Date: Thu Nov 30 05:29:23 2006 +0100 BUG_ON conversion for fs/aio.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit d99c5909859625f3c9c6dfee6caa3b2a7c0ef163 Author: Eric Sesterhenn Date: Thu Nov 30 05:27:38 2006 +0100 BUG_ON conversion for drivers/mmc/omap.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 5d9a276a3eb073251737cb92b790bfdb9f0b9139 Author: Eric Sesterhenn Date: Thu Nov 30 05:26:46 2006 +0100 BUG_ON conversion for drivers/media/video/pwc/pwc-if.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 0779bf2d2ecc4d9b1e9437ae659f50e6776a7666 Author: Matt LaPlante Date: Thu Nov 30 05:24:39 2006 +0100 Fix misc .c/.h comment typos Fix various .c/.h typos in comments (no code changes). Signed-off-by: Matt LaPlante Signed-off-by: Adrian Bunk commit 3cb2fccc5f48a4d6269dfd00b4db570fca2a04d5 Author: Matt LaPlante Date: Thu Nov 30 05:22:59 2006 +0100 Fix misc Kconfig typos Fix various Kconfig typos. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 5d3f083d8f897ce2560bbd4dace483d5aa60d623 Author: Matt LaPlante Date: Thu Nov 30 05:21:10 2006 +0100 Fix typos in /Documentation : Misc This patch fixes typos in various Documentation txts. The patch addresses some misc words. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 4ae0edc21b152c126e4a8c94ad5391f8ea051b31 Author: Matt LaPlante Date: Thu Nov 30 04:58:40 2006 +0100 Fix typos in /Documentation : 'U-Z' This patch fixes typos in various Documentation txts. The patch addresses some +words starting with the letters 'U-Z'. Looks like I made it through the alphabet...just in time to start over again +too! Maybe I can fit more profound fixes into the next round...? Time will +tell. :) Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit fa00e7e152690adc17fdc318e64909d4aff1763e Author: Matt LaPlante Date: Thu Nov 30 04:55:36 2006 +0100 Fix typos in /Documentation : 'T'' This patch fixes typos in various Documentation txts. The patch addresses some +words starting with the letter 'T'. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 98c4f0c336afe4318c12397bc74910d86ee036a2 Author: Chase Venters Date: Thu Nov 30 04:53:49 2006 +0100 Fix jiffies.h comment jiffies.h includes a comment informing that jiffies_64 must be read with the assistance of the xtime_lock seqlock. The comment text, however, calls jiffies_64 "not volatile", which should probably read "not atomic". Signed-off-by: Chase Venters Signed-off-by: Adrian Bunk commit ce00f85c45d7f8c13cf67d9ca24d0f100f8e9c59 Author: Jim Cromie Date: Thu Nov 30 04:49:44 2006 +0100 tabify MAINTAINERS Signed-off-by: Adrian Bunk commit e20ec9911bfef897459b9f8aeaf6eadb0920299a Author: Jim Cromie Date: Thu Nov 30 04:46:13 2006 +0100 fix spelling error in include/linux/kernel.h Signed-off-by: Adrian Bunk commit 139a7bdc2b9391a4d0362190d9e5625dcf580105 Author: Alexey Dobriyan Date: Thu Nov 30 04:40:22 2006 +0100 mqueue.h: don't include linux/types.h This #include is not required. Signed-off-by: Alexey Dobriyan Signed-off-by: Adrian Bunk commit aa414dff4f7bef29457592414551becdca72dd6b Author: Ralf Baechle Date: Thu Nov 30 01:14:51 2006 +0000 [MIPS] Remove duplicate ISA DMA code for 0 DMA channel case. Signed-off-by: Ralf Baechle commit 0b7883f49810ec91755caa222b3b28f047b8c93b Author: Ralf Baechle Date: Thu Nov 30 01:14:51 2006 +0000 [MIPS] Remove unused definition of cpu_to_lelongp() Signed-off-by: Ralf Baechle commit 4ffd8b3838f22c34b21a25b7612795ca45d14db6 Author: Ralf Baechle Date: Thu Nov 30 01:14:50 2006 +0000 [MIPS] Remove userspace proofing from . Signed-off-by: Ralf Baechle commit e303e088f25dc7d8bafc0d1942314214a3a57b44 Author: Ralf Baechle Date: Thu Nov 30 01:14:50 2006 +0000 [MIPS] Remove old junk left from old atomic_lock. Signed-off-by: Ralf Baechle commit 63dc68a8cf60cb110b147dab1704d990808b39e2 Author: Ralf Baechle Date: Mon Oct 16 01:38:50 2006 +0100 [MIPS] Use conditional traps for BUG_ON on MIPS II and better. This shaves of around 4kB and a few cycles for the average kernel that has CONFIG_BUG enabled. Signed-off-by: Ralf Baechle commit 005985609ff72df3257fde6b29aa9d71342c2a6b Author: Atsushi Nemoto Date: Sun Nov 12 00:10:28 2006 +0900 [MIPS] mips HPT cleanup: make clocksource_mips public Make clocksource_mips public and get rid of mips_hpt_read, mips_hpt_mask. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 187933f23679c413706030aefad9e85e79164c44 Author: Atsushi Nemoto Date: Wed Oct 25 23:57:04 2006 +0900 [MIPS] do_IRQ cleanup Now we have both function and macro version of do_IRQ() and the former is used only by DEC and non-preemptive kernel. This patch makes everyone use the macro version and removes the function version. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 617667ba724d46ffeccb88ee99e1379f29b0bfa7 Author: Ralf Baechle Date: Thu Nov 30 01:14:48 2006 +0000 [MIPS] Avoid dupliate D-cache flush on R400C / R4400 SC and MC variants. Signed-off-by: Ralf Baechle commit 0550d9d13e02b30efa117d47fcadea450bb23d23 Author: Atsushi Nemoto Date: Tue Aug 22 21:15:47 2006 +0900 [MIPS] Remove redundant r4k_blast_icache() calls r4k_flush_cache_all() and r4k_flush_cache_mm() case: these are noop if the CPU did not have dc_aliases. It would mean we do not need to care about icache here. r4k_flush_cache_range case: if r4k_flush_cache_mm() did not need to care about icache, it would be same for this function. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e56798824456bd907cefe840ca127df0518942e3 Author: Ralf Baechle Date: Thu Nov 30 01:14:47 2006 +0000 [MIPS] Work around bogus gcc warnings. Signed-off-by: Ralf Baechle commit dd6bfd627c4f4df771b9b73e4df75c6c0c177b09 Author: Nicolas Kaiser Date: Tue Nov 7 09:56:24 2006 +0100 [MIPS] Fix double inclusions Signed-off-by: Nicolas Kaiser Signed-off-by: Ralf Baechle commit 1417836e81c0ab8f5a0bfeafa90d3eaa41b2a067 Author: Atsushi Nemoto Date: Tue Nov 14 01:13:18 2006 +0900 [MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq Further incorporation of generic irq framework. Replacing __do_IRQ() by proper flow handler would make the irq handling path a bit simpler and faster. * use generic_handle_irq() instead of __do_IRQ(). * use handle_level_irq for obvious level-type irq chips. * use handle_percpu_irq for irqs marked as IRQ_PER_CPU. * setup .eoi routine for irq chips possibly used with handle_percpu_irq. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 1603b5aca4f15b34848fb5594d0c7b6333b99144 Author: Atsushi Nemoto Date: Thu Nov 2 02:08:36 2006 +0900 [MIPS] IRQ cleanups This is a big irq cleanup patch. * Use set_irq_chip() to register irq_chip. * Initialize .mask, .unmask, .mask_ack field. Functions for these method are already exist in most case. * Do not initialize .startup, .shutdown, .enable, .disable fields if default routines provided by irq_chip_set_defaults() were suitable. * Remove redundant irq_desc initializations. * Remove unnecessary local_irq_save/local_irq_restore, spin_lock. With this cleanup, it would be easy to switch to slightly lightwait irq flow handlers (handle_level_irq(), etc.) instead of __do_IRQ(). Though whole this patch is quite large, changes in each irq_chip are not quite simple. Please review and test on your platform. Thanks. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c87b6ebaea034c0e0ce86127870cf1511a307b64 Author: Atsushi Nemoto Date: Sat Oct 28 01:14:37 2006 +0900 [MIPS] mips hpt cleanup: get rid of mips_hpt_init Currently nobody outside time.c require mips_hpt_init(). Remove it and call c0_hpt_timer_init() directly if R4k counter was used for timer interrupt. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0d02f0734f8d2310497fae4f960c978f679f66d9 Author: Yoichi Yuasa Date: Wed Nov 1 18:40:15 2006 +0900 [MIPS] PB1200: Remove duplicate definitions Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 6f2c3fa022312d5381f44359984395761e375f1b Author: Ralf Baechle Date: Thu Nov 30 01:14:45 2006 +0000 [MIPS] Fix alignment hole in struct cache_desc; shrink struct. Signed-off-by: Ralf Baechle commit 714cfe7865e5182a3b25be6a95c0b17aa8e64aa9 Author: Ralf Baechle Date: Mon Oct 23 00:44:02 2006 +0100 [MIPS] Oprofile: kernel support for the R10000. Signed-off-by: Ralf Baechle commit 2472d0b519c9634d89420064315c0926149947aa Author: Ralf Baechle Date: Thu Nov 30 01:14:45 2006 +0000 [MIPS] Remove unused R10000 performance counter definitions. Signed-off-by: Ralf Baechle commit 583bb86fbb9e85287f020fe4eb5352a0ec3c66a3 Author: Nicolas Schichan Date: Wed Oct 18 15:14:55 2006 +0200 [MIPS] Add support for kexec A tiny userland application loading the kernel and invoking kexec_load for mips is available here: http://chac.le-poulpe.net/~nico/kexec/kexec-2006-10-18.tar.gz Signed-off-by: Ralf Baechle commit c237923009da464881d89f4bc27c3b5b1a93d61b Author: Ralf Baechle Date: Thu Nov 30 01:14:44 2006 +0000 [MIPS] Don't print presence of WAIT instruction on bootup. Not useful and quite a big of noise on bootup of large systems. Signed-off-by: Ralf Baechle commit 5b10496b6e6577f65b032a5c4c97d0d3a841273c Author: Atsushi Nemoto Date: Mon Sep 11 17:50:29 2006 +0900 [MIPS] Fast path for rdhwr emulation for TLS Add special short path for emulationg RDHWR which is used to support TLS. Add an extra prologue for cpu_has_vtag_icache case. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 656be92f9ae194ed62bc81310a4589a7cd765f13 Author: Atsushi Nemoto Date: Thu Oct 26 00:08:31 2006 +0900 [MIPS] Load modules to CKSEG0 if CONFIG_BUILD_ELF64=n This is a patch to load 64-bit modules to CKSEG0 so that can be compiled with -msym32 option. This makes each module ~10% smaller. * introduce MODULE_START and MODULE_END * custom module_alloc() * PGD for modules * change XTLB refill handler synthesizer * enable -msym32 for modules again (revert ca78b1a5c6a6e70e052d3ea253828e49b5d07c8a) New XTLB refill handler looks like this: 80000080 dmfc0 k0,C0_BADVADDR 80000084 bltz k0,800000e4 # goto l_module_alloc 80000088 lui k1,0x8046 # %high(pgd_current) 8000008c ld k1,24600(k1) # %low(pgd_current) 80000090 dsrl k0,k0,0x1b # l_vmalloc_done: 80000094 andi k0,k0,0x1ff8 80000098 daddu k1,k1,k0 8000009c dmfc0 k0,C0_BADVADDR 800000a0 ld k1,0(k1) 800000a4 dsrl k0,k0,0x12 800000a8 andi k0,k0,0xff8 800000ac daddu k1,k1,k0 800000b0 dmfc0 k0,C0_XCONTEXT 800000b4 ld k1,0(k1) 800000b8 andi k0,k0,0xff0 800000bc daddu k1,k1,k0 800000c0 ld k0,0(k1) 800000c4 ld k1,8(k1) 800000c8 dsrl k0,k0,0x6 800000cc mtc0 k0,C0_ENTRYLO0 800000d0 dsrl k1,k1,0x6 800000d4 mtc0 k1,C0_ENTRYL01 800000d8 nop 800000dc tlbwr 800000e0 eret 800000e4 dsll k1,k0,0x2 # l_module_alloc: 800000e8 bgez k1,80000008 # goto l_vmalloc 800000ec lui k1,0xc000 800000f0 dsubu k0,k0,k1 800000f4 lui k1,0x8046 # %high(module_pg_dir) 800000f8 beq zero,zero,80000000 800000fc nop 80000000 beq zero,zero,80000090 # goto l_vmalloc_done 80000004 daddiu k1,k1,0x4000 80000008 dsll32 k1,k1,0x0 # l_vmalloc: 8000000c dsubu k0,k0,k1 80000010 beq zero,zero,80000090 # goto l_vmalloc_done 80000014 lui k1,0x8046 # %high(swapper_pg_dir) Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 56ae58333031bb0564c141f955d1e42276cade55 Author: Yoichi Yuasa Date: Sat Oct 14 00:25:04 2006 +0900 [MIPS] Rewrite GALILEO_INL/GALILEO_OUTL to GT_READ/GT_WRITE This patch has rewritten GALILEO_INL/GALILEO_OUTL using GT_READ/GT_WRITE. This patch tested on Cobalt Qube2. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4e3884fc83f40b5daabceeee3a428a8ebebbbe4a Author: Atsushi Nemoto Date: Sat Oct 21 01:28:26 2006 +0900 [MIPS] Use "long" for 64-bit values on 64-bit kernel. This would get rid of some warnings about "long" vs. "long long". Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit acd86b8622099c3206e0a1665545ae2318089b9c Author: Franck Bui-Huu Date: Thu Oct 19 13:20:05 2006 +0200 [MIPS] Make free_init_pages() arguments to be physical addresses It allows caller of this function to not care about CKSEG0/XKPHYS address mixes. It's now automatically done by free_init_pages(). We can now safely remove hack needed by 64 bit kernels with CONFIG_BUILD_ELF64=n in free_initmem(). Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit a7837b76b6de932c31d0b7c71176ca8d1213a3ce Author: Franck Bui-Huu Date: Thu Oct 19 13:20:04 2006 +0200 [MIPS] setup.c: clean up initrd related code Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit f5bffe3a9bcd6e5319b5fd3a8109625f8638425a Author: Franck Bui-Huu Date: Thu Oct 19 13:20:03 2006 +0200 [MIPS] setup.c: use __pa_symbol() where needed It should fix the broken code in resource_init() too. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 8431fd094d625b94d364fe393076ccef88e6ce18 Author: Franck Bui-Huu Date: Thu Oct 19 13:20:02 2006 +0200 [MIPS] Introduce __pa_symbol() This patch introduces __pa_symbol() macro which should be used to calculate the physical address of kernel symbols. It also relies on RELOC_HIDE() to avoid any compiler's oddities when doing arithmetics on symbols. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit d4df6d4e7a66b7a9bd57f5dc7d80d6b55dc12dbb Author: Franck Bui-Huu Date: Thu Oct 19 13:20:01 2006 +0200 [MIPS] setup.c: get ride of CPHYSADDR() and use new __pa() implementation instead introduced by the previous patch. Indeed this macro can be used now even by the 64 bit kernels with CONFIG_BUILD_ELF64=n config. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 620a4802be8ee7989b1b6684b7198ebae02af854 Author: Franck Bui-Huu Date: Thu Oct 19 13:20:00 2006 +0200 [MIPS] Make __pa() aware of XKPHYS/CKSEG0 address mix for 64 bit kernels During early boot mem init, some configs couldn't use __pa() to convert virtual into physical addresses. Specially for 64 bit kernel cases when CONFIG_BUILD_ELF64=n. This patch make __pa() work for _all_ configs and thus make CPHYSADDR() useless. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 99e3b942c62f42c8d5added63305e12372b06daf Author: Franck Bui-Huu Date: Thu Oct 19 13:19:59 2006 +0200 [MIPS] page.h: remove __pa() usages. __pa() was used by virt_to_page() and virt_addr_valid(). These latter are used when kernel is initialised so __pa() is not appropriate, we use virt_to_phys() instead. Futhermore __pa() is going to take care of CKSEG0/XKPHYS address mix for 64 bit kernels. This makes __pa() more complex than virt_to_phys() and this extra work is not needed by virt_to_page() and virt_addr_valid(). Eventually it consolidates virt_to_phys() prototype by making its argument 'const'. this avoids some warnings that was due to some virt_to_page() usages which pass const pointer. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit f469b2626f48829c06e40ac799c1edf62b12048e Author: Michael S. Tsirkin Date: Wed Nov 29 15:33:10 2006 -0800 IB/ucm: Fix deadlock in cleanup ib_ucm_cleanup_events() holds file_mutex while calling ib_destroy_cm_id(). This can deadlock since ib_destroy_cm_id() flushes event handlers, and ib_ucm_event_handler() needs file_mutex, too. Therefore, drop the file_mutex during the call to ib_destroy_cm_id(). Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit e1444b5a163e81138754cab27c4fa1637b5a2239 Author: Sean Hefty Date: Tue Nov 28 14:57:13 2006 -0800 IB/cm: Fix automatic path migration support The ib_cm_establish() function is replaced with a more generic ib_cm_notify(). This routine is used to notify the CM that failover has occurred, so that future CM messages (LAP, DREQ) reach the remote CM. (Currently, we continue to use the original path) This bumps the userspace CM ABI. New alternate path information is captured when a LAP message is sent or received. This allows QP attributes to be initialized for the user when a new path is loaded after failover occurs. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 2745b5b713bf3457d8977c62dc2b3aa61f4a14b0 Author: Michael S. Tsirkin Date: Thu Nov 16 14:16:47 2006 +0200 IPoIB: Fix skb leak when freeing neighbour ipoib_neigh_free() is sometimes called while neighbour is still alive, so it might still have queued skbs. Fix skb leak in this case. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit d2fcea7d68473b8bb3e0addb4926c87e2217ca83 Author: Vu Pham Date: Tue Nov 21 14:14:10 2006 -0800 IB/srp: Fix memory leak on reconnect SRP reallocates the IU buffers for tx_ring and rx_ring without freeing the old buffers when it reconnects to a target. Fix this by keeping the old IU buffers around. Signed-off-by: Vu Pham Signed-off-by: Roland Dreier commit 04699a1f8634a4e89c71b22050b599c72126fa96 Author: Roland Dreier Date: Wed Nov 29 15:33:09 2006 -0800 RDMA/addr: list_move() cleanups Replace a couple list_del()/list_add() combos with list_move(). Signed-off-by: Roland Dreier commit c78bb8442b14ee6704bdb323111ffa874d4bfdaa Author: Krishna Kumar Date: Fri Nov 24 16:02:34 2006 +0530 RDMA/addr: Fix some cancellation problems in process_req() Fix following problems in process_req() relating to cancellation: - Function is wrongly doing another addr_remote() when cancelled, which is not required. - Make failure reporting immediate by using time_after_eq(). - On cancellation, -ETIMEDOUT was returned to the callback routine instead of the more appropriate -ECANCELLED (users getting notified may want to print/return this status, eg ucma_event_handler). Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit c9edea298e52faeb0d4ae875cb712a5d69ba1966 Author: Krishna Kumar Date: Fri Nov 24 16:03:48 2006 +0530 RDMA/amso1100: Prevent deadlock in destroy QP It is possible to swap the CQs used for send_cq and recv_cq when creating two different QPs. If these two QPs are then destroyed at the same time, an AB-BA deadlock can occur because the CQ locks are taken our of order. Fix this by always taking CQ locks in a fixed order. Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit 7013696a5f5ccd0d847d5e8b841d0b0b312277c8 Author: Jack Morgenstein Date: Sun Nov 26 09:10:19 2006 +0200 IB/mthca: Fix initial SRQ logsize for mem-free HCAs When initializing an mthca SRQ, the log_srq_size field should be the log of the number of SRQ WQEs, not the log of the number of bytes in the SRQ. This affects only mthca drivers for memfree HCAs which set the initial srq wqe counter (in the SW2HW transition) to a non-zero value. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 2771e9ed4702e46c3f4c305eb2e047c251c2ad2b Author: Hoang-Nam Nguyen Date: Mon Nov 20 23:54:12 2006 +0100 IB/ehca: Use WQE offset instead of WQE addr for pending work reqs This is a patch for ehca to fix a bug in prepare_sqe_to_rts(), which used WQE address to iterate pending work requests. This might cause an access violation since the queue pages can not be assumed to follow each other consecutively. Thus, this patch introduces a few queue functions to determine WQE offset based on its address and uses WQE offset to iterate the pending work requests. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 9ab1ffa8775d9c677b1301cccce8a7d91e5163d0 Author: Krishna Kumar Date: Thu Nov 9 09:30:48 2006 +0530 RDMA/iwcm: Fix comment for iwcm_deref_id() to match code In iwcm_deref_id(), the comment says : "If the last reference is being removed and iw_destroy_cm_id is waiting, wake up the waiting thread". The second part of the comment, "and iw_destroy_cm_id is waiting," is wrong, since this function either wakes the waiter already waiting in iwcm_deref_id, or enables it (so that when wait_for_completion() is performed later, it will immediately return). Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 715a588f420936ecdb813c4fcd40dff7a16b1638 Author: Krishna Kumar Date: Thu Nov 9 09:30:45 2006 +0530 RDMA/iwcm: Remove unnecessary function argument Remove unnecessary cm_id_priv argument to copy_private_data(), and change text to reflect the code. Fix couple of typos in comments. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 13fccdb380f88770f05b922c273d907aecda7c12 Author: Krishna Kumar Date: Thu Nov 9 09:30:43 2006 +0530 RDMA/iwcm: Remove unnecessary initializations Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 83b96586239bf6c719ff640341e1cf83e4a7c046 Author: Krishna Kumar Date: Thu Nov 9 09:30:41 2006 +0530 RDMA/iwcm: Fix memory leak If we get IW_CM_EVENT_CONNECT_REQUEST message and encounter an error (not in the LISTEN state, cannot create an id, cannot alloc work_entry, etc), then the memory allocated by cm_event_handler() in the event->private_data gets leaked. Since cm_work_handler has already put the event on the work_free_list, this allocated memory is leaked. High backlog value can allow DoS attacks. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 33ba0fa9f315ce32fbb86fa671c131f5355b52a1 Author: Krishna Kumar Date: Thu Nov 9 09:30:34 2006 +0530 RDMA/iwcm: Fix memory corruption bug in cm_work_handler() Possible memory corruption scenario: after putting the work entry back on the work_free_list, we call process_event() which dereferences work->event, which could have been modified to another value meanwhile. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit e54f81889cd5228e7087637c377d76301c7c5663 Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 IB: Convert kmem_cache_t -> struct kmem_cache Signed-off-by: Roland Dreier commit 53533e16b1d94ff71cb013497938976906d9d504 Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 IB/ipath: Fix typo in pma_counter_select subscript The array has only 5 entries, so [5] should have been [4]. Signed-off-by: Roland Dreier commit 29666128a22ddc78b3e393674ef69462835db43f Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 RDMA/amso1100: Fix section mismatches The amso1100 driver was missing a couple of __devinit/__devexit annotations for init/cleanup functions that are called from __devinit/__devexit functions. Reported by Randy Dunlap . Signed-off-by: Roland Dreier commit f4f3d0f0ece2527184b6c91afa1196a27a5bfaf5 Author: Roland Dreier Date: Wed Nov 29 15:33:06 2006 -0800 IB/mthca: Fix section mismatches Commit b3b30f5e ("IB/mthca: Recover from catastrophic errors") introduced some section mismatch breakage, because the error recovery code tears down and reinitializes the device, which calls into lots of code originally marked __devinit and __devexit from regular .text. Fix this by getting rid of these now-incorrect section markers. Reported by Randy Dunlap . Signed-off-by: Roland Dreier commit 3c8edf0eca2e47340c960b2f27c659c097118ffe Author: Arne Redlich Date: Wed Nov 15 12:43:00 2006 +0100 IB/srp: Increase supported CDB size Set the Scsi_Host's max_cmd_len from 12 (default) to 16 for SRP. Otherwise scsi_dispatch_cmd() won't pass down certain commands such as READ CAPACITY 16, required for supporting disks > 2TB. Signed-off-by: Arne Redlich Signed-off-by: Roland Dreier commit e31353eaeca736981ec13b46089d30147342b28b Author: Dotan Barak Date: Tue Oct 24 13:35:27 2006 -0700 RDMA/cm: Remove setting local write as part of QP access flags The qp_access_flags are for remote access permissions only, so IB_ACCESS_LOCAL_WRITE is an invalid value. Remove it from the values set by cm_init_qp_init_attr() and cma_init_ib_qp(). Signed-off-by: Dotan Barak Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit bed8bdfddd851657cf9e5fd16bb44abb02ae7f42 Author: Eric Sesterhenn Date: Mon Oct 23 22:17:21 2006 +0200 IB: kmemdup() cleanup Replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Roland Dreier commit a1a733f65b091fdad3d0783e648c92b491933ab6 Author: Krishna Kumar Date: Tue Oct 17 10:09:11 2006 +0530 RDMA/cma: Rewrite cma_req_handler() to encapsulate common code Rewrite cma_req_handler error handling case to encapsulate common code. Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit f115db4803effd8207c3169590fb3f13336a4093 Author: Krishna Kumar Date: Tue Oct 17 10:09:09 2006 +0530 RDMA/addr: Use time_after_eq() instead of time_after() in queue_req() In queue_req(), use time_after_eq() instead of time_after() for following reasons : - Improves insert time if multiple entries with same time are present. - set_timeout need not be called if entry with same time is added to the list (and that happens to be the entry with the smallest time), saving atomic/locking operations. - Earlier entries with same time are deleted first (fifo). Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit e4022274cf8df1f78f9e20ba7e199a9edf655422 Author: Krishna Kumar Date: Mon Oct 16 10:09:08 2006 +0530 RDMA/cma: Remove redundant check in cma_add_one Remove redundant check of node_guid in cma_add_one(). Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit e82153b54d75af31d5d4a84efe441e5719f34cfc Author: Krishna Kumar Date: Mon Oct 16 10:09:01 2006 +0530 RDMA/cma: Optimize cma_bind_loopback() to check for empty list Optimize to test for an empty list first. This ends up simplifying the code too. Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit afdfe899e6420eac6c5eb3bc8c89456dff38d40e Author: Tejun Heo Date: Wed Nov 29 11:26:47 2006 +0900 [PATCH] libata: add missing sht->slave_destroy Many LLDs are missing sht->slave_destroy. The method is mandatory to support device warm unplugging (echo 1 > /sys/.../delete). Without it, libata might access released scsi device. Signed-off-by: Tejun Heo commit 41669553353554211310cdb23079d58af1fda41e Author: Tejun Heo Date: Wed Nov 29 11:33:14 2006 +0900 [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers JMicron AHCI controllers set PORT_IRQ_IF_ERR on device errors. The IRQ status bit indicates interface error or protocol mismatch and ahci driver interprets it into AC_ERR_ATA_BUS. So, whenever an ATAPI device raises check condition, ahci interprets it as ATA bus error and thus resets it which, in turn, raises check condition thus creating a reset loop and rendering the device unuseable. This patch makes JMB controllers ignore PORT_IRQ_IF_ERR when interpreting error condition. Signed-off-by: Tejun Heo Cc: Justin Tsai commit a88556a4b24baff99f5d2a2a05202c4aca44ea05 Author: John W. Linville Date: Tue Nov 28 14:16:37 2006 -0500 Revert "[PATCH] zd1211rw: Removed unneeded packed attributes" This reverts commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7. Quoth Daniel Drake : "A user reported that commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7 (Remove unneeded packed attributes) breaks the zd1211rw driver on ARM." Signed-off-by: John W. Linville commit a68077defb3337342981a0d3a4df3380496a8a87 Author: Ulrich Kunitz Date: Wed Nov 22 00:06:06 2006 +0000 [PATCH] zd1211rw: Fix of a locking bug This patch fixes the bug as reported in the kernel bug tracker under the id 7244. The bug was simply that the interrupt lock has been locked outside an interrupt without blocking the interrupt. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit a3df3b6f2e37474cdb8b56d55d31be41c22f9b18 Author: Michael Buesch Date: Mon Nov 27 14:37:21 2006 -0600 [PATCH] softmac: remove netif_tx_disable when scanning In the scan section of ieee80211softmac, network transmits are disabled. When SoftMAC re-enables transmits, it may override the wishes of a driver that may have very good reasons for disabling transmits. At least one failure in bcm43xx can be traced to this problem. In addition, several unexplained problems may arise from the unexpected enabling of transmits. Note that making this change introduces a new bug that would allow transmits for the current session to be transmitted on the wrong channel; however, the new bug is much less severe than the one being fixed, as the new one only leads to a few retransmits, whereas the old one can bring the interface down. A fix that will not introduce new bugs is being investigated; however, the current, more serious one should be fixed now. Signed-off-by: Michael Buesch Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit b94c7e677b9d28bd3f9ba4a70df6bfa7942867ca Author: Chad Sellers Date: Mon Nov 6 12:38:18 2006 -0500 SELinux: validate kernel object classes and permissions This is a new object class and permission validation scheme that validates against the defined kernel headers. This scheme allows extra classes and permissions that do not conflict with the kernel definitions to be added to the policy. This validation is now done for all policy loads, not just subsequent loads after the first policy load. The implementation walks the three structrures containing the defined object class and permission values and ensures their values are the same in the policy being loaded. This includes verifying the object classes themselves, the permissions they contain, and the permissions they inherit from commons. Classes or permissions that are present in the kernel but missing from the policy cause a warning (printed to KERN_INFO) to be printed, but do not stop the policy from loading, emulating current behavior. Any other inconsistencies cause the load to fail. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit bb242497474da317a7169cc939c741ccf2e79e8c Author: Chad Sellers Date: Mon Nov 6 12:38:17 2006 -0500 SELinux: ensure keys constant in hashtab_search Makes the key argument passed into hashtab_search and all the functions it calls constant. These functions include hash table function pointers hash_value and keycmp. The only implementations of these currently are symhash and symcmp, which do not modify the key. The key parameter should never be changed by any of these, so it should be const. This is necessary to allow calling these functions with keys found in kernel object class and permission definitions. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5c45899879e8caadb78f04c9c639f4c2025b9f00 Author: Chad Sellers Date: Mon Nov 6 12:38:16 2006 -0500 SELinux: export object class and permission definitions Moves the definition of the 3 structs containing object class and permission definitions from avc.c to avc_ss.h so that the security server can access them for validation on policy load. This also adds a new struct type, defined_classes_perms_t, suitable for allowing the security server to access these data structures from the avc. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5a64d4438ed1e759ccd30d9e90842bf360f19298 Author: Chad Sellers Date: Mon Nov 6 12:38:15 2006 -0500 SELinux: remove current object class and permission validation mechanism Removes the current SELinux object class and permission validation code, as the current code makes it impossible to change or remove object classes and permissions on a running system. Additionally, the current code does not actually validate that the classes and permissions are correct, but instead merely validates that they do not change between policy reloads. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit 0d2db302f95747908123e56fa8659c7eb2eb7498 Author: FUJITA Tomonori Date: Thu Nov 16 19:24:18 2006 +0900 [SCSI] scsi-ml: Makefile and Kconfig changes for tgt Makefile and Kconfig for tgt. Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 97f78759ea1cb7d27b61095582de78b8e7486e85 Author: FUJITA Tomonori Date: Thu Nov 16 19:24:16 2006 +0900 [SCSI] scsi tgt: scsi target user and kernel communication interface The user-space daemon and tgt kernel module need bi-directional kernel/user high-performance interface, however, mainline provides no standard interface like that. This patch adds shared memory interface between kernel and user spaces like some other drivers do by using own character device. The user-space daemon and tgt kernel module creates shared memory via mmap and use it like ring buffer. poll (kernel to user) and write (user to kernel) system calls are used for notification. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5a55c2596f55e3a60f7502d0dfcfa0d20241e5ac Author: FUJITA Tomonori Date: Thu Nov 16 19:24:13 2006 +0900 [SCSI] scsi tgt: scsi target lib functionality The core scsi target lib functions. TODO: - mv md/dm-bio-list.h to linux/bio-list.h so md and us do not have to do that weird include. - convert scsi_tgt_cmd's work struct to James's execute code. And try to kill our scsi_tgt_cmd. - add host state checking. We do refcouting so hotplug is partially supported, but we need to add state checking to make it easier on the LLD. Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit b58d91547fb17c65ad621f3f98b1f2c228c812a5 Author: FUJITA Tomonori Date: Thu Nov 16 19:24:10 2006 +0900 [SCSI] export scsi-ml functions needed by tgt_scsi_lib and its LLDs This patch contains the needed changes to the scsi-ml for the target mode support. Note, per the last review we moved almost all the fields we added to the scsi_cmnd to our internal data structure which we are going to try and kill off when we can replace it with support from other parts of the kernel. The one field we left on was the offset variable. This is needed to handle the case where the target gets request that is so large that it cannot execute it in one dma operation. So max_secotors or a segment limit may limit the size of the transfer. In this case our tgt core code will break up the command into managable transfers and send them to the LLD one at a time. The offset is then used to tell the LLD where in the command we are at. Is there another field on the scsi_cmd for that? Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 84ad58e4efcf80c154f693d4cc8f5c913511b760 Author: Randy Dunlap Date: Sun Nov 19 18:53:43 2006 -0800 [SCSI] initio: fix section mismatches with HOTPLUG=n WARNING: drivers/scsi/initio.o - Section mismatch: reference to .init.data: from .text between 'i91u_detect' (at offset 0x26e8) and 'i91uSCBPost' WARNING: drivers/scsi/initio.o - Section mismatch: reference to .init.data:i91u_pci_devices from .text between 'i91u_detect' (at offset 0x26ef) and 'i91uSCBPost' Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 4bdbd2807deeccc0793d57fb5120d7a53f2c0b3c Author: Dmitry Torokhov Date: Fri Nov 24 00:43:22 2006 -0500 Input: handle errors from input_register_device in drivers/macintosh Signed-off-by: Dmitry Torokhov commit e4477d2d1bc3e6c76e83926f7fa8c8f94ba42615 Author: Randy Dunlap Date: Fri Nov 24 00:43:09 2006 -0500 Input: add to kernel-api docbook Add input subsystem to kernel-api docbook. Enhance some function and parameter comments. Signed-off-by: Randy Dunlap Signed-off-by: Dmitry Torokhov commit f9705fcb9887fcff364a0c8dffbac693aa221d4f Author: Nicolas Bellido Date: Fri Nov 24 00:42:50 2006 -0500 Input: add driver for keyboard on AAED-2000 development board (ARM) The keyboard is connected via GPIOs to the processor, and scanned using a column sample register. The hardware provides no debouncing mechanism, so the state of the keys is read KBDSCAN_STABLE_COUNT times before being reported to the input layer. The status of the keys needs to be polled because there is no interrupt hooked to the lines. A workqueue is used for this. Signed-off-by: Nicolas Bellido Y Ortega Signed-off-by: Dmitry Torokhov commit 153a9df01c0d1ecdc56161c7a0f830325145dd64 Author: Akinobu Mita Date: Thu Nov 23 23:35:10 2006 -0500 Input: handle serio_register_driver() errors Signed-off-by: Akinobu Mita Signed-off-by: Dmitry Torokhov commit ed7b1f6d6ea1054ea4fe293a7fd8015fc3803d93 Author: Dmitry Torokhov Date: Thu Nov 23 23:34:49 2006 -0500 Input: serio - make serio_register_driver() return errors Perform actual driver registration right in serio_register_driver() instead of offloading it to kseriod and return proper error code to callers if driver registration fails. Note that driver <-> port matching is still done by kseriod to speed up boot process since probing for PS/2 mice and keyboards is pretty slow. Signed-off-by: Dmitry Torokhov commit 1e99e33ad94aa363e01cdfc2fc9df93338907fe6 Author: Andrew Vasquez Date: Wed Nov 22 08:24:48 2006 -0800 [SCSI] qla2xxx: add asynchronous scsi scanning support. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d19044c32baadeb80e135027124a9e845c6f057c Author: Andrew Vasquez Date: Wed Nov 22 08:22:19 2006 -0800 [SCSI] qla2xxx: defer topology discovery to DPC thread during initialization. Modify intialization semantics: - perform basic hardware configuration only (as usual) - allocate resources - load and execute firmware - defer link (transport) negotiations to the DPC thread - again the code in qla2x00_initialize_adapter() to stall probe() completion was needed for legacy-style scanning. - DPC thread stalls until probe() complete. - before probe() completes, set DPC flags to perform loop-resync logic (similar to what's done during cable-insertion/removal). Benefits: user does not have to wait 20+ seconds in case the FC cable is unplugged during driver load, code consolidation (removal of redundant link negotiation logic during initialize_adaoter()), and finilly, the driver no longer needs to defer the fc_remote_port_add() calls to hold off lun-scanning prior to returning from the probe() function. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 1aa8fab2acf1cb8b341131b726773fcff0abc707 Author: Matthew Wilcox Date: Wed Nov 22 13:24:54 2006 -0700 [SCSI] Make scsi_scan_host work for drivers which find their own targets If a driver can find its own targets, it can now fill in scan_finished and (optionally) scan_start in the scsi_host_template. Then, when it calls scsi_scan_host(), it will be called back (from a thread if asynchronous discovery is enabled), first to start the scan, and then at intervals to check if the scan is completed. Also make scsi_prep_async_scan and scsi_finish_async_scan static. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 93b45af5c6b9d41bbe9da11442291ac4eefc15b4 Author: Matthew Wilcox Date: Wed Nov 22 13:24:53 2006 -0700 [SCSI] fix missing check for no scanning Drivers that called scsi_scan_target() instead of scsi_scan_host() were still adding devices; this needs to be under the control of userspace, not the driver. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 21db1882f79a1ad5977cae6766376a63f60ec414 Author: Matthew Wilcox Date: Wed Nov 22 13:24:52 2006 -0700 [SCSI] Add Kconfig option for asynchronous SCSI scanning Without this patch, the user has to add a kernel command line parameter to get asynchronous SCSI scanning. Now they can select the default at compile time and still override it at boot time if they need to. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 902762831c0068ba0c8c8fca801e505a9881aa01 Author: Mark Haverkamp Date: Tue Nov 21 10:40:50 2006 -0800 [SCSI] aacraid: Driver version update Received from Mark Salyzyn: Version patch, update to reflect a rough estimate of the Adaptec build (2423) that coincides with the sources on kernel.org. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit d18b448fc2caf0d719bd4bd34fb1856be89c8ef7 Author: Mark Haverkamp Date: Tue Nov 21 10:40:31 2006 -0800 [SCSI] aacraid: Abort management FIBs Received from Mark Salyzyn: Add code to abort outstanding management ioctl fibs when the blinkLED recovery is performed. This code is 'clunky' and does not have any real feedback in that the reset could progress before the user application has gotten it's notification of command completion. We put a schedule() call to delay just the right amount for most cases, because we tried a spin and still managed to find cases where we would spin forever waiting for the management application to acknowledge the impending doom surrounding the cause of the BlinkLED. Will cause an oops in the context of the management application if we proceed too quickly. I view this as the lesser of many evils since currently if there are outstanding management ioctls during a need to reset/recover the adapter, the management application just locks up and waits forever. The best practices fix for this problem not going to be simple or easy (at least the fixes I imagine today); and we found a balance between the needs of the driver to proceed, and the applications that locked or confused that would hold back the driver. I just do not like the idea of a kernel oops in an application to deal with low priority, sluggish or misbehaving applications. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit 33524b70e8f3dd55a4ba78ad81742c7814e7b0ed Author: Mark Haverkamp Date: Tue Nov 21 10:40:08 2006 -0800 [SCSI] aacraid: Detect Blinkled at startup Received from Mark Salyzyn: Blinkled at startup is useful for catching Adapters in a lot of pain, in a BlinkLED assert, quickly; rather than waiting several minutes for commands to timeout. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit 51d23da95c3b71ce70587af8fc8244a05722c191 Author: Brian King Date: Tue Nov 21 10:28:55 2006 -0600 [SCSI] ipr: Driver version 2.3.0 Bump driver version. Signed-off-by: James Bottomley commit bd705f2d43d34c0309dfa48117bed7167024247b Author: Adrian Bunk Date: Tue Nov 21 10:28:48 2006 -0600 [SCSI] ipr: Make ipr_ioctl static This patch makes ipr_ioctl static. Signed-off-by: Adrian Bunk Signed-off-by: Brian King Signed-off-by: James Bottomley commit ac719abab0fbe2b83dc99351f6605645aef814ab Author: Brian King Date: Tue Nov 21 10:28:42 2006 -0600 [SCSI] ipr: Reduce default error log size Since the default error log size has increased on SAS adapters, prevent ipr from logging this additional data unless requested to do so by the user set log level in order to prevent flooding the logs. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 49dc6a18185c12bae4980d17512fbe54ca6bae54 Author: Brian King Date: Tue Nov 21 10:28:35 2006 -0600 [SCSI] ipr: Add support for logging SAS fabric errors Adds support for logging SAS fabric errors logged by the ipr firmware. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 9d66bdf81f97673b6e330a26438fcaea38c26cd5 Author: Brian King Date: Tue Nov 21 10:28:29 2006 -0600 [SCSI] ipr: Remove debug trace points from dump code Remove some debug trace points that clutter up the log when ipr debugging is turned on. Signed-off-by: James Bottomley commit 7402ecef94f416dcf03af7435c404a4079683d96 Author: Brian King Date: Tue Nov 21 10:28:23 2006 -0600 [SCSI] ipr: Remove ipr_scsi_timed_out Remove ipr's usage of the scsi transport eh_timed_out for handling SATA timeouts. This was only needed in order to set some flags on the qc prior to calling ata_do_eh. Signed-off-by: James Bottomley commit efbbdd846d41221396c094ff6df35246bdcf889e Author: Brian King Date: Tue Nov 21 10:28:16 2006 -0600 [SCSI] ipr: Set default ipr Kconfig values Both SCSI_IPR_TRACE and SCSI_IPR_DUMP should be defaulted to yes when SCSI_IPR is enabled. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 60e7486b190998745b548599c843f090d5624ae3 Author: Brian King Date: Tue Nov 21 10:28:10 2006 -0600 [SCSI] ipr: PCI IDs for new SAS adapters Adds PCI IDs for some new ipr SAS adapters. Signed-off-by: James Bottomley commit 04d9768ff8847b0ae8c41ac3cfb3c5bb2e31699a Author: Brian King Date: Tue Nov 21 10:28:04 2006 -0600 [SCSI] ipr: Stop issuing cancel all to disk arrays The ipr disk array devices do not support a cancel all requests primitive, so change the ipr driver to never send it. Signed-off-by: James Bottomley commit 73d98ff0fa8d9074792b7273f57d9f92810104c6 Author: Brian King Date: Tue Nov 21 10:27:58 2006 -0600 [SCSI] ipr: SATA reset - wait for host reset completion If an ipr adapter hits a fatal microcode error requiring a reset while a SATA device is going through EH, it can result in a command getting issued to the ipr adapter while it is getting reset, which can cause PCI bus errors. Wait for any outstanding adapter reset to finish prior to issuing a SATA device reset. Signed-off-by: James Bottomley commit 7feb6b3fbb48ceaceb7a66a9784106abef48e454 Author: David C Somayajulu Date: Mon Nov 20 16:20:22 2006 -0800 [SCSI] qla4xxx: fix for timing issue for nvram accesses. This patch fixes a timing issue related to nvram accesses in qla4xxx driver for some cpu/slot speed combination. Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit b448de473139e40a9ecc4e34946ffec5a65807ec Author: Adrian Bunk Date: Mon Nov 20 03:23:49 2006 +0100 [SCSI] megaraid_sas: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk Acked-by: "Patro, Sumant" Signed-off-by: James Bottomley commit d915058f48745c0d5c4582566e5aa63867264f81 Author: David C Somayajulu Date: Wed Nov 15 17:38:40 2006 -0800 [SCSI] qla4xxx: add support for qla4032 This patch provides the following: 1. adds support for the next version of Qlogic's iSCSI HBA, qla4032 (PCI Device ID 4032). 2. removes dead code related to topcat chip and renames qla4010_soft_reset to qla4xxx_soft_reset (minor changes). Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit 0bd2af46839ad6262d25714a6ec0365db9d6b98f Merge: e138a5d... f26b904... Author: James Bottomley Date: Wed Nov 22 12:06:44 2006 -0600 Merge ../scsi-rc-fixes-2.6 commit e138a5d2356729b8752e88520cc1525fae9794ac Author: James Bottomley Date: Wed Nov 22 11:54:15 2006 -0600 [SCSI] aic94xx: fix pointer to integer conversion warning Signed-off-by: James Bottomley commit f26b90440cd74c78fe10c9bd5160809704a9627c Author: David C Somayajulu Date: Wed Nov 15 16:41:09 2006 -0800 [PATCH] qla4xxx: bug fix: driver hardware semaphore needs to be grabbed before soft reset On qla4xxx, the driver needs to grab the drvr semaphore provided by the hardware, prior to issuing a reset. This patches takes care of a couple of places where it was not being done. In addition there is minor clean up. Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit 7b4feee973ca7be63345b92a987ef7ef879b179b Author: Darrick J. Wong Date: Tue Nov 14 18:02:07 2006 -0800 [PATCH] aic94xx: delete ascb timers when freeing queues When the aic94xx driver creates ascbs, each ascb is initialized with a timeout timer. If there are any ascbs left over when the driver is being torn down, these timers need to be deleted. In particular, we seem to hit this case when ascbs are issued yet never end up on the done list. Right now there's a sequencer bug that results in this happening every so often. CONTROL PHY commands are typically sent when things are really messed up with the sequencer; however, any other leftover ascb should produce loud warnings. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit dea22214790d1306f3a3444db13d2c726037b189 Author: Darrick J. Wong Date: Tue Nov 7 17:28:55 2006 -0800 [PATCH] aic94xx: handle REQ_DEVICE_RESET This patch implements a REQ_DEVICE_RESET handler for the aic94xx driver. Like the earlier REQ_TASK_ABORT patch, this patch defers the device reset to the Scsi_Host's workqueue, which has the added benefit of ensuring that the device reset does not happen at the same time that the abort tmfs are being processed. After the phy reset, the busted drive should go away and be re-detected later, which is indeed what I've seen on both a x260 and a x206m. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit c4028958b6ecad064b1a6303a6a5906d4fe48d73 Author: David Howells Date: Wed Nov 22 14:57:56 2006 +0000 WorkStruct: make allyesconfig Fix up for make allyesconfig. Signed-Off-By: David Howells commit 65f27f38446e1976cc98fd3004b110fedcddd189 Author: David Howells Date: Wed Nov 22 14:55:48 2006 +0000 WorkStruct: Pass the work_struct pointer instead of context data Pass the work_struct pointer to the work function rather than context data. The work function can use container_of() to work out the data. For the cases where the container of the work_struct may go away the moment the pending bit is cleared, it is made possible to defer the release of the structure by deferring the clearing of the pending bit. To make this work, an extra flag is introduced into the management side of the work_struct. This governs auto-release of the structure upon execution. Ordinarily, the work queue executor would release the work_struct for further scheduling or deallocation by clearing the pending bit prior to jumping to the work function. This means that, unless the driver makes some guarantee itself that the work_struct won't go away, the work function may not access anything else in the work_struct or its container lest they be deallocated.. This is a problem if the auxiliary data is taken away (as done by the last patch). However, if the pending bit is *not* cleared before jumping to the work function, then the work function *may* access the work_struct and its container with no problems. But then the work function must itself release the work_struct by calling work_release(). In most cases, automatic release is fine, so this is the default. Special initiators exist for the non-auto-release case (ending in _NAR). Signed-Off-By: David Howells commit 365970a1ea76d81cb1ad2f652acb605f06dae256 Author: David Howells Date: Wed Nov 22 14:54:49 2006 +0000 WorkStruct: Merge the pending bit into the wq_data pointer Reclaim a word from the size of the work_struct by folding the pending bit and the wq_data pointer together. This shouldn't cause misalignment problems as all pointers should be at least 4-byte aligned. Signed-Off-By: David Howells commit 6bb49e5965c1fc399b4d3cd2b5cf2da535b330c0 Author: David Howells Date: Wed Nov 22 14:54:45 2006 +0000 WorkStruct: Typedef the work function prototype Define a type for the work function prototype. It's not only kept in the work_struct struct, it's also passed as an argument to several functions. This makes it easier to change it. Signed-Off-By: David Howells commit 52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c Author: David Howells Date: Wed Nov 22 14:54:01 2006 +0000 WorkStruct: Separate delayable and non-delayable events. Separate delayable work items from non-delayable work items be splitting them into a separate structure (delayed_work), which incorporates a work_struct and the timer_list removed from work_struct. The work_struct struct is huge, and this limits it's usefulness. On a 64-bit architecture it's nearly 100 bytes in size. This reduces that by half for the non-delayable type of event. Signed-Off-By: David Howells commit d5d06ff7f181c06ef8c94b353ae3fef8f06b3085 Author: Wim Van Sebroeck Date: Fri Nov 17 23:50:06 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 4 a number of small patches: - include notifier.h include file - re-arrange prototype functions - remove =0 initializations - change printk logging levels to what's used in other drivers - /dev/watchdog is a VFS so use nonseekable_open - Style: Instead of "if (constant op function_or_variable)" we prefer "if (function_or_variable op constant)" - arg is a __user pointer - use MAX_TIMEOUT_SECONDS instead of 32 in WDIOC_SETTIMEOUT Signed-off-by: Randy Dunlap Signed-off-by: Wim Van Sebroeck commit 414a675964e5636b53b37827b646138f166507d3 Author: Wim Van Sebroeck Date: Fri Nov 17 23:36:08 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 3 Move start and stop code into seperate functions Signed-off-by: Wim Van Sebroeck commit 97846e3ccbcbcc966e23a91b0d190efd1f889c9b Author: Wim Van Sebroeck Date: Fri Nov 17 23:15:48 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 2 Reorganize source code so that it is structured as follows: - Function prototypes - Local variables - Module arguments - Interrupt handler - Watchdog functions - /dev/watchdog operations - Shutdown notifier - Kernel interfaces - Init & exit procedures - Device driver init & exit Signed-off-by: Wim Van Sebroeck commit cd57eeab7c4c108ce6e84545bdf37ae91b930781 Author: Wim Van Sebroeck Date: Fri Nov 17 21:51:35 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 1 Locate parameter descriptions close to parameter definition - not in bottom of file. Signed-off-by: Sam Ravnborg Signed-off-by: Wim Van Sebroeck commit 825d3748c1b5f9272e4f9769f1c2da85174ece28 Author: Thomas Koeller Date: Mon Aug 14 21:55:29 2006 +0200 [WATCHDOG] MIPS RM9000 on-chip watchdog device This is a driver for the on-chip watchdog device found on some MIPS RM9000 processors. Signed-off-by: Thomas Koeller Signed-off-by: Wim Van Sebroeck commit 9d92fe17b652f5496c97bc83fdfe925f3182f602 Author: Dmitry Torokhov Date: Fri Nov 17 01:07:39 2006 -0500 Input: serio - remove serio_unregister_port_delayed() Now that i8042 reserves IRQs early there are no more users of this function and it should be removed. Signed-off-by: Dmitry Torokhov commit f40219bf936bb677566f42758d505e27fad0908e Author: Nicolas Pitre Date: Fri Nov 17 01:07:26 2006 -0500 Input: add Philips UCB1400 touchscreen driver Signed-off-by: Nicolas Pitre Signed-off-by: Dmitry Torokhov commit a216a4b6e6f1fdfd3d1f20f03d9d45f05a63d643 Author: Dmitry Torokhov Date: Fri Nov 17 01:07:06 2006 -0500 Input: i8042 - fix shutdown issue on some boxes with active MUXes MUX error handling has a workaround for KBCs that get confused which port data came from and signal MUXERR while data is actually good. Unfortunately this workaround hurts with KBCs that signal timeouts as 0xfc (spec says that only 0xfd, 0xfe and 0xff are alowed with MUXERR) since it causes endless attempts to rescan i8042 serio ports. The solution is to treat 0xfc as timeout (0xfe). Signed-off-by: Dmitry Torokhov commit 6c595fb12fa6c1fe382cc086fdade4acd93c643f Author: Marton Nemeth Date: Fri Nov 17 01:06:54 2006 -0500 Input: mousedev - remap BTN_FORWARD from BTN_LEFT to BTN_MIDDLE In mousedev the BTN_LEFT and BTN_FORWARD were mapped to mouse button 0, causing that the user space program cannot distinguish between them through /dev/input/mice. All mice have BTN_LEFT, but not all have BTN_MIDDLE (e.g. Clevo D410J laptop). Mapping BTN_FORWARD to mouse button 2 makes the BTN_FORWARD button useful on this laptop. Signed-off-by: Marton Nemeth Signed-off-by: Dmitry Torokhov commit 5b44f1aaee7e3b24f6e21662d7fef1534111a2df Author: Stelian Pop Date: Fri Nov 17 01:06:36 2006 -0500 Input: MAC mouse button emulation - relax dependencies Mouse button emulation for the one-button mouse Apple machines isn't restricted to older ADB based machines. There are PPC Powerbooks where the keyboard and the mouse are no longer on the ADB bus but regular USB, and users still like (and need) to be able to emulate the middle mouse button with F11 and the right mouse button with F12. Signed-off-by: Dmitry Torokhov commit e5d9832c207f952e15ccddda5f2d52c94036acd7 Author: Julien BLACHE Date: Fri Nov 17 01:06:25 2006 -0500 Input: appletouch - use canonical names in USB IDs Small readability improvement for appletouch: use canonical names instead of raw USB IDs for some of the devices. Signed-off-by: Julien BLACHE Signed-off-by: Dmitry Torokhov commit 009ad0e7b43d6cabd74e47db6180f14315b71417 Author: Julien BLACHE Date: Fri Nov 17 01:06:13 2006 -0500 Input: appletouch - add Geyser IV support The new Core2 Duo MacBook Pro has a new keyboard+trackpad named "Geyser IV". According to the Info.plist in the OS X kext, it looks like the Geyser IV trackpad is identical to the Geyser III trackpad: same IOClass (AppleUSBGrIIITrackpad), same acceleration tables. Signed-off-by: Julien BLACHE Signed-off-by: Dmitry Torokhov commit 00081d3729a450c37afb01c01528f4f305806d86 Author: Jason Parekh Date: Fri Nov 17 01:05:58 2006 -0500 Input: appletouch - verious updates for MacBooks Change a bit the finger detection method used by the appletouch driver to reduce touchpad "jumpiness": - Adjust the method for detecting multiple fingers. Previously, it recognized a new finger when a low sensor reading is followed by a high sensor reading. The new method checks for 'humps' in the sensor readings, so there doesn't necessarily have to be a low sensor between two high sensors for two fingers to be triggered. This allows detecting presence of two fingers on the touchpad even when they touch each other. - Change absolute coordinate calculation to us to get rid of "jumps". Instead of using full value from a sensor once it passes the threshold subtract theshold value from the reading. - Allow adjusting threshold value via module parameter. The patch doesn't seem to affect the Powerbooks but does greatly improve the touchpad behaviour on the MacBooks. Signed-off-by: Jason Parekh Signed-off-by: Stelian Pop Signed-off-by: Dmitry Torokhov commit 8d6286fdfd290589f8446ec1503702227263dcfd Author: Steve French Date: Thu Nov 16 22:48:25 2006 +0000 [CIFS] Fix timezone handling on stat to os/2 We were adjusting for timezone on readdir but not on stat Signed-off-by: Steve French commit 31ec35d6c81175016a6372571eab23b6bd40b406 Author: Steve French Date: Thu Nov 16 20:54:20 2006 +0000 [CIFS] Incorrect hardlink count when original file is cached (oplocked) Fixes Samba bug 2823 In this case hardlink count is stale for one of the two inodes (ie the original file) until it is closed - since revalidate does not go to server while file is cached locally. Signed-off-by: Steve French commit 504fb37a0801d843bc1907c1a1f9c719c3509863 Author: Ingo Molnar Date: Thu Nov 9 10:09:35 2006 +0100 [SCSI] fix module unload induced compile warning Signed-off-by: Ingo Molnar Signed-off-by: James Bottomley commit 85e04e371b5a321b5df2bc3f8e0099a64fb087d7 Author: Hannes Reinecke Date: Thu Nov 9 11:55:41 2006 +0100 [SCSI] block: convert jiffies to msecs in scsi_ioctl() Use the proper conversion function for convert jiffies to msecs in sg_io(). Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 667c667f86c87cd4f72296d650e5e65f2d89cb31 Author: Henne Date: Wed Nov 8 19:56:28 2006 -0800 [SCSI] scsi: t128 scsi_cmnd convertion Changes the obsolete Scsi_Cmnd to struct scsi_cmnd and remove the trailing whitespaces. Signed-off-by: Henrik Kretzschmar Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 297295ae6653af1356dd35a8edc411e2715aec57 Author: Andrew Morton Date: Wed Nov 8 19:56:26 2006 -0800 [SCSI] ips: fix soft lockup during reset initialization Resetting the adapter causes the ServeRAID driver to exceed the max time allowed by the softlock watchdog. Resetting the hardware can easily require 30 or more seconds. To avoid the "BUG: soft lockup detected on CPU#0!" result, this patch adds a touch_nmi_watchdog() to the driver's MDELAY macro. Cc: Nishanth Aravamudan Cc: Nick Piggin Acked-by: Jack Hammer Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit e5f82ab8342b527231cfcccde1fe265666e86b7b Author: Adrian Bunk Date: Wed Nov 8 19:55:50 2006 -0800 [SCSI] qla2xxx: make some functions static This patch makes some needlessly global functions static. Signed-off-by: Adrian Bunk Acked-by: Andrew Vasquez Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit db3a8815fb03f9985713b4ab29e208b7074f939c Author: Jeff Garzik Date: Wed Nov 8 19:56:20 2006 -0800 [SCSI] minor bug fixes and cleanups BusLogic: use kzalloc(), remove cast to/from void* aic7xxx_old: fix typo in cast NCR53c406a: ifdef out static built code fd_mcs: ifdef out static built code ncr53c8xx: ifdef out static built code Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit bf4713418b9d8543e7b64bf6c742f1959828033e Author: Andrew Morton Date: Wed Nov 8 19:56:24 2006 -0800 [SCSI] revert "[SCSI] ips soft lockup during reset/initialization" Revert 15084a4a63bc300c18b28a8a9afac870c552abce - it caused a scheduling-inside-spinlock bug. Cc: Nishanth Aravamudan Cc: Nick Piggin Cc: Jack Hammer Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 08157cd0787004e2ebf9ee8cc92257244da53848 Author: Jeff Garzik Date: Wed Nov 8 19:56:19 2006 -0800 [SCSI] SCSI/aha1740: handle SCSI API errors Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 42252854011b31fe63ffeca44ac941e6fe8277ae Author: Kai Makisara Date: Tue Nov 7 21:56:38 2006 +0200 [SCSI] st: log message changes Printk -> sdev_printk change originally from Luben Tuikov . Loglevel changes prompted by Matthew Wilcox . Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit fd44bab5c709bbcd30fbebe9ad45a76c58cd32a7 Author: Luben Tuikov Date: Wed Nov 15 12:47:08 2006 -0800 [SCSI] sd: clearer output of disk cache state Signed-off-by: Luben Tuikov Signed-off-by: James Bottomley commit 4f777ed26086452737ea52597cf8de26137090d5 Author: Christoph Hellwig Date: Sat Nov 4 20:11:36 2006 +0100 [SCSI] kill scsi_assign_lock scsi_assign_lock has been unused for a long time and is a bad idea in general, so kill it. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 3b00315799d78f76531b71435fbc2643cd71ae4c Author: Christoph Hellwig Date: Sat Nov 4 20:10:55 2006 +0100 [SCSI] untangle scsi_prep_fn I wanted to add some BUG checks to scsi_prep_fn to make sure no one sends us a non-sg command, but this function is a horrible mess. So I decided to detangle the function and document what the valid cases are. While doing that I found that REQ_TYPE_SPECIAL commands aren't used by the SCSI layer anymore and we can get rid of the code handling them. The new structure of scsi_prep_fn is: (1) check if we're allowed to send this command (2) big switch on cmd_type. For the two valid types call into a function to set the command up, else error (3) code to handle error cases Because FS and BLOCK_PC commands are handled entirely separate after the patch this introduces a tiny amount of code duplication. This improves readabiulity though and will help to avoid the bidi command overhead for FS commands so it's a good thing. I've tested this on both sata and mptsas. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 2dc611de5a3fd955cd0298c50691d4c05046db97 Author: Christoph Hellwig Date: Sat Nov 4 20:04:21 2006 +0100 [SCSI] use one-element sg list in scsi_send_eh_cmnd scsi_send_eh_cmnd is the last user of non-sg commands currently. This patch switches it to a one-element SG list. Also updates the kerneldoc comment for scsi_send_eh_cmnd to reflect reality while we're at it. Test on my mptsas card, but this should get testing with as many drivers as possible. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit fe4a36cf652031d2744a536ba5121032840380cb Author: Darrick J. Wong Date: Mon Oct 30 15:18:56 2006 -0800 [SCSI] aic94xx: handle REQ_TASK_ABORT This patch straightens out the code that distinguishes the various escb opcodes in escb_tasklet_complete so that they can be handled correctly. It also provides all the necessary code to create a workqueue item that tells libsas to abort a sas_task. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 79a5eb609b74e7b3638861c41b98eafa74920a1f Author: Darrick J. Wong Date: Mon Oct 30 15:18:50 2006 -0800 [SCSI] libsas: add sas_abort_task This patch adds an external function, sas_abort_task, to enable LLDDs to abort sas_tasks. It also adds a work_struct so that the actual work of aborting a task can be shifted from tasklet context (in the LLDD) onto the scsi_host's workqueue. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit f456393e195e0aa16029985f63cd93b601a0d315 Author: Darrick J. Wong Date: Mon Oct 30 15:18:39 2006 -0800 [SCSI] libsas: modify error handler to use scsi_eh_* functions This patch adds an EH done queue to sas_ha, converts the error handling strategy function and the sas_scsi_task_done functions in libsas to use the scsi_eh_* commands for error'd commands, and adds checks for the INITIATOR_ABORTED flag so that we do the right thing if a sas_task has been aborted by the initiator. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit b4d38e38e66f8e1b32a1b1c00e533175314c8d56 Author: Alan Stern Date: Wed Oct 11 16:48:28 2006 -0400 [SCSI] Reduce polling in sd.c If a drive reports that no media is present, there's no point in continuing to ask it about media status. This patch (as696) cuts the TUR polling short as soon as the drive reports no media instead of going a full 3 iterations. Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit efa53ebe0d2f50bf342eb1976824f59bba9941eb Author: Zhu Yi Date: Mon Nov 13 11:32:50 2006 +0800 [PATCH] ieee80211: Fix kernel panic when QoS is enabled The 802.11 header length is affected by the wireless mode (WDS or not) and type (QoS or not). We should use the variable hdr_len instead of the hard coded IEEE80211_3ADDR_LEN, otherwise we may touch invalid memory. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 19a79859e168640f8e16d7b216d211c1c52b687a Author: Sylvain Munaut Date: Sat Nov 11 10:53:19 2006 +0100 [PATCH] ppc: Fix io.h for config with CONFIG_PCI not set When CONFIG_PCI option is not set, the variables pci_dram_offset, isa_io_base and isa_mem_base are not defined. Currently, the test is handled in each platform header. This patch moves the test in io.h once and for all. Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit b61c5509fe8f6c665c146ab14f960000d4a5d1a9 Author: Kim Phillips Date: Fri Nov 10 18:08:30 2006 -0600 [PATCH] Make git ignore new wrapper generated files The new 'wrapper' code generates files that git should ignore; add them to .gitignore. Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit 57744ea95edd340d7140852ce86c743df2cd588c Author: Geoff Levand Date: Fri Nov 10 12:01:02 2006 -0800 [PATCH] Check for null init_early routine Add a check for a null ppc_md.init_early to allow platforms that don't require an init_early routine to just set this member to null. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit fc9e8b4e275b6882cb537154c8fc7cde3692eea0 Author: Timur Tabi Date: Thu Nov 9 15:42:44 2006 -0600 [PATCH] Optimize qe_brg struct to use an array The qe_brg structure manually defined each of the 16 BRG registers, which made any code that used them cumbersome. This patch replaces the fields with a single 16-element array. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 0613ffbf53625ccecb96500b1cc7b0ef70cc8f04 Author: Olaf Hering Date: Thu Nov 9 18:53:52 2006 +0100 [PATCH] Fix compile warnings with CONFIG_PM=n Fix compile warnings with CONFIG_PM=n arch/powerpc/platforms/powermac/feature.c:489: warning: 'save_gpio_levels' defined but not used arch/powerpc/platforms/powermac/feature.c:490: warning: 'save_gpio_extint' defined but not used arch/powerpc/platforms/powermac/feature.c:491: warning: 'save_gpio_normal' defined but not used arch/powerpc/platforms/powermac/feature.c:492: warning: 'save_unin_clock_ctl' defined but not used Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 25787afa5c16d35cdfb191f63a3a406b3206744e Author: Mark A. Greer Date: Wed Nov 8 17:52:25 2006 -0700 [PATCH] Remove arch/powerpc/boot/zImage file. The bootwrapper Makefile does not clean up the 'zImage' file that may be left laying around. This patch removes it when cleaning that directory. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit e9c4b4bd56a7dfdc8879a5876e498991c9194321 Author: Mark A. Greer Date: Wed Nov 8 17:50:44 2006 -0700 [PATCH] Remove dtb file created by wrapper script When the wrapper script is passed a dts file, it runs 'dtc' to create a dtb file. This patch deletes that dtb file once its no longer needed. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit a416dd8d9cd3a3fa77b9839e0e6fc3c54927d8c3 Author: Michael Ellerman Date: Wed Nov 8 10:22:59 2006 +1100 [PATCH] Do a single one-line printk in bad_page_fault() bad_page_fault() prints a message telling the user what type of bad fault we took. The first line of this message is currently implemented as two separate printks. This has the unfortunate effect that if several cpus simultaneously take a bad fault, the first and second parts of the printk get jumbled up, which looks dodge and is hard to read. So do a single one-line printk for each fault type. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 66a91e9c0ab62ea938afaba7352741d8c554a589 Author: Andy Fleming Date: Tue Nov 7 16:57:22 2006 -0600 [PATCH] of_irq_to_resource now returns the virq Mostly this is to allow for error checking (check the return for NO_IRQ) Added a check that the resource is non-NULL, too. Signed-off-by: Andrew Fleming Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a9b14973a8c42b2aecc968851372203c6567e196 Author: Andy Fleming Date: Thu Oct 19 19:52:26 2006 -0500 [PATCH] Slight refactor of interrupt mapping for FSL parts * Cleaned up interrupt mapping a little by adding a helper function which parses the irq out of the device-tree, and puts it into a resource. * Changed the arch/ppc platform files to specify PHY_POLL, instead of -1 * Changed the fixed phy to use PHY_IGNORE_INTERRUPT * Added ethtool.h and mii.h to phy.h includes Signed-off-by: Paul Mackerras commit c37858d333a50815c74349396e31a535f4128e0b Author: Nicolas DET Date: Sun Nov 5 12:57:16 2006 +0100 [PATCH] Add Efika platform support Add Efika (http://www.bplan-gmbh.de/efika_spec_en.html) platform support for arch/powerpc. Signed-off-by: Nicolas DET Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0f6c95dcabdaa8fdc95b125582bd12625adfbde6 Author: Nicolas DET Date: Wed Nov 8 17:14:43 2006 +0100 [PATCH] Add MPC5200 Interrupt Controller support. This adds support for the MPC52xx Interrupt controller for ARCH=powerpc. It includes the main code in arch/powerpc/sysdev/ as well as a header file in include/asm-powerpc. Signed-off-by: Nicolas DET Acked-by: Sylvain Munaut Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 2fcd34291b650723091a06e4b51b546961f308a3 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:11 2006 +0100 [PATCH] Make nvram_64.o a 64bit-only object Make nvram_64.o dependent on 64bit, not on MULTIPLATFORM. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fd6e7d2d6a0231ebfa08e1f9a323497ea548da7d Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:10 2006 +0100 [PATCH] Clean up usage of boot_dev dev_t boot_dev is declared in arch/powerpc/kernel/setup_32.c and in arch/powerpc/kernel/setup_64.c but not used in these files. It is only used in arch/powerpc/platforms/powermac/setup.c, so make it static in this file. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 99a565bab1a41819b9f85c8c069a2f3fc6e27d55 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:06 2006 +0100 [PATCH] Remove occurences of PPC_MULTIPLATFORM in pci_64.c Since iSeries is merged to MULTIPLATFORM, there is no way to build a 64bit kernel without MULTIPLATFORM, so PPC_MULTIPLATFORM can be removed in 64bit-only files. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a7a1ed305043961ed06e0ee5e7a4a2cc1250f4b5 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:04 2006 +0100 [PATCH] Remove occurences of PPC_MULTIPLATFORM in head_64.S Since iSeries is merged to MULTIPLATFORM, there is no way to build a 64bit kernel without MULTIPLATFORM, so PPC_MULTIPLATFORM can be removed in 64bit-only files. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 68e1300a55310a288b87f2a7d6045df0d0f802bc Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:01 2006 +0100 [PATCH] Remove _machine macro The _machine macro was once used for compatibility with ARCH=ppc drivers. It is unused in current kernels, so remove it. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 67764a03193d0246cf9bb491b41806508d415830 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:00 2006 +0100 [PATCH] Remove unnecessary ifdef in include/asm-powerpc/pci.h Current kernels always have one of CONFIG_PPC_MULTIPLATFORM or CONFIG_PPC32 defined, so remove bogus ifdef. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 2b890bc2ce95e8c141b38ea86100826b46534295 Author: Sascha Hauer Date: Mon Nov 6 11:19:08 2006 +0100 [PATCH] Remove dead code in iommu.h iommu_setup_pSeries() and iommu_setup_dart() are declared extern but are not implemented, so remove them. Remove ifdef around extern function declaration. Signed-off-by: Sascha Hauer Signed-off-by: Paul Mackerras commit bfaadcadc9549c7e296e37a0cfe306704e8df739 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:55:57 2006 +0100 [PATCH] Replace CONFIG_PPC_MULTIPLATFORM with CONFIG_PPC_PMAC in tulip driver Replace CONFIG_PPC_MULTIPLATFORM with CONFIG_PPC_PMAC in drivers/net/tulip/de4x5.c. It is needed for a pmac specific hook but has nothing with to do with PPC_MULTIPLATFORM. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 74a9d5f1d140adbeadd5ef319f162903090c3b83 Author: Sascha Hauer Date: Fri Nov 3 09:52:49 2006 +0100 [PATCH] Remove inclusion of asm/processor.h in via82cxxx.c There is some PPC_CHRP specific code in drivers/ide/pci/via82cxxx.c, so #ifdef on CONFIG_PPC_CHRP instead of CONFIG_PPC_MULTIPLATFORM. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e033351d5359f348d2913eb83fbb37023d8f21af Author: Wim Van Sebroeck Date: Sun Nov 12 18:05:09 2006 +0100 [WATCHDOG] Add iTCO vendor specific support Add vendor specific support to the intel TCO timer based watchdog devices. At this moment we only have additional support for some SuperMicro Inc. motherboards. Signed-off-by: Robert Seretny Signed-off-by: Wim Van Sebroeck commit eb5d5829b368c5e32f248a70797bee5a414a2ef0 Author: Sergey Vlasov Date: Thu Nov 9 00:34:27 2006 -0500 Input: psmouse - fix attribute access on 64-bit systems psmouse_show_int_attr() and psmouse_set_int_attr() were accessing unsigned int fields as unsigned long, which gave garbage on x86_64. Signed-off-by: Sergey Vlasov Signed-off-by: Dmitry Torokhov commit 721556150e397f606a3f029736d77a27503f94e2 Author: Dmitry Torokhov Date: Sun Nov 5 22:40:19 2006 -0500 Input: mice - handle errors when registering input devices Signed-off-by: Dmitry Torokhov commit 127278ce2254c61f1346500374d61e33f74a8729 Author: Dmitry Torokhov Date: Sun Nov 5 22:40:09 2006 -0500 Input: joysticks - handle errors when registering input devices Signed-off-by: Dmitry Torokhov commit 52c1f5704d7555a16641429b2e7af5d26d7b119a Author: Dmitry Torokhov Date: Sun Nov 5 22:40:03 2006 -0500 Input: touchscreens - handle errors when registering input devices Signed-off-by: Dmitry Torokhov commit 2b03b60e6b8635fffdd15d5d24943950f2bbf96e Author: Dmitry Torokhov Date: Sun Nov 5 22:39:56 2006 -0500 Input: keyboards - handle errors when registering input devices Signed-off-by: Dmitry Torokhov commit 41ad5fbabda0c3930136bb40cfc7a0c23013365f Author: Anssi Hannula Date: Sat Nov 4 22:49:53 2006 -0500 Input: HID - add a quirk for the Logitech USB Receiver Logitech USB Receiver (046d:c101) has two interfaces. The first one contains fields from HID_UP_KEYBOARD and HID_UP_LED, and the other one contains fields from HID_UP_CONSUMER and HID_UP_LOGIVENDOR. This device is used with multiple wireless Logitech products, including UltraX Media Remote. All fields on both interfaces are either keys or leds. All fields in the first interface are marked as Absolute, while the fields in the second interface are marked as Relative. Marking the keys as relative causes hidinput_hid_event() to send release events right after key press events. The device has EV_REP set, so the userspace expects the device to send repeat events if a key is held down. However, as hidinput_hid_event() sends release events immediately, repeat events are not sent at all. In fact, the userspace has no way of knowing if a key is being held down. Fix this by adding a quirk for 046d:c101 which changes relative keys to absolute ones. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit 752c58a471c108d64da1676b2925dfbd83eb177e Merge: e52b29c... 10b1fbd... Author: Dmitry Torokhov Date: Sat Nov 4 22:42:39 2006 -0500 Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit e52b29c2a637f6854d71a45646d7283d984a6dad Author: Brandon Philips Date: Sat Nov 4 22:09:08 2006 -0500 Input: drivers/char/keyboard.c - small cleanup in k_cur() To save a char pointer in the final assembly change to alternate string form. Signed-off-by: Brandon Philips Signed-off-by: Dmitry Torokhov commit 0fea0e9a9c72dab526447895605fc236c87c2726 Author: Jeff Garzik Date: Thu Nov 2 23:59:40 2006 -0500 Input: logips2pp - handle sysfs errors Signed-off-by: Jeff Garzik Signed-off-by: Dmitry Torokhov commit 8ff22ea7d29d99b3dbec08fd541eb406c6775ec1 Author: Jeff Garzik Date: Thu Nov 2 23:59:30 2006 -0500 Input: trackpoint - handle sysfs errors Also use kzalloc instead of kcalloc since we are allocating single object. Signed-off-by: Jeff Garzik Signed-off-by: Dmitry Torokhov commit 8dd51650baf0861b0a73acb2c08bb944aa45bc61 Author: Dmitry Torokhov Date: Thu Nov 2 23:34:09 2006 -0500 Input: ads7846 - handle errors from sysfs Add sysfs error handling and switch to using attribute groups to simplify it. Signed-off-by: Dmitry Torokhov commit f4e3c711b31cea401b03ce39d4b5f1a30279094c Author: Dmitry Torokhov Date: Thu Nov 2 23:27:49 2006 -0500 Input: i8042 - remove unneeded call to i8042_interrupt() Remove call to i8042_interrupt() from i8042_aux_write(). According to Vojtech it may cause problems with older controllers if it is called right after real interrupt. Also it is not needed anymore since we register IRQs early and not waiting for serio ports to be opened. Signed-off-by: Dmitry Torokhov commit b1b2965057700d6dc9e1f986e8f7743b95ead424 Author: Andrew Morton Date: Thu Nov 2 23:27:44 2006 -0500 Input: lifebook - learn about hard tabs Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 15e9acb83c299963490b1f12d46498ae257d8f4e Author: Greg Chandler Date: Thu Nov 2 23:27:38 2006 -0500 Input: lifebook - add Hitachi Flora-IE 55mi tablet DMI signature This adds another DMI detected touchscreen. It is exactly the same driver as the existing ones, but this allows it to be detected on the Hitachi Flora-IE 55mi tablet. The original Midori drivers are "abeo antiquus". This should allow new life for these machines. Signed-off-by: Dmitry Torokhov commit b187dd7b5231bb359f587bf4d276ffd467ebc884 Author: Dmitry Torokhov Date: Thu Nov 2 23:27:30 2006 -0500 Input: gameport - rearrange gameport_bus initialization Initialize gameport_bus structure at compile time instead of at runtime in gameport_init(). Signed-off-by: Dmitry Torokhov commit 1ea2a69d54f40ecebf594ce5abfa02d53682df8a Author: Marton Nemeth Date: Thu Nov 2 23:27:21 2006 -0500 Input: serio - rearrange serio_bus initialization Initialize serio_bus structure at compile time instead of at runtime in serio_init(). Signed-off-by: Marton Nemeth Signed-off-by: Dmitry Torokhov commit 6a89bc0004c8d9400439db6167c9887456d5d18d Author: Akinobu Mita Date: Thu Nov 2 23:27:11 2006 -0500 Input: lightning - return proper error codes from l4_init() Signed-off-by: Akinobu Mita Signed-off-by: Dmitry Torokhov commit 1447190e39847cc2cc8a826e7061989c83ff4362 Author: Dmitry Torokhov Date: Thu Nov 2 23:26:55 2006 -0500 Input: add comments to input_{allocate|free}_device() Hopefully this will stop people from using input_free_device() incorrectly. Signed-off-by: Dmitry Torokhov commit 58c6570add83e30c0905885171fbffc134441165 Author: Akinobu Mita Date: Sun Oct 29 03:43:19 2006 +0900 [WATCHDOG] sc1200wdt.c pnp unregister fix. If no devices found or invalid parameter is specified, scl200wdt_pnp_driver is left unregistered. It breaks global list of pnp drivers. Signed-off-by: Akinobu Mita Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit fd0c5eca447254682a8372bc73b6bdcc16bf6777 Author: Andrew Morton Date: Fri Oct 27 17:20:42 2006 -0700 [WATCHDOG] config.h removal config.h got removed Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 36ca4ba4b9728f3c420a589a3322c2fbd7ec88b7 Author: Christian Krafft Date: Tue Oct 24 18:39:45 2006 +0200 [POWERPC] cell: add cpufreq driver for Cell BE processor This patch adds a cpufreq backend driver to enable frequency scaling on cell. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit a898497088f46252e6750405504064e2dce53117 Author: Michael Ellerman Date: Tue Oct 24 18:31:28 2006 +0200 [POWERPC] add support for dumping spu info from xmon This patch adds a command to xmon for dumping information about spu structs. The command is 'sf' for "spu fields" perhaps, and takes the spu number as an argument. This is the same value as the spu->number field, or the "phys-id" value of a context when it is bound to a physical spu. We try to catch memory errors as we dump each field, hopefully this will make the command reasonably robust, but YMMV. If people see a need we can easily add more fields to the dump in future. Output looks something like this: 0:mon> sf 0 Dumping spu fields at address c00000001ffd9e80: number = 0x0 name = spe devnode->full_name = /cpus/PowerPC,BE@0/spes/spe@0 nid = 0x0 local_store_phys = 0x20000000000 local_store = 0xd0000800801e0000 ls_size = 0x0 isrc = 0x4 node = 0x0 flags = 0x0 dar = 0x0 dsisr = 0x0 class_0_pending = 0 irqs[0] = 0x16 irqs[1] = 0x17 irqs[2] = 0x24 slb_replace = 0x0 pid = 0 prio = 0 mm = 0x0000000000000000 ctx = 0x0000000000000000 rq = 0x0000000000000000 timestamp = 0x0000000000000000 problem_phys = 0x20000040000 problem = 0xd000080080220000 problem->spu_runcntl_RW = 0x0 problem->spu_status_R = 0x0 problem->spu_npc_RW = 0x0 priv1 = 0xd000080080240000 priv1->mfc_sr1_RW = 0x33 priv2 = 0xd000080080250000 Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ff8a8f25976aa58bbae7883405b00dcbaf4cc823 Author: Michael Ellerman Date: Tue Oct 24 18:31:27 2006 +0200 [POWERPC] add support for stopping spus from xmon This patch adds support for stopping, and restarting, spus from xmon. We use the spu master runcntl bit to stop execution, this is apparently the "right" way to control spu execution and spufs will be changed in the future to use this bit. Testing has shown that to restart execution we have to turn the master runcntl bit on and also rewrite the spu runcntl bit, even if it is already set to 1 (running). Stopping spus is triggered by the xmon command 'ss' - "spus stop" perhaps. Restarting them is triggered via 'sr'. Restart doesn't start execution on spus unless they were running prior to being stopped by xmon. Walking the spu->full_list in xmon after a panic, would mean corruption of any spu struct would make all the others inaccessible. To avoid this, and also to make the next patch easier, we cache pointers to all spus during boot. We attempt to catch and recover from errors while stopping and restarting the spus, but as with most xmon functionality there are no guarantees that performing these operations won't crash xmon itself. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 302eca184fb844670fb128c69e22a8a28bbce48a Author: arnd@arndb.de Date: Tue Oct 24 18:31:26 2006 +0200 [POWERPC] cell: use ppc_md->power_save instead of cbe_idle_loop This moves the cell idle function to use the default cpu_idle with a special power_save callback, like all other platforms except iSeries already do. It also makes it possible to disable this power_save function with a new powerpc-specific boot option "powersave=off". Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit b3d7dc1967d1303d4897ff9537d29f6e077de147 Author: Christian Krafft Date: Tue Oct 24 18:31:25 2006 +0200 [POWERPC] cell: add temperature to SPU and CPU sysfs entries This patch adds a module that registers sysfs attributes to CPU and SPU containing the temperature of the CBE. They can be found under /sys/devices/system/spu/cpuX/thermal/temperature[0|1] /sys/devices/system/spu/spuX/thermal/temperature The temperature is read from the on-chip temperature sensors. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0344c6c5387ba335bba5a66fd44714b94c98573f Author: Christian Krafft Date: Tue Oct 24 18:31:24 2006 +0200 [POWERPC] sysfs: add support for adding/removing spu sysfs attributes This patch adds two functions to create and remove sysfs attributes and attribute_group to all cpus. That allows to register sysfs attributes in a subdirectory like: /sys/devices/system/cpu/cpuX/group_name/what_ever This will be used by cbe_thermal to group all attributes dealing with thermal support in one directory. Signed-of-by: Christian Krafft Signed-off-by: Paul Mackerras commit e570beb6bb1a623849901efbf939063ec4775c9e Author: Christian Krafft Date: Tue Oct 24 18:31:23 2006 +0200 [POWERPC] cell: add support for registering sysfs attributes to spus In order to add sysfs attributes to all spu's, there is a need for a list of all available spu's. Adding the device_node makes also sense, as it is needed for proper register access. This patch also adds two functions to create and remove sysfs attributes and attribute_groups to all spus. That allows to group spu attributes in a subdirectory like: /sys/devices/system/spu/spuX/group_name/what_ever This will be used by cbe_thermal to group all attributes dealing with thermal support in one directory. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit d8bf96e0793f9576da545bac333b2de304958d68 Author: Kevin Corry Date: Tue Oct 24 18:31:22 2006 +0200 [POWERPC] cell: add low-level performance monitoring code Add routines for accessing the registers and counters in the performance monitoring unit. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit bffd4927ba4377aa38be5450e20e0fecd2523fe3 Author: Kevin Corry Date: Tue Oct 24 18:31:21 2006 +0200 [POWERPC] cell: add shadow registers for pmd_reg Many of the registers in the performance monitoring unit are write-only. We need to save a "shadow" copy when we write to those registers so we can retrieve the values if we need them later. The new cbe_pmd_shadow_regs structure is added to the cbe_regs_map structure so we have the appropriate per-node copies of these shadow values. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 22b8c9f5baeb440a716ea760ff05290221565b4c Author: David Erb Date: Tue Oct 24 18:31:20 2006 +0200 [POWERPC] cell: update Cell BE register definitions There are a few definitions that are required by subsequent patches, so add them here. The original patch is from David Erb, but is significantly cleaned up by Kevon Corry. Cc: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 099814bb1f9bd9081d7c85867f8eb8c049abc1b9 Author: Jeremy Kerr Date: Tue Oct 24 18:31:19 2006 +0200 [POWERPC] spufs: Add isolated-mode SPE recycling support When in isolated mode, SPEs have access to an area of persistent storage, which is per-SPE. In order for isolated-mode apps to communicate arbitrary data through this storage, we need to ensure that isolated physical SPEs can be reused for subsequent applications. Add a file ("recycle") in a spethread dir to enable isolated-mode recycling. By writing to this file, the kernel will reload the isolated-mode loader kernel, allowing a new app to be run on the same physical SPE. This requires the spu_acquire_exclusive function to enforce exclusive access to the SPE while the loader is initialised. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0afacde3df4c9980f505d9afd7cb0058389732ca Author: arnd@arndb.de Date: Tue Oct 24 18:31:18 2006 +0200 [POWERPC] spufs: allow isolated mode apps by starting the SPE loader This patch adds general support for isolated mode SPE apps. Isolated apps are started indirectly, by a dedicated loader "kernel". This patch starts the loader when spe_create is invoked with the ISOLATE flag. We do this at spe_create time to allow libspe to pass the isolated app in before calling spe_run. The loader is read from the device tree, at the location "/spu-isolation/loader". If the loader is not present, an attempt to start an isolated SPE binary will fail with -ENODEV. Update: loader needs to be correctly aligned - copy to a kmalloced buf. Update: remove workaround for systemsim/spurom 'L-bit' bug, which has been fixed. Update: don't write to runcntl on spu_run_init: SPU is already running. Update: do spu_setup_isolated earlier Tested on systemsim. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit eb758ce5b0d84e13cb643b6cc7cb429f6fa28258 Author: arnd@arndb.de Date: Tue Oct 24 18:31:17 2006 +0200 [POWERPC] spufs: "stautus" isnt a word. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5737edd1ddbde5ab7f63bb3cb36015edbdb7c295 Author: Mark Nutter Date: Tue Oct 24 18:31:16 2006 +0200 [POWERPC] spufs: add support for nonschedulable contexts This adds two new flags to spu_create: SPU_CREATE_NONSCHED: create a context that is never moved away from an SPE once it has started running. This flag can only be used by tasks with the CAP_SYS_NICE capability. SPU_CREATE_ISOLATED: create a nonschedulable context that enters isolation mode upon first run. This requires the SPU_CREATE_NONSCHED flag. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit cc21a66d7f727ab97b27af9cf763bc0b51510ffa Author: Geoff Levand Date: Tue Oct 24 18:31:15 2006 +0200 [POWERPC] cell: remove unused struct spu variable Remove the mostly unused variable isrc from struct spu and a forgotten function declaration. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 24f43b33f74c8e8c8aabc40b728eaf9137802942 Author: Masato Noguchi Date: Tue Oct 24 18:31:14 2006 +0200 [POWERPC] spufs: wrap mfc sdr access SPRN_SDR1 and the SPE's MFC SDR are hypervisor resources and are not accessible from a logical partition. This change adds an access wrapper. When running on bare H/W, the spufs needs to only set the SPE's MFC SDR to the value of the PPE's SPRN_SDR1 once at SPE initialization, so this change renames mfc_sdr_set() to mfc_sdr_setup() and moves the access of SPRN_SDR1 into the mmio wrapper. It also removes the now unneeded member mfc_sdr_RW from struct spu_priv1_collapsed. Signed-off-by: Masato Noguchi Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann -- Signed-off-by: Paul Mackerras commit 5414c6be57dd02e089c3eba1f5134f441733d013 Author: Michael Ellerman Date: Tue Oct 24 13:37:34 2006 +1000 [POWERPC] Make irq_dispose_mapping(NO_IRQ) a nop It makes for a friendlier API if irq_dispose_mapping(NO_IRQ) is a nop, rather than triggering a WARN_ON. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a0f467261ae041864414103b8dd6fc4487a3c7de Author: Matthew McClintock Date: Mon Oct 23 14:26:57 2006 -0500 [POWERPC] Fixed some missing files to be deleted when running make clean Fixed some missing files to be deleted when running make clean Signed-off-by: Matthew McClintock Signed-off-by: Paul Mackerras commit 41999295b6c25d799dacbbca089fdbc19f6d60f5 Author: Michael Ellerman Date: Wed Oct 18 15:53:20 2006 +1000 [POWERPC] Move iSeries initrd logic into device tree Remove the iSeries initrd logic, instead just store the initrd location and size in the device tree so generic code can do the rest for us. The iSeries code had a "feature" which the generic code lacks, ie. if the compressed initrd is bigger than the configured ram disk size, we make the ram disk size bigger. That's bogus, as the compressed size of the initrd tells us nothing about how big the ram disk needs to be. If the ram disk isn't big enough you just need to make CONFIG_BLK_DEV_RAM_SIZE larger. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 83efafb301bc79a32799ca854fb590e82c4396e9 Author: Andy Fleming Date: Mon Oct 16 16:03:33 2006 -0500 [POWERPC] Fix up the OF functions to only do PCI stuff if PCI is actually configured The original problem that inspired this patch was solved quite some time ago (Turning off PCI didn't work), but this patch neatens things up a little (I think), by putting all the PCI stuff inside a single CONFIG_PCI block. It also removes the OF PCI bus matching entries if CONFIG_PCI is off. Signed-off-by: Paul Mackerras commit 0cfcccb4687862a34eb609d16e75b39b6cb54c80 Author: Josh Boyer Date: Fri Oct 13 10:07:01 2006 -0500 [POWERPC] Add mktree utility to arch/powerpc/boot This patch adds the mktree program that is needed to post process zImage wrappers for various PowerPC 4xx boards Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 0835caa2bf1933d5f41fd98e469107f4c00d547f Author: Wim Van Sebroeck Date: Mon Oct 23 18:21:52 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver - fixes Some small fixes: * the status should return 0 and not 1 (1 means: * wdt_io is not a module-param, io is. Signed-off-by: Wim Van Sebroeck commit 00b3b3e6605d7446cd410c7c9bb98f5336a15ca1 Author: Sven Anders & Marcus Junker Date: Mon Oct 16 18:18:09 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver v1.1 Change the driver for proper spin_locking, remove the TEMP_MINOR stuff, make sure the device works as a Virtual File System that is non_seekable, ... Signed-off-by: Sven Anders Signed-off-by: Marcus Junker Signed-off-by: Wim Van Sebroeck commit 01a6372008ed450982ba38ee5fd91028b9f5a781 Author: Mark A. Greer Date: Mon Oct 16 13:54:52 2006 -0700 [POWERPC] Add simple memory allocator to bootwrapper Provide primitive malloc, free, and realloc functions for bootwrapper. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 0c176fa80fdfa9b4e0753e37223b056994c818d2 Author: Mark A. Greer Date: Mon Oct 16 13:52:09 2006 -0700 [POWERPC] Add non-OF serial console support Add serial console support for non-OF systems. There is a generic serial console layer which calls a serial console driver. Included is the serial console driver for the ns16550 class of uarts. Necessary support routines are added as well. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 6fb4efc68f5c0e095153510dcfa8b54a42e914ba Author: Mark A. Greer Date: Mon Oct 16 13:50:05 2006 -0700 [POWERPC] Add flatdevtree source Add the latest version of the flatdevtree code and corresponding glue. A phandle table now tracks values returned by ft_find_device(). The value returned by ft_find_device() is a phandle which is really an index into the phandle table. The phandle table contains the address of the corresponding node. When the flat dt is edited/moved, the node pointers in the phandle table are updated accordingly so no phandles kept by the caller become stale. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit c888554bf95a5a0a6ac3e2389c6bf1e03e9480ba Author: Mark A. Greer Date: Mon Oct 16 13:49:27 2006 -0700 [POWERPC] More bootwrapper reorganization More reorganization of the bootwrapper: - Add dtb section to zImage - ft_init now called by platform_init - Pack a flat dt before calling kernel - Remove size parameter from free - printf only calls console_ops.write it its not NULL - Some cleanup Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit b0a779debd56514b2b5de7617a1643e5dac2d4dd Author: Paul Mackerras Date: Wed Oct 18 10:11:22 2006 +1000 [POWERPC] Make sure interrupt enable gets restored properly The lazy IRQ disable patch missed a couple of places where the interrupt enable flags need to be restored correctly. First, we weren't restoring the paca->hard_enabled flag on interrupt exit. Instead of saving it on entry, we compute it from the MSR_EE bit in the MSR we are restoring at exit. Secondly, the MMU hash miss code was clearing both paca->soft_enabled and paca->hard_enabled but not restoring them in the case where hash_page was able to resolve the miss from the Linux page tables. Signed-off-by: Paul Mackerras commit 035223fb28791f0eb0d5719727355d3f6817d228 Author: Geoff Levand Date: Thu Oct 5 11:35:10 2006 -0700 [POWERPC] Make pSeries_lpar_hpte_insert static Change the powerpc hpte_insert routines now called through ppc_md to static scope. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 0f03a43b8f0fc221986a46654282ec6a1e8c6d45 Author: David Gibson Date: Tue Oct 3 16:57:44 2006 +1000 [POWERPC] Remove todc code from ARCH=powerpc Apparently we've copied the todc drivers, for various RTCs used in embedded machines from ARCH=ppc to ARCH=powerpc, despite the fact that it's never used in the latter. This patch removes it. If we ever need these drivers (which we probably shouldn't now the RTC class stuff is in), we can transfer them one by one from ARCH=ppc, removing from the hideous abomination which is the todc "infrastructure". Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 5b43d20a4d12d94f258bbbca5fa4df8ff8a17848 Author: Olof Johansson Date: Wed Oct 4 23:41:41 2006 -0500 [POWERPC] powerpc: Enable DEEPNAP power savings mode on 970MP Without this patch, on an idle system I get: cpu-power-0:21.638 cpu-power-1:27.102 cpu-power-2:29.343 cpu-power-3:25.784 Total: 103.8W With this patch: cpu-power-0:11.730 cpu-power-1:17.185 cpu-power-2:18.547 cpu-power-3:17.528 Total: 65.0W If I lower HZ to 100, I can get it as low as: cpu-power-0:10.938 cpu-power-1:16.021 cpu-power-2:17.245 cpu-power-3:16.145 Total: 60.2W Another (older) Quad G5 went from 54W to 39W at HZ=250. Coming back out of Deep Nap takes 40-70 cycles longer than coming back from just Nap (which already takes quite a while). I don't think it'll be a performance issue (interrupt latency on an idle system), but in case someone does measurements feel free to report them. Signed-off-by: Olof Johansson Acked-by: Michael Buesch Signed-off-by: Paul Mackerras commit d04c56f73c30a5e593202ecfcf25ed43d42363a2 Author: Paul Mackerras Date: Wed Oct 4 16:47:49 2006 +1000 [POWERPC] Lazy interrupt disabling for 64-bit machines This implements a lazy strategy for disabling interrupts. This means that local_irq_disable() et al. just clear the 'interrupts are enabled' flag in the paca. If an interrupt comes along, the interrupt entry code notices that interrupts are supposed to be disabled, and clears the EE bit in SRR1, clears the 'interrupts are hard-enabled' flag in the paca, and returns. This means that interrupts only actually get disabled in the processor when an interrupt comes along. When interrupts are enabled by local_irq_enable() et al., the code sets the interrupts-enabled flag in the paca, and then checks whether interrupts got hard-disabled. If so, it also sets the EE bit in the MSR to hard-enable the interrupts. This has the potential to improve performance, and also makes it easier to make a kernel that can boot on iSeries and on other 64-bit machines, since this lazy-disable strategy is very similar to the soft-disable strategy that iSeries already uses. This version renames paca->proc_enabled to paca->soft_enabled, and changes a couple of soft-disables in the kexec code to hard-disables, which should fix the crash that Michael Ellerman saw. This doesn't yet use a reserved CR field for the soft_enabled and hard_enabled flags. This applies on top of Stephen Rothwell's patches to make it possible to build a combined iSeries/other kernel. Signed-off-by: Paul Mackerras commit 789fc0adbaf3a3ca95a3894aedacfc01863e8ae3 Author: Sven Anders & Marcus Junker Date: Thu Aug 24 17:11:50 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver New watchdog driver for the NS pc87413-wdt Watchdog Timer. Signed-off-by: Sven Anders Signed-off-by: Marcus Junker Signed-off-by: Wim Van Sebroeck commit 3e082a910d217b2e7b186077ebf5a1126a68c62f Author: Matthew Wilcox Date: Thu Sep 28 15:19:20 2006 -0600 [SCSI] Add ability to scan scsi busses asynchronously Since it often takes around 20-30 seconds to scan a scsi bus, it's highly advantageous to do this in parallel with other things. The bulk of this patch is ensuring that devices don't change numbering, and that all devices are discovered prior to trying to start init. For those who build SCSI as modules, there's a new scsi_wait_scan module that will ensure all bus scans are finished. This patch only handles drivers which call scsi_scan_host. Fibre Channel, SAS, SATA, USB and Firewire all need additional work. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley