commit 6a55617ed5d1aa62b850de2cf66f5ede2eef4825 Author: Linus Torvalds Date: Wed Aug 20 19:35:56 2008 -0700 Linux v2.6.27-rc4 commit 82d63fc9e30687c055b97928942b8893ea65b0bb Author: Al Viro Date: Wed Aug 20 14:09:24 2008 -0700 cramfs: fix named-pipe handling After commit a97c9bf33f4612e2aed6f000f6b1d268b6814f3c (fix cramfs making duplicate entries in inode cache) in kernel 2.6.14, named-pipe on cramfs does not work properly. It seems the commit make all named-pipe on cramfs share their inode (and named-pipe buffer). Make ..._test() refuse to merge inodes with ->i_ino == 1, take inode setup back to get_cramfs_inode() and make ->drop_inode() evict ones with ->i_ino == 1 immediately. Reported-by: Atsushi Nemoto Cc: Al Viro Cc: [2.6.14 and later] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d847471d063663b9f36927d265c66a270c0cfaab Author: Ian Campbell Date: Wed Aug 20 14:09:23 2008 -0700 fbdefio: add set_page_dirty handler to deferred IO FB Fixes kernel BUG at lib/radix-tree.c:473. Previously the handler was incidentally provided by tmpfs but this was removed with: commit 14fcc23fdc78e9d32372553ccf21758a9bd56fa1 Author: Hugh Dickins Date: Mon Jul 28 15:46:19 2008 -0700 tmpfs: fix kernel BUG in shmem_delete_inode relying on this behaviour was incorrect in any case and the BUG also appeared when the device node was on an ext3 filesystem. v2: override a_ops at open() time rather than mmap() time to minimise races per AKPM's concerns. Signed-off-by: Ian Campbell Cc: Jaya Kumar Cc: Nick Piggin Cc: Peter Zijlstra Cc: Hugh Dickins Cc: Johannes Weiner Cc: Jeremy Fitzhardinge Cc: Kel Modderman Cc: Markus Armbruster Cc: Krzysztof Helt Cc: [14fcc23fd is in 2.6.25.14 and 2.6.26.1] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b42f931737bea8ca3982449d63ec46410d13e891 Author: Anton Vorontsov Date: Wed Aug 20 14:09:21 2008 -0700 rtc: rtc-ds1374: fix 'no irq' case handling On a PowerPC board with ds1374 RTC I'm getting this error while RTC tries to probe: rtc-ds1374 0-0068: unable to request IRQ This happens because I2C probing code (drivers/of/of_i2c.c) is specifying IRQ0 for 'no irq' case, which is correct. The driver handles this incorrectly, though. This patch fixes it. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: Alessandro Zummo Acked-by: Peter Korsgaard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14bac5acfdb6a40be64acc042c6db73f1a68f6a4 Author: Nick Piggin Date: Wed Aug 20 14:09:20 2008 -0700 mm: xip/ext2 fix block allocation race XIP can call into get_xip_mem concurrently with the same file,offset with create=1. This usually maps down to get_block, which expects the page lock to prevent such a situation. This causes ext2 to explode for one reason or another. Serialise those calls for the moment. For common usages today, I suspect get_xip_mem rarely is called to create new blocks. In future as XIP technologies evolve we might need to look at which operations require scalability, and rework the locking to suit. Signed-off-by: Nick Piggin Cc: Jared Hulbert Acked-by: Carsten Otte Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 538f8ea6c85232d00bfa5edd9ba85f16c01057c9 Author: Nick Piggin Date: Wed Aug 20 14:09:20 2008 -0700 mm: xip fix fault vs sparse page invalidate race XIP has a race between sparse pages being inserted into page tables, and sparse pages being zapped when its time to put a non-sparse page in. What can happen is that a process can be left with a dangling sparse page in a MAP_SHARED mapping, while the rest of the world sees the non-sparse version. Ie. data corruption. Guard these operations with a seqlock, making fault-in-sparse-pages the slowpath, and try-to-unmap-sparse-pages the fastpath. Signed-off-by: Nick Piggin Cc: Jared Hulbert Acked-by: Carsten Otte Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 479db0bf408e65baa14d2a9821abfcbc0804b847 Author: Nick Piggin Date: Wed Aug 20 14:09:18 2008 -0700 mm: dirty page tracking race fix There is a race with dirty page accounting where a page may not properly be accounted for. clear_page_dirty_for_io() calls page_mkclean; then TestClearPageDirty. page_mkclean walks the rmaps for that page, and for each one it cleans and write protects the pte if it was dirty. It uses page_check_address to find the pte. That function has a shortcut to avoid the ptl if the pte is not present. Unfortunately, the pte can be switched to not-present then back to present by other code while holding the page table lock -- this should not be a signal for page_mkclean to ignore that pte, because it may be dirty. For example, powerpc64's set_pte_at will clear a previously present pte before setting it to the desired value. There may also be other code in core mm or in arch which do similar things. The consequence of the bug is loss of data integrity due to msync, and loss of dirty page accounting accuracy. XIP's __xip_unmap could easily also be unreliable (depending on the exact XIP locking scheme), which can lead to data corruption. Fix this by having an option to always take ptl to check the pte in page_check_address. It's possible to retain this optimization for page_referenced and try_to_unmap. Signed-off-by: Nick Piggin Cc: Jared Hulbert Cc: Carsten Otte Cc: Hugh Dickins Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d70b68d42b5196a48ccb639e3797f097ef5bea3 Author: Ken Chen Date: Wed Aug 20 14:09:17 2008 -0700 fix setpriority(PRIO_PGRP) thread iterator breakage When user calls sys_setpriority(PRIO_PGRP ...) on a NPTL style multi-LWP process, only the task leader of the process is affected, all other sibling LWP threads didn't receive the setting. The problem was that the iterator used in sys_setpriority() only iteartes over one task for each process, ignoring all other sibling thread. Introduce a new macro do_each_pid_thread / while_each_pid_thread to walk each thread of a process. Convert 4 call sites in {set/get}priority and ioprio_{set/get}. Signed-off-by: Ken Chen Cc: Oleg Nesterov Cc: Roland McGrath Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 141d87e7debe3334018e46859c7565c44cebda65 Author: Michael Hennerich Date: Wed Aug 20 14:09:16 2008 -0700 Video/Framebuffer: add fuctional power management support to Blackfin BF54x LQ043 framebuffer driver Fix bug: does nor properply resume after suspend mem Fix for PM_SUSPEND_MEM: Save and restore peripheral base and DMA registers Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 481ebd0d76b501c5772f702ae31e55350c0858a3 Author: Johannes Weiner Date: Wed Aug 20 14:09:15 2008 -0700 bootmem: fix aligning of node-relative indexes and offsets Absolute alignment requirements may never be applied to node-relative offsets. Andreas Herrmann spotted this flaw when a bootmem allocation on an unaligned node was itself not aligned because the combination of an unaligned node with an aligned offset into that node is not garuanteed to be aligned itself. This patch introduces two helper functions that align a node-relative index or offset with respect to the node's starting address so that the absolute PFN or virtual address that results from combining the two satisfies the requested alignment. Then all the broken ALIGN()s in alloc_bootmem_core() are replaced by these helpers. Signed-off-by: Johannes Weiner Reported-by: Andreas Herrmann Debugged-by: Andreas Herrmann Reviewed-by: Andreas Herrmann Tested-by: Andreas Herrmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a09f48551273ee89d4e9ae37474807dc2da1d757 Author: Andrew Morton Date: Wed Aug 20 14:09:14 2008 -0700 drivers/char/ipmi/ipmi_si_intf.c:default_find_bmc(): fix leak If check_legacy_ioport() returns true, we leak *info. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11362 Reported-by: Daniel Marjamki Cc: Christian Krafft Cc: Michael Ellerman Cc: Corey Minyard Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27aa069a8850a36b8aef0160e73cfd928c6bbcc4 Author: Krzysztof Helt Date: Wed Aug 20 14:09:11 2008 -0700 pm2fb: free cmap memory on module remove Release cmap memory allocated in the probe function. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d96469a34781340b2cc9bdf97d5913eecdaa038 Author: Atsushi Nemoto Date: Wed Aug 20 14:09:11 2008 -0700 rtc: fix double lock on UIE emulation With commit 5ad31a575157147b43fa84ef1e21471661653878 ("rtc: remove BKL for ioctl()"), RTC_UIE_ON ioctl cause double lock on rtc->ops_lock. The ops_lock must not be held while set_uie() calls rtc_read_time() which takes the lock. Also clear_uie() does not need ops_lock. This patch fixes return value of RTC_UIE_OFF ioctl too. Signed-off-by: Atsushi Nemoto Cc: David Brownell Cc: Russell King Cc: Alessandro Zummo Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff9bc512f198eb47204f55b24c6fe3d36ed89592 Author: Pavel Emelyanov Date: Wed Aug 20 14:09:10 2008 -0700 binfmt_misc: fix false -ENOEXEC when coupled with other binary handlers In case the binfmt_misc binary handler is registered *before* the e.g. script one (when for example being compiled as a module) the following situation may occur: 1. user launches a script, whose interpreter is a misc binary; 2. the load_misc_binary sets the misc_bang and returns -ENOEVEC, since the binary is a script; 3. the load_script_binary loads one and calls for search_binary_hander to run the interpreter; 4. the load_misc_binary is called again, but refuses to load the binary due to misc_bang bit set. The fix is to move the misc_bang setting lower - prior to the actual call to the search_binary_handler. Caused by the commit 3a2e7f47 (binfmt_misc.c: avoid potential kernel stack overflow) Signed-off-by: Pavel Emelyanov Reported-by: Kirill A. Shutemov Tested-by: Kirill A. Shutemov Cc: [2.6.26.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c82f2966015a2c9708fb8f20694ef7ba8567d2e1 Author: Akinobu Mita Date: Wed Aug 20 14:09:09 2008 -0700 brd: fix name argument of unregister_blkdev() The name of brd block device is "ramdisk", it's not "brd". (The block device is registered by register_blkdev(RAMDISK_MAJOR, "ramdisk") So it should be unregistered by unregister_blkdev(RAMDISK_MAJOR, "ramdisk") Signed-off-by: Akinobu Mita Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3944d61ddc65722539ffd7b6f5b7c7217c136cc Author: Sven Wegener Date: Wed Aug 20 14:09:07 2008 -0700 nbd: fix memory leak of nbd_dev array We leak the memory allocated for the nbd_dev array at multiple places. Fix them by either adding a kfree() or by rearranging code to return before we allocate the memory. Signed-off-by: Sven Wegener Cc: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 759f9a2df78d2156a2675edc7999fb4c919a3159 Author: Marcin Slusarz Date: Wed Aug 20 14:09:06 2008 -0700 mm: mminit_loglevel cannot be __meminitdata anymore mminit_loglevel is now used from mminit_verify_zonelist <- build_all_zonelists <- 1. online_pages <- memory_block_action <- memory_block_change_state <- store_mem_state (sys handler) 2. numa_zonelist_order_handler (proc handler) so it cannot be annotated __meminit - drop it fixes following section mismatch warning: WARNING: vmlinux.o(.text+0x71628): Section mismatch in reference from the function mminit_verify_zonelist() to the variable .meminit.data:mminit_loglevel The function mminit_verify_zonelist() references the variable __meminitdata mminit_loglevel. This is often because mminit_verify_zonelist lacks a __meminitdata annotation or the annotation of mminit_loglevel is wrong. Signed-off-by: Marcin Slusarz Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07279cdfd964acc032de92a527cb11b1f40f35aa Author: Hugh Dickins Date: Wed Aug 20 14:09:05 2008 -0700 mm: show free swap as signed Adjust m show_swap_cache_info() to show "Free swap" as a signed long: the signed format is preferable, because during swapoff nr_swap_pages can legitimately go negative, so makes more sense thus (it used to be shown redundantly, once as signed and once as unsigned). Signed-off-by: Hugh Dickins Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16f8c5b2e64dec7faa5d3c7e9bdf0765e864e481 Author: Hugh Dickins Date: Wed Aug 20 14:09:04 2008 -0700 mm: page_remove_rmap comments on PageAnon Add a comment to s390's page_test_dirty/page_clear_dirty/page_set_dirty dance in page_remove_rmap(): I was wrong to think the PageSwapCache test could be avoided, and would like a comment in there to remind me. And mention s390, to help us remember that this block is not really common. Also move down the "It would be tidy to reset PageAnon" comment: it does not belong to s390's block, and it would be unwise to reset PageAnon before we're done with testing it. Signed-off-by: Hugh Dickins Acked-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0fd93781c49cbe127f9e7a5b402e9b167c105a6 Author: Mike Frysinger Date: Wed Aug 20 14:09:03 2008 -0700 Blackfin RTC Driver: dont let RTC programming in bootloaders randomly cause ~5 second boot delays Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f60459921bd24e86b21e07c42244c510b4f46b2 Author: Graf Yang Date: Wed Aug 20 14:09:02 2008 -0700 Blackfin RTC Driver: BF561 not have on-chip RTC Signed-off-by: Graf Yang Signed-off-by: Bryan Wu Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c9166f7a60b67909632ea60a032c18d84ed8af0 Author: Mike Frysinger Date: Wed Aug 20 14:09:02 2008 -0700 Blackfin RTC Driver: do all initialization before we register the rtc and make it available Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe2e1cf83a46c879a66ec5146ba7a09a6aef0a5c Author: Mike Frysinger Date: Wed Aug 20 14:09:01 2008 -0700 Blackfin RTC Driver: move irq request/free out of open/release and into probe/remove so that the non-dev interfaces (like sysfs) work as expected Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1804dc6e145f3f24a8c94deddfc0a986d380a27f Author: Clement Calmels Date: Wed Aug 20 14:09:00 2008 -0700 /proc/self/maps doesn't display the real file offset This addresses http://bugzilla.kernel.org/show_bug.cgi?id=11318 In function show_map (file: fs/proc/task_mmu.c), if vma->vm_pgoff > 2^20 than (vma->vm_pgoff << PAGE_SIZE) is greater than 2^32 (with PAGE_SIZE equal to 4096 (i.e. 2^12). The next seq_printf use an unsigned long for the conversion of (vma->vm_pgoff << PAGE_SIZE), as a result the offset value displayed in /proc/self/maps is truncated if the page offset is greater than 2^20. A test that shows this issue: #define _GNU_SOURCE #include #include #include #include #include #include #include #include #define PAGE_SIZE (getpagesize()) #if __i386__ # define U64_STR "%llx" #elif __x86_64 # define U64_STR "%lx" #else # error "Architecture Unsupported" #endif int main(int argc, char *argv[]) { int fd; char *addr; off64_t offset = 0x10000000; char *filename = "/dev/zero"; fd = open(filename, O_RDONLY); if (fd < 0) { perror("open"); return 1; } offset *= 0x10; printf("offset = " U64_STR "\n", offset); addr = (char*)mmap64(NULL, PAGE_SIZE, PROT_READ, MAP_PRIVATE, fd, offset); if ((void*)addr == MAP_FAILED) { perror("mmap64"); return 1; } { FILE *fmaps; char *line = NULL; size_t len = 0; ssize_t read; size_t filename_len = strlen(filename); fmaps = fopen("/proc/self/maps", "r"); if (!fmaps) { perror("fopen"); return 1; } while ((read = getline(&line, &len, fmaps)) != -1) { if ((read > filename_len + 1) && (strncmp(&line[read - filename_len - 1], filename, filename_len) == 0)) printf("%s", line); } if (line) free(line); fclose(fmaps); } close(fd); return 0; } [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Clement Calmels Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35fc908dc0e7ab0002ef18787886cc1340028020 Author: Andreas Herrmann Date: Wed Aug 20 14:08:58 2008 -0700 documentation: describe bootmem_debug kernel parameter "bootmem_debug" is not mentioned in kernel-parameters.txt. Recently I had to use that kernel option and I think it should be documented. Signed-off-by: Andreas Herrmann Cc: Ingo Molnar Cc: Randy Dunlap Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f14413184b1de4dcbd5ec3e7c129c3ce2079f543 Author: Matthew Garrett Date: Wed Aug 20 14:08:57 2008 -0700 eeepc-laptop: fix use after free eeepc-laptop uses the hwmon struct after unregistering the device, causing an oops on module unload. Flip the ordering to fix. Signed-off-by: Matthew Garrett Cc: Henrique de Moraes Holschuh Cc: Corentin Chary Cc: Karol Kozimor Cc: [2.6.26.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c7281c0faa1d0bdbdc647430cbdf7e0aed7f385 Author: David Howells Date: Wed Aug 20 16:04:22 2008 +0100 FRV: Provide ioremap_wc() for FRV Provide ioremap_wc() for FRV. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 449f76506f76051839dfa945c59881c17509cfbf Author: David Howells Date: Wed Aug 20 15:53:33 2008 +0100 MN10300: Supply ioremap_wc() for MN10300 Supply ioremap_wc() for MN10300. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit e4464facd6f1404c2baeb6798d71e34423e7aeaa Author: David Woodhouse Date: Wed Aug 20 14:58:23 2008 +0100 Reserve NFS fileid values for btrfs Purely cosmetic for now, but we might as well get it merged ASAP. Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 1c8e40e4064d51ec50258c4d381eb832c0b231db Author: David Woodhouse Date: Wed Aug 20 14:44:45 2008 +0100 Reduce brokenness of CRIS headers_install I won't say 'fix', because they still look broken, although this will at least allow 'make ARCH=CRIS headers_install' to _complete_. For headers which are exported, we should probably choose between asm/arch-v10 and asm/arch-v32 by something that GCC defines -- we can't rely on a generated symlink. And we certainly can't export an arch/ directory which doesn't even exist. And the only thing that we seem to include from the arch/ directory is from ... and that isn't exported in either arch-v10 or arch-v32 _anyway_. Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 1bbe44f69d7ea20740aaf5aba356e331a74b58b3 Merge: 8498ffd... 9b9d6b2... Author: Linus Torvalds Date: Wed Aug 20 08:46:11 2008 -0700 Merge branch 'sh/for-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Provide a FLAT_PLAT_INIT() definition. binfmt_flat: Stub in a FLAT_PLAT_INIT(). video: export sh_mobile_lcdc panel size sh: select memchunk size using kernel cmdline sh: export sh7723 VEU as VEU2H input: migor_ts compile and detection fix sh: remove MSTPCR defines from Migo-R header file sh: Update sh7763rdp defconfig sh: Add support sh7760fb to sh7763rdp board sh: Add support sh_eth to sh7763rdp board sh: Disable 64kB hugetlbpage size when using 64kB PAGE_SIZE. sh: Don't export __{s,u}divsi3_i4i from SH-2 libgcc. fix SH7705_CACHE_32KB compilation sh: mach-x3proto: Fix up smc91x platform data. commit 8498ffd66774ce0e8550afc61a56b2cbeee77e9c Merge: 75d9506... cd5aeb9... Author: Linus Torvalds Date: Wed Aug 20 08:44:33 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: powerpc: Fix vio_bus_probe oops on probe error powerpc/ibmebus: Restore "name" sysfs attribute on ibmebus devices powerpc: Fix /dev/oldmem interface for kdump powerpc/spufs: Remove invalid semicolon after if statement powerpc/spufs: reference context while dropping state mutex in scheduler powerpc/spufs: fix npc setting for NOSCHED contexts commit 75d95062185c60356a423f7ab9e975b4293ec4f3 Merge: c5b0079... 1b04624... Author: Linus Torvalds Date: Wed Aug 20 08:43:47 2008 -0700 Merge branch 'tracehook' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-utrace * 'tracehook' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-utrace: tracehook: fix SA_NOCLDWAIT commit c5b0079c0a7641caac3fedab75e8e63aeb54d7e2 Merge: 5f22ca9... 7d0e367... Author: Linus Torvalds Date: Wed Aug 20 08:42:53 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (22 commits) [SCSI] ibmvfc: Driver version 1.0.2 [SCSI] ibmvfc: Add details to async event log [SCSI] ibmvfc: Sanitize response lengths [SCSI] ibmvfc: Fix for lost async events [SCSI] ibmvfc: Fixup host state during reinit [SCSI] ibmvfc: Fix another hang on module removal [SCSI] ibmvscsi: Fixup desired DMA value for shared memory partitions [SCSI] megaraid_sas: remove sysfs dbg_lvl world writeable permissions [SCSI] qla2xxx: Update version number to 8.02.01-k7. [SCSI] qla2xxx: Explicitly tear-down vports during PCI remove_one(). [SCSI] qla2xxx: Reference proper ha during SBR handling. [SCSI] qla2xxx: Set npiv_supported flag for FCoE HBAs. [SCSI] qla2xxx: Don't leak SG-DMA mappings while aborting commands. [SCSI] qla2xxx: Correct vport-state management issues during ISP-ABORT. [SCSI] qla2xxx: Correct synchronization of software/firmware fcport states. [SCSI] scsi_dh: Initialize lun_state in check_ownership() [SCSI] scsi_dh: Do not use scsilun in rdac hardware handler [SCSI] megaraid_sas: version and Documentation Update [SCSI] megaraid_sas: add new controllers (0x78 0x79) [SCSI] megaraid_sas: add the shutdown DCMD cmd to driver shutdown routine ... commit 5f22ca9b13551debea77a407a8d06cd9c6f15238 Author: Linus Torvalds Date: Wed Aug 20 08:31:19 2008 -0700 vfat: fix 'sync' mount deadlock due to BKL->lock_super conversion There was another FAT BKL conversion deadlock reported by Bart Trojanowski due to the BKL being used as a recursive lock by FAT, which was missed because it only triggers with 'sync' (or 'dirsync') mounts. The recursion worked for the BKL, but after the conversion to lock_super (which uses a mutex), it just deadlocks. Thanks to Bart for debugging this and testing the fix. The lock debugging information from the original report: ============================================= [ INFO: possible recursive locking detected ] 2.6.27-rc3-bisect-00448-ga7f5aaf #16 --------------------------------------------- mv/4020 is trying to acquire lock: (&type->s_lock_key#9){--..}, at: [] lock_super+0x1e/0x20 but task is already holding lock: (&type->s_lock_key#9){--..}, at: [] lock_super+0x1e/0x20 other info that might help us debug this: 3 locks held by mv/4020: #0: (&sb->s_type->i_mutex_key#9/1){--..}, at: [] do_unlinkat+0x66/0x140 #1: (&sb->s_type->i_mutex_key#9){--..}, at: [] vfs_unlink+0x84/0x110 #2: (&type->s_lock_key#9){--..}, at: [] lock_super+0x1e/0x20 stack backtrace: Pid: 4020, comm: mv Not tainted 2.6.27-rc3-bisect-00448-ga7f5aaf #16 [] validate_chain+0x984/0xea0 [] ? native_sched_clock+0x0/0xf0 [] __lock_acquire+0x2ec/0x9b0 [] lock_acquire+0x6f/0x90 [] ? lock_super+0x1e/0x20 [] mutex_lock_nested+0xad/0x300 [] ? lock_super+0x1e/0x20 [] ? lock_super+0x1e/0x20 [] lock_super+0x1e/0x20 [] fat_write_inode+0x60/0x2b0 [fat] [] ? _spin_unlock_irqrestore+0x48/0x80 [] ? fat_sync_inode+0x3/0x20 [fat] [] fat_sync_inode+0x12/0x20 [fat] [] fat_remove_entries+0xbe/0x120 [fat] [] vfat_unlink+0x5f/0x90 [vfat] [] ? vfat_unlink+0x0/0x90 [vfat] [] vfs_unlink+0x98/0x110 [] do_unlinkat+0x130/0x140 [] ? audit_syscall_entry+0x105/0x150 [] sys_unlinkat+0x3b/0x40 [] sysenter_do_call+0x12/0x3f ======================= where the deadlock is due to the nesting of lock_super from vfat_unlink to fat_write_inode: - do_unlinkat - vfs_unlink - vfat_unlink * lock_super - fat_remove_entries - fat_sync_inode - fat_write_inode * lock_super and the fix is to simply remove the use of lock_super() in fat_write_inode. The lock_super() there had been just an automatic conversion of the kernel lock to the superblock lock, but no locking was actually needed there, since the code in fat_write_inode already protected all relevant accesses with a spinlock (sbi->inode_hash_lock to be exact). The only code inside the BKL (and thus the superblock lock) was accesses tp local variables or calls to functions that have long been SMP-safe (i.e. sb_bread, mark_buffe_dirty and brlese). Bart reports: "Looks good. I ran 10 parallel processes creating 1M files truncating them, writing to them again and then deleting them. This patch fixes the issue I ran into. Signed-off-by: Bart Trojanowski " Reported-and-tested-by: Bart Trojanowski Signed-off-by: Linus Torvalds commit 1b04624f93bb1c4f9495b8476d1dd0200af019e2 Author: Roland McGrath Date: Tue Aug 19 20:37:07 2008 -0700 tracehook: fix SA_NOCLDWAIT I outwitted myself again in commit 2b2a1ff64afbadac842bbc58c5166962cf4f7664, and broke the SA_NOCLDWAIT behavior so it leaks zombies. This fixes it. Reported-by: Andi Kleen Signed-off-by: Roland McGrath commit cd5aeb9f6cf7ada6baa218e01b4299e201497cde Author: Brian King Date: Wed Aug 13 05:21:45 2008 +1000 powerpc: Fix vio_bus_probe oops on probe error When CMO is enabled and booted on a non CMO system and the VIO device's probe function fails, an oops can result since vio_cmo_bus_remove is called when it should not. This fixes it by avoiding the vio_cmo_bus_remove call on platforms that don't implement CMO. cpu 0x0: Vector: 300 (Data Access) at [c00000000e13b3d0] pc: c000000000020d34: .vio_cmo_bus_remove+0xc0/0x1f4 lr: c000000000020ca4: .vio_cmo_bus_remove+0x30/0x1f4 sp: c00000000e13b650 msr: 8000000000009032 dar: 0 dsisr: 40000000 current = 0xc00000000e0566c0 paca = 0xc0000000006f9b80 pid = 2428, comm = modprobe enter ? for help [c00000000e13b6e0] c000000000021d94 .vio_bus_probe+0x2f8/0x33c [c00000000e13b7a0] c00000000029fc88 .driver_probe_device+0x13c/0x200 [c00000000e13b830] c00000000029fdac .__driver_attach+0x60/0xa4 [c00000000e13b8c0] c00000000029f050 .bus_for_each_dev+0x80/0xd8 [c00000000e13b980] c00000000029f9ec .driver_attach+0x28/0x40 [c00000000e13ba00] c00000000029f630 .bus_add_driver+0xd4/0x284 [c00000000e13baa0] c0000000002a01bc .driver_register+0xc4/0x198 [c00000000e13bb50] c00000000002168c .vio_register_driver+0x40/0x5c [c00000000e13bbe0] d0000000003b3f1c .ibmvfc_module_init+0x70/0x109c [ibmvfc] [c00000000e13bc70] c0000000000acf08 .sys_init_module+0x184c/0x1a10 [c00000000e13be30] c000000000008748 syscall_exit+0x0/0x40 Signed-off-by: Brian King Signed-off-by: Paul Mackerras commit 4589f1fe570c2c786b72eff146b2f168821882c6 Author: Joachim Fenkes Date: Wed Aug 6 00:30:18 2008 +1000 powerpc/ibmebus: Restore "name" sysfs attribute on ibmebus devices Recent of_platform changes made of_bus_type_init() overwrite the bus type's .dev_attrs list, meaning that the "name" attribute that ibmebus devices previously had is no longer present. This is a user-visible regression which breaks the userspace eHCA support, since the eHCA userspace driver relies on the name attribute to check for valid adapters. This fixes it by providing the "name" attribute in the generic OF device code instead. Tested on POWER. Signed-off-by: Joachim Fenkes Signed-off-by: Paul Mackerras commit 7230ced4925b07c259a62b515d8278c6bb1ad98c Author: Michael Ellerman Date: Thu Jul 31 16:54:28 2008 +1000 powerpc: Fix /dev/oldmem interface for kdump A change to __ioremap() broke reading /dev/oldmem because we're no longer able to ioremap pfn 0 (d177c207, "[PATCH] powerpc: IOMMU: don't ioremap null addresses"). We actually don't need to ioremap for anything that's part of the linear mapping, so just read it directly. Also make sure we're only reading one page or less at a time. Signed-off-by: Michael Ellerman Signed-off-by: Sachin Sant Signed-off-by: Paul Mackerras commit d82bf490948eaf10023ff850d0b5c70e49e0ba76 Merge: a7f5aaf... cb9808d... Author: Paul Mackerras Date: Wed Aug 20 09:18:20 2008 +1000 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge commit 395c68464cffbc645919a93d6111bc15201167f3 Merge: ddd13dc... 30b0aa7... Author: Linus Torvalds Date: Tue Aug 19 13:56:21 2008 -0700 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: firewire: Kconfig help update ieee1394: sbp2: let nodemgr retry node updates during bus reset series ieee1394: don't drop nodes during bus reset series ieee1394: regression in 2.6.25: updates should happen before probes commit ddd13dc606ea1a06f2cf7d11dc06418de3e28121 Merge: f607e3a... a59f2bb... Author: Linus Torvalds Date: Tue Aug 19 13:55:47 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: add acpi_find_root_bridge_handle PCI: acpi_pcihp: run _OSC on a root bridge x86/PCI: irq and pci_ids patch for Intel Ibex Peak PCHs x86/PCI: allow scanning of 255 PCI busses x86, pci: detect end_bus_number according to acpi/e820 reserved, v2 pci: debug extra pci bus resources pci: debug extra pci resources range commit f607e3a03c90e8c050cb0c12ec9967c2925cc812 Author: Linus Torvalds Date: Tue Aug 19 13:34:59 2008 -0700 Revert "[CPUFREQ][2/2] preregister support for powernow-k8" This reverts commit 34ae7f35a21694aa5cb8829dc5142c39d73d6ba0, which has been reported to cause a number of problems. During suspend and resume, it apparently causes a crash in a CPU hotplug notifier to happen, although the exact details are sketchy because of the inability to get good traces during the suspend sequence. See buzilla entries http://bugzilla.kernel.org/show_bug.cgi?id=11296 http://bugzilla.kernel.org/show_bug.cgi?id=11339 for more examples and details. [ Mark: "Revert the patch for now. I'm still looking into getting a reliable reproduction and I do not have a fix at this time." ] Requested-by: Rafael J. Wysocki Acked-by: Mark Langsdorf Acked-by: Dave Jones Signed-off-by: Linus Torvalds commit 96d6d72d4e6969dba026496917d82b311d74c3ca Merge: 4309e09... c85e203... Author: Linus Torvalds Date: Tue Aug 19 13:34:33 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: evdev - fix printf() format for sizeof Input: remove version.h from drivers that don't need it Input: cobalt_btns - add missing MODULE_LICENSE commit 4309e092421e08f411830b2675bc1538a9b90e9b Merge: 1fca254... 195648b... Author: Linus Torvalds Date: Tue Aug 19 09:59:02 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (94 commits) pkt_sched: Prevent livelock in TX queue running. Revert "pkt_sched: Add BH protection for qdisc_stab_lock." Revert "pkt_sched: Protect gen estimators under est_lock." pkt_sched: remove bogus block (cleanup) nf_nat: use secure_ipv4_port_ephemeral() for NAT port randomization netfilter: ctnetlink: sleepable allocation with spin lock bh netfilter: ctnetlink: fix sleep in read-side lock section netfilter: ctnetlink: fix double helper assignation for NAT'ed conntracks netfilter: ipt_addrtype: Fix matching of inverted destination address type dccp: Fix panic caused by too early termination of retransmission mechanism pkt_sched: Don't hold qdisc lock over qdisc_destroy(). pkt_sched: Add lockdep annotation for qdisc locks pkt_sched: Never schedule non-root qdiscs. removed unused #include rt2x00: Fix txdone_entry_desc_flags b43: Fix for another Bluetooth Coexistence SPROM Programming error for BCM4306 mac80211: remove kdoc references to IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE p54u: reset skb's data/tail pointer on requeue p54: move p54_vdcf_init to the right place. iwlwifi: fix printk newlines ... commit 30b0aa7c9a5e769a874a456cd56396eebf164b91 Author: Stefan Richter Date: Sat Aug 16 21:52:28 2008 +0200 firewire: Kconfig help update Signed-off-by: Stefan Richter commit a3384067fb0df9c58e112ac6a5ec9beb7d169482 Author: Stefan Richter Date: Sat Aug 16 13:39:26 2008 +0200 ieee1394: sbp2: let nodemgr retry node updates during bus reset series sbp2 was too quick to report .update() to the ieee1394 core as failed. (Logged as "Failed to reconnect to sbp2 device!".) The core would then unbind sbp2 from the device. This is not justified if the .update() failed because another bus reset happened. We check this and tell the ieee1394 that .update() succeeded, and the core will call sbp2's .update() for the new bus reset as well. This improves reconnection/re-login especially on buses with several disks as they may issue bus resets in close succession when they come online. Tested by Damien Benoist. Signed-off-by: Stefan Richter commit c921a9745705ed62a949192ef9128c60d6c63874 Author: Stefan Richter Date: Sat Aug 16 13:38:11 2008 +0200 ieee1394: don't drop nodes during bus reset series nodemgr_node_probe checked for generation increments too late and therefore prematurely reported nodes as "suspended". Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11349. Reported and tested by Damien Benoist. Signed-off-by: Stefan Richter commit 6848408abf1bc18d9a4d5fed3fcca812745ece05 Author: Stefan Richter Date: Sat Aug 16 13:36:47 2008 +0200 ieee1394: regression in 2.6.25: updates should happen before probes Regression since commit 73cf60232ef16e1f8a64defa97214a1722db1e6c, "ieee1394: use class iteration api": The two loops for (1.) driver updates and (2.) driver probes were replaced by a single loop with bogus needs_probe checks. Hence updates and probes were now intermixed, and especially sbp2 updates (reconnects) held up longer than necessary. While we fix it, change the needs_probe flag to bool type for clarity. Tested by Damien Benoist. Signed-off-by: Stefan Richter commit c85e2031eb55381a5e2f0f66c2e1d62ecd58eb85 Author: Geert Uytterhoeven Date: Tue Aug 19 11:28:23 2008 -0400 Input: evdev - fix printf() format for sizeof commit f2afa7711f8585ffc088ba538b9a510e0d5dca12 ("Input: paper over a bug in Synaptics X driver") introduced a compiler warning on 64-bit platforms, as sizeof() returns a size_t, not an (unsigned) int: | drivers/input/evdev.c: In function 'handle_eviocgbit': | drivers/input/evdev.c:684: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Use the proper `z' modifier for size_t, and make the printf() formats for the sizes unsigned while we're at it. Signed-off-by: Geert Uytterhoeven Signed-off-by: Dmitry Torokhov commit cb9808d3d0cb0ed97197decadcf0431140b9e231 Author: Ilpo Järvinen Date: Tue Aug 19 08:48:57 2008 +0300 powerpc/spufs: Remove invalid semicolon after if statement Signed-off-by: Ilpo Järvinen Signed-off-by: Jeremy Kerr commit 195648bbc5ae0848e82f771ecf4cd7497054c212 Author: David S. Miller Date: Tue Aug 19 04:00:36 2008 -0700 pkt_sched: Prevent livelock in TX queue running. If dev_deactivate() is trying to quiesce the queue, it is theoretically possible for another cpu to livelock trying to process that queue. This happens because dev_deactivate() grabs the queue spinlock as it checks the queue state, whereas net_tx_action() does a trylock and reschedules the qdisc if it hits the lock. This breaks the livelock by adding a check on __QDISC_STATE_DEACTIVATED to net_tx_action() when the trylock fails. Based upon feedback from Herbert Xu and Jarek Poplawski. Signed-off-by: David S. Miller commit d2805395aadc105d7228511eb0f42d9eea912003 Merge: f3b9605... 63fbd24... Author: David S. Miller Date: Tue Aug 19 01:33:25 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6 commit f3b9605d744df537dee10fd06630f35a62b343ec Author: David S. Miller Date: Mon Aug 18 22:33:05 2008 -0700 Revert "pkt_sched: Add BH protection for qdisc_stab_lock." This reverts commit 1cfa26661a85549063e369e2b40275eeaa7b923c. qdisc_destroy() runs fully under RTNL again and not from softint any longer, so this change is no longer needed. Signed-off-by: David S. Miller commit deb3abf15fb92a608fba630da2e8719862731714 Author: David S. Miller Date: Mon Aug 18 22:32:10 2008 -0700 Revert "pkt_sched: Protect gen estimators under est_lock." This reverts commit d4766692e72422f3b0f0e9ac6773d92baad07d51. qdisc_destroy() now runs in RTNL fully again, so this change is no longer needed. Signed-off-by: David S. Miller commit e5befbd9525d92bb074b70192eb2c69aae65fc60 Author: Ilpo Järvinen Date: Mon Aug 18 22:30:01 2008 -0700 pkt_sched: remove bogus block (cleanup) ...Last block local var got just deleted. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9f593653742d1dd816c4e94c6e5154a57ccba6d1 Author: Stephen Hemminger Date: Mon Aug 18 21:32:32 2008 -0700 nf_nat: use secure_ipv4_port_ephemeral() for NAT port randomization Use incoming network tuple as seed for NAT port randomization. This avoids concerns of leaking net_random() bits, and also gives better port distribution. Don't have NAT server, compile tested only. Signed-off-by: Stephen Hemminger [ added missing EXPORT_SYMBOL_GPL ] Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fab00c5d15091546be681426c60b2ed2c10513bf Author: Pablo Neira Ayuso Date: Mon Aug 18 21:31:46 2008 -0700 netfilter: ctnetlink: sleepable allocation with spin lock bh This patch removes a GFP_KERNEL allocation while holding a spin lock with bottom halves disabled in ctnetlink_change_helper(). This problem was introduced in 2.6.23 with the netfilter extension infrastructure. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cb1cb5c47457ff2b604dac2da44cab4d39d11459 Author: Pablo Neira Ayuso Date: Mon Aug 18 21:31:24 2008 -0700 netfilter: ctnetlink: fix sleep in read-side lock section Fix allocation with GFP_KERNEL in ctnetlink_create_conntrack() under read-side lock sections. This problem was introduced in 2.6.25. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1575e7ea018fec992b94a12a1a491ce693ae9eac Author: Pablo Neira Ayuso Date: Mon Aug 18 21:30:55 2008 -0700 netfilter: ctnetlink: fix double helper assignation for NAT'ed conntracks If we create a conntrack that has NAT handlings and a helper, the helper is assigned twice. This happens because nf_nat_setup_info() - via nf_conntrack_alter_reply() - sets the helper before ctnetlink, which indeed does not check if the conntrack already has a helper as it thinks that it is a brand new conntrack. The fix moves the helper assignation before the set of the status flags. This avoids a bogus assertion in __nf_ct_ext_add (if netfilter assertions are enabled) which checks that the conntrack must not be confirmed. This problem was introduced in 2.6.23 with the netfilter extension infrastructure. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 46faec9858e8943226464dac50e205bf210d9174 Author: Anders Grafström Date: Mon Aug 18 21:29:57 2008 -0700 netfilter: ipt_addrtype: Fix matching of inverted destination address type This patch fixes matching of inverted destination address type. Signed-off-by: Anders Grafström Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8e0f36ec371ef4804da46d962d5272b3efb04481 Merge: d28934a... 3eb75aa... Author: David S. Miller Date: Mon Aug 18 21:15:44 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit d28934ad8a4e87203a95de9c376611de8bc2f013 Author: Gerrit Renker Date: Mon Aug 18 21:14:20 2008 -0700 dccp: Fix panic caused by too early termination of retransmission mechanism Thanks is due to Wei Yongjun for the detailed analysis and description of this bug at http://marc.info/?l=dccp&m=121739364909199&w=2 The problem is that invalid packets received by a client in state REQUEST cause the retransmission timer for the DCCP-Request to be reset. This includes freeing the Request-skb ( in dccp_rcv_request_sent_state_process() ). As a consequence, * the arrival of further packets cause a double-free, triggering a panic(), * the connection then may hang, since further retransmissions are blocked. This patch changes the order of statements so that the retransmission timer is reset, and the pending Request freed, only if a valid Response has arrived (or the number of sysctl-retries has been exhausted). Further changes: ---------------- To be on the safe side, replaced __kfree_skb with kfree_skb so that if due to unexpected circumstances the sk_send_head is NULL the WARN_ON is used instead. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 4d8863a29c4755a0461cd31b6865026187d6c43a Author: David S. Miller Date: Mon Aug 18 21:03:15 2008 -0700 pkt_sched: Don't hold qdisc lock over qdisc_destroy(). Based upon reports by Denys Fedoryshchenko, and feedback and help from Jarek Poplawski and Herbert Xu. We always either: 1) Never made an external reference to this qdisc. or 2) Did a dev_deactivate() which purged all asynchronous references. So do not lock the qdisc when we call qdisc_destroy(), it's illegal anyways as when we drop the lock this is free'd memory. Signed-off-by: David S. Miller commit 25bfcd5a78a377ea4c54a3c21e44590e2fc478a6 Author: Jarek Poplawski Date: Mon Aug 18 20:53:34 2008 -0700 pkt_sched: Add lockdep annotation for qdisc locks Qdisc locks are initialized in the same function, qdisc_alloc(), so lockdep can't distinguish tx qdisc lock from rx and reports "possible recursive locking detected" when both these locks are taken eg. while using act_mirred with ifb. This looks like a false positive. Anyway, after this patch these locks will be reported more exactly. Reported-by: Denys Fedoryshchenko Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 8608db031b4d2932d645709e2cfe8fbcd91a7305 Author: David S. Miller Date: Mon Aug 18 20:51:18 2008 -0700 pkt_sched: Never schedule non-root qdiscs. Based upon initial discovery and patch by Jarek Poplawski. The qdisc watchdogs can be attached to any qdisc, not just the root, so make sure we schedule the correct one. CBQ has a similar bug. Signed-off-by: David S. Miller commit 1fca25427482387689fa27594c992a961d98768f Merge: b689e83... 37c23e7... Author: Linus Torvalds Date: Mon Aug 18 17:43:21 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] use generic compat_old_sys_readdir [IA64] pci_acpi_scan_root cleanup [IA64] Shrink shadow_flush_counts to a short array to save 8k of per_cpu area. [IA64] Remove sn2_defconfig. commit b689e83961e6b2e39bf378c1468fd7d7a924656c Merge: a7f5aaf... b591162... Author: Linus Torvalds Date: Mon Aug 18 17:40:13 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ata: add missing ATA_* defines ata: add missing ATA_CMD_* defines ata: add missing ATA_ID_* defines (take 2) sgiioc4: fixup message on resource allocation failure ide-cd: use bcd2bin/bin2bcd cdrom: handle TOC gdrom: add dummy audio_ioctl handler viocd: add dummy audio ioctl handler cleanup powerpc/include/asm/ide.h drivers/ide/pci/: use __devexit_p() commit a59f2bbaedc5de5a69db5d9c914462173ef3ffa6 Merge: 056c58e... ce67542... Author: Jesse Barnes Date: Mon Aug 18 17:23:24 2008 -0700 Merge branch 'x86-merge' into for-linus commit 37c23e7fda6913d133ac12012395e58af1fe24c6 Author: Christoph Hellwig Date: Sat Aug 16 19:50:28 2008 +0200 [IA64] use generic compat_old_sys_readdir Switch ia64 to the generic compat_sys_old_readdir which is identical except for slightly better error handling. Also remove sys32_getdents which already isn't wired up to the syscall table anymore in favour of compat_sys_getdents. Signed-off-by: Christoph Hellwig Signed-off-by: Tony Luck commit 8a20fd52c663b1796e1f01c0fa21d9b24c2936b6 Author: Luck, Tony Date: Fri Aug 15 15:37:48 2008 -0700 [IA64] pci_acpi_scan_root cleanup The code walks all the acpi _CRS methods to see how many windows to allocate. It then scans them all again to insert_resource() for each *even if the first scan found that there were none*. Move the second scan inside the "if (windows)" clause. Signed-off-by: Tony Luck commit 97653f92c004d322ef27edb168a1b5f31142c6dc Author: Robin Holt Date: Fri Aug 15 09:21:24 2008 -0500 [IA64] Shrink shadow_flush_counts to a short array to save 8k of per_cpu area. Making allmodconfig will break the current build. This patch shrinks the per_cpu__shadow_flush_counts from 16k to 8k which frees enough space to allow allmodconfig to successfully complete. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11338 Signed-off-by: Robin Holt Acked-by: Jack Steiner Signed-off-by: Tony Luck commit ea42b8ce8cc9f4a3d3048fae5ba8ad7269d17afa Author: Robin Holt Date: Fri Aug 15 04:56:01 2008 -0500 [IA64] Remove sn2_defconfig. Not really a patch as much as a remove this file request. Now that generic_defconfig supports all the configurations SGI currently supports and has NR_CPUS and NR_NODES at our largest configurations, we have no reason to maintain the extra defconfig file. Signed-off-by: Robin Holt Acked-by: Jack Steiner Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit 056c58e8eb4d6765214757e541b68095e2eb2bd2 Author: Jiri Slaby Date: Mon Aug 18 20:22:54 2008 +0200 PCI: add acpi_find_root_bridge_handle Consolidate finding of a root bridge and getting its handle to the one inline function. It's cut & pasted on multiple places. Use this new inline in those. Cc: kristen.c.accardi@intel.com Acked-by: Alex Chiang Signed-off-by: Jiri Slaby Signed-off-by: Jesse Barnes commit e0d94beead4ef652ec1c066be886140eebb06d8b Author: Jiri Slaby Date: Mon Aug 11 17:47:40 2008 +0200 PCI: acpi_pcihp: run _OSC on a root bridge _OSC should be ran on a root bridge instead of the device itself. Do this before touching OSHP since PCI fw specs states that _OSC should be preferred over OSHP (however if the device has OSHP but not _OSC -- not a root bridge -- it's not). Cc: kristen.c.accardi@intel.com Acked-by: Alex Chiang Signed-off-by: Jiri Slaby Signed-off-by: Jesse Barnes commit b59116205c54c89df9cc80721b59e1e8d14488f1 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 18 21:40:05 2008 +0200 ata: add missing ATA_* defines Add missing ATA_* defines to . Also add ATAPI_{LFS,EOM,ILI,IO,CODE} defines while at it. Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 476d9894dde2da2c2b326d70b5bce5eccc593c8b Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 18 21:40:05 2008 +0200 ata: add missing ATA_CMD_* defines Add missing ATA_CMD_* defines to . Also add ATA_EXABYTE_ENABLE_NEST, SETFEATURES_AAM_* and ATA_SMART_* defines while at it. Partially based on earlier work by Chris Wedgwood. Acked-by: Chris Wedgwood Acked-by: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 37014c64079748c47fd109ef2d91ecd785a8c764 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 18 21:40:05 2008 +0200 ata: add missing ATA_ID_* defines (take 2) Add missing ATA_ID_* defines and update {ata,atapi}_*() inlines accordingly. The currently unused defines are needed for the forthcoming drivers/ide/ changes. v2: Add ATA_ID_SPG. Acked-by: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 1b427a33b06ae76c64c1ad9af899a45b682ba6c6 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 18 21:40:04 2008 +0200 sgiioc4: fixup message on resource allocation failure There can be more than one sgiioc4 card in the system so print also PCI device name on resource allocation failure (so we know which one is the problematic one). Reported-by: Jeremy Higdon Signed-off-by: Bartlomiej Zolnierkiewicz commit fc99856a45cab8040f07d93d52fabd11834bf544 Author: Adrian Bunk Date: Mon Aug 18 21:40:04 2008 +0200 ide-cd: use bcd2bin/bin2bcd Change ide-cd to use the new bcd2bin/bin2bcd functions instead of the obsolete BCD2BIN/BIN2BCD macros. Signed-off-by: Adrian Bunk Acked-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit bce31b674846584f0a80c95b6c09f07c32b9b041 Author: Alexander Inyukhin Date: Mon Aug 18 21:40:04 2008 +0200 cdrom: handle TOC This patch should fix TOC handling for cdroms that can not play audio. It extends commit af744e3294d09d706c4eae26cffaaa68a8d40337 ("cdrom: don't check CDC_PLAY_AUDIO in cdrom_count_tracks()") with a safety check and non-audio ioctls support. Since CDC_PLAY_AUDIO flag was used not only to check ability to play audio but also to ensure that audio_ioctl was not NULL, all TOC-related operations had to use it. As far as I understand, now audio_ioctl is never NULL, so a sanity check during device registration should be sufficient. It was tested on Optiarc AD7203A device, that has no ability to play audio. Cc: Tejun Heo Cc: Jens Axboe Cc: Borislav Petkov Signed-off-by: Andrew Morton [bart: remove now unneeded ->audio_ioctl check (noticed by Borislav)] Signed-off-by: Bartlomiej Zolnierkiewicz commit d15cad5df1dac17ae33152646f599f0bdc6be48e Author: Borislav Petkov Date: Mon Aug 18 21:40:04 2008 +0200 gdrom: add dummy audio_ioctl handler Make sure audio_ioctl is always defined even if being a dummy function since the cdrom_ioctl interface assumes its existence and we don't want to BUG on null ptr on some ioctls like, e.g. CDROMREADTOCENTRY, CDROMREADTOCHDR etc. when we fix CDC_PLAY_AUDIO checking in cdrom.c. Signed-off-by: Borislav Petkov Acked-by: Adrian McMenamin Signed-off-by: Bartlomiej Zolnierkiewicz commit 3e636f78e5bbe95831e4d0071ee8f40b507e1cbd Author: Borislav Petkov Date: Mon Aug 18 21:40:03 2008 +0200 viocd: add dummy audio ioctl handler Make sure audio_ioctl is always defined even if being a dummy function since the cdrom_ioctl interface assumes its existence and we don't want to BUG on null ptr on some ioctls like, e.g. CDROMREADTOCENTRY, CDROMREADTOCHDR etc. when we fix CDC_PLAY_AUDIO checking in cdrom.c. Signed-off-by: Borislav Petkov Acked-by: Stephen Rothwell Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f49060adcc1817337af95392bdf8a6205abffa0 Author: Adrian Bunk Date: Mon Aug 18 21:40:03 2008 +0200 cleanup powerpc/include/asm/ide.h This patch removes code that became unused through IDE changes and the arch/ppc/ removal. Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit a69999e286b5da33232694a2ad99c29419b91a44 Author: Adrian Bunk Date: Mon Aug 18 21:40:03 2008 +0200 drivers/ide/pci/: use __devexit_p() This patch adds missing __devexit_p's. Reported-by: Russell King Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit a7f5aaf36ded825477c4d7167cc6eb1bcdc63191 Merge: bba5952... 1b72691... Author: Linus Torvalds Date: Mon Aug 18 12:10:14 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: fix build warnings in real mode code x86, calgary: fix section mismatch warning - get_tce_space_from_tar x86: silence section mismatch warning - get_local_pda x86, percpu: silence section mismatch warnings related to EARLY_PER_CPU variables x86: fix i486 suspend to disk CR4 oops x86: mpparse.c: fix section mismatch warning x86: mmconf: fix section mismatch warning x86: fix MP_processor_info section mismatch warning x86, tsc: fix section mismatch warning x86: correct register constraints for 64-bit atomic operations commit bba595255fa70af175f6ce4dc0cb3e7cf91f53d7 Merge: 04cde03... 6951b12... Author: Linus Torvalds Date: Mon Aug 18 12:09:56 2008 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: fix spurious 'inconsistent lock state' warning commit 04cde035fa47b4a7465a15db8d6eaebcc15a68af Merge: 1de481d... 50d0b17... Author: Linus Torvalds Date: Mon Aug 18 12:05:01 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: powerpc: Use generic compat_sys_old_readdir powerpc/kexec: Fix up KEXEC_CONTROL_CODE_SIZE missed during conversion powerpc: Remove dead module_find_bug code powerpc: Add CMO enabled flag and paging space data to lparcfg powerpc: Fix CMM page loaning on 64k page kernel with 4k hardware pages powerpc: Make CMO paging space pool ID and page size available powerpc: Fix lockdep IRQ tracing bug powerpc: Fix TLB invalidation on boot on 32-bit powerpc: Fix loss of vdso on fork on 32-bit commit 1de481ded98d1d48e2a4102a5aa549e3c4d18ee3 Merge: abcf424... ebb1951... Author: Linus Torvalds Date: Mon Aug 18 12:03:23 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: lmb: Fix reserved region handling in lmb_enforce_memory_limit(). sparc64: Fix cmdline_memory_size handling bugs. sparc64: Fix overshoot in nid_range(). commit ce6754235b423610e91f5300e1555c2e4ee1c03a Merge: 8949975... a83fe32... Author: Jesse Barnes Date: Mon Aug 18 09:54:13 2008 -0700 Merge branch 'pci-for-jesse' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into x86-merge Conflicts: drivers/pci/probe.c commit 3eb75aac8907e7ea36f0d078b2cc7393986001cf Author: Huang Weiyi Date: Sun Aug 17 07:50:47 2008 +0800 removed unused #include The drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/net/wireless/ath5k/base.c drivers/net/wireless/b43/main.c drivers/net/wireless/ipw2100.c drivers/net/wireless/ipw2200.c drivers/net/wireless/iwlwifi/iwl-3945.c drivers/net/wireless/iwlwifi/iwl-4965.c drivers/net/wireless/iwlwifi/iwl-5000.c drivers/net/wireless/iwlwifi/iwl-agn.c drivers/net/wireless/iwlwifi/iwl-core.c drivers/net/wireless/iwlwifi/iwl-eeprom.c drivers/net/wireless/iwlwifi/iwl-hcmd.c drivers/net/wireless/iwlwifi/iwl-power.c drivers/net/wireless/iwlwifi/iwl3945-base.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: John W. Linville commit f126cba427170eac9e37311b2ab7afc0e2261906 Author: Jochen Friedrich Date: Fri Aug 15 14:47:46 2008 +0200 rt2x00: Fix txdone_entry_desc_flags txdone_entry_desc_flags is used with __set_bit and test_bit which bit-shift the values, so don't bit-shift the flags in the enum. Also make sure flags are initialized before being used. Signed-off-by: Jochen Friedrich Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 430cd47fa98178b5199105fab4fb74e04bd0635c Author: Larry Finger Date: Thu Aug 14 18:57:11 2008 -0500 b43: Fix for another Bluetooth Coexistence SPROM Programming error for BCM4306 In trying to help users on the Ubuntu Bugzilla, I discovered another BCM4306 with the Bluetooth Coexistence programming error in the SPROM. This patch is contingent on the one that added the Linksys device with subdevice code of 0x0014. Signed-off-by: Larry Finger Cc: Stable Signed-off-by: John W. Linville commit 546c80c91f8d847477ee8354aad26f116048169d Author: Luis R. Rodriguez Date: Thu Aug 14 11:43:20 2008 -0700 mac80211: remove kdoc references to IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE was made unnecessary in the recent revamp on beacon configuration. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d47c3cebf5aae9d72b2cc18e5ac3b520fdbb0bca Author: Christian Lamparter Date: Wed Aug 13 23:41:48 2008 +0200 p54u: reset skb's data/tail pointer on requeue (Only important for USB V1 Adaptors) If an incoming frame wasn't accepted by p54_rx function the skb will be reused for new frames... But, we must not forget to set the skb's data pointers into the same state in which it was initialized by p54u_init_urbs. Otherwise we either end up with 16 bytes less on every requeue, or if a new frame is worthy enough to be accepted, the data is in the wrong place (urb->transfer_buffer wasn't updated!) and mac80211 has a hard time to recognize it... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 69bbc7dc9f59fedb6067c7f9f9f9bc1da27407ad Author: Christian Lamparter Date: Wed Aug 13 23:41:45 2008 +0200 p54: move p54_vdcf_init to the right place. priv->tx_hdr_len is set by the driver _after_ it called p54_init_common. While this isn't much a problem for any PCI or ISL3887 cards/sticks, because they don't need any extra header and therefore tx_hdr_len is zero for them... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6f14792610905fe006c0c3c4d9e1478fb6be7cec Author: Jiri Slaby Date: Mon Aug 11 23:49:41 2008 +0200 iwlwifi: fix printk newlines Add newlines at printk outputs to not break dmesg. Signed-off-by: Jiri Slaby Cc: Zhu Yi Cc: Reinette Chatre Signed-off-by: John W. Linville commit fcd7cc1496681f7241ef8b80f32bb35d72a4e78b Author: matthieu Barthélemy Date: Sun Aug 10 23:34:59 2008 -0500 rtl8187: Add USB ID for Netgear WG111V3 Add the USB ID for a Netgear WG111v3. Signed-off-by: matthieu Barthélemy Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit a58d452290aafae30b021c8bf185853b1aaf2092 Author: Larry Finger Date: Sun Aug 10 10:19:33 2008 -0500 b43: Fix for SPROM coding error in Linksys WMP54G (BCM4306/3) The Linksys WMP54G (BCM4306/3) card in a PCI format has an SPROM coding error and needs the fix found for several other cards. Signed-off-by: Larry Finger Cc: Stable [2.6.25.x, 2.6.26.x] Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a61dae1f784f0c4ced0d47721c0efc7033231522 Author: Ron Rindjunsky Date: Sun Aug 10 00:54:34 2008 +0300 mac80211: update new sta's rx timestamp This patch fixes needless probe request caused by zero value in sta->last_rx inside ieee80211_associated flow Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 37465c8a3ec7279e3314623d1e2d2a50c10cf79f Author: Michael Karcher Date: Thu Aug 7 19:34:01 2008 +0200 ath5k: Don't fiddle with MSI on suspend/resume. Commit 256b152b005e319f985f50f2a910a75ba0def74f (ath5k: don't enable MSI, we cannot handle it yet) has removed msi support, but overlooked the suspend/resume code. This patch completes msi removal. I don't consider this patch copyrightable, and thus put it into the public domain. The result is of course a base.c file dual-licensed under 3-clause-BSD and GPL. Signed-off-by: Michael Karcher Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 7f37441c21d3ae9fec47ef418ccafb2823d12a27 Author: Holger Schurig Date: Thu Aug 7 18:24:12 2008 +0200 ssb: allow compilation on systems without PCI Makes ssb work on system without a PCI bus. Signed-off-by: Holger Schurig Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e10e0dfe3ba358cfb442cc3bf0d3f2068785bf5c Author: Henrique de Moraes Holschuh Date: Sat Aug 2 14:56:25 2008 -0300 rfkill: protect suspended rfkill controllers Guard rfkill controllers attached to a rfkill class against state changes after class suspend has been issued. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit aaa1553512b9105699113ea7e2ea726f3d9d4de2 Author: Christian Lamparter Date: Sat Aug 9 19:20:47 2008 -0500 p54: Fix regression due to "net: Delete NETDEVICES_MULTIQUEUE kconfig option" Commit b19fa1f, entitled "net: Delete NETDEVICES_MULTIQUEUE kconfig option" breaks p54pci and p54usb. Additionally, the old logic always tx'ed cts frames (if enabled) with a short preamble when [rate > 3]. (i.e. with any 802.11g rate). Of course this isn't that bad, but it's still wrong! (This patch also clarifies the meanings of some of the fields in the tx header for the hardware. -- JWL) Signed-off-by: Christian Lamparter Acked-by: Larry Finger Cc: [2.6.25.x, 2.6.26.x] Signed-off-by: John W. Linville commit 88b9e2bef3e38c053ec8f054f2cbb9345724cdb1 Author: Adrian Bunk Date: Tue Aug 5 22:06:51 2008 +0300 ath9k: work around gcc ICEs (again) (I missed the fact that the original post said to apply this patch twice... -- JWL) Original commit log message: This patch works around an internal compiler error (gcc bug #37014) in all gcc 4.2 compilers and the gcc 4.3 series up to at least 4.3.1 on at least powerpc and mips. Many thanks to Andrew Pinski for analyzing the gcc bug. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 0cc1fe2238e458ebe2d52f035ccc6f3d2ecc9ca1 Author: Huang Weiyi Date: Mon Aug 18 10:57:10 2008 -0400 Input: remove version.h from drivers that don't need it If a driver dies not use LINUX_VERSION_CODE nor KERNEL_VERSION then it does not need to include version.h Signed-off-by: Huang Weiyi Acked-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 26135ed3229a06dc8b5b7686dd272a28f5bf40b3 Author: Martin Michlmayr Date: Fri Aug 15 15:06:21 2008 -0400 Input: cobalt_btns - add missing MODULE_LICENSE Export the module license and other information about the Cobalt button module in order to avoid the following warning: | WARNING: modpost: missing MODULE_LICENSE() in drivers/input/misc/cobalt_btns.o Signed-off-by: Martin Michlmayr Acked-by: Yoichi Yuasa Signed-off-by: Dmitry Torokhov commit 63fbd24e5102eecfc9d049ed7f4be7f9a25f814f Author: Marcel Holtmann Date: Mon Aug 18 13:23:53 2008 +0200 [Bluetooth] Consolidate maintainers information The Bluetooth entries for the MAINTAINERS file are a little bit too much. Consolidate them into two entries. One for Bluetooth drivers and another one for the Bluetooth subsystem. Also the MODULE_AUTHOR should indicate the current maintainer of the module and actually not the original author. Fix all Bluetooth modules to provide current maintainer information. Signed-off-by: Marcel Holtmann commit 90855d7b725d764d6d70503bcc1b494cf10ddc98 Author: Marcel Holtmann Date: Mon Aug 18 13:23:53 2008 +0200 [Bluetooth] Fix userspace breakage due missing class links The Bluetooth adapters and connections are best presented via a class in sysfs. The removal of the links inside the Bluetooth class broke assumptions by userspace programs on how to find attached adapters. This patch creates adapters and connections as part of the Bluetooth class, but it uses different device types to distinguish them. The userspace programs can now easily navigate in the sysfs device tree. The unused platform device and bus have been removed to keep the code simple and clean. Signed-off-by: Marcel Holtmann commit 9bfa35fe422c74882e27cc54450a5f76c96aad68 Author: Marcel Holtmann Date: Mon Aug 18 13:23:52 2008 +0200 [Bluetooth] Add SCO support to btusb driver The new generic driver for Bluetooth USB devices was missing proper SCO support. The driver now claims the second interface for these USB devices to allow the flow of SCO packets. It also handles switching of the alternate setting and re-submission of isochronous URBs. The btusb driver is now a full replacement for hci_usb and thus the experimental tag has been removed and this driver is promoted as preferred one. Signed-off-by: Marcel Holtmann commit 6951b12a0fe7fc64789f2c4d62d2a304e93836a8 Author: Dmitry Baryshkov Date: Mon Aug 18 04:26:37 2008 +0400 lockdep: fix spurious 'inconsistent lock state' warning Since f82b217e3513fe3af342c0f3ee1494e86250c21c lockdep can output spurious warnings related to hwirqs due to hardirq_off shrinkage from int to bit-sized flag. Guard it with double negation to fix the warning. Signed-off-by: Dmitry Baryshkov Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 69747650c814a8a79fef412c7416adf823293a3e Author: David S. Miller Date: Sun Aug 17 23:55:36 2008 -0700 pkt_sched: Fix return value corruption in HTB and TBF. Based upon a bug report by Josip Rodin. Packet schedulers should only return NET_XMIT_DROP iff the packet really was dropped. If the packet does reach the device after we return NET_XMIT_DROP then TCP can crash because it depends upon the enqueue path return values being accurate. Signed-off-by: David S. Miller commit 1b72691ce35812ff865d778f303779e774d2b098 Author: Andi Kleen Date: Mon Aug 18 09:06:01 2008 +0200 x86: fix build warnings in real mode code This recent patch commit c3965bd15118742d72b4bc1a290d37b3f081eb98 Author: Paul Jackson Date: Wed May 14 08:15:34 2008 -0700 x86 boot: proper use of ARRAY_SIZE instead of repeated E820MAX constant caused these new warnings during a normal build: In file included from linux-2.6/arch/x86/boot/memory.c:17: linux-2.6/include/linux/log2.h: In function '__ilog2_u32': linux-2.6/include/linux/log2.h:34: warning: implicit declaration of function 'fls' linux-2.6/include/linux/log2.h: In function '__ilog2_u64': linux-2.6/include/linux/log2.h:42: warning: implicit declaration of function 'fls64' linux-2.6/include/linux/log2.h: In function '__roundup_pow_of_two ': linux-2.6/include/linux/log2.h:63: warning: implicit declaration of function 'fls_long' I tried to fix them in log2.h, but it's difficult because the real mode environment is completely different from a normal kernel environment. Instead define an own ARRAY_SIZE macro in boot.h, similar to the other private macros there. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar commit f71066624d5d91bf179a1ea25da0800b72e20c60 Author: Marcin Slusarz Date: Sun Aug 17 17:50:52 2008 +0200 x86, calgary: fix section mismatch warning - get_tce_space_from_tar WARNING: vmlinux.o(.text+0x27032): Section mismatch in reference from the function get_tce_space_from_tar() to the function .init.text:calgary_bus_has_devices() The function get_tce_space_from_tar() references the function __init calgary_bus_has_devices(). This is often because get_tce_space_from_tar lacks a __init annotation or the annotation of calgary_bus_has_devices is wrong. get_tce_space_from_tar is called only from __init function (calgary_init) and calls __init function (calgary_bus_has_devices). So annotate it properly. Signed-off-by: Marcin Slusarz Cc: Chandru Siddalingappa Signed-off-by: Ingo Molnar commit d19fbfdfe6a7034c8b6a7062365780485ab5aeaa Author: Marcin Slusarz Date: Sun Aug 17 17:50:51 2008 +0200 x86: silence section mismatch warning - get_local_pda Take out part of get_local_pda referencing __init function (free_bootmem) to new (static) function marked as __ref. It's safe to do because free_bootmem is called before __init sections are dropped. WARNING: vmlinux.o(.cpuinit.text+0x3cd7): Section mismatch in reference from the function get_local_pda() to the function .init.text:free_bootmem() The function __cpuinit get_local_pda() references a function __init free_bootmem(). If free_bootmem is only used by get_local_pda then annotate free_bootmem with a matching annotation. Signed-off-by: Marcin Slusarz Cc: Mike Travis Signed-off-by: Ingo Molnar commit c6a92a2501b35880d2e357dbd7f2cbc9a06f1058 Author: Marcin Slusarz Date: Sun Aug 17 17:50:50 2008 +0200 x86, percpu: silence section mismatch warnings related to EARLY_PER_CPU variables Quoting Mike Travis in "x86: cleanup early per cpu variables/accesses v4" (23ca4bba3e20c6c3cb11c1bb0ab4770b724d39ac): The DEFINE macro defines the per_cpu variable as well as the early map and pointer. It also initializes the per_cpu variable and map elements to "_initvalue". The early_* macros provide access to the initial map (usually setup during system init) and the early pointer. This pointer is initialized to point to the early map but is then NULL'ed when the actual per_cpu areas are setup. After that the per_cpu variable is the correct access to the variable. As these variables are NULL'ed before __init sections are dropped (in setup_per_cpu_maps), they can be safely annotated as __ref. This change silences following section mismatch warnings: WARNING: vmlinux.o(.data+0x46c0): Section mismatch in reference from the variable x86_cpu_to_apicid_early_ptr to the variable .init.data:x86_cpu_to_apicid_early_map The variable x86_cpu_to_apicid_early_ptr references the variable __initdata x86_cpu_to_apicid_early_map If the reference is valid then annotate the variable with __init* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, WARNING: vmlinux.o(.data+0x46c8): Section mismatch in reference from the variable x86_bios_cpu_apicid_early_ptr to the variable .init.data:x86_bios_cpu_apicid_early_map The variable x86_bios_cpu_apicid_early_ptr references the variable __initdata x86_bios_cpu_apicid_early_map If the reference is valid then annotate the variable with __init* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, WARNING: vmlinux.o(.data+0x46d0): Section mismatch in reference from the variable x86_cpu_to_node_map_early_ptr to the variable .init.data:x86_cpu_to_node_map_early_map The variable x86_cpu_to_node_map_early_ptr references the variable __initdata x86_cpu_to_node_map_early_map If the reference is valid then annotate the variable with __init* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, Signed-off-by: Marcin Slusarz Cc: Mike Travis Signed-off-by: Ingo Molnar commit e532c06f2a835b5cc4f4166f467437d9b09c1d0e Author: David Fries Date: Sun Aug 17 23:03:40 2008 -0500 x86: fix i486 suspend to disk CR4 oops arch/x86/power/cpu_32.c __save_processor_state calls read_cr4() only a i486 CPU doesn't have the CR4 register. Trying to read it produces an invalid opcode oops during suspend to disk. Use the safe rc4 reading op instead. If the value to be written is zero the write is skipped. arch/x86/power/hibernate_asm_32.S done: swapped the use of %eax and %ecx to use jecxz for the zero test and jump over store to %cr4. restore_image: s/%ecx/%eax/ to be consistent with done: In addition to __save_processor_state, acpi_save_state_mem, efi_call_phys_prelog, and efi_call_phys_epilog had checks added (acpi restore was in assembly and already had a check for non-zero). There were other reads and writes of CR4, but MCE and virtualization shouldn't be executed on a i486 anyway. Signed-off-by: David Fries Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 96d203169d1d851ac1468f7d4459a09581be364c Author: David S. Miller Date: Sun Aug 17 23:37:16 2008 -0700 pkt_sched: Fix missed RCU unlock in dev_queue_xmit() Noticed by Jarek Poplawski. Signed-off-by: David S. Miller commit 13601cd8e44aab332cedff1d6dc10786ec890b7b Author: Yang Hongyang Date: Sun Aug 17 23:21:52 2008 -0700 ipv6: Fix the return interface index when get it while no message is received. When get receiving interface index while no message is received, the bounded device's index of the socket should be returned. RFC 3542: Issuing getsockopt() for the above options will return the sticky option value i.e., the value set with setsockopt(). If no sticky option value has been set getsockopt() will return the following values: - For the IPV6_PKTINFO option, it will return an in6_pktinfo structure with ipi6_addr being in6addr_any and ipi6_ifindex being zero. Signed-off-by: Yang Hongyang Signed-off-by: David S. Miller commit 39e00fe20aaad4326ed5e0e3221451732bc7f679 Author: Marcin Slusarz Date: Mon Aug 11 00:09:38 2008 +0200 x86: mpparse.c: fix section mismatch warning WARNING: vmlinux.o(.text+0x118f7): Section mismatch in reference from the function construct_ioapic_table() to the function .init.text:MP_bus_info() The function construct_ioapic_table() references the function __init MP_bus_info(). This is often because construct_ioapic_table lacks a __init annotation or the annotation of MP_bus_info is wrong. construct_ioapic_table is called only from construct_default_ISA_mptable which is __init Signed-off-by: Marcin Slusarz Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit c72a5efec1193faa2ef34c0bd48d7251a70ec934 Author: Marcin Slusarz Date: Mon Aug 11 00:11:13 2008 +0200 x86: mmconf: fix section mismatch warning WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x1591): Section mismatch in reference from the function init_amd() to the function .init.text:check_enable_amd_mmconf_dmi() The function __cpuinit init_amd() references a function __init check_enable_amd_mmconf_dmi(). If check_enable_amd_mmconf_dmi is only used by init_amd then annotate check_enable_amd_mmconf_dmi with a matching annotation. check_enable_amd_mmconf_dmi is only called from init_amd which is __cpuinit Signed-off-by: Marcin Slusarz Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 67d0c9ebdc9f5f356657146b4e862b2d745e9e78 Author: Marcin Slusarz Date: Mon Aug 11 00:12:37 2008 +0200 x86: fix MP_processor_info section mismatch warning WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x1fe7): Section mismatch in reference from the function MP_processor_info() to the variable .init.data:x86_quirks The function __cpuinit MP_processor_info() references a variable __initdata x86_quirks. If x86_quirks is only used by MP_processor_info then annotate x86_quirks with a matching annotation. MP_processor_info uses x86_quirks which is __init and is used only from smp_read_mpc and construct_default_ISA_mptable which are __init Signed-off-by: Marcin Slusarz Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit d554d9a4295dd0595d12eeccbc55d1f495b15176 Author: Marcin Slusarz Date: Mon Aug 11 00:07:44 2008 +0200 x86, tsc: fix section mismatch warning WARNING: vmlinux.o(.text+0x7950): Section mismatch in reference from the function native_calibrate_tsc() to the function .init.text:tsc_read_refs() The function native_calibrate_tsc() references the function __init tsc_read_refs(). This is often because native_calibrate_tsc lacks a __init annotation or the annotation of tsc_read_refs is wrong. tsc_read_refs is called from native_calibrate_tsc which is not __init and native_calibrate_tsc cannot be marked __init Signed-off-by: Marcin Slusarz Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 3c3b5c3b0bf798316a410e27e3d7e6f015663602 Author: Mathieu Desnoyers Date: Sat Aug 16 03:39:26 2008 -0400 x86: correct register constraints for 64-bit atomic operations x86_64 add/sub atomic ops does not seems to accept integer values bigger than 32 bits as immediates. Intel's add/sub documentation specifies they have to be passed as registers. The only operations in the x86-64 architecture which accept arbitrary 64-bit immediates is "movq" to any register; similarly, the only operation which accept arbitrary 64-bit displacement is "movabs" to or from al/ax/eax/rax. http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gcc/Machine-Constraints.html states : e 32-bit signed integer constant, or a symbolic reference known to fit that range (for immediate operands in sign-extending x86-64 instructions). Z 32-bit unsigned integer constant, or a symbolic reference known to fit that range (for immediate operands in zero-extending x86-64 instructions). Since add/sub does sign extension, using the "e" constraint seems appropriate. It applies to 2.6.27-rc, 2.6.26, 2.6.25... Signed-off-by: Mathieu Desnoyers Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 4cf7cb280e4fcfcd7ae7429e17d798d3a44087af Author: David S. Miller Date: Sun Aug 17 22:45:17 2008 -0700 sch_prio: Use NET_XMIT_SUCCESS instead of "0" constant. Signed-off-by: David S. Miller commit 0d40b6e564bad2047b57a9afc48b701ef3243b89 Author: Jussi Kivilinna Date: Sun Aug 17 22:43:56 2008 -0700 sch_prio: Use return value from inner qdisc requeue Use return value from inner qdisc requeue when value returned isn't NET_XMIT_SUCCESS, instead of always returning NET_XMIT_DROP. Signed-off-by: Jussi Kivilinna Signed-off-by: David S. Miller commit 1e0d5a5747772182d1bb2525d8153da640fdfb58 Author: David S. Miller Date: Sun Aug 17 22:31:26 2008 -0700 pkt_sched: No longer destroy qdiscs from RCU. We can now kill them synchronously with all of the previous dev_deactivate() cures. This makes netdev destruction and shutdown saner as the qdiscs hold references to the device. Signed-off-by: David S. Miller commit 3a76e3716b4e571f5d91a20b6afb412560599083 Author: Jarek Poplawski Date: Sun Aug 17 22:02:11 2008 -0700 pkt_sched: Grab correct lock in notify_and_destroy(). From: Jarek Poplawski When we are destroying non-root qdiscs, we need to lock the root of the qdisc tree not the the qdisc itself. Signed-off-by: David S. Miller commit 4335cd2da1e8986fa8aff21a91144d986cb0a5fc Author: David S. Miller Date: Sun Aug 17 21:58:07 2008 -0700 pkt_sched: Simplify dev_deactivate() polling loop. The condition under which the previous qdisc has no more references after we've attached &noop_qdisc is that both RUNNING and SCHED are both seen clear while holding the root lock. So just make specifically that check in the polling loop, instead of this overly complex "check without then check with lock held" sequence. Signed-off-by: David S. Miller commit def82a1db1fdc4f861c77009e2ee86870c3743b0 Author: Jarek Poplawski Date: Sun Aug 17 21:54:43 2008 -0700 net: Change handling of the __QDISC_STATE_SCHED flag in net_tx_action(). Change handling of the __QDISC_STATE_SCHED flag in net_tx_action() to enable proper control in dev_deactivate(). Now, if this flag is seen as unset under root_lock means a qdisc can't be netif_scheduled. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit a9312ae89324438b0edc554eb36c3ec6bf927d04 Author: David S. Miller Date: Sun Aug 17 21:51:03 2008 -0700 pkt_sched: Add 'deactivated' state. This new state lets dev_deactivate() mark a qdisc as having been deactivated. dev_queue_xmit() and ing_filter() check for this bit and do not try to process the qdisc if the bit is set. dev_deactivate() polls the qdisc after setting the bit, waiting for both __QDISC_STATE_RUNNING and __QDISC_STATE_SCHED to clear. This isn't perfect yet, but subsequent changesets will make it so. This part is just one piece of the puzzle. Signed-off-by: David S. Miller commit 50d0b17645a26d2877c9d5538114498c3f82adac Author: Christoph Hellwig Date: Sun Aug 17 03:57:30 2008 +1000 powerpc: Use generic compat_sys_old_readdir Use the generic compat_sys_old_readdir instead of the powerpc one which is almost the same except for the almost complete lack of error handling. Note that we can't just use SYSCALL() in systbl.h because the native syscall is named old_readdir, not sys_old_readdir. Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit d9178f4c14c3215fec66d326fcaff74262336aed Author: Paul Collins Date: Sat Aug 16 18:55:54 2008 +1000 powerpc/kexec: Fix up KEXEC_CONTROL_CODE_SIZE missed during conversion Commit 163f6876f5c3ff8215e900b93779e960a56b3694 missed one, resulting in the following compile error: AS arch/powerpc/kernel/misc_32.o arch/powerpc/kernel/misc_32.S: Assembler messages: arch/powerpc/kernel/misc_32.S:902: Error: unsupported relocation against KEXEC_CONTROL_CODE_SIZE make[2]: *** [arch/powerpc/kernel/misc_32.o] Error 1 make[1]: *** [arch/powerpc/kernel] Error 2 make: *** [vmlinux] Error 2 I grepped arch/ and found no further instances. Signed-off-by: Paul Collins Signed-off-by: Paul Mackerras commit b9754568ef173cc8dbe4145c3aa44203a4424692 Author: Steven Rostedt Date: Sat Aug 16 13:56:44 2008 +1000 powerpc: Remove dead module_find_bug code Doing some various "make randconfig", I came across an error when CONFIG_BUG was not set: arch/powerpc/kernel/module.c: In function 'module_find_bug': arch/powerpc/kernel/module.c:111: error: increment of pointer to unknown structure arch/powerpc/kernel/module.c:111: error: arithmetic on pointer to an incomplete type arch/powerpc/kernel/module.c:112: error: dereferencing pointer to incomplete type Looking further into this, I found that module_find_bug, defined in powerpc arch code, is not called anywhere, so this just removes it. There is a static module_find_bug in lib/bug.c but that is a separate issue. Signed-off-by: Steven Rostedt Signed-off-by: Paul Mackerras commit ac22429df22c1c793245c3cca33ccde4046d9c1f Author: Robert Jennings Date: Sat Aug 16 05:10:18 2008 +1000 powerpc: Add CMO enabled flag and paging space data to lparcfg Add a field in lparcfg output to indicate whether the kernel is running on a dedicated or shared memory lpar. Added fields to show the paging space pool IDs and the CMO page size. Submitted-by: Robert Jennings Signed-off-by: Paul Mackerras commit 370e4587d0a6bf80a0c421583fe579a13f3d8773 Author: Brian King Date: Sat Aug 16 05:09:33 2008 +1000 powerpc: Fix CMM page loaning on 64k page kernel with 4k hardware pages If the firmware page size used for collaborative memory overcommit is 4k, but the kernel is using 64k pages, the page loaning is currently broken as it only marks the first 4k page of each 64k page as loaned. This fixes this to iterate through each 4k page and mark them all as loaned/active. Signed-off-by: Brian King Signed-off-by: Robert Jennings Signed-off-by: Paul Mackerras commit 81f14997e8e8a10eb75ca593674d2b0c94129a21 Author: Robert Jennings Date: Sat Aug 16 05:07:31 2008 +1000 powerpc: Make CMO paging space pool ID and page size available During platform setup, save off the primary/secondary paging space pool IDs and the page size. Added accessors in hvcall.h for these variables. This is needed for a subsequent fix. Submitted-by: Robert Jennings Signed-off-by: Paul Mackerras commit 22b8f9ee4a91638a4c8f57e957a91cf49788332a Author: Benjamin Herrenschmidt Date: Fri Aug 15 17:11:31 2008 +1000 powerpc: Fix lockdep IRQ tracing bug A small bogon sneaked into the ppc64 lockdep support. A test is branching slightly off causing a clobbered register value to overwrite the irq state under some circumstances. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 9acd57ca74b12bc8ba8da12c72b19ede2cddcb53 Author: Rocky Craig Date: Thu Aug 14 23:11:54 2008 +1000 powerpc: Fix TLB invalidation on boot on 32-bit The intent of "flush_tlbs" is to invalidate all TLB entries by doing a TLB invalidate instruction for all pages in the address range 0 to 0x00400000. A loop counter is set up at the high value and decremented by page size. However, the loop is only done once as the sense of the conditional branch at the loop end does not match the setup/decrement. This fixes it to do the whole range by correcting the branch condition. Signed-off-by: Rocky Craig Signed-off-by: Paul Mackerras commit 3fadc52b2c9171b138b93f4a0121ceba67241b3b Author: Benjamin Herrenschmidt Date: Tue Aug 12 17:03:26 2008 +1000 powerpc: Fix loss of vdso on fork on 32-bit When we fork, init_new_context() improperly resets the vdso_base of the new context to 0. That means that the new process loses access to the vdso for signal trampolines. The initialization should be unnecessary anyway as the context on a fresh mm should be 0 in the first place and binfmt_elf will initialize that value for a newly loaded process. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit abcf42419d24416175ea8bc9a502d833f64955d1 Merge: fac2963... fe7f962... Author: Linus Torvalds Date: Sun Aug 17 13:01:30 2008 -0700 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: sdricoh_cs: removed unused #include s3cmci: attach get_cd host ops s3cmci: fix sparse errors from non-exported functions commit fe7f962505892c7894c473cd78ade87767689c8d Author: Huang Weiyi Date: Sun Aug 17 07:51:10 2008 +0800 sdricoh_cs: removed unused #include The drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/mmc/host/sdricoh_cs.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: Pierre Ossman commit 87dd98037d2309efbbd5e769efb23d845c37dac7 Author: Ben Dooks Date: Tue Aug 12 09:24:50 2008 +0100 s3cmci: attach get_cd host ops Attach the routine to get_cd to allow the MMC core to find out whether there is a card present or not without the tedious process of trying to send commands to the card or not. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 5d304400a9a867a7ce545f3ae6d95d92b62570f7 Author: Ben Dooks Date: Fri Aug 8 10:55:41 2008 +0100 s3cmci: fix sparse errors from non-exported functions Fix the following sparse errors by making the functions static and fixing the check for host->base. 598:6: warning: symbol 's3cmci_dma_done_callback' was not declared. Should it be static? 744:6: warning: symbol 's3cmci_dma_setup' was not declared. Should it be static? 1209:20: warning: Using plain integer as NULL pointer Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit fac296322c838e8dd425b13410ff7ada2856a8ee Merge: 5e186b5... f511b01... Author: Linus Torvalds Date: Sun Aug 17 09:20:33 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix capture source widgets on ALC codecs commit 5e186b57e7ede86aeb9db30e66315bde4e8b1815 Author: Alexander Beregalov Date: Sun Aug 17 05:34:20 2008 +0400 security.h: fix build failure security.h: fix build failure include/linux/security.h: In function 'security_ptrace_traceme': include/linux/security.h:1760: error: 'parent' undeclared (first use in this function) Signed-off-by: Alexander Beregalov Tested-by: Ingo Molnar Signed-off-by: James Morris commit f511b01c8e747b80635c8b2acd61431abcab4b29 Author: Takashi Iwai Date: Fri Aug 15 16:46:42 2008 +0200 ALSA: hda - Fix capture source widgets on ALC codecs On some Realtek codecs like ALC882 or ALC883, the capture source is no mux but sum widget. We have to initialize all channels properly for this type, otherwise noises may come in from the unused route. The patch assures to mute unused routes, and unmute the currently selected route. Signed-off-by: Takashi Iwai Tested-by: Daniel J Blueman commit b09c3e3f1710b554348c98e78fbf4a661918779a Author: Huang Weiyi Date: Sun Aug 17 07:51:05 2008 +0800 removed unused #include The drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/char/pcmcia/ipwireless/tty.c drivers/char/synclink_gt.c drivers/char/xilinx_hwicap/xilinx_hwicap.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: Linus Torvalds commit 406703f8de33bed0d34c6a083d58178317e27183 Merge: c100548... df60a84... Author: Linus Torvalds Date: Sat Aug 16 17:16:07 2008 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: fix build if CONFIG_PROVE_LOCKING not defined lockdep: use WARN() in kernel/lockdep.c lockdep: spin_lock_nest_lock(), checkpatch fixes lockdep: build fix commit c100548d4610f727b95faffd69cb54cb280cd114 Merge: 0473b79... 55cd534... Author: Linus Torvalds Date: Sat Aug 16 17:15:32 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: scale sysctl_sched_shares_ratelimit with nr_cpus sched: fix rt-bandwidth hotplug race sched: fix the race between walk_tg_tree and sched_create_group commit 0473b7992943ee7b182aa4afeb602ba5d37d36e0 Merge: 9e94cd3... 2fdc869... Author: Linus Torvalds Date: Sat Aug 16 17:14:07 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits) x86: add MAP_STACK mmap flag x86: fix section mismatch warning - spp_getpage() x86: change init_gdt to update the gdt via write_gdt, rather than a direct write. x86-64: fix overlap of modules and fixmap areas x86, geode-mfgpt: check IRQ before using MFGPT as clocksource x86, acpi: cleanup, temp_stack is used only when CONFIG_SMP is set x86: fix spin_is_contended() x86, nmi: clean UP NMI watchdog failure message x86, NMI: fix watchdog failure message x86: fix /proc/meminfo DirectMap x86: fix readb() et al compile error with gcc-3.2.3 arch/x86/Kconfig: clean up, experimental adjustement x86: invalidate caches before going into suspend x86, perfctr: don't use CCCR_OVF_PMI1 on Pentium 4Ds x86, AMD IOMMU: initialize dma_ops after sysfs registration x86m AMD IOMMU: cleanup: replace LOW_U32 macro with generic lower_32_bits x86, AMD IOMMU: initialize device table properly x86, AMD IOMMU: use status bit instead of memory write-back for completion wait x86: silence mmconfig printk x86, msr: fix NULL pointer deref due to msr_open on nonexistent CPUs ... commit 9e94cd325bb8ed8abe13f29b64fb54c1dec633a8 Author: Andi Kleen Date: Sat Aug 16 07:53:05 2008 +0200 Move sysctl check into debugging section and don't make it default y I noticed that sysctl_check.o was the largest object file in a allnoconfig build in kernel/*. 36243 0 0 36243 8d93 kernel/sysctl_check.o This is because it was default y and && EMBEDDED. But I don't really see a need for a non kernel developer to have their sysctls checked all the time. So move the Kconfig into the kernel debugging section and also drop the default y and the EMBEDDED check. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9c0d2a20fe331946c1a65a5865faf56e93255c5c Merge: 5e6b83e... 66bfa2f... Author: Linus Torvalds Date: Sat Aug 16 16:48:45 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (38 commits) [ARM] 5191/1: ARM: remove CVS keywords [ARM] pxafb: fix the warning of incorrect lccr when lcd_conn is specified [ARM] pxafb: add flag to specify output format on LDD pins when base is RGBT16 [ARM] pxafb: fix the incorrect configuration of GPIO77 as ACBIAS for TFT LCD [ARM] 5198/1: PalmTX: PCMCIA fixes [ARM] Fix a pile of broken watchdog drivers [ARM] update mach-types [ARM] 5196/1: fix inline asm constraints for preload [ARM] 5194/1: update .gitignore [ARM] add proc-macros.S include to proc-arm940 and proc-arm946 [ARM] 5192/1: ARM TLB: add v7wbi_{possible,always}_flags to {possible,always}_tlb_flags [ARM] 5193/1: Wire up missing syscalls [ARM] traps: don't call undef hook functions with spinlock held [ARM] 5183/2: Provide Poodle LoCoMo GPIO names [ARM] dma-mapping: provide sync_range APIs [ARM] dma-mapping: improve type-safeness of DMA translations [ARM] Kirkwood: instantiate the orion_spi driver in the platform code [ARM] prevent crashing when too much RAM installed [ARM] Kirkwood: Instantiate mv_xor driver [ARM] Orion: Instantiate mv_xor driver for 5182 ... commit 5e6b83ed8c00f2e2ae5b2413c5907bed735b600d Author: David Woodhouse Date: Sat Aug 16 11:55:04 2008 +0100 Fix header export of videodev2.h, ivtv.h, ivtvfb.h The exported copy of videodev2.h contains this line: #define #include This is because for some reason it defines __user for itself -- despite the fact that we remove all instances of __user when exporting headers. _All_ pointers in userspace are user pointers. Fix it by removing the unnecessary '#define __user' from the file. The new headers ivtv.h and ivtvfb.h would have the same problem... if whoever put them there had actually remembered to add them to the Kbuild file while he was at it. Fix those too, and export them as was presumably intended. Note that includes of are also stripped by the header export process, so those don't need to be conditional. Signed-off-by: David Woodhouse Signed-off-by: Mauro Carvalho Chehab Acked-by: Hans Verkuil Signed-off-by: Linus Torvalds commit 605d9288b3e8a3d15e6f36185c2fc737b6979572 Author: Hugh Dickins Date: Sat Aug 16 11:07:21 2008 +0100 mm: VM_flags comment fixes Try to comment away a little of the confusion between mm's vm_area_struct vm_flags and vmalloc's vm_struct flags: based on an idea by Ulrich Drepper. Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 66bfa2f03191aec2e2958414b1dfb80a56637133 Author: Adrian Bunk Date: Sun Aug 10 15:25:55 2008 +0100 [ARM] 5191/1: ARM: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time. Signed-off-by: Adrian Bunk Signed-off-by: Russell King commit 7d0e367ab3f3ad345bd3e121c4c5f511e8b274fa Author: Brian King Date: Fri Aug 15 10:59:28 2008 -0500 [SCSI] ibmvfc: Driver version 1.0.2 Bump driver version to 1.0.2. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 3e3399467d4c4aefe6a24225b5b277cf7d6e58a7 Author: Brian King Date: Fri Aug 15 10:59:27 2008 -0500 [SCSI] ibmvfc: Add details to async event log When logging async events, also print the payload in addition to the event received. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 2bac406df52100aec42e230a2cc2986d34e86218 Author: Brian King Date: Fri Aug 15 10:59:26 2008 -0500 [SCSI] ibmvfc: Sanitize response lengths Sanitize the response lengths in order to prevent possible oopses in the command response path. Signed-off-by: Brian King Signed-off-by: James Bottomley commit cf6f10d794ab4a9bd84fce345c3947588670d5f5 Author: Brian King Date: Fri Aug 15 10:59:23 2008 -0500 [SCSI] ibmvfc: Fix for lost async events If the client virtual fibre channel adapter is already logged into the server and does an NPIV Login again, the async queue, which is used for reporting Link Up/Link Down type of events, does not get reset on the server side. Fix up the client driver so that we also do not reset it. This fixes a problem of lost async events following relogins. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 915be024414c52e311f795566ac938223ba3c847 Author: Brian King Date: Fri Aug 15 10:59:22 2008 -0500 [SCSI] ibmvfc: Fixup host state during reinit If an ELS is received while the virtual fibre channel adapter is going through its discovery, a flag is set which causes discovery to get re-driven. However, the hosts's state does not get set back to IBMVFC_INITIALIZING and scsi_block_requests does not get called again, which can result in queuecommand ops getting sent during discovery. This should not occur and may cause problems. One example is that we may no longer be logged into the target we send the command to, resulting in a failure which should not have occurred. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 3eddc569770a76f2ca65621cdde3c0a2552b5b0c Author: Brian King Date: Fri Aug 15 10:59:21 2008 -0500 [SCSI] ibmvfc: Fix another hang on module removal This fixes a hang on module removal. The module removal code was setting the hosts's state to IBMVFC_HOST_OFFLINE before tearing down the kernel thread, but, due to a bug in ibmvfc_wait_while_resetting, was not waiting for the kernel thread's offlining work to be done prior to destroying the kernel thread, which left the scsi host in a blocked state which we never got out of. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 4f3e2664622d23a17c6fc45a4df4c35cd2612ffb Author: Eric Miao Date: Sat Aug 16 03:50:51 2008 -0400 [ARM] pxafb: fix the warning of incorrect lccr when lcd_conn is specified The newly introduced "lcd_conn" field for connected LCD panel type will cause the original code to generate the warnings of incorrect lccr*. This is unnecessary since well encoded LCD_* flags will not generate incorrect combinition of lccr* bits. Skip the check if "lcd_conn" is specified. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 9a1ac7e498b9fc367235aabeb5b86c1319db1de9 Author: Eric Miao Date: Fri Aug 15 02:50:44 2008 -0400 [ARM] pxafb: add flag to specify output format on LDD pins when base is RGBT16 Another fix of inconsistent shift of the LCD_BIAS_ACTIVE_* and LCD_PCLK_EDGE_* is also included. Signed-off-by: Eric Miao Signed-off-by: Russell King commit cb47729bdaf49fe5e9dd2c41554f44a77b5cd590 Author: Eric Miao Date: Sat Aug 16 03:59:11 2008 -0400 [ARM] pxafb: fix the incorrect configuration of GPIO77 as ACBIAS for TFT LCD Signed-off-by: Eric Miao Tested-by: Robert Jarzmik Tested-by: Alex Osborne Signed-off-by: Russell King commit 574047f96a302cbca2f9bfafd78b1869b6a900bf Author: Marek Vašut Date: Sat Aug 16 15:34:11 2008 +0100 [ARM] 5198/1: PalmTX: PCMCIA fixes Fix GPIO handling in the PCMCIA driver. Signed-off-by: Marek Vasut Signed-off-by: Russell King commit 004dd5e88673516a408f0e8e43edbe6a4424be2f Author: Brian King Date: Fri Aug 15 10:48:47 2008 -0500 [SCSI] ibmvscsi: Fixup desired DMA value for shared memory partitions When running ibmvscsi in a shared memory partition, it must provide a default value for the amount of DMA resources it will need in order to perform reasonably well. This was being calculated in sectors rather than bytes, as it should. This patch fixes this. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 66dca9b8c50b5e59d3bea8b21cee5c6dae6c9c46 Author: Joe Malicki Date: Thu Aug 14 17:14:48 2008 -0400 [SCSI] megaraid_sas: remove sysfs dbg_lvl world writeable permissions /sys/bus/pci/drivers/megaraid_sas/dbg_lvl defaults to being world-writable, which seems bad (letting any user affect kernel driver behavior and logging level). This turns off group and user write permissions, so that on typical production systems only root can write to it. [jejb: fix up rejections] Signed-off-by: Joseph Malicki Acked-by: "Yang, Bo" Signed-off-by: James Bottomley commit bcd2361d7eda10f85a103cbe70f7eebaeef03072 Author: Andrew Vasquez Date: Wed Aug 13 21:37:02 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k7. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c795c1e4b68a74536f0fb18744d0e381ceb1f37e Author: Andrew Vasquez Date: Wed Aug 13 21:37:01 2008 -0700 [SCSI] qla2xxx: Explicitly tear-down vports during PCI remove_one(). During internal testing, we've seen issues (hangs) with the 'deferred' vport tear-down-processing typically accompanied with the fc_remove_host() call. This is due to the current implementation's back-end vport handling being performed by the physical-HA's DPC thread where premature shutdown could lead to latent vport requests without a processor. This should also address a problem reported by Gal Rosen (http://marc.info/?l=linux-scsi&m=121731664417358&w=2) where the driver would attempt to awaken a previously torn-down DPC thread from interrupt context by implicitly calling wake_up_process() rather than the driver's qla2xxx_wake_dpc() helper. Rather, than reshuffle the remove_one() device-removal code, during unload, depend on the driver's timer to wake-up the DPC process, by limiting wake-ups based on an 'unloading' flag. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 19851f136ab37d7ac6f7c865329d13db54712ec0 Author: Andrew Vasquez Date: Wed Aug 13 21:37:00 2008 -0700 [SCSI] qla2xxx: Reference proper ha during SBR handling. The executing-HA of an SRB can be referenced from the sp->fcport. Use this correct value while processing status-continuation data and abort processing. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 946fb8915a47bbd76de75b2ae7f1c7e92c0666ca Author: Mike Hernandez Date: Wed Aug 13 21:36:59 2008 -0700 [SCSI] qla2xxx: Set npiv_supported flag for FCoE HBAs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit bed475c4cde5d12f537f445bdd0a5a3bb5684481 Author: Andrew Vasquez Date: Wed Aug 13 21:36:58 2008 -0700 [SCSI] qla2xxx: Don't leak SG-DMA mappings while aborting commands. Original code inadvertently cleared an SRB's 'flags' while aborting; causing a follow-on scsi_dma_unmap() to be potentially missed. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a7a28504bfa61dc6caa495f55c52623d10b42b32 Author: Andrew Vasquez Date: Wed Aug 13 21:36:57 2008 -0700 [SCSI] qla2xxx: Correct vport-state management issues during ISP-ABORT. * Use correct 'ha' to mark a device lost from ISR. I/Os will always be returned on the physical-HA. qla2x00_mark_device_lost() should be called with the HA bound to the fcport. * Mark *all* devices lost during ISP-ABORT (bighammer). These fixes correct issues discovered locally where during link-perturbation and heavy vport-I/O fcport/rport states would stray and an rport's scsi-target lost (timed-out). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6390d1f33faecf48e31f27dd7dbe928540f8acfc Author: Andrew Vasquez Date: Wed Aug 13 21:36:56 2008 -0700 [SCSI] qla2xxx: Correct synchronization of software/firmware fcport states. Greg Wettstein (greg@enjellic.com) noted: http://article.gmane.org/gmane.linux.scsi/43409 on a reboot of a previously recognized SCST target, the initiator driver would be unable to re-recognize the device as a target. It turns out that prior to the SCST software reloading and returning it's "target-capable" abilities in the PRLI payload, the HBA would be re-initialized as an initiator-only type port. Since initiators typically classify themselves as an FCP-2 capable device, both software and firmware do not perform an explicit logout during port-loss. Unfortunately, as can be seen by the failure case, when the port (now target-capable) returns, firmware performs an ADISC without a follow-on PRLI, leaving stale 'initiator-only' data in the firmware's port database. Correct the discrepancy by performing the explicit logout during the transport's request to terminate-rport-io, thus synchronizing port states and ensuring a follow-on PRLI is performed. Reported-by: Greg Wettstein Signed-off-by: Andrew Vasquez Cc: Stable Tree Signed-off-by: James Bottomley commit fe42625cdf0d4e06f01e365897a64b68d7f7de7d Author: Chandra Seetharaman Date: Tue Aug 12 17:26:59 2008 -0700 [SCSI] scsi_dh: Initialize lun_state in check_ownership() lun_state need to be initialized inside check_ownership(). Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 8479fca119fac63538af9e313ad0b8658cbbe662 Author: Chandra Seetharaman Date: Tue Aug 12 17:26:58 2008 -0700 [SCSI] scsi_dh: Do not use scsilun in rdac hardware handler RDAC storage controller doesn't seem to use the scsilun format. It uses only the last byte for LUN. Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 24541f99ba7231de26355d1cb87ab06e0f593efb Author: Yang, Bo Date: Sun Aug 10 12:42:39 2008 -0700 [SCSI] megaraid_sas: version and Documentation Update Signed-off-by: Bo Yang Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 6610a6b354d6c3377a1e79cd1d760ffe4358245c Author: Yang, Bo Date: Sun Aug 10 12:42:38 2008 -0700 [SCSI] megaraid_sas: add new controllers (0x78 0x79) Add the new controllers (0x78 0x79) support to the driver. Those controllers are LSI's next generation (gen2) SAS controllers. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: parenthesise a macro] Signed-off-by: Bo Yang Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 530e6fc1e05f14762aea954ca8d6422c5a7077c1 Author: Yang, Bo Date: Sun Aug 10 12:42:37 2008 -0700 [SCSI] megaraid_sas: add the shutdown DCMD cmd to driver shutdown routine Add the shutdown DCMD cmd to driver shutdown routine to make megaraid sas FW shutdown proper. Signed-off-by: Bo Yang Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 06f579dee5dd75c2aaf8fe83d034b5470eeee2f4 Author: Yang, Bo Date: Sun Aug 10 12:42:37 2008 -0700 [SCSI] megaraid_sas: add readl to force PCI posting flush MegaRAID SAS Driver get unexpected Interrupt. Add the dummy readl to force PCI flush will fix this issue. Signed-off-by: Bo Yang Signed-off-by: Andrew Morton Cc: Stable Tree Signed-off-by: James Bottomley commit 8b5942c391ff92417b0a133abf7a970fa4fc942a Author: Adrian Bunk Date: Sun Aug 10 12:33:08 2008 +0100 [ARM] Fix a pile of broken watchdog drivers These patches from Adrian fix: - ixp4xx_wdt: 20d35f3e50ea7e573f9568b9fce4e98523aaee5d CC drivers/watchdog/ixp4xx_wdt.o ixp4xx_wdt.c:32: error: expected '=', ',', ';', 'asm' or '__attribute__' ixp4xx_wdt.c: In function 'wdt_enable': ixp4xx_wdt.c:41: error: 'wdt_lock' undeclared (first use in this ixp4xx_wdt.c:41: error: (Each undeclared identifier is reported only ixp4xx_wdt.c:41: error: for each function it appears in.) ixp4xx_wdt.c: In function 'wdt_disable': ixp4xx_wdt.c:52: error: 'wdt_lock' undeclared (first use in this ixp4xx_wdt.c: In function 'ixp4xx_wdt_init': ixp4xx_wdt.c:186: error: 'wdt_lock' undeclared (first use in this make[3]: *** [drivers/watchdog/ixp4xx_wdt.o] Error 1 - at91rm9200_wdt: 2760600da2a13d5a2a335ba012d0f3ad5df4c098 CC drivers/watchdog/at91rm9200_wdt.o at91rm9200_wdt.c:188: error: 'at91_wdt_ioctl' undeclared here (not in a make[3]: *** [drivers/watchdog/at91rm9200_wdt.o] Error 1 - wdt285: d0e58eed05f9baf77c4f75e794ae245f6dae240a CC [M] drivers/watchdog/wdt285.o wdt285.c: In function 'footbridge_watchdog_init': wdt285.c:211: error: 'KERN_WARN' undeclared (first use in this function) wdt285.c:211: error: (Each undeclared identifier is reported only once wdt285.c:211: error: for each function it appears in.) wdt285.c:212: error: expected ')' before string constant make[3]: *** [drivers/watchdog/wdt285.o] Error 1 And this patch from rmk: - s3c2410_wdt: 41dc8b72e37c514f7332cbc3f3dd864910c2a1fa CC drivers/watchdog/s3c2410_wdt.o s3c2410_wdt.c: In function `s3c2410wdt_start': s3c2410_wdt.c:161: warning: `return' with a value, in function returning void Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Russell King commit da4d77cda07c349d10be1398004ebdfd1a22c426 Author: Russell King Date: Wed Aug 13 21:56:24 2008 +0100 [ARM] update mach-types Signed-off-by: Russell King commit 16f719de62809e224e37c320760c3ce59098d862 Author: Nicolas Pitre Date: Tue Aug 12 22:10:59 2008 +0100 [ARM] 5196/1: fix inline asm constraints for preload With gcc 4.3 and later, a pointer that has already been dereferenced is assumed not to be null since it should have caused a segmentation fault otherwise, hence any subsequent test against NULL is optimized away. Current inline asm constraint used in the implementation of prefetch() makes gcc believe that the pointer is dereferenced even though the PLD instruction does not load any data and does not cause a segmentation fault on null pointers, which causes all sorts of interesting results when reaching the end of a linked lists for example. Let's use a better constraint to properly represent the actual usage of the pointer value. Problem reported by Chris Steel. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit ebb1951d3624c2f961abe676645c13e5a1145569 Author: David S. Miller Date: Fri Aug 15 19:57:57 2008 -0700 lmb: Fix reserved region handling in lmb_enforce_memory_limit(). The idea of the implementation of this fix is from Michael Ellerman. This function has two loops, but they each interpret the memory_limit value differently. The first loop interprets it as a "size limit" whereas the second loop interprets it as an "address limit". Before the second loop runs, reset memory_limit to lmb_end_of_DRAM() so that it all works out. Signed-off-by: David S. Miller Acked-by: Michael Ellerman commit 08013fa353fdcfc0a03cae805393abfc56722387 Author: David S. Miller Date: Fri Aug 15 19:46:01 2008 -0700 bnx2: Fix build with VLAN_8021Q disabled. Reported by Randy Dunlap. Signed-off-by: David S. Miller commit f42157cb568c1eb02eca7df4da67553a9edae24a Author: Rusty Russell Date: Fri Aug 15 15:15:10 2008 -0700 tun: fallback if skb_alloc() fails on big packets skb_alloc produces linear packets (using kmalloc()). That can fail, so should we fall back to making paged skbs. My original version of this patch always allocate paged skbs for big packets. But that made performance drop from 8.4 seconds to 8.8 seconds on 1G lguest->Host TCP xmit. So now we only do that as a fallback. Signed-off-by: Rusty Russell Acked-by: Max Krasnyansky Signed-off-by: David S. Miller commit db543c1f973cd1d557cc32ceee76737c1e4d2898 Author: Rusty Russell Date: Fri Aug 15 15:13:53 2008 -0700 net: skb_copy_datagram_from_iovec() There's an skb_copy_datagram_iovec() to copy out of a paged skb, but nothing the other way around (because we don't do that). We want to allocate big skbs in tun.c, so let's add the function. It's a carbon copy of skb_copy_datagram_iovec() with enough changes to be annoying. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit e3b99556975907530aeb9745e7b3945a0da48f17 Author: Mark McLoughlin Date: Fri Aug 15 15:09:56 2008 -0700 tun: TUNGETIFF interface to query name and flags Add a TUNGETIFF interface so that userspace can query a tun/tap descriptor for its name and flags. This is needed because it is common for one app to create a tap interface, exec another app and pass it the file descriptor for the interface. Without TUNGETIFF the spawned app has no way of detecting wheter the interface has e.g. IFF_VNET_HDR set. Signed-off-by: Mark McLoughlin Acked-by: Max Krasnyansky Signed-off-by: David S. Miller commit 04a0551c87363f100b04d28d7a15a632b70e18e7 Author: Herbert Xu Date: Fri Aug 15 14:56:37 2008 -0700 loopback: Drop obsolete ip_summed setting Now that the network stack can handle inbound packets with partial checksums, we should no longer clobber the ip_summed field in the loopback driver. This is because CHECKSUM_UNNECESSARY implies that the checksum field is actually valid which is not true for loopback packets since it's only partial (and thus complemented). This allows packets from lo to then be SNATed to an external source while still preserving the checksum's validity. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 6f85a124d819e1cf33b16d064a6a656fd448a735 Author: Herbert Xu Date: Fri Aug 15 14:55:02 2008 -0700 net: Preserve netfilter attributes in skb_gso_segment using __copy_skb_header skb_gso_segment didn't preserve some attributes in the original skb such as the netfilter fields. This was harmless until they were used which is the case for packets going through lo. This patch makes it call __copy_skb_header which also picks up some other missing attributes. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7447ef63cf2dfdc444f4c72ae13f604350b2e25f Author: David S. Miller Date: Fri Aug 15 14:54:03 2008 -0700 loopback: Remove rest of LOOPBACK_TSO code. It hasn't been enabled for a long time and the generic GSO engine is better documentation of what is expected of a device implementing TSO. Signed-off-by: David S. Miller commit f22f8567cb0a530d8958d177e0f268783bd0d894 Author: Herbert Xu Date: Fri Aug 15 14:52:08 2008 -0700 loopback: Enable TSO This patch enables TSO since the loopback device is naturally capable of handling packets of any size. This also means that we won't enable GSO on lo which is good until GSO is fixed to preserve netfilter state as netfilter treats loopback packets in a special way. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e4119a43187139736750bad5d694c6a839df045d Author: Stephen Hemminger Date: Fri Aug 15 19:51:07 2008 -0700 bridge: show offload settings Add more ethtool generic operations to dump the bridge offload settings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 71ef2a46fce43042a60d7ccbf55ecbd789c03c2e Merge: d121db9... 5cd9c58... Author: Linus Torvalds Date: Fri Aug 15 15:32:13 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: security: Fix setting of PF_SUPERPRIV by __capable() commit d121db94eb50b29a202b5f6a8671cbebdf2c4142 Merge: 40a3426... a4b7b6d... Author: Linus Torvalds Date: Fri Aug 15 15:31:23 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (33 commits) Blackfin arch: hook up some missing new system calls Blackfin arch: fix missing digit in SCLK range checking Blackfin arch: do not muck with the UART during boot -- let the serial driver worry about it Blackfin arch: clear EMAC_SYSTAT during IRQ init rather than early head.S as we dont need it setup that early Blackfin arch: use %pF when printing out the double fault address so we get symbol names Blackfin arch: add support for the BlackStamp board Blackfin arch: Allow ins functions to have a low latency version Blackfin arch: Print out doublefault addresses, so debug can occur Blackfin arch: shuffle related prototypes together -- no functional changes Blackfin arch: move fixed code defines into fixed_code.h as very few things actually need to know these details Blackfin arch: mark some functions as __init as they are only called from __init functions Blackfin arch: delete dead prototypes Blackfin arch: cleanup cache lock code Blackfin arch: workaround SIC_IWR1 reset bug, by keeping MDMA0/1 always enabled in SIC_IWR1. Blackfin arch: Fix bug - when expanding the trace buffer, it does not print out the decoded instruction. Blackfin arch: Fix Bug - System with EMAC driver enabled - Core not idling Blackfin arch: delete unused cache functions Blackfin arch: convert L2 defines to be the same as the L1 defines Blackfin arch: unify the duplicated portions of __start and split mach-specific pieces into _mach_early_start where they will be easier to trim over time Blackfin arch: add asm/thread_info.h for THREAD_SIZE define ... commit 23197916c447a1623d196e6547781180905f0bb2 Author: Matt Carlson Date: Fri Aug 15 14:11:19 2008 -0700 tg3: Update version to 3.94 This patch updates the version number to 3.94. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 816f8b86621000fc82e16ae5f172164de761d5eb Author: Stefan Buehler Date: Fri Aug 15 14:10:54 2008 -0700 tg3: fix 64 bit counter for ethtool stats Ethtool stats are 64-bits in length. net_device_stats members are unsigned long types. When gathering information for a get_ethtool_stats call, the driver will call a driver-private, inlined get_stat64() function, which returns an unsigned long value. This call will inadvertently mask off the upper 32-bits of a stat on 32-bit machines. This patch defines a new get_estat() inline function and modifies the ESTAT_ADD() macro to use it. Signed-off-by: Stefan Buehler Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 4ba526ced990f4d61ee8d65fe8a6f0745e8e455c Author: Matt Carlson Date: Fri Aug 15 14:10:04 2008 -0700 tg3: Fix firmware event timeouts The git commit 7c5026aa9b81dd45df8d3f4e0be73e485976a8b6 ("tg3: Add link state reporting to UMP firmware") introduced code that waits for previous firmware events to be serviced before attempting to submit a new event. Unfortunately that patch contained a bug that cause the driver to wait 2.5 seconds, rather than 2.5 milliseconds as intended. This patch fixes that bug. This bug revealed that not all firmware versions service driver events though. Since we do not know which versions of the firmware do and don't service these events, the driver needs some way to minimize the effects of the delay. This patch solves the problem by recording a jiffies timestamp when it submits an event to the hardware. If the jiffies counter shows that 2.5 milliseconds have already passed, a wait is not needed and the driver can proceed to submit a new event. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit bc7959b2cbb57393b625b423c73e6fd07610257f Author: Matt Carlson Date: Fri Aug 15 14:08:55 2008 -0700 tg3: Turn off ASF "driver alive" heartbeats for APE The ENABLE_ASF flag is set when DASH is enabled on the NIC, but DASH does not run on the RX CPU. Instead it runs on the APE. Consequently, the driver does not need to send "driver alive" updates to the RX CPU when the APE is present. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3bda12589646caa22b2ed4ef7cf82d17ea59d7a6 Author: Matt Carlson Date: Fri Aug 15 14:08:22 2008 -0700 tg3: Preserve register settings for DASH Broadcom's DASH (Desktop and mobile Architecture for System Hardware) implementation requires that the driver preserve particular register settings. If the driver does not preserve them, communication with the DASH firmware will be lost. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 731fd79c133dc04cabee17ecfa7661189a8df5c8 Author: Matt Carlson Date: Fri Aug 15 14:07:51 2008 -0700 tg3: Refine APE status check Recently, more status bits have been added to the APE status register. This patch refines the status register check so that the driver can send more events than it would have otherwise. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 77b483f132ba25edf4ef455dd87a91ab7bbf4170 Author: Matt Carlson Date: Fri Aug 15 14:07:24 2008 -0700 tg3: Add APE register access locking If the driver resets the chip while the APE is performing a register access, that register access will never complete and the APE will hang indefinitely. To prevent this race condition, the driver must acquire an APE mutex before resetting the chip. The APE will not attempt a register access until it acquires this lock. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c6153b5b77650879d78dec76414213c76dd8d574 Author: Herbert Xu Date: Fri Aug 15 13:44:31 2008 -0700 ipv4: Disable route secret interval on zero interval Let me first state that disabling the route cache hash rebuild should not be done without extensive analysis on the risk profile and careful deliberation. However, there are times when this can be done safely or for testing. For example, when you have mechanisms for ensuring that offending parties do not exist in your network. This patch lets the user disable the rebuild if the interval is set to zero. This also incidentally fixes a divide-by-zero error with name-spaces. In addition, this patch makes the effect of an interval change immediate rather than it taking effect at the next rebuild as is currently the case. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 40a342664078ebcb4006a89af96f7982fac36032 Merge: 4ad193b... 22d9aac... Author: Linus Torvalds Date: Fri Aug 15 12:47:16 2008 -0700 Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6 * 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6: cpuidle: Make ladder governor honor latency requirements fully cpuidle: Menu governor fix wrong usage of measured_us cpuidle: Do not use poll_idle unless user asks for it x86: Fix ioremap off by one BUG commit 22d9aac23562ea0e921db152f11cf39e3c2b9945 Merge: a600683... 06d9e90... Author: Andi Kleen Date: Fri Aug 15 21:26:12 2008 +0200 Merge branch 'cpuidle' into release-2.6.27 commit 06d9e908b2248f983b186aaf569c58e1430db85d Author: venkatesh.pallipadi@intel.com Date: Wed Jul 30 19:21:44 2008 -0700 cpuidle: Make ladder governor honor latency requirements fully ladder governor only honored latency requirement when promoting C-states. Instead. it should check for latency requirement on each idle call, and demote to appropriate C-state when there is a latency requirement change. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andi Kleen commit 320eee776357db52d6fcfb11cff985b1976a4595 Author: venkatesh.pallipadi@intel.com Date: Wed Jul 30 19:21:43 2008 -0700 cpuidle: Menu governor fix wrong usage of measured_us There is a bug in menu governor where we have if (data->elapsed_us < data->elapsed_us + measured_us) with measured_us already having elapsed_us added in tickless case here unsigned int measured_us = cpuidle_get_last_residency(dev) + data->elapsed_us; Also, it should be last_residency, not measured_us, that need to be used to do comparing and distinguish between expected & non-expected events. Refactor menu_reflect() to fix these two problems. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Wei Gang Signed-off-by: Andi Kleen commit a2bd92023357e47f22a34d4cb1635453546662bc Author: venkatesh.pallipadi@intel.com Date: Wed Jul 30 19:21:42 2008 -0700 cpuidle: Do not use poll_idle unless user asks for it poll_idle was added to CPUIDLE, just as a low latency idle handler, to be used in cases when user desires CPUs not to enter any idle state at all. It was supposed to be a run time idle=poll option to the user. But, it was indeed getting used during normal menu and ladder governor default case, with no special user setting (Reported by Linus Torvalds). Change below ensures that poll_idle will not be used unless user explicitly asks pm_qos infrastructure for zero latency requirement. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andi Kleen commit 4ad193b43f6da6f15e19eda338c71e5b41383912 Merge: cebd770... 97bb812... Author: Linus Torvalds Date: Fri Aug 15 11:52:40 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: wm8990: Implement speaker volume PGA ALSA: wm8990: Fix routing of left DAC to speaker mixer ALSA: virtuoso: add Xonar D1 support commit cebd7709d396b59ff53b95fa3c4d9febbd4c010f Author: Jean Delvare Date: Fri Aug 15 10:58:05 2008 +0200 hwmon-vid: Fix AMD K8 VID decoding Not all AMD K8 have 6 VID pins, contrary to what was assumed in commit 116d0486bdefc11f71e567cadf0c47f788b4dd06. This commit broke support of older CPU models which have only 5 VID pins: http://bugzilla.kernel.org/show_bug.cgi?id=11329 We need two entries in the hwmon-vid table, one for 5-bit VID models (K8 revision <= E) and one for 6-bit VID models (K8 revision >= F). This fixes bug #11329. Signed-off-by: Jean Delvare Acked-by: Frank Myhr Tested-by: Jean-Luc Coulon Signed-off-by: Linus Torvalds commit cd98a04a59e2f94fa64d5bf1e26498d27427d5e7 Author: Ingo Molnar Date: Wed Aug 13 18:02:18 2008 +0200 x86: add MAP_STACK mmap flag as per this discussion: http://lkml.org/lkml/2008/8/12/423 Pardo reported that 64-bit threaded apps, if their stacks exceed the combined size of ~4GB, slow down drastically in pthread_create() - because glibc uses MAP_32BIT to allocate the stacks. The use of MAP_32BIT is a legacy hack - to speed up context switching on certain early model 64-bit P4 CPUs. So introduce a new flag to be used by glibc instead, to not constrain 64-bit apps like this. glibc can switch to this new flag straight away - it will be ignored by the kernel. If those old CPUs ever matter to anyone, support for it can be implemented. Signed-off-by: Ingo Molnar Acked-by: Ulrich Drepper Signed-off-by: Linus Torvalds commit 45edb89ffd6386f95a7a9e1e5461b0e61c76aa14 Merge: 8c9a9dd... ad66133... Author: Linus Torvalds Date: Fri Aug 15 11:02:35 2008 -0700 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] mount of IPC$ breaks with iget patch [CIFS] remove trailing whitespace [CIFS] if get root inode fails during mount, cleanup tree connection commit a6006834866229aa40393ae1dac7ecf05b11e6e0 Merge: 0f24562... e213e87... Author: Andi Kleen Date: Fri Aug 15 19:38:47 2008 +0200 Merge branch 'ioremap' into release-2.6.27 commit 8c9a9dd0fa3a269d380eaae2dc1bee39e865fae1 Author: Alan Cox Date: Fri Aug 15 10:39:38 2008 +0100 tty: remove resize window special case This moves it to being a tty operation. That removes special cases and now also means that resize can be picked up by um and other non vt consoles which may have a resize operation. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 21d3bdb1606311a2900eabccfcb5a887952e2c44 Merge: 3141eb6... c78c7e3... Author: Linus Torvalds Date: Fri Aug 15 10:33:07 2008 -0700 Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubifs-2.6 * 'linux-next' of git://git.infradead.org/~dedekind/ubifs-2.6: (29 commits) UBIFS: xattr bugfixes UBIFS: remove unneeded check UBIFS: few commentary fixes UBIFS: fix budgeting request alignment in xattr code UBIFS: improve arguments checking in debugging messages UBIFS: always set i_generation to 0 UBIFS: correct spelling of "thrice". UBIFS: support splice_write UBIFS: minor tweaks in commit UBIFS: reserve more space for index UBIFS: print pid in dump function UBIFS: align inode data to eight UBIFS: improve budgeting checks UBIFS: correct orphan deletion order UBIFS: fix typos in comments UBIFS: do not union creat_sqnum and del_cmtno UBIFS: optimize deletions UBIFS: increment commit number earlier UBIFS: remove another unneeded function parameter UBIFS: remove unneeded function parameter ... commit df60a8441866153d691ae69b77934904c2de5e0d Author: Stephen Hemminger Date: Fri Aug 15 09:33:05 2008 -0700 lockdep: fix build if CONFIG_PROVE_LOCKING not defined If CONFIG_PROVE_LOCKING not defined, then no dependency information is available. Signed-off-by: Stephen Hemminger Signed-off-by: Ingo Molnar commit 2fdc86901d2ab30a12402b46238951d2a7891590 Author: Ingo Molnar Date: Wed Aug 13 18:02:18 2008 +0200 x86: add MAP_STACK mmap flag as per this discussion: http://lkml.org/lkml/2008/8/12/423 Pardo reported that 64-bit threaded apps, if their stacks exceed the combined size of ~4GB, slow down drastically in pthread_create() - because glibc uses MAP_32BIT to allocate the stacks. The use of MAP_32BIT is a legacy hack - to speed up context switching on certain early model 64-bit P4 CPUs. So introduce a new flag to be used by glibc instead, to not constrain 64-bit apps like this. glibc can switch to this new flag straight away - it will be ignored by the kernel. If those old CPUs ever matter to anyone, support for it can be implemented. Signed-off-by: Ingo Molnar Acked-by: Ulrich Drepper commit 8d6ea9674cb12b90c800dc572214bf06f6ce8340 Author: Marcin Slusarz Date: Fri Aug 15 18:32:24 2008 +0200 x86: fix section mismatch warning - spp_getpage() WARNING: vmlinux.o(.text+0x17a3e): Section mismatch in reference from the function set_pte_vaddr_pud() to the function .init.text:spp_getpage() The function set_pte_vaddr_pud() references the function __init spp_getpage(). This is often because set_pte_vaddr_pud lacks a __init annotation or the annotation of spp_getpage is wrong. spp_getpage is called from __init (__init_extra_mapping) and non __init (set_pte_vaddr_pud) functions, so it can't be __init. Unfortunately it calls alloc_bootmem_pages which is __init, but does it only when bootmem allocator is available (after_bootmem == 0). So annotate it accordingly. Signed-off-by: Marcin Slusarz Signed-off-by: Ingo Molnar Cc: H. Peter Anvin commit fc0091b3c86396afc8e6c273aff21671cf882ee1 Author: Alex Nixon Date: Fri Aug 15 17:21:14 2008 +0100 x86: change init_gdt to update the gdt via write_gdt, rather than a direct write. By writing directly, a memory access violation can occur whilst hotplugging a CPU if the entry was previously marked read-only. Signed-off-by: Alex Nixon Cc: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 3141eb6c50f1dafa99874e702d8b444034e2bb10 Merge: 7db9cbb... 56ac36d... Author: Linus Torvalds Date: Fri Aug 15 09:30:24 2008 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: cancel check/repair requests when recovery is needed Allow raid10 resync to happening in larger chunks. Allow faulty devices to be removed from a readonly array. Don't let a blocked_rdev interfere with read request in raid5/6 Fail safely when trying to grow an array with a write-intent bitmap. Restore force switch of md array to readonly at reboot time. Make writes to md/safe_mode_delay immediately effective. commit 7db9cbb3748c46b80e5c99ffa91945b8dd4ed5e5 Merge: ffaa5b9... cbbdece... Author: Linus Torvalds Date: Fri Aug 15 09:28:16 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: xilinx_ps2 - fix warning Input: bcm5974 - implement autosuspend support Input: bcm5974 - add driver for Macbook Air and Pro Penryn touchpads Input: paper over a bug in Synaptics X driver Input: evdev - split EVIOCGBIT handlig into a separate function Input: i8042 - Add Dritek quirk for Acer TravelMate 4280 Input: xpad - add Pelican Eclipse D-Pad to the list of devices Input: gpio-keys - make gpio_keys_device_driver static Input: gpio-keys - fix possible NULL pointer dereference Input: wm97xx - enable sub-drivers by default commit ffaa5b984a9322bbd5d9a7f0814ca2ce70feebe5 Merge: 024b246... 0f24562... Author: Linus Torvalds Date: Fri Aug 15 09:26:37 2008 -0700 Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6 * 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6: ACPI: Fix thermal shutdowns ACPI: bounds check IRQ to prevent memory corruption ACPI: Avoid bogus EC timeout when EC is in Polling mode ACPI : Add the EC dmi table to fix the incorrect ECDT table ACPI: Properly clear flags on false-positives and send uevent on sudden unplug acpi: trivial cleanups acer-wmi: Fix wireless and bluetooth on early AMW0 v2 laptops ACPI: WMI: Set instance for query block calls ACPICA: Additional error checking for pathname utilities ACPICA: Fix possible memory leak in Unload() operator ACPICA: Fix memory leak when deleting thermal/processor objects commit 55cd53404c5cc5fd94708232e3b4aa4a9388917b Author: Peter Zijlstra Date: Mon Aug 4 08:54:26 2008 +0200 sched: scale sysctl_sched_shares_ratelimit with nr_cpus David reported that his Niagra spend a little too much time in tg_shares_up(), which considering he has a large cpu count makes sense. So scale the ratelimit value with the number of cpus like we do for other controls as well. Reported-by: David Miller Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 024b246ed24492d6c2ee14c34d742b137fce1b94 Author: Linus Torvalds Date: Fri Aug 15 09:19:40 2008 -0700 alpha: move include/asm-alpha to arch/alpha/include/asm Sam Ravnborg did the build-test that the direct header file move works, I'm just committing it. This is a pure move: mkdir arch/alpha/include git mv include/asm-alpha arch/alpha/include/asm with no other changes. Requested-and-tested-by: Sam Ravnborg Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit e213e87785559eaf3107897226817aea9291b06f Author: Andi Kleen Date: Fri Aug 15 18:12:47 2008 +0200 x86: Fix ioremap off by one BUG Jean Delvare's machine triggered this BUG acpi_os_map_memory phys ffff0000 size 65535 ------------[ cut here ]------------ kernel BUG at arch/x86/mm/pat.c:233! with ACPI in the backtrace. Adding some debugging output showed that ACPI calls acpi_os_map_memory phys ffff0000 size 65535 And ioremap/PAT does this check in 32bit, so addr+size wraps and the BUG in reserve_memtype() triggers incorrectly. BUG_ON(start >= end); /* end is exclusive */ But reserve_memtype already uses u64: int reserve_memtype(u64 start, u64 end, so the 32bit truncation must happen in the caller. Presumably in ioremap when it passes this information to reserve_memtype(). This patch does this computation in 64bit. http://bugzilla.kernel.org/show_bug.cgi?id=11346 Signed-off-by: Andi Kleen commit 89499759dc0dd300528510f465b0bf532fc79a2a Author: Seth Heasley Date: Mon Aug 11 17:01:50 2008 -0700 x86/PCI: irq and pci_ids patch for Intel Ibex Peak PCHs This patch adds the Intel Ibex Peak (PCH) LPC and SMBus Controller DeviceIDs. Signed-off-by: Seth Heasley Signed-off-by: Jesse Barnes commit 529d0e402eee62b7bfc89ec5b763a9a875bb49fb Merge: 66d4bdf... 0d5cdc9... Author: Ingo Molnar Date: Fri Aug 15 17:53:07 2008 +0200 Merge branch 'x86/geode' into x86/urgent commit 97bb8129e5deb3c0584391a5d2348966732e2233 Author: Mark Brown Date: Fri Aug 15 16:22:33 2008 +0100 ALSA: wm8990: Implement speaker volume PGA The latest revisions of the WM8990 provide a programmable gain amplifier for the speaker - configure the register cache and implement controls for this. Older revisions of the device ignore writes to these controls. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 436a74593c34275807fadef20344bbaca251b8d1 Author: Mark Brown Date: Fri Aug 15 16:22:32 2008 +0100 ALSA: wm8990: Fix routing of left DAC to speaker mixer Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 9419fc1c957d600093baaea247fef23cca3b4e93 Author: Bob Copeland Date: Fri Aug 15 00:40:47 2008 -0700 omfs: fix oops when file metadata is corrupted A fuzzed fileystem image failed with OMFS when the extent count was used in a loop without being checked against the max number of extents. It also provoked a signed division for an array index that was checked as if unsigned, leading to index by -1. omfsck will be updated to fix these cases, in the meantime bail out gracefully. Reported-by: Eric Sesterhenn Signed-off-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c963343a1150106819773e828c9b237ed977615b Author: Bob Copeland Date: Fri Aug 15 00:40:46 2008 -0700 omfs: fix potential oops when directory size is corrupted Testing with a modified fsfuzzer reveals a couple of locations in omfs where filesystem variables are ultimately used as loop counters with insufficient sanity checking. In this case, dir->i_size is used to compute the number of buckets in the directory hash. If too large, readdir will overrun a buffer. Since it's an invariant that dir->i_size is equal to the sysblock size, and we already sanity check that, just use that value instead. This fixes the following oops: BUG: unable to handle kernel paging request at c978e004 IP: [] omfs_readdir+0x18e/0x32f Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC Modules linked in: Pid: 4796, comm: ls Not tainted (2.6.27-rc2 #12) EIP: 0060:[] EFLAGS: 00010287 CPU: 0 EIP is at omfs_readdir+0x18e/0x32f EAX: c978d000 EBX: 00000000 ECX: cbfcfaf8 EDX: cb2cf100 ESI: 00001000 EDI: 00000800 EBP: cb2d3f68 ESP: cb2d3f0c DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 Process ls (pid: 4796, ti=cb2d3000 task=cb175f40 task.ti=cb2d3000) Stack: 00000002 00000000 00000000 c018a820 cb2d3f94 cb2cf100 cbfb0000 ffffff10 cbfb3b80 cbfcfaf8 000001c9 00000a09 00000000 00000000 00000000 cbfcfbc8 c9697000 cbfb3b80 22222222 00001000 c08e6cd0 cb2cf100 cbfb3b80 cb2d3f88 Call Trace: [] ? filldir64+0x0/0xcd [] ? vfs_readdir+0x56/0x82 [] ? filldir64+0x0/0xcd [] ? sys_getdents64+0x5e/0xa0 [] ? sysenter_do_call+0x12/0x31 ======================= Code: 00 89 f0 89 f3 0f ac f8 14 81 e3 ff ff 0f 00 48 8d 14 c5 b8 01 00 00 89 45 cc 89 55 f0 e9 8c 01 00 00 8b 4d c8 8b 75 f0 8b 41 18 <8b> 54 30 04 8b 04 30 31 f6 89 5d dc 89 d1 8b 55 b8 0f c8 0f c9 Reported-by: Eric Sesterhenn Signed-off-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be4de35263f59ca1f4740edfffbfb02cc3f2189e Author: Dave Chinner Date: Fri Aug 15 00:40:44 2008 -0700 completions: uninline try_wait_for_completion and completion_done m68k fails to build with these functions inlined in completion.h. Move them out of line into sched.c and export them to avoid this problem. Signed-off-by: Dave Chinner Cc: Geert Uytterhoeven Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e48880e02e7e7ead9daa47fe3a20486f550668d3 Author: David Brownell Date: Fri Aug 15 00:40:44 2008 -0700 spi: bugfix spi_add_device() with duplicate chipselects When reviewing a recent patch I noticed a potential trouble spot in the registration of new SPI devices. The SPI master driver is told to set the device up before adding it to the driver model, so that it's always properly set up when probe() is called. (This is important, because in the case of inverted chipselects, this device can make the bus misbehave until it's properly deselected. It's got to be set up even if no driver binds to the device.) The trouble spot is that it doesn't first verify that no other device has been added using that chipselect. If such a device has been added, its configuration gets trashed. (Fortunately this has not been a common error!) The fix here adds an explicit check, and a mutex to protect the relevant critical region. [akpm@linux-foundation.org: make the lock local to spi_add_device()] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d455e0030eeab820773e7786605be4d9e56a04b Author: Chris Mason Date: Fri Aug 15 00:40:43 2008 -0700 fs/inode.c: properly init address_space->writeback_index write_cache_pages() uses i_mapping->writeback_index to pick up where it left off the last time a given inode was found by pdflush or balance_dirty_pages (or anyone else who sets wbc->range_cyclic) alloc_inode() should set it to a sane value so that writeback doesn't start in the middle of a file. It is somewhat difficult to notice the bug since write_cache_pages will loop around to the start of the file and the elevator helps hide the resulting seeks. For whatever reason, Btrfs hits this often. Unpatched, untarring 30 copies of the linux kernel in series runs at 47MB/s on a single sata drive. With this fix, it jumps to 62MB/s. Signed-off-by: Chris Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75312619e8cd47265da210189cca57ab09640b18 Author: Jack Steiner Date: Fri Aug 15 00:40:42 2008 -0700 MAINTAINERS: add maintainers for GRU, XPC, XPNET and XP Add MAINTAINERS for GRU, XPNET, XPC and XP drivers. Signed-off-by: Jack Steiner Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34c86c1e622ec77ba81c01969003bbc8e15156f3 Author: Darrick J. Wong Date: Fri Aug 15 00:40:41 2008 -0700 coretemp: recognize Nehalem CPUs Add in the CPUID for Nehalem chips. Signed-off-by: Darrick J. Wong Cc: Kent Liu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb15e7f286e3ecf3e85e06ad9b0019096e43a613 Author: Darrick J. Wong Date: Fri Aug 15 00:40:41 2008 -0700 ibmaem: don't query the entire sensor repository when reading energy meter Currently, all sensors are read when the energy meter is queried via sysfs. This introduces a considerable amount of delay and variation in the sysfs reading, which is not desirable when trying to profile energy use. Therefore, read only the energy meters when a sysfs query comes in for them, and don't cache the results so that we always get the latest reading. Signed-off-by: Darrick J. Wong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c5413eac5199b8457689eb2c9d9e75138356bd6 Author: Darrick J. Wong Date: Fri Aug 15 00:40:40 2008 -0700 ibmaem: prevent infinite probing loop on x3650 M2 systems On older machines, probing for a nonexistent AEM interface returned an IPMI error; when we saw this, we'd stop probing. On the x3650 M2 and (presumably) later, we are returned a value indicating success and a buffer full of garbage or zeroes. This causes the probe function to run in an infinite loop. To fix this, we add one last check--if the interface number we're looking for is higher than the number of interfaces that AEM claims to have, stop probing. Signed-off-by: Darrick J. Wong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb93b7df7e66597fa807e34a0f812ffff7ff165b Author: Darrick J. Wong Date: Fri Aug 15 00:40:40 2008 -0700 ibmaem: update the documentation to reflect the current name Minor documentation update to reflect the current full name of the power management hardware interface and reflows the text a bit. Signed-off-by: Darrick J. Wong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ef664b5bc93bbfe28513165216a8c9f4fad5314 Author: Alistair John Strachan Date: Fri Aug 15 00:40:39 2008 -0700 abituguru3: prefer DMI probing to manual probing Previously the driver was only using DMI to prevent smbus probing on non-Abit motherboards. However, since the manual probing method is brittle and prone to failure on some Abit motherboards (esp. the Abit IP35 Pro) it is better to use DMI to also read the board name and then decide whether or not to probe the bus. At the moment, we do not have a list of valid DMI name strings to use for existing and supported motherboards. This patch only implements DMI probing for the IP35 Pro. For motherboards that can not yet use DMI probing, a warning will be printed to the kernel log asking those users to email me their dmidecode output. The existing manual probing mechanism will be used if CONFIG_DMI is not enabled, if DMI probing fails (for DMI-unsupported motherboards), or if DMI probing fails and the "force" option is set (for DMI-supported motherboards). Ideally in the longer term this manual probing method would be removed. This patch should be safe to apply as it does not change the probing behaviour for most of the supported motherboards, just the IP35 Pro, which already has regressions filed against it in 2.6.26. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11212 Signed-off-by: Alistair John Strachan Acked-by: Hans de Goede Cc: "Mark M. Hoffman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 249e3c85afb972d8ae8b6da269e7c85f931b9849 Author: Alistair John Strachan Date: Fri Aug 15 00:40:37 2008 -0700 abituguru3: update MAINTAINERS Hans passed maintainership of the abituguru3 hwmon driver onto me. Add a new entry to the MAINTAINERS file for the abituguru3 driver and assign it to me. Also update the existing UGURU entry to indicate that Hans is only responsible for the abituguru driver. Signed-off-by: Alistair John Strachan Acked-by: Hans de Goede Cc: Jean Delvare Cc: "Mark M. Hoffman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 963d96b53e1f4ebf4db0b8b7ba71ff7b438fbee0 Author: Darrick J. Wong Date: Fri Aug 15 00:40:36 2008 -0700 i5k_amb: provide labels for temperature sensors Export the sensor -> channel/dimm mapping in tempX_label. Signed-off-by: Darrick J. Wong Cc: "Mark M. Hoffman" Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d42139a3fbd9793cf3747287e8f5c1ae06e06942 Author: Marc Pignat Date: Fri Aug 15 00:40:34 2008 -0700 hwmon: ADC124S501 generic driver SPI driver for analog to digital converters national semiconductor ADC081S101, ADC124S501, ... Code for 8 channels by Tobias Himmer. This driver adds support for National Semiconductor ADCS chip family, where: * bb is the resolution in number of bits (8, 10, 12) * c is the number of channels (1, 2, 4, 8) * sss is the maximum conversion speed (021 for 200 kSPS, 051 for 500 kSPS and 101 for 1 MSPS) [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Marc Pignat Cc: Tobias Himmer Cc: "Mark M. Hoffman" Cc: Jean Delvare Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16a515fd0cd3711a7da464d36009f18cd8e23f07 Author: Michael Borisov Date: Fri Aug 15 00:40:32 2008 -0700 drivers/hwmon/w83791d.c: fix unused var warning drivers/hwmon/w83791d.c: In function `w83791d_probe': drivers/hwmon/w83791d.c:1049: warning: unused variable `val1' Signed-off-by: Michael Borisov Cc: "Mark M. Hoffman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f91a79fe86a0becdf2506c189cdde154e82c787c Author: Guilherme M. Schroeder Date: Fri Aug 15 00:40:32 2008 -0700 applesmc: add support for Macbook Add support for Macbook v3 (sensors and accelerometer). Signed-off-by: Nicolas Boichat Cc: "Mark M. Hoffman" Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f86f28df14e06b12908d6475ee2462f0555bf34 Author: Roberto De Ioris Date: Fri Aug 15 00:40:30 2008 -0700 applesmc: support for Intel iMac This adds support for fans and temperature sensors on intel iMac. Tested on iMac 24" 2.8ghz (iMac8,1), it supports the following sensors: cpu A ambient gpu gpu diode gpu heatsink hd bay 1 memory controller optical drive power Signed-off-by: Roberto De Ioris Cc: Nicolas Boichat Cc: Jean Delvare Cc: Mark M. Hoffman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdfaa4833f984c6f8d44afb1fed6c0c775e6e67b Author: York Sun Date: Fri Aug 15 00:40:29 2008 -0700 freescale DIU: bug fix: add sanity check for AOI position AOI position cannot be negative. Signed-off-by: York Sun Cc: Kumar Gala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae5591e3f4754478b397a4e09ebd7cf4774ef88e Author: York Sun Date: Fri Aug 15 00:40:28 2008 -0700 freescale DIU: add virtual resolution and panning support Application can now have the virtual resoltuion and use FBIOPAN_DISPLAY ioctl to pan. Signed-off-by: York Sun Cc: Kumar Gala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c5a1cf0ad3ac5fcdf51314a63b16a440870f6a2 Author: Andrew Morton Date: Fri Aug 15 00:40:27 2008 -0700 kexec: use a mutex for locking rather than xchg() Functionally the same, but more conventional. Cc: Huang Ying Tested-by: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3122c331190e9d1622bf1c8cf6ce3b17cca67c9e Author: Huang Ying Date: Fri Aug 15 00:40:26 2008 -0700 kexec jump: fix for ftrace Ftrace depends on some processor state that we destroyed during kexec and restored by restore_processor_state(). So save_processor_state() and restore_processor_state() are moved into machine_kexec() and ftrace is restored after restore_processor_state(). Signed-off-by: Huang Ying Cc: Pavel Machek Cc: "Rafael J. Wysocki" Cc: "Eric W. Biederman" Cc: Vivek Goyal Cc: Ingo Molnar Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bdeb7b5d34f197dea7859d24475943395ffea5e Author: Huang Ying Date: Fri Aug 15 00:40:25 2008 -0700 kexec jump: __ftrace_enabled_save/restore Add __ftrace_enabled_save/restore, used to disable ftrace for a while. Now, this is used by kexec jump, which need a version without lock, for general situation, a locked version should be used. Signed-off-by: Huang Ying Cc: Pavel Machek Cc: "Rafael J. Wysocki" Cc: "Eric W. Biederman" Cc: Vivek Goyal Cc: Ingo Molnar Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73bd9c72a29be1e8de008186eea55d333a938804 Author: Huang Ying Date: Fri Aug 15 00:40:24 2008 -0700 kexec jump: in sync with hibernation implementation Add device_pm_lock() and device_pm_unlock() in kernel_kexec() in sync with current hibernation implementation. Signed-off-by: Huang Ying Acked-by: Pavel Machek Cc: "Rafael J. Wysocki" Cc: "Eric W. Biederman" Cc: Vivek Goyal Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca195b7f6da3d5dde0bb85a7c322d7de73352653 Author: Huang Ying Date: Fri Aug 15 00:40:24 2008 -0700 kexec jump: remove duplication of kexec_restart_prepare() Call kernel_restart_prepare() in kernel_kexec() instead of duplicating the code. Signed-off-by: Huang Ying Acked-by: Pavel Machek Acked-by: Vivek Goyal Cc: Pavel Machek Cc: "Rafael J. Wysocki" Cc: "Eric W. Biederman" Cc: Vivek Goyal Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb45daa69d287b394eca1619b3fadff7c0215c71 Author: Huang Ying Date: Fri Aug 15 00:40:23 2008 -0700 kexec jump: check code size in control page Kexec/Kexec-jump require code size in control page is less than PAGE_SIZE/2. This patch add link-time checking for this. ASSERT() of ld link script is used as the link-time checking mechanism. [akpm@linux-foundation.org: build fix] Signed-off-by: Huang Ying Cc: Pavel Machek Cc: "Rafael J. Wysocki" Cc: "Eric W. Biederman" Acked-by: Vivek Goyal Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 163f6876f5c3ff8215e900b93779e960a56b3694 Author: Huang Ying Date: Fri Aug 15 00:40:22 2008 -0700 kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE Rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE, because control page is used for not only code on some platform. For example in kexec jump, it is used for data and stack too. [akpm@linux-foundation.org: unbreak powerpc and arm, finish conversion] Signed-off-by: Huang Ying Cc: Pavel Machek Cc: "Rafael J. Wysocki" Cc: "Eric W. Biederman" Cc: Vivek Goyal Cc: Ingo Molnar Cc: Russell King Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ade3fcc1fe2801336112027a884070c9ca451af Author: Huang Ying Date: Fri Aug 15 00:40:21 2008 -0700 kexec jump: clean up #ifdef and comments Move if (kexec_image->preserve_context) { ... } into #ifdef CONFIG_KEXEC_JUMP to make code looks cleaner. Fix no longer correct comments of kernel_kexec(). Signed-off-by: Huang Ying Acked-by: Vivek Goyal Cc: Pavel Machek Cc: "Rafael J. Wysocki" Cc: "Eric W. Biederman" Cc: Vivek Goyal Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cd69b986ebf0f8da93f82ffbb89c032ee09c2e1 Author: Huang Ying Date: Fri Aug 15 00:40:20 2008 -0700 kexec: fix compilation warning on xchg(&kexec_lock, 0) in kernel_kexec() kernel/kexec.c: In function 'kernel_kexec': kernel/kexec.c:1506: warning: value computed is not used Signed-off-by: Huang Ying Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce289e89726948b50a58c9e8f4e81174a8c9c254 Author: Marcin Slusarz Date: Fri Aug 15 00:40:19 2008 -0700 suspend: fix section mismatch warning - register_nosave_region WARNING: vmlinux.o(.text+0xe684): Section mismatch in reference from the function register_nosave_region() to the function .init.text:__register_nosave_region() The function register_nosave_region() references the function __init __register_nosave_region(). This is often because register_nosave_region lacks a __init annotation or the annotation of __register_nosave_region is wrong. register_nosave_region calls __init function and is called only from __init functions Signed-off-by: Marcin Slusarz Acked-by: Rafael J. Wysocki Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6acb2eceff80027bd67a204227c6c8effd464c25 Author: Michael Kerrisk Date: Fri Aug 15 00:40:18 2008 -0700 Documentation/vm/page_migration: update reference to numa_maps + fix download URI With man-pages-3.07, the numa_maps documentation home is now proc(5), so the reference in Documentation/vm/page_migration needs updating. (Cliff/Lee are removing numa_maps.5 from the numactl package.) Also, the download location for the numactl package changed a while back. This patch fixes both things, as well as a typo (provided-->provides). Signed-off-by: Michael Kerrisk Cc: Cliff Wickman Cc: Lee Schermerhorn Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 627240aaa92a4dc00d25584910b5f205e963747b Author: Mikulas Patocka Date: Fri Aug 15 00:40:17 2008 -0700 bootmem allocator: alloc_bootmem_core(): page-align the end offset This is the minimal sequence that jams the allocator: void *p, *q, *r; p = alloc_bootmem(PAGE_SIZE); q = alloc_bootmem(64); free_bootmem(p, PAGE_SIZE); p = alloc_bootmem(PAGE_SIZE); r = alloc_bootmem(64); after this sequence (assuming that the allocator was empty or page-aligned before), pointer "q" will be equal to pointer "r". What's hapenning inside the allocator: p = alloc_bootmem(PAGE_SIZE); in allocator: last_end_off == PAGE_SIZE, bitmap contains bits 10000... q = alloc_bootmem(64); in allocator: last_end_off == PAGE_SIZE + 64, bitmap contains 11000... free_bootmem(p, PAGE_SIZE); in allocator: last_end_off == PAGE_SIZE + 64, bitmap contains 01000... p = alloc_bootmem(PAGE_SIZE); in allocator: last_end_off == PAGE_SIZE, bitmap contains 11000... r = alloc_bootmem(64); and now: it finds bit "2", as a place where to allocate (sidx) it hits the condition if (bdata->last_end_off && PFN_DOWN(bdata->last_end_off) + 1 == sidx)) start_off = ALIGN(bdata->last_end_off, align); -you can see that the condition is true, so it assigns start_off = ALIGN(bdata->last_end_off, align); (that is PAGE_SIZE) and allocates over already allocated block. With the patch it tries to continue at the end of previous allocation only if the previous allocation ended in the middle of the page. Signed-off-by: Mikulas Patocka Acked-by: Johannes Weiner Cc: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66d4bdf22b8652cda215e2653c8bbec7a767ed57 Author: Jan Beulich Date: Thu Jul 31 16:48:31 2008 +0100 x86-64: fix overlap of modules and fixmap areas Plus add a build time check so this doesn't go unnoticed again. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 0d5cdc97e242a5589e5dca23277675f4b4482490 Author: Jens Rottmann Date: Mon Aug 4 14:40:16 2008 +0200 x86, geode-mfgpt: check IRQ before using MFGPT as clocksource Adds a simple IRQ autodetection to the AMD Geode MFGPT driver, and more importantly, adds some checks, if IRQs can actually be received on the chosen line. This fixes cases where MFGPT is selected as clocksource though not producing any ticks, so the kernel simply starves during boot. Signed-off-by: Jens Rottmann Cc: Andres Salomon Cc: linux-geode@bombadil.infradead.org Cc: Jordan Crouse Signed-off-by: Ingo Molnar commit 9744f5a32853642f8ed0749a1c9ed8cf9c9c9dc4 Author: Marcin Slusarz Date: Sun Aug 3 19:25:48 2008 +0200 x86, acpi: cleanup, temp_stack is used only when CONFIG_SMP is set fix: arch/x86/kernel/acpi/sleep.c:24: warning: 'temp_stack' defined but not used [ Sven Wegener : fix build bug ] Signed-off-by: Marcin Slusarz Acked-by: Pavel Machek Signed-off-by: Ingo Molnar commit 7bc069c6bc4ede519a7116be1b9e149a1dbf787a Author: Jan Beulich Date: Mon Aug 4 14:38:54 2008 +0100 x86: fix spin_is_contended() The masked difference is what needs to be compared against 1, rather than the difference of masked values (which can be negative). Signed-off-by: Jan Beulich Acked-by: Nick Piggin Cc: Signed-off-by: Ingo Molnar commit 8bb851900f5d0a79d3fddac808cc670d9894ef67 Author: Ingo Molnar Date: Fri Aug 15 15:34:32 2008 +0200 x86, nmi: clean UP NMI watchdog failure message clean up the failure message - and redirect people to bugzilla instead of lkml. Signed-off-by: Ingo Molnar commit 15636668449d4135ac77a79715ba430a81aed16d Author: Aristeu Rozanski Date: Fri Aug 15 08:36:14 2008 -0400 x86, NMI: fix watchdog failure message > it just won't work at boot time - the second logic unit will be stuck: > > Booting processor 1/2 APIC 0x1 > Initializing CPU#1 > Calibrating delay using timer specific routine.. 5586.12 BogoMIPS (lpj=2793063) > CPU: Trace cache: 12K uops, L1 D cache: 16K > CPU: L2 cache: 1024K > CPU: Physical Processor ID: 0 > CPU: Processor Core ID: 1 > CPU1: Thermal monitoring enabled (TM1) > Intel(R) Pentium(R) D CPU 2.80GHz stepping 04 > Brought up 2 CPUs > testing NMI watchdog ... <4>WARNING: CPU#1: NMI appears to be stuck (0->0)! while at it... - fix that newline Signed-off-by: Aristeu Rozanski Cc: jvillalo@redhat.com Signed-off-by: Ingo Molnar commit a06de63000b95e1ed1c6373a72376876c952608e Author: Hugh Dickins Date: Fri Aug 15 13:58:32 2008 +0100 x86: fix /proc/meminfo DirectMap Do we actually want these DirectMap lines in the x86 /proc/meminfo? I can see they're interesting to CPA developers and TLB optimizers, but they don't fit its usual "where has all my memory gone?" usage. If they are to stay, here are some fixes. 1. On x86_32 without PAE, they're not 2M but 4M pages: no need to mess with the internal enum, but show the right name to users. 2. Many machines can never show anything but 0 for DirectMap1G, so suppress that line unless direct_gbpages are really enabled. 3. The unit in /proc/meminfo is kB not number of pages: HugePages messed that up, but they're an example to regret not to follow. 4. Once we use kB, it's easy to see that 1GB has gone missing (which explains why CONFIG_CPA_DEBUG=y soon wraps DirectMap2M negative): because head_64.S's level2_ident_pgt entries were not counted. My fix is not ideal, but works for more and for less than 1G, and avoids interfering with early bootup pagetable contortions. Signed-off-by: Hugh Dickins Cc: Andi Kleen Signed-off-by: Ingo Molnar commit 1c5b0eb66d74683e2be5da0c53e33c1f4ca982fd Author: Mikael Pettersson Date: Wed Aug 13 21:07:07 2008 +0200 x86: fix readb() et al compile error with gcc-3.2.3 Building 2.6.27-rc1 on x86 with gcc-3.2.3 fails with: In file included from include/asm/dma.h:12, from include/linux/bootmem.h:8, from init/main.c:26: include/asm/io.h: In function `readb': include/asm/io.h:32: syntax error before string constant include/asm/io.h: In function `readw': include/asm/io.h:33: syntax error before string constant include/asm/io.h: In function `readl': include/asm/io.h:34: syntax error before string constant include/asm/io.h: In function `__readb': include/asm/io.h:36: syntax error before string constant include/asm/io.h: In function `__readw': include/asm/io.h:37: syntax error before string constant include/asm/io.h: In function `__readl': include/asm/io.h:38: syntax error before string constant make[1]: *** [init/main.o] Error 1 make: *** [init] Error 2 Starting with 2.6.27-rc1 readb() et al are generated by a build_mmio_read() macro, which generates asm() statements with output register constraints like "=" "q", i.e. as two adjacent string literals. This doesn't work with gcc-3.2.3. Fixed by moving the "=" part into the callers' reg parameter (as suggested by Ingo). Build and boot-tested with gcc-3.2.3 on 32 and 64-bit x86. Fixes . Signed-off-by: Mikael Pettersson Signed-off-by: Ingo Molnar commit 04b69447f79eade34e92f3117a39e8fa6ecb519b Author: Pavel Machek Date: Thu Aug 14 17:16:50 2008 +0200 arch/x86/Kconfig: clean up, experimental adjustement Adjust experimental tags in Kconfig, update config to notice that i386/x86_64 is now single architecture. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 394a15051c33f2b18e72f42283b36a9388fa414b Author: Mark Langsdorf Date: Thu Aug 14 09:11:26 2008 -0500 x86: invalidate caches before going into suspend When a CPU core is shut down, all of its caches need to be flushed to prevent stale data from causing errors if the core is resumed. Current Linux suspend code performs an assignment after the flush, which can add dirty data back to the cache.  On some AMD platforms, additional speculative reads have caused crashes on resume because of this dirty data. Relocate the cache flush to be the very last thing done before halting.  Tie into an assembly line so the compile will not reorder it.  Add some documentation explaining what is going on and why we're doing this. Signed-off-by: Mark Langsdorf Acked-by: Mark Borden Acked-by: Michael Hohmuth Signed-off-by: Ingo Molnar commit dcc984166870150709f0c645b521a47becd9a047 Author: Aristeu Rozanski Date: Thu Aug 14 16:32:15 2008 -0400 x86, perfctr: don't use CCCR_OVF_PMI1 on Pentium 4Ds Currently, setup_p4_watchdog() use CCCR_OVF_PMI1 to enable the counter overflow interrupts to the second logical core. But this bit doesn't work on Pentium 4 Ds (model 4, stepping 4) and this patch avoids its use on these processors. Tested on 4 different machines that have this specific model with success. Signed-off-by: Aristeu Rozanski Cc: jvillalovos@redhat.com Signed-off-by: Ingo Molnar commit 975439fe73d1f0f7ce8c235c66783bd34dc459c3 Merge: ef31023... 129d6ab... Author: Ingo Molnar Date: Fri Aug 15 13:57:32 2008 +0200 Merge branch 'x86/amd-iommu' into x86/urgent commit 129d6aba444d1e99d4cbfb9866a4652912426b65 Author: Joerg Roedel Date: Thu Aug 14 19:55:18 2008 +0200 x86, AMD IOMMU: initialize dma_ops after sysfs registration If sysfs registration fails all memory used by IOMMU is freed. This happens after dma_ops initialization and the functions will access the freed memory then. Fix this by initializing dma_ops after the sysfs registration. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 8a456695c5020d6317f9c7af190999e9414b0d3e Author: Joerg Roedel Date: Thu Aug 14 19:55:17 2008 +0200 x86m AMD IOMMU: cleanup: replace LOW_U32 macro with generic lower_32_bits Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 9f5f5fb35d2934fe7dc0cb019854a030efd10cd7 Author: Joerg Roedel Date: Thu Aug 14 19:55:16 2008 +0200 x86, AMD IOMMU: initialize device table properly This patch adds device table initializations which forbids memory accesses for devices per default and disables all page faults. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 519c31bacf78a969efa8d2e55ed8862848f28590 Author: Joerg Roedel Date: Thu Aug 14 19:55:15 2008 +0200 x86, AMD IOMMU: use status bit instead of memory write-back for completion wait Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit ef31023743e66de7184e9aad432291c842a6384b Author: Dave Jones Date: Thu Aug 14 15:07:03 2008 -0400 x86: silence mmconfig printk There's so much broken mmconfig hardware/bios'es out there, that classing this as an error seems a little extreme. Lower its priority to KERN_INFO so that it isn't so noisy when booting with 'quiet' Signed-off-by: Dave Jones Signed-off-by: Ingo Molnar commit 967060d00d7ab8e992963a966cd3d18156c02d55 Author: Darrick J. Wong Date: Thu Aug 14 15:43:33 2008 -0700 x86, msr: fix NULL pointer deref due to msr_open on nonexistent CPUs msr_open tests for someone trying to open a device for a nonexistent CPU. However, the function always returns 0, not ret like it should, hence userspace can BUG the kernel trivially. This bug was introduced by the cdev lock_kernel pushdown patch last May. The BUG can be reproduced with these commands: # mknod fubar c 202 8 <-- pick a number less than NR_CPUS that is not the number of an online CPU # cat fubar Signed-off-by: Darrick J. Wong Signed-off-by: Ingo Molnar commit 0f2456236459f3ddef48a8a75d10b2d6ecf1a93d Merge: 3c7db22... 9d699ed... afd7301... fa46d35... 9f497bc... 5c742b4... d005741... Author: Andi Kleen Date: Fri Aug 15 03:30:00 2008 +0200 Merge branches 'acpica-release-fixes', 'ec-fix', 'dock', 'irq-bounds', 'thermal-fix', 'wmi' and 'acpi-cleanups' into release-2.6.27 commit 9f497bcc695fb828da023d74ad3c966b1e58ad21 Author: Milan Broz Date: Tue Aug 12 17:48:27 2008 +0200 ACPI: Fix thermal shutdowns Do not use unsigned int if there is test for negative number... See drivers/acpi/processor_perflib.c static unsigned int ignore_ppc = -1; ... if (event == CPUFREQ_START && ignore_ppc <= 0) { ignore_ppc = 0; ... Signed-off-by: Milan Broz Signed-off-by: Andi Kleen commit fa46d3526461e8aa7c0fb39cc1b98ac656695a43 Author: Bjorn Helgaas Date: Fri Aug 1 15:58:17 2008 -0600 ACPI: bounds check IRQ to prevent memory corruption acpi_penalize_isa_irq() should validate irq before using it to index the acpi_irq_penalty[] table. Here's the path I'm concerned about: pnpacpi_parse_allocated_irqresource() { ... irq = acpi_register_gsi(gsi, triggering, polarity); if (irq >= 0) pcibios_penalize_isa_irq(irq, 1); There's no guarantee that acpi_register_gsi() will return an IRQ within the bounds of acpi_irq_penalty[]. I have not seen a failure I can attribute to this. However, ACPI_MAX_IRQS is only 256, and I'm pretty sure ia64 can have IRQs larger than that. I think this should go in 2.6.27. Signed-off-by: Bjorn Helgaas Signed-off-by: Andi Kleen commit 9d699ed92a459cb408e2577e8bbeabc8ec3989e1 Author: Zhao Yakui Date: Mon Aug 11 10:33:31 2008 +0800 ACPI: Avoid bogus EC timeout when EC is in Polling mode When EC is in Polling mode, OS will check the EC status continually by using the following source code: clear_bit(EC_FLAGS_WAIT_GPE, &ec->flags); while (time_before(jiffies, delay)) { if (acpi_ec_check_status(ec, event)) return 0; msleep(1); } But msleep is realized by the function of schedule_timeout. At the same time although one process is already waken up by some events, it won't be scheduled immediately. So maybe there exists the following phenomena: a. The current jiffies is already after the predefined jiffies. But before timeout happens, OS has no chance to check the EC status again. b. If preemptible schedule is enabled, maybe preempt schedule will happen before checking loop. When the process is resumed again, maybe timeout already happens, which means that OS has no chance to check the EC status. In such case maybe EC status is already what OS expects when timeout happens. But OS has no chance to check the EC status and regards it as AE_TIME. So it will be more appropriate that OS will try to check the EC status again when timeout happens. If the EC status is what we expect, it won't be regarded as timeout. Only when the EC status is not what we expect, it will be regarded as timeout, which means that EC controller can't give a response in time. http://bugzilla.kernel.org/show_bug.cgi?id=9823 http://bugzilla.kernel.org/show_bug.cgi?id=11141 Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: Andi Kleen commit 2500822bf4eb0179ef80e5b072c1e0fa83037381 Author: Zhao Yakui Date: Tue Aug 12 10:40:10 2008 +0800 ACPI : Add the EC dmi table to fix the incorrect ECDT table On some ASUS laptops the ECDT gives the incorrect command/status & Data I/O register address. AK: it seems like the command/data addresses are exchanged. In such case it will cause that EC device can't be initialized correctly. To add the EC dmi table is to fix this issue. If the laptop falls into the EC dmi table, the EC command/data I/O address will be fixed. AK: Add comments describing this better http://bugzilla.kernel.org/show_bug.cgi?id=9399 Signed-off-by: Zhao Yakui tested-by : Jan Kasprzak Signed-off-by: Andi Kleen commit afd7301ddb762b66bf1831b0820b402e5d2c439d Author: Holger Macht Date: Wed Aug 6 17:56:01 2008 +0200 ACPI: Properly clear flags on false-positives and send uevent on sudden unplug Some devices emit a ACPI_NOTIFY_DEVICE_CHECK while physically unplugging even if the software undock has already been done and dock_present() check fails. However, the internal flags need to be cleared (complete_undock()). Also, even notify userspace if the dock station suddently went away without proper software undocking. This happens on a Acer TravelMate 3000 Signed-off-by: Holger Macht Signed-off-by: Andi Kleen commit d0057413a7a277e104cf315faa1b55b60b4a5482 Author: Pavel Machek Date: Tue Aug 12 12:24:34 2008 +0200 acpi: trivial cleanups Trivial cleanups for ACPI. Fix misspelling in printk(), fix mismerge, add file header. AK: removed file header Signed-off-by: Pavel Machek Signed-off-by: Andi Kleen commit 5c742b45dd5fbbb6cf74d3378341704f4b23c5e8 Author: Carlos Corbacho Date: Wed Aug 6 19:13:56 2008 +0100 acer-wmi: Fix wireless and bluetooth on early AMW0 v2 laptops In the old acer_acpi, I discovered that on some of the newer AMW0 laptops that supported the WMID methods, they don't work properly for setting the wireless and bluetooth values. So for the AMW0 V2 laptops, we want to use both the 'old' AMW0 and the 'new' WMID methods for setting wireless & bluetooth to guarantee we always enable it. This was fixed in acer_acpi some time ago, but I forgot to port the patch over to acer-wmi when it was merged. (Without this patch, early AMW0 V2 laptops such as the Aspire 5040 won't work with acer-wmi, where-as they did with the old acer_acpi). AK: fix compilation Signed-off-by: Carlos Corbacho CC: stable@kernel.org Signed-off-by: Andi Kleen commit dab36ad8d50dc9424dfc4926f62aaf9bd52dcf13 Author: Carlos Corbacho Date: Sat Aug 2 17:28:45 2008 +0100 ACPI: WMI: Set instance for query block calls Although the necessary data structure was set up, it was never actually passed in, so data block calls have only been working by sheer chance. (On Acer laptops. the data block methods we've been calling never look at the instance value, hence acer-wmi never triggered this before). f3454ae8104efb2dbf0d08ec42c6f5d0fe9225bc brought this to light. Signed-off-by: Carlos Corbacho Signed-off-by: Andi Kleen commit 3c7db22a194d3b53584047425af82b4e1e03d9f7 Author: Bob Moore Date: Mon Aug 4 11:13:01 2008 +0800 ACPICA: Additional error checking for pathname utilities Add error check after all calls to acpi_ns_get_pathname_length. Add status return from acpi_ns_build_external_path and check after all calls. Add parameter validation to acpi_ut_initialize_buffer. Reported by and initial patch by Ingo Molnar. http://lkml.org/lkml/2008/7/21/176 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Andi Kleen commit d3ff268a0149fce8835f6d48ab481d5e3321e0f7 Author: Lin Ming Date: Fri Jul 4 10:51:41 2008 +0800 ACPICA: Fix possible memory leak in Unload() operator The DdbHandle returned by Load() does not have its reference count decremented during unload, leading to a memory leak. Lin Ming. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Andi Kleen commit 2843ae7734075f5d7072cf1230758bf8cf840af7 Author: Bob Moore Date: Fri Jul 4 10:41:41 2008 +0800 ACPICA: Fix memory leak when deleting thermal/processor objects Fixes a possible memory leak when thermal and processor objects are deleted. Any associated notify handlers (and objects) were not being deleted. Fiodor Suietov. BZ 506 http://www.acpica.org/bugzilla/show_bug.cgi?id=506 Signed-off-by: Fiodor Suietov Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Andi Kleen commit 323c048836f73a11ded6f9743feda21c00465cb0 Author: Jarek Poplawski Date: Thu Aug 14 17:01:10 2008 -0700 pkt_sched: Fix unlocking in tc_ctl_tfilter() Fix a bug with spin_lock_bh() inserted instead of spin_unlock_bh() by some recent patch. Reported-by: Denys Fedoryshchenko Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 191cd582500f49b32a63040fedeebb0168c720af Author: Brian Haley Date: Thu Aug 14 15:33:21 2008 -0700 netns: Add network namespace argument to rt6_fill_node() and ipv6_dev_get_saddr() ipv6_dev_get_saddr() blindly de-references dst_dev to get the network namespace, but some callers might pass NULL. Change callers to pass a namespace pointer instead. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 0eb8b1fe9238ca4c1797e4c105d5790abda1726f Author: Michael Chan Date: Thu Aug 14 15:30:31 2008 -0700 bnx2: Update version to 1.8.0. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f22828e89f4f3e8c74ca7ffa69b0410afbd80eee Author: Michael Chan Date: Thu Aug 14 15:30:14 2008 -0700 bnx2: Reinsert VLAN tag when necessary. In certain cases when ASF or other management firmware is running, the chip may be configured to always strip out the VLAN tag even when VLAN acceleration is not enabled. This causes some VLAN tagged packets to be received by the host stack without any knowledge that the original packet was VLAN tagged. We fix this by re-inserting the VLAN tag into the packet when necessary. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 729b85cd47f4e63657505cb5c6af104e19250805 Author: Michael Chan Date: Thu Aug 14 15:29:39 2008 -0700 bnx2: Use proper CONFIG_VLAN_8021Q to compile the VLAN code. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 7c6337a15e3d4689efe703e8bb65ae82cc13c435 Author: Michael Chan Date: Thu Aug 14 15:29:09 2008 -0700 bnx2: Fix logic to setup VLAN rx tagging. We should now be checking BNX2_FLAG_CAN_KEEP_VLAN to determine how to set the VLAN rx tagging in the RX_MODE register. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit b793b3a75e12ae4576f3d9b6013c8a7d8b0277b8 Merge: b635ace... c091258... Author: David S. Miller Date: Thu Aug 14 14:50:46 2008 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit f1679d08480008e06fd619c71635ed33274e2595 Author: Peter Zijlstra Date: Thu Aug 14 15:49:00 2008 +0200 sched: fix rt-bandwidth hotplug race When we hot-unplug a cpu and rebuild the sched-domain, all cpus will be detatched. Alex observed the case where a runqueue was stealing bandwidth from an already disabled runqueue to satisfy its own needs. Stop this by skipping over already disabled runqueues. Reported-by: Alex Nixon Signed-off-by: Peter Zijlstra Tested-by: Alex Nixon Signed-off-by: Ingo Molnar commit 5cd9c58fbe9ec92b45b27e131719af4f2bd9eb40 Author: David Howells Date: Thu Aug 14 11:37:28 2008 +0100 security: Fix setting of PF_SUPERPRIV by __capable() Fix the setting of PF_SUPERPRIV by __capable() as it could corrupt the flags the target process if that is not the current process and it is trying to change its own flags in a different way at the same time. __capable() is using neither atomic ops nor locking to protect t->flags. This patch removes __capable() and introduces has_capability() that doesn't set PF_SUPERPRIV on the process being queried. This patch further splits security_ptrace() in two: (1) security_ptrace_may_access(). This passes judgement on whether one process may access another only (PTRACE_MODE_ATTACH for ptrace() and PTRACE_MODE_READ for /proc), and takes a pointer to the child process. current is the parent. (2) security_ptrace_traceme(). This passes judgement on PTRACE_TRACEME only, and takes only a pointer to the parent process. current is the child. In Smack and commoncap, this uses has_capability() to determine whether the parent will be permitted to use PTRACE_ATTACH if normal checks fail. This does not set PF_SUPERPRIV. Two of the instances of __capable() actually only act on current, and so have been changed to calls to capable(). Of the places that were using __capable(): (1) The OOM killer calls __capable() thrice when weighing the killability of a process. All of these now use has_capability(). (2) cap_ptrace() and smack_ptrace() were using __capable() to check to see whether the parent was allowed to trace any process. As mentioned above, these have been split. For PTRACE_ATTACH and /proc, capable() is now used, and for PTRACE_TRACEME, has_capability() is used. (3) cap_safe_nice() only ever saw current, so now uses capable(). (4) smack_setprocattr() rejected accesses to tasks other than current just after calling __capable(), so the order of these two tests have been switched and capable() is used instead. (5) In smack_file_send_sigiotask(), we need to allow privileged processes to receive SIGIO on files they're manipulating. (6) In smack_task_wait(), we let a process wait for a privileged process, whether or not the process doing the waiting is privileged. I've tested this with the LTP SELinux and syscalls testscripts. Signed-off-by: David Howells Acked-by: Serge Hallyn Acked-by: Casey Schaufler Acked-by: Andrew G. Morgan Acked-by: Al Viro Signed-off-by: James Morris commit a6825f1c1fa83b1e92b6715ee5771a4d6524d3b9 Author: Thomas Gleixner Date: Thu Aug 14 12:17:06 2008 +0200 x86: hpet: workaround SB700 BIOS AMD SB700 based systems with spread spectrum enabled use a SMM based HPET emulation to provide proper frequency setting. The SMM code is initialized with the first HPET register access and takes some time to complete. During this time the config register reads 0xffffffff. We check for max. 1000 loops whether the config register reads a non 0xffffffff value to make sure that HPET is up and running before we go further. A counting loop is safe, as the HPET access takes thousands of CPU cycles. On non SB700 based machines this check is only done once and has no side effects. Based on a quirk patch from: crane cai Signed-off-by: Thomas Gleixner commit c78c7e35a4709b55d3126624662c8f6d7e3d1a5e Author: Artem Bityutskiy Date: Tue Aug 12 16:30:12 2008 +0300 UBIFS: xattr bugfixes Xattr code has not been tested for a while and there were serveral bugs. One of them is using wrong inode in 'ubifs_jnl_change_xattr()'. The other is a deadlock in 'ubifs_setxattr()': the i_mutex is locked in 'cap_inode_need_killpriv()' path, so deadlock happens when 'ubifs_setxattr()' tries to lock it again. Thanks to Zoltan Sogor for finding these bugs. Signed-off-by: Artem Bityutskiy commit a58f03b07539f6575adaa011712fa139c9343742 Author: Yinghai Lu Date: Thu Aug 14 02:16:30 2008 -0700 x86: check bigsmp in smp_sanity_check instead of cpu_up clear bits for cpu nr > 8. This allows us to boot the full range of possible CPUs that the supported APIC model will allow. Previously we'd hang or boot up with less than 8 CPUs. Signed-off-by: Yinghai Lu Tested-by: Jeff Chua Signed-off-by: Ingo Molnar commit 858f774733b72609acb28104475f131abb912c08 Author: Yinghai Lu Date: Thu Aug 14 02:16:29 2008 -0700 x86: don't call e820_regiter_active_regions if out of range on node so we don't get warning on 32bit system with 64g RAM or more Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 23b49c19f6946cc33392a1fc75dd788dd4a90fb7 Author: Max Krasnyansky Date: Mon Aug 11 14:55:31 2008 -0700 x86: resurrect proper handling of maxcpus= kernel option (v2) For some reason we had two parsers registered for maxcpus=. One in init/main.c and another in arch/x86/smpboot.c. So I nuked the one in arch/x86. Also 64-bit kernels used to handle maxcpus= as documented in Documentation/cpu-hotplug.txt. CPUs with 'id > maxcpus' are initialized but not booted. 32-bit version for some reason ignored them even though all the infrastructure for booting them later is there. In the current mainline both 64 and 32 bit versions are broken. This patch restores the correct behaviour. I've tested x86_64 version on 4- and 8- way Core2 and 2-way Opteron based machines. Various config combinations SMP, !SMP, CPU_HOTPLUG, !CPU_HOTPLUG. Booted with maxcpus=1 and maxcpus=4, etc. Everything is working as expected. So far we've received two reports from different people confirming that 32-bit version also works fine, both on dual core laptops and 16way server machines. [v2: This version fixes visws breakage pointed out by Ingo.] Signed-off-by: Max Krasnyansky Cc: lizf@cn.fujitsu.com Cc: jeff.chua.linux@gmail.com Signed-off-by: Ingo Molnar commit 31677619650cac2bcc9f50920824323b005e3d8a Merge: c2dcfde... 6ffac1e... Author: Ingo Molnar Date: Thu Aug 14 11:18:08 2008 +0200 Merge branch 'x86/fpu' into x86/urgent commit 09f2724a786f76475ef2985cf84f5359c553aade Author: Zhang, Yanmin Date: Wed Aug 14 15:56:40 2030 +0800 sched: fix the race between walk_tg_tree and sched_create_group With 2.6.27-rc3, I hit a kernel panic when running volanoMark on my new x86_64 machine. I also hit it with other 2.6.27-rc kernels. See below log. Basically, function walk_tg_tree and sched_create_group have a race between accessing and initiating tg->children. Below patch fixes it by moving tg->children initiation to the front of linking tg->siblings to parent->children. {----------------panic log------------} BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 IP: [] walk_tg_tree+0x45/0x7f PGD 1be1c4067 PUD 1bdd8d067 PMD 0 Oops: 0000 [1] SMP CPU 11 Modules linked in: igb Pid: 22979, comm: java Not tainted 2.6.27-rc3 #1 RIP: 0010:[] [] walk_tg_tree+0x45/0x7f RSP: 0018:ffff8801bfbbbd18 EFLAGS: 00010083 RAX: 0000000000000000 RBX: ffff8800be0dce40 RCX: ffffffffffffffc0 RDX: ffff880102c43740 RSI: 0000000000000000 RDI: ffff8800be0dce40 RBP: ffff8801bfbbbd48 R08: ffff8800ba437bc8 R09: 0000000000001f40 R10: ffff8801be812100 R11: ffffffff805fdf44 R12: ffff880102c43740 R13: 0000000000000000 R14: ffffffff8022cf0f R15: ffffffff8022749f FS: 00000000568ac950(0063) GS:ffff8801bfa26d00(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000000 CR3: 00000001bd848000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process java (pid: 22979, threadinfo ffff8801b145a000, task ffff8801bf18e450) Stack: 0000000000000001 ffff8800ba5c8d60 0000000000000001 0000000000000001 ffff8800bad1ccb8 0000000000000000 ffff8801bfbbbd98 ffffffff8022ed37 0000000000000001 0000000000000286 ffff8801bd5ee180 ffff8800ba437bc8 Call Trace: [] try_to_wake_up+0x71/0x24c [] autoremove_wake_function+0x9/0x2e [] ? __wake_up_common+0x46/0x76 [] __wake_up+0x38/0x4f [] tcp_v4_rcv+0x380/0x62e Signed-off-by: Zhang Yanmin Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f2b6079464fc73cf12f08248180a618f05033a70 Author: David S. Miller Date: Thu Aug 14 01:45:41 2008 -0700 sparc64: Fix cmdline_memory_size handling bugs. First, lmb_enforce_memory_limit() interprets it's argument (mostly, heh) as a size limit not an address limit. So pass the raw cmdline_memory_size value into it. And we don't need to check it against zero, lmb_enforce_memory_limit() does that for us. Next, free_initmem() needs special handling when the kernel command line trims the available memory. The problem case is if the trimmed out memory is where the kernel image itself resides. When that memory is trimmed out, we don't add those physical ram areas to the sparsemem active ranges, amongst other things. Which means that this free_initmem() code will free up invalid page structs, resulting in either crashes or hangs. Just quick fix this by not freeing initmem at all if "mem=" was given on the boot command line. Signed-off-by: David S. Miller commit c0912585ec8b64d846d56995241f2c8a7f48ee75 Author: Ben Dooks Date: Thu Aug 7 17:21:09 2008 +0100 AX88796: Fix locking in ethtool support Fix a pair of nasty locking problems in the ax88796 driver spotted by a sparse check: warning: context imbalance in 'ax_get_settings' - wrong count at exit warning: context imbalance in 'ax_set_settings' - wrong count at exit Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 1a3c4bc61547e5a75fd3b85b425624756da4cffb Author: roel kluin Date: Thu Aug 7 12:24:42 2008 -0400 atl1e: WAKE_MCAST 2x. 1st WAKE_UCAST? Signed-off-by: Jeff Garzik commit 5430c72b14a06b12e8fe46bca18ca0d7095fb717 Author: Clemens Ladisch Date: Mon Jul 28 10:28:43 2008 +0200 ALSA: virtuoso: add Xonar D1 support Add support for the Asus Xonar D1. It is the same as the DX, but without the external power detection. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit c7e65c17d75f29c846ff711b1dc5e823ba8de314 Author: Atsushi Nemoto Date: Fri Aug 8 00:55:17 2008 +0900 [netdrvr] ne: Use CONFIG_MACH_TX49XX After some cleanups in arch/mips area, now MACH_TX49XX is selected for both TOSHIBA_RBTX4927 and TOSHIBA_RBTX4938. Fold these two conditions to one. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 85a73b333c0c06fcadb8e32f1e30f00e980f2fc7 Author: David Brownell Date: Fri Aug 8 13:53:29 2008 -0700 Kconfig: HSO driver bugfixes and updates Move the Kconfig for the new "Option" driver so it's not in the middle of the usbnet-based drivers, so the dependency displays in the Kconfig user interfaces don't get trashed. Signed-off-by: David Brownell Signed-off-by: Jeff Garzik commit 0235f64175db41fa17a6ce5c9b58fd3550986eb4 Author: Greg Kroah-Hartman Date: Fri Aug 8 12:02:57 2008 -0700 USB: HSO: minor fixes due to code review Fix up problems in hso.c driver as pointed out by Andrew. Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jeff Garzik commit 6c59f56978c3dffd447176d218bc5852842c9ce9 Author: Greg Kroah-Hartman Date: Fri Aug 8 12:02:14 2008 -0700 USB: HSO: make tty_operations const As recommended by Arjan. Cc: Arjan van de Ven Cc: Andrew Bird Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jeff Garzik commit 6d558a52ba295fc1c281c671d7daab2f74ddb4f2 Author: Olivier Blin Date: Fri Aug 8 12:01:41 2008 -0700 hso: fix refcounting on the ttyHSx devices The references on ttyHSx devices were not decremented correctly when the tty was closed. The helper freeing the serial devices was never called because of that, and the module left some dangling sysfs devices after being unloaded. Signed-off-by: Olivier Blin Cc: Jari Tenhunen Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jeff Garzik commit add477df674db00377d9a4dc0d9b553ce79bc06d Author: Olivier Blin Date: Fri Aug 8 12:01:11 2008 -0700 hso: fix oops in read/write callbacks The tty may be closed already when the read/write callbacks are called. This patch checks that the ttys still exist before waking them up. Signed-off-by: Olivier Blin Acked-by: Alan Cox Cc: Jari Tenhunen Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jeff Garzik commit 1595ab5d7d99bc6c9a5548ab3fb83e278eeae409 Author: Adrian Bunk Date: Fri Aug 8 21:33:34 2008 +0300 [netdrvr] uninline atl1e_setup_mac_ctrl() There doesn't seem to be a compelling reason why atl1e_setup_mac_ctrl() is marked as "inline": It's not used in any place where speed would matter much, and as long as it has only one caller non-ancient gcc versions anyway inline it automatically. This patch fixes the following compile error with gcc 3.4: <-- snip --> ... CC drivers/net/atl1e/atl1e_main.o atl1e_main.c: In function `atl1e_check_link': atl1e_main.c:50: sorry, unimplemented: inlining failed in call to atl1e_main.c:196: sorry, unimplemented: called from here make[4]: *** [drivers/net/atl1e/atl1e_main.o] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 11d89d639352ef27bb3f0e7513dd406284bf034a Author: Dhananjay Phadke Date: Fri Aug 8 00:08:45 2008 -0700 netxen: update driver version Raise driver version to 4.0.11. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 092bc57184842229ee41f87d9c408a3f1302aaa6 Author: Dhananjay Phadke Date: Fri Aug 8 00:08:43 2008 -0700 netxen: cleanup interrupt code Mark interrupt scheme in very old firmware incompatible. Interrupt mask and status registers are per pci function / port. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 15eef1e1b718667981da92d2fa18283f181c117c Author: Dhananjay Phadke Date: Fri Aug 8 00:08:42 2008 -0700 netxen: fix dma watchdog NX3031 does not require driver to kill dma watchdog. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 922c4f2c70c156ac38b4e6affbd30d4b1efd5864 Author: Dhananjay Phadke Date: Fri Aug 8 00:08:41 2008 -0700 netxen: force link update across ifdown/ifup Re-read link status in dev open(). Schedule link watchdog only if dev is up. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 9e410778047d0f2887adb888b44eda4d72d4f67d Author: Dhananjay Phadke Date: Fri Aug 8 00:08:40 2008 -0700 netxen: fix rxbuf leak across driver reload Free up rx ring during driver unload or open() failure. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 9dc28efeee98a4f81d5469d3576f55c5e6d1a5db Author: Dhananjay Phadke Date: Fri Aug 8 00:08:39 2008 -0700 netxen: fix mac addr setup For NX3031 mac addr should be read from firmware. mac addr in flash is still valid, but can be overridden by firmware if running in virtualization environment. For old revisions, mac addr is retrieved directly from flash. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 8d792cd990938c4d06b86141465ff8d52a946a0a Author: Jesse Brandeburg Date: Fri Aug 8 16:24:19 2008 -0700 ixgbe: add cx4 device ID This is a simple device ID add for adapters that support CX4 (copper infiniband style cable) connectors for 10GbE. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 05c550babecfc129a8d9331edf43107192bae115 Author: Bruce Allan Date: Fri Aug 8 18:36:16 2008 -0700 e1000e: remove unnecessary snippet missed in prior check_options update The removal of this bit of code was missed in an earlier patch submittal. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit f8d59f7826aa73c5e7682fbed6db38020635d466 Author: Bruce Allan Date: Fri Aug 8 18:36:11 2008 -0700 e1000e: test for unusable MSI support Some systems do not like 82571/2 use of 16-bit MSI messages and some other systems claim to support MSI, but neither really works. Setup a test MSI handler to detect whether or not MSI is working properly, and if not, fallback to legacy INTx interrupts. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit c918dcce92f76bb9903e4d049f4780bad384c207 Author: David S. Miller Date: Thu Aug 14 01:41:39 2008 -0700 sparc64: Fix overshoot in nid_range(). If 'start' does not begin on a page boundary, we can overshoot past 'end'. Signed-off-by: David S. Miller commit d53f706da808e6d93dc60b1910233a309009939f Author: Bruce Allan Date: Fri Aug 8 18:36:06 2008 -0700 e1000e: increase minimum frame size allowed Setting an MTU value below 68 was disabling the network connection and would not reconnect until the driver was reloaded. Prevent changing the MTU to anything below 68. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 10f1b492135620a87970cad9f80439249dcce299 Author: Bruce Allan Date: Fri Aug 8 18:36:01 2008 -0700 e1000e: Increase Tx timeout factor for 10Mbps Prevent Tx hangs from happening on 10Mb flood ping by increasing the timeout factor. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 808ff676c46d8e259c2cb38579f94f8e6ae38009 Author: Bruce Allan Date: Fri Aug 8 18:35:56 2008 -0700 e1000e: Use skb_copy_to_linear_data_offset introduced in 2.6.22 The e1000e driver was based on a version of e1000 prior to acme's introduction of skb_copy_to_linear_data_offset, and was submitted after acme went through and coverted all the drivers to use it. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 2d06cad1a5ceb3b04dc9547e261ad4fcebf7433d Author: Bruce Allan Date: Fri Aug 8 18:35:51 2008 -0700 e1000e: Set InterruptThrottleRate to default when invalid value used During module load, seting the InterruptThrottleRate parameter to an invalid value would result in the itr/itr_setting pair being set to unexpected values which would result in poor performance. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 56e1f82968af79f70902008098a4687198142ce7 Author: Bruce Allan Date: Fri Aug 8 18:35:44 2008 -0700 e1000e: Return 1 instead of a non-zero value for link up indication A number of users have mentioned they have tools that rely on a link-up indication having a return value of 1 rather than a non-zero value. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 0d63bea2c20651588e5e631799a961468a735eb9 Author: Robert Fitzsimons Date: Sat Aug 9 17:54:02 2008 +0100 tlan: Fix two regressions introduced by 64bit conversion. Two regressions were introduced by the recent tlan: 64bit conversion commit (93e16847c9db0093065c98063cfc639cdfccf19a). The first in TLan_GetSKB caused a NULL pointer dereference. With the second causing the link to fail to come up. Signed-off-by: Robert Fitzsimons Signed-off-by: Jeff Garzik commit e484d5f5c8c64e2c4f110c59e9e964884107822a Author: Rafael J. Wysocki Date: Sun Aug 10 19:30:28 2008 +0200 sky2: Fix suspend/hibernation/shutdown regression with WOL enabled (rev. 2) On my test box with the Asus M3A32-MVP main board there is a regression from 2.6.26 related to suspend, hibernation and shutdown. Namely, if Wake-on-LAN is enabled with 'ethtool -s eth0 wol g', the box hangs solid during all of these operations, while executing either sky2_suspend(), or sky2_shutdown(). This patch fixes it for me. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit 2726fcf0dab1a9b1fd04dea3837b2b0bb639c1bd Author: Vegard Nossum Date: Wed Aug 6 14:12:11 2008 +0200 au1000_eth: use 'unsigned long' for irqflags The patch was generated using the Coccinelle semantic patch framework. Cc: Julia Lawall Cc: Alexey Dobriyan Cc: Jeff Garzik Signed-off-by: Vegard Nossum Signed-off-by: Jeff Garzik commit 13b2738cbb4b59f695bd72bcaabd71317e7731d2 Author: Brice Goglin Date: Wed Aug 13 21:05:52 2008 +0200 myri10ge: myri10ge_fw_name also overrides the rss firmware When myri10ge_fw_name is given, use it to override the rss firmware name as well. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 7144decb0f482fcb2152c10c376f0574d563ca52 Author: Mikael Pettersson Date: Wed Aug 13 21:08:14 2008 +0200 ixp4xx_eth: fix dma_mapping_error() compile errors The arm ixp4xx_eth driver doesn't compile in 2.6.27-rc1: CC [M] drivers/net/arm/ixp4xx_eth.o drivers/net/arm/ixp4xx_eth.c: In function 'eth_poll': drivers/net/arm/ixp4xx_eth.c:554: warning: passing argument 1 of 'dma_mapping_error' makes pointer from integer without a cast drivers/net/arm/ixp4xx_eth.c:554: error: too few arguments to function 'dma_mapping_error' drivers/net/arm/ixp4xx_eth.c: In function 'eth_xmit': drivers/net/arm/ixp4xx_eth.c:701: warning: passing argument 1 of 'dma_mapping_error' makes pointer from integer without a cast drivers/net/arm/ixp4xx_eth.c:701: error: too few arguments to function 'dma_mapping_error' drivers/net/arm/ixp4xx_eth.c: In function 'init_queues': drivers/net/arm/ixp4xx_eth.c:886: warning: passing argument 1 of 'dma_mapping_error' makes pointer from integer without a cast drivers/net/arm/ixp4xx_eth.c:886: error: too few arguments to function 'dma_mapping_error' make[3]: *** [drivers/net/arm/ixp4xx_eth.o] Error 1 make[2]: *** [drivers/net/arm] Error 2 make[1]: *** [drivers/net] Error 2 make: *** [drivers] Error 2 dma_mapping_error() changed in 2.6.27-rc1 to also take a device parameter, but nobody bothered updating ixp4xx_eth.c. Fixed by passing the appropriate device value in the dma_mapping_error() calls. Tested on an ixp425 box. Signed-off-by: Mikael Pettersson Acked-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit 2a54adc3ad771c997bfa721f098d2d4a6ef6ea38 Author: Scott Wood Date: Tue Aug 12 15:10:46 2008 -0500 gianfar: Call gfar_halt_nodisable() from gfar_halt(). gfar_halt() was factored out into halting and disabling by commit d87eb12785c14de1586e3bad86ca2c0991300339, as the suspend() method only wants to do the former. However, the call to gfar_halt_nodisable() from gfar_halt() apparently got lost during the patch respin process. This adds it back. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit fde9403a982218fa8a437f815e7aa0e583e2d6ed Author: Huang Weiyi Date: Mon Aug 11 12:56:44 2008 +0800 [netdrvr] remove unnecessary #include The drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/net/acenic.c drivers/net/bnx2x_link.c drivers/net/bnx2x_main.c drivers/net/cpmac.c drivers/net/gianfar_sysfs.c drivers/net/ipg.h drivers/net/ppp_mppe.c drivers/net/pppol2tp.c drivers/net/r6040.c drivers/net/sh_eth.c drivers/net/sky2.c drivers/net/tehuti.h drivers/net/typhoon.c This patch removes the said #include . Signed-off-by: Huang Weiyi Signed-off-by: Jeff Garzik commit a4b7b6d7d3f4f71e741a878bcca6226d8d326a34 Author: Bryan Wu Date: Thu Aug 14 15:40:19 2008 +0800 Blackfin arch: hook up some missing new system calls Signed-off-by: Bryan Wu commit b42a9f442c6f9f47a9d63f66fcc67ab8efe7b7fa Author: Mike Frysinger Date: Thu Aug 14 15:19:25 2008 +0800 Blackfin arch: fix missing digit in SCLK range checking Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7e1e7aed0ca082b4e76567ee7ea13993b476e66a Author: Mike Frysinger Date: Thu Aug 14 15:15:43 2008 +0800 Blackfin arch: do not muck with the UART during boot -- let the serial driver worry about it Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 95a86b5e51139a199d081b6b108e761966d914ef Author: Mike Frysinger Date: Thu Aug 14 15:05:01 2008 +0800 Blackfin arch: clear EMAC_SYSTAT during IRQ init rather than early head.S as we dont need it setup that early Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c991dd92ab150c0b4ba531105aad5612bb0dafba Author: Mike Frysinger Date: Thu Aug 14 14:57:26 2008 +0800 Blackfin arch: use %pF when printing out the double fault address so we get symbol names Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 130de7cebe20a74261a75bb0c6026a3199cdb980 Author: Benjamin Matthews Date: Thu Aug 14 14:55:54 2008 +0800 Blackfin arch: add support for the BlackStamp board Signed-off-by: Benjamin Matthews Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 251383c7c50cf17664a4d7d60d3a52d8827a0e11 Author: Robin Getz Date: Thu Aug 14 15:12:55 2008 +0800 Blackfin arch: Allow ins functions to have a low latency version Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit cd8fb8df1458df7f3b99fd112e722b05f42c64d9 Author: Robin Getz Date: Thu Aug 14 14:44:33 2008 +0800 Blackfin arch: Print out doublefault addresses, so debug can occur Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit ee32664da9531329b87aa5109e41e7cc73a04121 Author: Mike Frysinger Date: Thu Aug 14 14:37:32 2008 +0800 Blackfin arch: shuffle related prototypes together -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3c012eebf8869dd3118c21a73a2f8cc9e9c694ea Author: Mike Frysinger Date: Thu Aug 14 14:36:15 2008 +0800 Blackfin arch: move fixed code defines into fixed_code.h as very few things actually need to know these details Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9216bbc83826b77da9f2f396578c9d32b81e0d0b Author: Mike Frysinger Date: Thu Aug 14 14:35:20 2008 +0800 Blackfin arch: mark some functions as __init as they are only called from __init functions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7ab37da52db98ea9f272045c837058dfc1870ac3 Author: Mike Frysinger Date: Thu Aug 14 14:33:05 2008 +0800 Blackfin arch: delete dead prototypes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0e06b50dda5965e0f8a15b0be14b759ead54fd2a Author: Mike Frysinger Date: Thu Aug 14 14:29:57 2008 +0800 Blackfin arch: cleanup cache lock code - remove cheesy read_iloc() function - move invalidate_entire_icache function to lock.S - export proper prototypes for functions in lock.S - only build lock.S when BFIN_ICACHE_LOCK is enabled Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8d5636fbca202f61fdb808fc9e20c0142291d802 Author: Jeremy Kerr Date: Thu Aug 14 14:59:12 2008 +1000 powerpc/spufs: reference context while dropping state mutex in scheduler Based on an original patch from Christoph Hellwig . Currently, there is a possible reference-after-free in the spusched code - contexts may be freed after we have released their state_mutex in spusched_tick and find_victim. This change takes a reference to the context before releasing the mutex, so that the context doesn't get destroyed. Signed-off-by: Jeremy Kerr commit ad661334b8ae421154b121ee6ad3b56807adbf11 Author: Steve French Date: Tue Aug 12 14:14:40 2008 +0000 [CIFS] mount of IPC$ breaks with iget patch In looking at network named pipe support on cifs, I noticed that Dave Howell's iget patch: iget: stop CIFS from using iget() and read_inode() broke mounts to IPC$ (the interprocess communication share), and don't handle the error case (when getting info on the root inode fails). Thanks to Gunter who noted a typo in a debug line in the original version of this patch. CC: David Howells CC: Gunter Kukkukk CC: Stable Kernel Signed-off-by: Steve French commit b635acec48bcaa9183fcbf4e3955616b0d4119b5 Merge: 9921b25... ca6d1b1... Author: Linus Torvalds Date: Wed Aug 13 20:50:10 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (47 commits) usb: musb: pass configuration specifics via pdata usb: musb: fix hanging when rmmod gadget driver USB: Add MUSB and TUSB support USB: serial: remove CONFIG_USB_DEBUG from sierra and option drivers USB: Add vendor/product id of ZTE MF628 to option USB: quirk PLL power down mode USB: omap_udc: fix compilation with debug enabled usb: cdc-acm: drain writes on close usb: cdc-acm: stop dropping tx buffers usb: cdc-acm: bugfix release() usb gadget: issue notifications from ACM function usb gadget: remove needless struct members USB: sh: r8a66597-hcd: fix disconnect regression USB: isp1301: fix compilation USB: fix compiler warning fix usb-storage: unusual_devs entry for Nokia 5300 USB: cdc-acm.c: Fix compile warnings USB: BandRich BandLuxe C150/C250 HSPA Data Card Driver USB: ftdi_sio: add support for PHI Fisco data cable (FT232BM based, VID/PID 0403:e40b) usb: isp1760: don't be noisy about short packets. ... commit 9921b256bb7402143a5bf0b722582562b6485eb8 Merge: 7a49efa... 9e2b2dc... Author: Linus Torvalds Date: Wed Aug 13 20:49:37 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: CRED: Introduce credential access wrappers commit 7a49efae71397cf7e9299bbb22b2d12f7cf12428 Merge: 0ff8285... 877aced... Author: Linus Torvalds Date: Wed Aug 13 20:48:46 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits) netns: Fix crash by making igmp per namespace bnx2x: Version update bnx2x: Checkpatch compliance bnx2x: Spelling mistakes bnx2x: Minor code improvements bnx2x: Driver info bnx2x: 1G LED does not turn off bnx2x: 8073 PHY changes bnx2x: Change GPIO for any port bnx2x: Pause settings bnx2x: Link order with external PHY bnx2x: No LRO without Rx checksum bnx2x: Wrong structure size bnx2x: WoL capability bnx2x: Clearing MAC addresses filters bnx2x: Delay in while loops bnx2x: PBA Table Page Alignment Workaround bnx2x: Self-test false positive bnx2x: Memory allocation bnx2x: HW attention lock ... commit 0ff8285075a1242dbc969b6b4b1719d692931a02 Merge: 8d0968a... 6f63e78... Author: Linus Torvalds Date: Wed Aug 13 20:48:25 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Handle stack trace attempts before irqstacks are setup. sparc64: Implement IRQ stacks. sparc: remove include of linux/of_device.h from asm/of_device.h sparc64: Fix recursion in stack overflow detection handling. sparc/drivers: use linux/of_device.h instead of asm/of_device.h sparc64: Don't MAGIC_SYSRQ ifdef smp_fetch_global_regs and support code. commit ca6d1b1333bc2e61e37982de1f28d8604c232414 Author: Felipe Balbi Date: Fri Aug 8 12:40:54 2008 +0300 usb: musb: pass configuration specifics via pdata Use platform_data to pass musb configuration-specific details to musb driver. This patch will prevent that other platforms selecting HAVE_CLK and enabling musb won't break tree building. The other parts of it will come when linux-omap merge up more omap2/3 board-files. Signed-off-by: Felipe Balbi Acked-by: Paul Mundt Signed-off-by: Greg Kroah-Hartman commit f362a47560070ec0aaf68ac6b45901eeed1c844f Author: Felipe Balbi Date: Mon Aug 4 13:53:52 2008 +0300 usb: musb: fix hanging when rmmod gadget driver If we try to modprobe a second gadget driver before rmmoding the first one, the reference for the first gadget driver would get NULLed avoiding usb to change gadget drivers later. Cc: David Brownell Cc: Tony Lindgren Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 550a7375fe720924241f0eb76e4a5c1a3eb8c32f Author: Felipe Balbi Date: Thu Jul 24 12:27:36 2008 +0300 USB: Add MUSB and TUSB support This patch adds support for MUSB and TUSB controllers integrated into omap2430 and davinci. It also adds support for external tusb6010 controller. Cc: David Brownell Cc: Tony Lindgren Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit f331e40ee8e4861e1d82310b1af7cf75de7370ac Author: Greg Kroah-Hartman Date: Tue Aug 12 12:04:50 2008 +0700 USB: serial: remove CONFIG_USB_DEBUG from sierra and option drivers These drivers should not be relying on CONFIG_USB_DEBUG. By doing this, it prevents users of kernels that do not enable this option from enabling debugging in these drivers, unlike all other usb-serial drivers. Cc: Matthias Urlichs Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 6188a83f7264edebe9b8ee10ad7b2136d3531ea6 Author: Oliver Martin Date: Sat Aug 9 04:49:26 2008 +0200 USB: Add vendor/product id of ZTE MF628 to option This adds the vendor and product id (19d2:0015) of the ZTE MF628 HSDPA modem to the option driver. It still needs a mode switch command issued beforehand, this is currently handled by a userspace tool. Signed-off-by: Oliver Martin Signed-off-by: Greg Kroah-Hartman commit ab1666c1364a209e6141d7c14e47a42b5f00eca2 Author: Libin Yang Date: Fri Aug 8 15:03:31 2008 +0800 USB: quirk PLL power down mode On some AMD 700 series southbridges, ISO OUT transfers (such as audio playback through speakers) on the USB OHCI controller may be corrupted when an A-Link express power saving feature is active. PLL power down mode in conjunction with link power management feature L1 being enabled is the bad combination ... this patch prevents them from being enabled when ISO transfers are pending. Signed-off-by: Crane Cai Signed-off-by: Libin Yang Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e12cc34527dcd945597c860c25aba92883a4a6a4 Author: Dmitry Baryshkov Date: Thu Aug 7 16:29:25 2008 +0400 USB: omap_udc: fix compilation with debug enabled Signed-off-by: Dmitry Baryshkov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e5fbab51b4219fbd1dab28666affe38a920b5f7e Author: David Brownell Date: Wed Aug 6 18:46:10 2008 -0700 usb: cdc-acm: drain writes on close Add a mechanism to let the write queue drain naturally before closing the TTY, rather than always losing that data. There is a timeout, so it can't wait too long. Provide missing locking inside acm_wb_is_avail(); it matters more now. Note, this presumes an earlier patch was applied, removing a call to this routine where the lock was held. Slightly improved diagnostics on write URB completion, so we can tell when a write URB gets killed and, if so, how much data it wrote first ... and so that I/O path is normally silent (and can't much change timings). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 934da4635c2d05cef474e5243ef05df95b2ad264 Author: David Brownell Date: Wed Aug 6 18:44:12 2008 -0700 usb: cdc-acm: stop dropping tx buffers The "increase cdc-acm write throughput" patch left in place two now-obsolete mechanisms, either of which can make the cdc-acm driver drop TX data (nasty!). This patch removes them: - The write_ready flag ... if an URB and buffer were found, they can (and should!) always be used. - TX path acm_wb_is_used() ... used when the buffer was just allocated, so that check is pointless. Also fix a won't-yet-matter leak of a write buffer on a disconnect path. Signed-off-by: David Brownell Cc: David Engraf Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 672c4e1843c54227ff1bdf1fdd96f9c45c56aa85 Author: David Brownell Date: Wed Aug 6 18:41:12 2008 -0700 usb: cdc-acm: bugfix release() Bugfixes to the usb_driver_release_interface() usage; (a) make sure releasing *either* interface first will release the other, instead of insisting it be the control interface; (b) remove the recently-added self-deadlock. (The "fix disconnect bug in cdc-acm" patch was incomplete and incorrect.) Plus a small "sparse" fix: rename a local variable so it doesn't shadow a function parameter. Signed-off-by: David Brownell Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 1f1ba11b64947051fc32aa15fcccef6463b433f7 Author: David Brownell Date: Wed Aug 6 18:49:57 2008 -0700 usb gadget: issue notifications from ACM function Update the CDC-ACM gadget code to support the peripheral-to-host notifications when the tty is opened or closed, or issues a BREAK. The serial framework code calls new generic hooks; right now only CDC-ACM uses those hooks. This resolves several REVISIT comments in the code. (Based on a patch from Felipe Balbi.) Note that this doesn't expose USB_CDC_CAP_BRK to the host, since this code still rejects USB_CDC_REQ_SEND_BREAK control requests for host-to-peripheral BREAK signaling (received via /dev/ttyGS*). Signed-off-by: David Brownell Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 630c7aa80152881980e45c11584f22476f71959b Author: David Brownell Date: Wed Aug 6 18:48:52 2008 -0700 usb gadget: remove needless struct members This removes some unused members from the various USB functions. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 54d0be9e3af1e20c3d0c3cc3eba50d33da24229c Author: Yoshihiro Shimoda Date: Fri Jul 11 18:53:45 2008 +0900 USB: sh: r8a66597-hcd: fix disconnect regression fix the regression in commit 29fab0cd897519be9009ba8c898410ab83b378e9 that this driver executed reconnection processing when disconnected some devices. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit cbbcb9b0c7e4d1fd90cf54427382dae525773dc2 Author: Dmitry Baryshkov Date: Thu Aug 7 16:29:24 2008 +0400 USB: isp1301: fix compilation Signed-off-by: Dmitry Baryshkov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9ff78433f0aeb1f731a22a90206b685df4eaf52e Author: Alan Stern Date: Thu Aug 7 13:04:51 2008 -0400 USB: fix compiler warning fix This patch (as1123b) fixes a compiler warning: do_unbind_rebind() is defined but not used if CONFIG_PM=n. Problem originally found and initial patch submitted by Alexander Beregalov . Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d28525f8866244a77b677c0470d4859cb2b6c2a8 Author: Alan Stern Date: Thu Aug 7 13:02:40 2008 -0400 usb-storage: unusual_devs entry for Nokia 5300 This patch (as1120) adds an unusual_devs entry for the Nokia 5300. Maybe once Nokia releases the Symbian code we'll be able to fix all the problems it has with the USB mass-storage protocol. Signed-off-by: Alan Stern Tested-by: Cedric Godin Signed-off-by: Greg Kroah-Hartman commit 81eb8adfcec210a820ad9872ffb242482c976b8d Author: Takashi Iwai Date: Thu Jul 31 19:06:13 2008 +0200 USB: cdc-acm.c: Fix compile warnings The irq flags should be unsigned long. CC [M] drivers/usb/class/cdc-acm.o drivers/usb/class/cdc-acm.c: In function 'acm_waker': drivers/usb/class/cdc-acm.c:527: warning: comparison of distinct pointer types lacks a cast drivers/usb/class/cdc-acm.c:529: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman commit bf3fc82895f4f501da9daef44d057749fe900c3e Author: Leon Leong Date: Fri Aug 1 11:40:12 2008 +0800 USB: BandRich BandLuxe C150/C250 HSPA Data Card Driver This patch adds the Product ID for the BandLuxe C150/C250 3.5G data card series from BandRich Inc. After detection, the data card works fine. It was patched against kernel 2.6.27-rc1 with -mm patch Signed-off-by: Leon Leong Signed-off-by: Greg Kroah-Hartman commit a5f6239949de78a9f33120d76f084928cb234a15 Author: Lex Ross Date: Wed Aug 6 16:25:08 2008 +0400 USB: ftdi_sio: add support for PHI Fisco data cable (FT232BM based, VID/PID 0403:e40b) Support for PHI Fisco USB to Serial data cable (FTDI FT232BM based). PHI Fisco cable is supplied for connecting Philips Xenium 9@9++ mobile phones. PIDs were missing. Tested successfully with PHI Fisco Data Cable (VID/PID 0403:e40b) Signed-off-by: Lex V. Ross Signed-off-by: Greg Kroah-Hartman commit 7839b5162d7d6c100f70a036be1e1f2b072857bc Author: Sebastian Siewior Date: Thu Jul 17 20:09:29 2008 +0200 usb: isp1760: don't be noisy about short packets. According to Alan Stern, short packets are quite normal under certain circumstances. This printk was triggered by usb to serial converters on every packet and some usb sticks triggered a few of those while plugging the stick. This printks are now hidden unless USB debug mode is activated. Cc: Alan Stern Signed-off-by: Sebastian Siewior Signed-off-by: Greg Kroah-Hartman commit 3f02a957d5eb0eeb01207a799086f2b347077f71 Author: Enrico Scholz Date: Thu Jul 17 20:09:30 2008 +0200 usb: ISP1760: improve pre-fetch timing ISP1760 requires a delay of 90ns between programming the address and reading the data. Current driver solves this by a mdelay(1) which is very heavy weighted and slow. This patch applies the workaround from the ISP1760 FAQ by using two different banks for PTD and payload data and using a common wait for them. This wait is done by an additional ISP1760 access (whose timing constraints guarantee the 90ns delay). This improves speed when reading from an USB stick from: $ time dd if=/dev/sda of=/dev/zero bs=65536 count=1638 real 1m 15.43s user 0m 0.44s sys 0m 39.46s to $ time dd if=/dev/sda of=/dev/zero bs=65536 count=1638 real 0m 18.53s user 0m 0.16s sys 0m 12.97s [bigeasy@linutronix.de: fixed comment formating, moved define into header file, obey 80 char rule] Signed-off-by: Enrico Scholz Signed-off-by: Sebastian Siewior Signed-off-by: Greg Kroah-Hartman commit a36c27dfd1003e6d6842fe77faaf868e3e6e9062 Author: Sebastian Siewior Date: Thu Jul 17 20:09:28 2008 +0200 usb: return error code instead of 0 in the enqueue function. if the enqueue function returns -ESHUTDOWN or -ENOMEM then we return 0 instead of an error. This leads to a timeout and then to a dequeue request of an not enqueued urb. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Kroah-Hartman commit 937ef73d5075997a8d1777abf217a48bef2ce029 Author: David Brownell Date: Mon Jul 7 12:16:08 2008 -0700 USB: serial gadget: rx path data loss fixes Update RX path handling in new serial gadget code to cope better with RX blockage: queue every RX packet until its contents can safely be passed up to the ldisc. Most of the RX path work is now done in the RX tasklet, instead of just the final "push to ldisc" step. This addresses some cases of data loss: - A longstanding serial gadget bug: when tty_insert_flip_string() didn't copy the entire buffer, the rest of the characters were dropped! Now that packet stays queued until the rest of its data is pushed to the ldisc. - Another longstanding issue: in the unlikely case that an RX transfer returns data and also reports a fault, that data is no longer discarded. - In the recently added RX throttling logic: it needs to stop pushing data into the TTY layer, instead of just not submitting new USB read requests. When the TTY is throttled long enough, backpressure will eventually make the OUT endpoint NAK. Also: an #ifdef is removed (no longer necessary); and start switching to a better convention for debug messages (prefix them with tty name). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e8b24450a635bbbd3a2b4c2649eef060c742ebc0 Author: Dmitry Baryshkov Date: Sun Jul 6 14:26:30 2008 +0400 USB: Hook start_hnp into ohci struct Signed-off-by: Dmitry Baryshkov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1133cd8adf34709e1857d1491e9fae5597b51ad5 Author: Dmitry Baryshkov Date: Sun Jul 6 23:35:01 2008 +0400 USB: ohci: make distrust_firmware a quirk Signed-off-by: Dmitry Baryshkov Acked-by: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f0fa74634c0c686618b5318748bde233772a1a8d Author: Oliver Neukum Date: Fri Jul 4 10:10:53 2008 +0200 USB: update to Documentation this mentions a new deadlock due to advanced power management. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 230ffc75b7b842db5710d30d3a2fc61f9d6f50df Author: Simon Arlott Date: Sat Jul 12 22:19:48 2008 +0100 USB: cxacru: Fix printk format flag in error message "#%x" should have been "%#x" Signed-off-by: Simon Arlott Signed-off-by: Greg Kroah-Hartman commit 51cdc1c103dcb7cf1ca280843308a2e32847f9ce Author: Jost Diederichs Date: Sat Jul 12 22:37:05 2008 -0700 USB: usb-storage Motorola Phone Razr v3xx US_FL_FIX_CAPACITY patch add razr v3xx US_FL_FIX_CAPACITY flag to unusual_devs.h in usb-storage This is another Motorola phone that incorrectly reports the sector count (off by one). Problem Description: io errors when mounting phone's sd-card via the phones usb port Steps to reproduce: mount Motorola Razr v3xx phones sd-card on Linux Desktop via usb cable. Phones USB port must be in memory card mode. DEBUG output: Jul 9 19:32:41 micky kernel: Buffer I/O error on device sdd, logical block 3970048 Jul 9 19:32:41 micky kernel: sd 11:0:0:0: [sdd] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK Jul 9 19:32:41 micky kernel: sd 11:0:0:0: [sdd] Sense Key : Medium Error [current] Jul 9 19:32:41 micky kernel: sd 11:0:0:0: [sdd] Add. Sense: No additional sense information Jul 9 19:32:41 micky kernel: end_request: I/O error, dev sdd, sector 3970048 From: Jost Diederichs Signed-off-by: Greg Kroah-Hartman commit 32fe5e393455d87db4988af03915634304870fb4 Author: Kevin Lloyd Date: Thu Jul 10 14:14:57 2008 -0700 USB Storage Sierra: TRU-Install feature update This patch upgrades the support for the Sierra Wireless TRU-Install feature (i.e. zeroCD) to allow for future support of Linux enabled TRU-Install devices. By default all devices that do not have a Linux enabled TRU-Install device (i.e. the device does not have a Linux package on the virtual CD partition) will be switched into "modem mode." Devices that do contain a Linux package in the TRU-Install virtual CD will be allowed to enumerate as a CD-Rom so that either (a) a user can install the packaged software or (b) a user-space application (e.g. udev) can switch it to modem mode. This patch does allow for manual override by adding a usb-storage module parameter 'swi_tru_install' which can force the modem into either mode regardless of what packages it contains. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 0585e4dfe5670d3ccb77bf86551a657699e9e52e Author: Kevin Lloyd Date: Thu Jul 10 14:14:54 2008 -0700 USB Serial Sierra: TRU-Install feature update Moves responsbility of TRU-Install (i.e. ZeroCD) to the usb-storage driver. See patch 04/04 of this set. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit e3173b22eb7b50a23af60e12bab7a29d4b24f284 Author: Kevin Lloyd Date: Thu Jul 10 14:14:51 2008 -0700 USB Serial Sierra: Dynamic interface detection This patch changes the method by which the number of ports per interface is assigned so that it is more dynamic and calculated on the fly (as opposed to hard coding it). This will allow for faster and easier addition of products. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 4e0fee82619937acb13806ffc901d3920b947286 Author: Kevin Lloyd Date: Thu Jul 10 14:14:47 2008 -0700 USB Serial Sierra: clean-up Very minor changes to clean up sierra code. Adds a prefix to debug messages so that Sierra messages are easily recognized. Removes extraneous code. This targets kernel 2.6.26-rc9 Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 8c809681ba0289afd0ed7bbb63679a0568dd441d Author: Tollef Fog Heen Date: Tue Jul 22 09:28:05 2008 +0200 USB: pl2023: Remove USB id (4348:5523) handled by ch341 USB ID 4348:5523 is handled by the ch341 driver. Remove it from the pl2023 driver. Reverts 002e8f2c80c6be76bb312940bc278fc10b2b2487. Signed-off-by: Tollef Fog Heen Cc: stable Signed-off-by: Greg Kroah-Hartman commit 368ee6469c327364ea10082a348f91c1f5ba47f7 Author: Alan Stern Date: Mon Jul 21 10:08:28 2008 -0400 usb-storage: unusual_devs entries for iRiver T10 and Datafab CF+SM reader This patch (as1115) adds unusual_devs entries with the IGNORE_RESIDE flag for the iRiver T10 and the Simple Tech/Datafab CF+SM card reader. Apparently these devices provide reasonable residue values for READ and WRITE operations, but not for others like INQUIRY or READ CAPACITY. This fixes the iRiver T10 problem reported in Bugzilla #11125. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 3bea302d6aa61f2371a63e9ad81eaa373fd66441 Author: Simon Arlott Date: Mon Jul 21 20:44:50 2008 +0100 USB: Move usb/mon/ up to misc options in Kconfig This makes "USB Monitor" appear under "Miscellaneous USB options" section instead of in the middle of device specific drivers in the "USB Imaging devices" section. Signed-off-by: Simon Arlott Signed-off-by: Greg Kroah-Hartman commit 59f4ff2ecff4cef36378928cec891785b402e80c Author: Alan Stern Date: Tue Jul 29 11:58:06 2008 -0400 usb-storage: automatically recognize bad residues This patch (as1119) will help to reduce the clutter of usb-storage's unusual_devs file by automatically detecting some devices that need the IGNORE_RESIDUE flag. The idea is that devices should never return a non-zero residue for an INQUIRY or a READ CAPACITY command unless they failed to transfer all the requested data. So if one of these commands transfers a standard amount of data but there is a positive residue, we know that the residue is bogus and we can set the flag. This fixes the problems reported in Bugzilla #11125. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1a21175a615ed346e8043f5e9d60a672266b84b4 Author: Alan Stern Date: Wed Jul 30 11:31:50 2008 -0400 USB: fix interface unregistration logic This patch (as1122) fixes a bug: When an interface is unregistered, its children (sysfs files and endpoint devices) are unregistered after it instead of before. Signed-off-by: Alan Stern Tested-by: Kay Sievers Cc: stable Signed-off-by: Greg Kroah-Hartman commit 0282b7f2a874e72c18fcd5a112ccf67f71ba7f5c Author: Alan Stern Date: Tue Jul 29 12:01:04 2008 -0400 usb-serial: don't release unregistered minors This patch (as1121) fixes a bug in the USB serial core. When a device is unregistered, the core will give back its minors -- even if the device hasn't been assigned any! The patch reserves the highest minor value (255) to mean that no minor was assigned. It also removes some dead code and does a small style fixup. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit e67d70f2f55d90c79dcb384ad5b798f0f9a68085 Author: Felipe Balbi Date: Thu Jul 17 17:26:49 2008 +0300 usb: gadget: protect gadget_chips.h from been included twice Without it, we might have trouble when trying to write some composite gadget drivers. Cc: David Brownell Cc: Greg KH Signed-off-by: Felipe Balbi Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b9a097f26e55968cbc52e30a4a2e73d32d7604ce Author: Dave Jones Date: Mon Jul 14 13:28:34 2008 -0400 USB: usb-storage: quirk around v1.11 firmware on Nikon D4 usb-storage: quirk around v1.11 firmware on Nikon D40 https://bugzilla.redhat.com/show_bug.cgi?id=454028 Just as in earlier firmware versions, we need to perform this quirk for the latest version too. Speculatively do the entry for the D80 too, as they seem to have the same firmware problems historically. Signed-off-by: Dave Jones Cc: Johannes Berg Cc: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 38b375d9610e2467cb793a84d17c6f65e44cdb39 Author: Alan Stern Date: Mon Jul 21 09:56:26 2008 -0400 USB: OHCI: fix system hang caused by earlier patch This patch (as1114) fixes a problem that was revealed by an earlier patch (as1069b). Some broken controllers seem never to turn off their RHCS interrupt status bit, even when told to do so. As a result they generate an interrupt storm and hang the system. The patch avoids enabling RHSC interrupt requests when the RHCS status bit is already set. This should have no adverse affects on normal controllers, since they won't set the status bit until a root-hub status change actually occurs, in which case we wouldn't enable RHSC interrupt requests anyway -- we would wait until the status change had been processed and cleared. Signed-off-by: Alan Stern Tested by: Andrey Borzenkov Signed-off-by: Greg Kroah-Hartman commit fa41019c7aa172fde075849834409d23eb49f582 Author: Alexander Beregalov Date: Tue Jul 29 05:54:31 2008 +0400 usb/core/driver: fix warning usb/core/driver: fix warning: drivers/usb/core/driver.c:834: warning: 'do_unbind_rebind' defined but not used Signed-off-by: Alexander Beregalov Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f4f4d58734916e816d4b4a7cf61b3fc22ce02683 Author: Alan Stern Date: Mon Jul 28 10:39:28 2008 -0400 USB: add missing kerneldoc line for "needs_binding" This patch (as1117) adds a kerneldoc line for the "needs_binding" field in struct usb_interface. It was accidentally omitted when the field was added. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a00c3cadc2bf50b3c925acdb3d0e5789b1650498 Author: Frederik Kriewitz Date: Wed Jul 30 16:53:41 2008 +0200 USB: ftdi_sio: add support for Luminance Stellaris Evaluation/Development Kits The Patch adds support for Luminance Stellaris Evaluation/Development Kits (FTDI 2232C based). The PIDs were missing. Successfully tested with a Stellaris LM3S8962 Evaluation kit. Signed-off-by: Frederik Kriewitz Cc: stable Signed-off-by: Greg Kroah-Hartman commit b5894a500127fce1db1309db5f9ca8b77a2ac266 Author: André Schenk Date: Mon Jul 28 15:48:46 2008 +0200 USB: ftdi_sio: Add USB Product Id for ELV HS485 USB product id registration for the ELV HS485 USB adapter (www.elv.de) to their home automation bus system. Applies to 2.6.26. Signed-off-by: Andre Schenk Cc: stable Signed-off-by: Greg Kroah-Hartman commit c728df70ab0dd59b8ccdc3c611ea88925e6697db Author: David Brownell Date: Sat Jul 26 08:06:24 2008 -0700 USB: fix USB boot crash, ecm_do_notify(), list_add corruption. prev->next should be next (ffff88003b8f82f8) This fixes a BUG() turned up by Ingo via randconfig testing, where CONFIG_LIST_DEBUG turned up list corruption. The corruption was caused by the dummy_hcd (single-machine test harness for gadget and HCD code) trashing the request queue when driven by the new CDC composite gadget an I/O pattern that was previously uncommon. Fix suggested by Alan Stern. Signed-off-by: David Brownell Tested-by: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit 88d987d6db2a14b191f4eb21cc623dae31e28e9d Author: Wolfgang Mües Date: Tue Jul 29 11:54:43 2008 +0200 usb: auerswald: remove driver (obsolete) This patch removes the auerswald USB driver from the linux kernel 2.6.26. This driver was included into the kernel mainly to connect to the ISDN framework. This was done in linux 2.4.x. For 2.6.x, due to the fragile and moving ISDN support, this connection was never realized, and the only use of this driver was for device configuration. In the age of DSL, the demand of ISDN support is getting very low. Meanwhile, with the advent of libusb, an userspace driver was done for the device configuration which works fine for linux and mac. (Thanks to the libusb developers!). The userspace driver is downloadable from the auerswald web site. So this driver is obsolete now and has to be removed. Many thanks to all developers which helped me to bring this driver up and working. Signed-off-by: Wolfgang Muees Signed-off-by: Greg Kroah-Hartman commit 6f63e781eaf6a741fc65f773017154b20ed4ce3b Author: David S. Miller Date: Wed Aug 13 17:17:52 2008 -0700 sparc64: Handle stack trace attempts before irqstacks are setup. Things like lockdep can try to do stack backtraces before the irqstack blocks have been setup. So don't try to match their ranges so early on. Also, remove unused variable in save_stack_trace(). Signed-off-by: David S. Miller commit 9e2b2dc4133f65272a6d3c5dcb2ce63f8a87cae9 Author: David Howells Date: Wed Aug 13 16:20:04 2008 +0100 CRED: Introduce credential access wrappers The patches that are intended to introduce copy-on-write credentials for 2.6.28 require abstraction of access to some fields of the task structure, particularly for the case of one task accessing another's credentials where RCU will have to be observed. Introduced here are trivial no-op versions of the desired accessors for current and other tasks so that other subsystems can start to be converted over more easily. Wrappers are introduced into a new header (linux/cred.h) for UID/GID, EUID/EGID, SUID/SGID, FSUID/FSGID, cap_effective and current's subscribed user_struct. These wrappers are macros because the ordering between header files mitigates against making them inline functions. linux/cred.h is #included from linux/sched.h. Further, XFS is modified such that it no longer defines and uses parameterised versions of current_fs[ug]id(), thus getting rid of the namespace collision otherwise incurred. Signed-off-by: David Howells Signed-off-by: James Morris commit 877acedc0d3ea07f7b36573ed2f1f479c2c1eefd Author: Daniel Lezcano Date: Wed Aug 13 16:15:57 2008 -0700 netns: Fix crash by making igmp per namespace This patch makes the multicast socket to be per namespace. When a network namespace is created, other than the init_net and a multicast packet is received, the kernel goes to a hang or a kernel panic. How to reproduce ? * create a child network namespace * create a pair virtual device veth * ip link add type veth * move one side to the pair network device to the child namespace * ip link set netns dev veth1 * ping -I veth0 224.0.0.1 The bug appears because the function ip_mc_init_dev does not initialize the different multicast fields as it exits because it is not the init_net. BUG: soft lockup - CPU#0 stuck for 61s! [avahi-daemon:2695] Modules linked in: irq event stamp: 50350 hardirqs last enabled at (50349): [] _spin_unlock_irqrestore+0x34/0x39 hardirqs last disabled at (50350): [] schedule+0x9f/0x5ff softirqs last enabled at (45712): [] ip_setsockopt+0x8e7/0x909 softirqs last disabled at (45710): [] _spin_lock_bh+0x8/0x27 Pid: 2695, comm: avahi-daemon Not tainted (2.6.27-rc2-00029-g0872073 #3) EIP: 0060:[] EFLAGS: 00000297 CPU: 0 EIP is at __read_lock_failed+0x8/0x10 EAX: c4f38810 EBX: c4f38810 ECX: 00000000 EDX: c04cc22e ESI: fb0000e0 EDI: 00000011 EBP: 0f02000a ESP: c4e3faa0 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 8005003b CR2: 44618a40 CR3: 04e37000 CR4: 000006d0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 [] ? _raw_read_lock+0x23/0x25 [] ? ip_check_mc+0x1c/0x83 [] ? ip_route_input+0x229/0xe92 [] ? trace_hardirqs_on_thunk+0xc/0x10 [] ? do_IRQ+0x69/0x7d [] ? restore_nocheck_notrace+0x0/0xe [] ? ip_rcv+0x227/0x505 [] ? netif_receive_skb+0xfe/0x2b3 [] ? netif_receive_skb+0x26c/0x2b3 [] ? process_backlog+0x73/0xbd [] ? net_rx_action+0xc1/0x1ae [] ? __do_softirq+0x7b/0xef [] ? do_softirq+0x37/0x4d [] ? dev_queue_xmit+0x3d4/0x40b [] ? local_bh_enable+0x96/0xab [] ? dev_queue_xmit+0x3d4/0x40b [] ? _local_bh_enable+0x79/0x88 [] ? neigh_resolve_output+0x20f/0x239 [] ? ip_finish_output+0x1df/0x209 [] ? ip_dev_loopback_xmit+0x62/0x66 [] ? ip_local_out+0x15/0x17 [] ? ip_push_pending_frames+0x25c/0x2bb [] ? udp_push_pending_frames+0x2bb/0x30e [] ? udp_sendmsg+0x413/0x51d [] ? udp_sendmsg+0x433/0x51d [] ? inet_sendmsg+0x35/0x3f [] ? sock_sendmsg+0xb8/0xd1 [] ? autoremove_wake_function+0x0/0x2b [] ? copy_from_user+0x32/0x5e [] ? copy_from_user+0x32/0x5e [] ? sys_sendmsg+0x18d/0x1f0 [] ? pipe_write+0x3cb/0x3d7 [] ? do_sync_write+0xbe/0x105 [] ? autoremove_wake_function+0x0/0x2b [] ? sys_socketcall+0x176/0x1b0 [] ? syscall_trace_enter+0x6c/0x7b [] ? syscall_call+0x7/0xb Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 1bb5bd2c713cdf19794996fafd7b48da4c4b0113 Author: Eilon Greenstein Date: Wed Aug 13 15:59:45 2008 -0700 bnx2x: Version update Version update Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6378c0253175e400525ac0efac9dd29f4e573cbf Author: Eilon Greenstein Date: Wed Aug 13 15:59:25 2008 -0700 bnx2x: Checkpatch compliance Checkpatch compliance The latest version of checkpatch found the following style errors in the code Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3347162995d23bc13f6f99c02ae89814babcaec2 Author: Eilon Greenstein Date: Wed Aug 13 15:59:08 2008 -0700 bnx2x: Spelling mistakes Spelling mistakes Spelling has to L's in it... Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3196a88a8593748bad24824ef5eb8e5aa99698c9 Author: Eilon Greenstein Date: Wed Aug 13 15:58:49 2008 -0700 bnx2x: Minor code improvements Minor code improvements Small changes to make the code a little bit more efficient and mostly more readable: - Using unified macros for EMAC_RD/WR which looks like normal REG_RD/WR - Removing the NIG_WR since it did nothing and was only confusing - On bnx2x_panic_dump, print only the used parts of the rings - define parameters only on the branch they are needed and not at the beginning of the function - using NETIF_MSG_INTR and not private BNX2X_MSG_SP for debug prints Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f0e53a847a4435f3226f5e385503f792f5f99ce2 Author: Eilon Greenstein Date: Wed Aug 13 15:58:30 2008 -0700 bnx2x: Driver info Driver info The internal FW which is downloaded by the driver should not be displayed - it is only causing confusion and it is redundant since it can be concluded from the driver version. Display only FW which is burned on the board nvram Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 345b5d52b93113d3ce82f97c2a783319fbf0fdfd Author: Eilon Greenstein Date: Wed Aug 13 15:58:12 2008 -0700 bnx2x: 1G LED does not turn off 1G LED does not turn off The 1G LED was not switched to off when the link was lost Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6bbca910e621d82b3ca93a99af9b59eb1ff3cbcd Author: Yaniv Rosner Date: Wed Aug 13 15:57:28 2008 -0700 bnx2x: 8073 PHY changes 8073 PHY changes The initial support we had for this PHY needs some serious changing. The major change is that this PHY should be initialized only when the first function is loaded and not for each function. The official SPI-ROM of this PHY was released and it requires some changes in the initialization code as well Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 17de50b7f71d176375e9d4d67ffce42482e5515f Author: Eilon Greenstein Date: Wed Aug 13 15:56:59 2008 -0700 bnx2x: Change GPIO for any port Change GPIO for any port The set GPIO function should receive the port index to allow changing the GPIO of another port. This is needed for the common init phase (one the first driver is loaded for the chip) Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8c99e7b0436473593a68e740d1032909bc5335a1 Author: Yaniv Rosner Date: Wed Aug 13 15:56:17 2008 -0700 bnx2x: Pause settings Pause settings - 1G pause was not working due to missing write to the emac block (TX_MODE_FLOW_EN) - The flow control should use the negotiated result (after autoneg) so we should save both the requested autoneg and the result - The HW credits with flow control at 1G speed were not optimized and caused low throughput - It is recommended to turn off flow control if the MTU is bigger than 5000B due to internal buffers size Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 57963ed94c27e94a7533434da5943195ea072a35 Author: Yaniv Rosner Date: Wed Aug 13 15:55:28 2008 -0700 bnx2x: Link order with external PHY Link order with external PHY When external PHY exists (second chip with the PHY to translate to another physical medium) the link with the eternal PHY and the network should be established before setting the link between the 5771x and the PHY. This is the right order and it is important when using autoneg - the link to the network should use the autoneg and the link between the two chips should be forced to the network result. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit df0f23439a69eb5ca30668612f1c4e20041b5341 Author: Vladislav Zolotarov Date: Wed Aug 13 15:53:38 2008 -0700 bnx2x: No LRO without Rx checksum No LRO without Rx checksum Disabling LRO when Rx checksum is disabled Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 353029896a5ed6cf42f4ce45729851b23c94d874 Author: Yitchak Gertner Date: Wed Aug 13 15:53:12 2008 -0700 bnx2x: Wrong structure size Wrong structure size The wrong structure was used in the sizeof to clear (luckily both structures have the same size in this version...) Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 72ce58c328d7131d96280135f8be858603522911 Author: Eilon Greenstein Date: Wed Aug 13 15:52:46 2008 -0700 bnx2x: WoL capability WoL capability All designs reported WoL capability regardless of HW limitations - check if this device is actually capable of WoL Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3101c2bc9043c1499158837648a29dd79ee2f5e7 Author: Yitchak Gertner Date: Wed Aug 13 15:52:28 2008 -0700 bnx2x: Clearing MAC addresses filters Clearing MAC addresses filters When the driver unloads, it should clear the MAC addresses filters in the HW - this prevents packets from entering the chip when the driver is re-loaded before initializing the right filters Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 12469401bc5aebb1c1482db1253c986cf8221281 Author: Yitchak Gertner Date: Wed Aug 13 15:52:08 2008 -0700 bnx2x: Delay in while loops Delay in while loops The delay in the loop should be after the change. This has very little effect (can save one delay) but it is the right thing to do Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5c862848172846a7aa88d0a564eb8998ecac2f0d Author: Eilon Greenstein Date: Wed Aug 13 15:51:48 2008 -0700 bnx2x: PBA Table Page Alignment Workaround PBA Table Page Alignment Workaround The PBA table starts on the middle of the page and that's causing very low performance with virtualization. The solution is not to update via the BAR directly but via chip access to the same memory Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9dabc4242f7e51d98a71af7ee11a36e637897f9e Author: Yitchak Gertner Date: Wed Aug 13 15:51:28 2008 -0700 bnx2x: Self-test false positive Self-test false positive - The memory test should use a mask according to the chip type - In the register test, check the port only once and not inside the for loop (not causing a failure - just ugly) Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 326262307bad2391a6393bb1968ed9a9a16fc617 Author: Eilon Greenstein Date: Wed Aug 13 15:51:07 2008 -0700 bnx2x: Memory allocation Memory allocation - The CQE ring was allocated to the max size even for a chip that does not support it. Fixed to allocate according to the chip type to save memory - The rx_page_ring was not freed on driver unload Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3fcaf2e566b9cf8ccd16bcda3440717236de163d Author: Eilon Greenstein Date: Wed Aug 13 15:50:45 2008 -0700 bnx2x: HW attention lock HW attention lock Making sure that only one function will handle the HW attention. This makes the device parameter aeu_mask redundant so it is removed Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4a37fb660c5505e0ee7ae16d80a06e85affe3055 Author: Yitchak Gertner Date: Wed Aug 13 15:50:23 2008 -0700 bnx2x: HW lock mechanism HW lock mechanism Enhancing the HW lock to work per function and not only per port - this is needed for the next patch that protects races over HW attention detection between the different functions. At this chance, changing the functions names to be more inline with the current naming convention Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit da5a662a2326931bef25f0e534c9c1702f862399 Author: Vladislav Zolotarov Date: Wed Aug 13 15:50:00 2008 -0700 bnx2x: Load/Unload under traffic Load/Unload under traffic Few issues were found when loading and unloading under traffic: - When receiving Tx interrupt call netif_wake_queue if the queue is stopped but the state is open - Check that interrupts are enabled before doing anything else on the msix_fp_int function - In nic_load, enable the interrupts only when needed and ready for it - Function stop_leading returns status since it can fail - Add 1ms delay when unloading the driver to validate that there are no open transactions that already started by the FW - Splitting the "has work" function into Tx and Rx so the same function will be used on unload and interrupts - Do not request for WoL if only resetting the device (save the time that it takes the FW to set the link after reset) - Fixing the device reset after iSCSI boot and before driver load - all internal buffers must be cleared before the driver is loaded Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 471de716b782fb55ae0fdc040cf2722caffeeb94 Author: Eilon Greenstein Date: Wed Aug 13 15:49:35 2008 -0700 bnx2x: FW Internal Memory structure FW Internal Memory structure The FW uses data structures on the chip internal memory to aggregate the connections when TPA is enabled. The driver was clearing the wrong offsets and therefore one function could cause another function to loose packets. Changing the initialization of the chip internal memory to clear only the relevant memory for each function which is being loaded Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 66e855f3f5197fec1162c5235fdb5f92b956d618 Author: Yitchak Gertner Date: Wed Aug 13 15:49:05 2008 -0700 bnx2x: Statistics Statistics - Making sure that each drop is accounted for in the driver statistics - Clearing the FW statistics when driver is loaded to prevent inconsistency with HW statistics - Once error is detected (bnx2x_panic_dump), stop the statistics before other actions (currently it is stopped last and can corrupt the data) - Adding HW checksum error counter to the statistics - Removing unused variable stats_ticks - Using macros instead of magic numbers to indicate which statistics are shared per port and which are per function Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1adcd8bee37f494e22aee856467e994ae086ae45 Author: Eilon Greenstein Date: Wed Aug 13 15:48:29 2008 -0700 bnx2x: Not dropping packets with L3/L4 checksum error Not dropping packets with L3/L4 checksum error Those packets should be passed to the OS. The problem is clear in forwarding mode. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 19680c4850c1e5c2b4371388637c7ce86b8570b6 Author: Eilon Greenstein Date: Wed Aug 13 15:47:33 2008 -0700 bnx2x: FW (bootcode) interface fixes FW (bootcode) interface fixes - Making sure that the device will not cause kernel panic of the bootcode is corrupted or missing - Removing module debug parameter "nomcp" since no one should work without the bootcode (this is a left over from the chip bring up days) - Instead of waiting fix amount of time for bootcode response, sample it every 10ms (usually the answer is ready after less than 10ms) Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8d0968abd03ec6b407df117adc773562386702fa Merge: 9ea319b... e491401... Author: Linus Torvalds Date: Wed Aug 13 15:24:35 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: padlock - fix VIA PadLock instruction usage with irq_ts_save/restore() crypto: hash - Add missing top-level functions crypto: hash - Fix digest size check for digest type crypto: tcrypt - Fix AEAD chunk testing crypto: talitos - Add handling for SEC 3.x treatment of link table commit d4766692e72422f3b0f0e9ac6773d92baad07d51 Author: Jarek Poplawski Date: Wed Aug 13 15:20:24 2008 -0700 pkt_sched: Protect gen estimators under est_lock. gen_kill_estimator() required rtnl_lock() protection, but since it is moved to an RCU callback __qdisc_destroy() let's use est_lock instead. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit b9a3b1102bc80b4044224494100f67de132d5448 Author: David S. Miller Date: Wed Aug 13 15:18:38 2008 -0700 pkt_sched: Fix queue quiescence testing in dev_deactivate(). Based upon discussions with Jarek P. and Herbert Xu. First, we're testing the wrong qdisc. We just reset the device queue qdiscs to &noop_qdisc and checking it's state is completely pointless here. We want to wait until the previous qdisc that was sitting at the ->qdisc pointer is not busy any more. And that would be ->qdisc_sleeping. Because of how we propagate the samples qdisc pointer down into qdisc_run and friends via per-cpu ->output_queue and netif_schedule, we have to wait also for the __QDISC_STATE_SCHED bit to clear as well. Signed-off-by: David S. Miller commit 9ea319b61613085f501a79cf8d405cb221d084f3 Merge: 3e11acd... c6a7b0f... Author: Linus Torvalds Date: Wed Aug 13 15:17:49 2008 -0700 Merge git://oss.sgi.com:8090/xfs/linux-2.6 * git://oss.sgi.com:8090/xfs/linux-2.6: (45 commits) [XFS] Fix use after free in xfs_log_done(). [XFS] Make xfs_bmap_*_count_leaves void. [XFS] Use KM_NOFS for debug trace buffers [XFS] use KM_MAYFAIL in xfs_mountfs [XFS] refactor xfs_mount_free [XFS] don't call xfs_freesb from xfs_unmountfs [XFS] xfs_unmountfs should return void [XFS] cleanup xfs_mountfs [XFS] move root inode IRELE into xfs_unmountfs [XFS] stop using file_update_time [XFS] optimize xfs_ichgtime [XFS] update timestamp in xfs_ialloc manually [XFS] remove the sema_t from XFS. [XFS] replace dquot flush semaphore with a completion [XFS] replace inode flush semaphore with a completion [XFS] extend completions to provide XFS object flush requirements [XFS] replace the XFS buf iodone semaphore with a completion [XFS] clean up stale references to semaphores [XFS] use get_unaligned_* helpers [XFS] Fix compile failure in xfs_buf_trace() ... commit 26b284de54a5ca3dfbe2fd9a51ac1923e80085a2 Author: Jarek Poplawski Date: Wed Aug 13 15:16:43 2008 -0700 pkt_sched: Fix oops in htb_delete. Recent changes introduced a bug in htb_delete(): cl->parent->children counter update misses checking cl->parent for NULL, which is used for root classes, so deleting them causes an oops. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 3e11acd4306d558249c31cf6cac09f218f2de52e Merge: 758db3f... 5140934... Author: Linus Torvalds Date: Wed Aug 13 15:16:10 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: rename structs dlm: add missing kfrees commit 64c00d81b5c2491bd140b3c8eb2e8c351513f971 Author: Andrew Gallatin Date: Wed Aug 13 15:16:00 2008 -0700 pktgen: prevent pktgen from using bad tx queue With the new multi-queue transmit code, it is possible to accidentally make pktgen pick a non-existing tx queue simply by using a stale script to drive pktgen. Access to this non-existing tx queue will then trigger a bad memory access and kill the machine. For example, setting "queue_map_max 2" will cause my machine to die when accessing a garbage spinlock in the non-existing tx queue: BUG: spinlock bad magic on CPU#0, kpktgend_0/564 lock: ffff88001ddf6718, .magic: ffffffff, .owner: /-1, .owner_cpu: 0 Pid: 564, comm: kpktgend_0 Not tainted 2.6.27-rc3 #35 Call Trace: [] spin_bug+0xa4/0xac [] _raw_spin_lock+0x23/0x123 [] _spin_lock_bh+0x17/0x1b [] pktgen_thread_worker+0xa97/0x1002 [] ? finish_task_switch+0x38/0x97 [] ? autoremove_wake_function+0x0/0x36 [] ? autoremove_wake_function+0x0/0x36 [] ? pktgen_thread_worker+0x0/0x1002 [] kthread+0x44/0x6d [] child_rip+0xa/0x11 [] ? kthread+0x0/0x6d [] ? child_rip+0x0/0x11 The attached patch adds some sanity checking to prevent these sorts of configuration errors. Signed-off-by: Andrew Gallatin Signed-off-by: David S. Miller commit c2dcfde8274883e1f6050784dcbd34b01e824b91 Author: H. Peter Anvin Date: Wed Aug 13 13:14:22 2008 -0700 x86: cleanup for setup code crashes during IST probe Clean up the code for crashes during SpeedStep probing on older machines. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 758db3f2118703a1e36374dae5d58bed963e7e0d Author: Linus Torvalds Date: Wed Aug 13 14:26:22 2008 -0700 [h8300] move include/asm-h8300 to arch/h8300/include/asm Done as a script (well, a single "git mv" actually) on request from Yoshinori Sato as a way to avoid a huge diff. Requested-by: Yoshinori Sato Cc: Sam Ravnborg Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 3e8a0a559c66ee9e7468195691a56fefc3589740 Author: Arnaldo Carvalho de Melo Date: Wed Aug 13 13:48:39 2008 -0700 dccp: change L/R must have at least one byte in the dccpsf_val field Thanks to Eugene Teo for reporting this problem. Signed-off-by: Eugene Teo Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit c1e24df27fb1058739789126db6ad1b1ef719346 Author: Jean-Christophe DUBOIS Date: Wed Aug 13 13:35:37 2008 -0700 xfrm: remove unnecessary variable in xfrm_output_resume() 2nd try Small fix removing an unnecessary intermediate variable. Signed-off-by: Jean-Christophe DUBOIS Signed-off-by: David S. Miller commit 51409340d240dabe66adb49f645588c3a802d055 Author: David Teigland Date: Thu Jul 31 09:31:53 2008 -0500 dlm: rename structs Add a dlm_ prefix to the struct names in config.c. This resolves a conflict with struct node in particular, when include/linux/node.h happens to be included. Reported-by: Andrew Morton Signed-off-by: David Teigland commit cb980d9a3ec3d39e30e0a4c473df528c09e0dcf3 Author: David Teigland Date: Tue Jul 29 15:21:19 2008 -0500 dlm: add missing kfrees A couple of unlikely error conditions were missing a kfree on the error exit path. Reported-by: Juha Leppanen Signed-off-by: David Teigland commit 2df8b1d656021e180ab93c8a4b2c9c2923d30b82 Author: Arjan van de Ven Date: Wed Jul 30 12:43:11 2008 -0700 lockdep: use WARN() in kernel/lockdep.c Use WARN() instead of a printk+WARN_ON() pair; this way the message becomes part of the warning section for better reporting/collection. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton commit 875e40b97571e1f06d1184ad6cbb2acf9cb31a23 Author: Arjan van de Ven Date: Wed Jul 30 12:26:26 2008 -0700 x86: use WARN() in arch/x86/mm/pageattr.c Use WARN() instead of a printk+WARN_ON() pair; this way the message becomes part of the warning section for better reporting/collection. Signed-off-by: Arjan van de Ven Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Cc: akpm@linux-foundation.org Cc: arjan@linux.intel.com Signed-off-by: Ingo Molnar commit 720b499c806200d06f4f22c668d46db784117089 Author: Artem Bityutskiy Date: Wed Aug 13 16:16:31 2008 +0300 UBIFS: remove unneeded check Commit d70b67c8bc72ee23b55381bd6a884f4796692f77 fixed VFS and it never calls FS lookup function in deleted directories now. We may remove corresponding UBIFS check. Signed-off-by: Artem Bityutskiy commit 0a883a05c54b326bcf99c0902af28dae0386be0a Author: Artem Bityutskiy Date: Wed Aug 13 14:13:26 2008 +0300 UBIFS: few commentary fixes Signed-off-by: Artem Bityutskiy commit a726c6009e6eba4acfccf8b683854866eeabb184 Author: John Keller Date: Tue Jul 29 14:34:16 2008 -0500 x86: allow MMCONFIG above 4GB on x86_64 SGI UV will have MMCFG base addresses that are greater than 4GB (32 bits). v2: Use CONFIG_RESOURCES_64BIT instead of CONFIG_X86_64. v3: Create a flag, that is set by platform specific code, to disable the > 4GB check. Signed-off-by: John Keller Cc: jpk@sgi.com Signed-off-by: Ingo Molnar commit 6b3560229d3b6be7443fa9f9c6502e660bcfef5f Author: Marcin Slusarz Date: Tue Aug 12 23:23:05 2008 +0200 x86: fix 2 section mismatch warnings - find_and_reserve_crashkernel WARNING: vmlinux.o(.text+0xcd1f): Section mismatch in reference from the function find_and_reserve_crashkernel() to the function .init.text:find_e820_area() The function find_and_reserve_crashkernel() references the function __init find_e820_area(). This is often because find_and_reserve_crashkernel lacks a __init annotation or the annotation of find_e820_area is wrong. WARNING: vmlinux.o(.text+0xcd38): Section mismatch in reference from the function find_and_reserve_crashkernel() to the function .init.text:reserve_bootmem_generic() The function find_and_reserve_crashkernel() references the function __init reserve_bootmem_generic(). This is often because find_and_reserve_crashkernel lacks a __init annotation or the annotation of reserve_bootmem_generic is wrong. find_and_reserve_crashkernel is called from __init function (reserve_crashkernel) and calls 2 __init functions (find_e820_area, reserve_bootmem_generic), so mark it __init Signed-off-by: Marcin Slusarz Signed-off-by: Ingo Molnar commit e49140120c88eb99db1a9172d9ac224c0f2bbdd2 Author: Suresh Siddha Date: Wed Aug 13 22:02:26 2008 +1000 crypto: padlock - fix VIA PadLock instruction usage with irq_ts_save/restore() Wolfgang Walter reported this oops on his via C3 using padlock for AES-encryption: ################################################################## BUG: unable to handle kernel NULL pointer dereference at 000001f0 IP: [] __switch_to+0x30/0x117 *pde = 00000000 Oops: 0002 [#1] PREEMPT Modules linked in: Pid: 2071, comm: sleep Not tainted (2.6.26 #11) EIP: 0060:[] EFLAGS: 00010002 CPU: 0 EIP is at __switch_to+0x30/0x117 EAX: 00000000 EBX: c0493300 ECX: dc48dd00 EDX: c0493300 ESI: dc48dd00 EDI: c0493530 EBP: c04cff8c ESP: c04cff7c DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 Process sleep (pid: 2071, ti=c04ce000 task=dc48dd00 task.ti=d2fe6000) Stack: dc48df30 c0493300 00000000 00000000 d2fe7f44 c03b5b43 c04cffc8 00000046 c0131856 0000005a dc472d3c c0493300 c0493470 d983ae00 00002696 00000000 c0239f54 00000000 c04c4000 c04cffd8 c01025fe c04f3740 00049800 c04cffe0 Call Trace: [] ? schedule+0x285/0x2ff [] ? pm_qos_requirement+0x3c/0x53 [] ? acpi_processor_idle+0x0/0x434 [] ? cpu_idle+0x73/0x7f [] ? rest_init+0x61/0x63 ======================= Wolfgang also found out that adding kernel_fpu_begin() and kernel_fpu_end() around the padlock instructions fix the oops. Suresh wrote: These padlock instructions though don't use/touch SSE registers, but it behaves similar to other SSE instructions. For example, it might cause DNA faults when cr0.ts is set. While this is a spurious DNA trap, it might cause oops with the recent fpu code changes. This is the code sequence that is probably causing this problem: a) new app is getting exec'd and it is somewhere in between start_thread() and flush_old_exec() in the load_xyz_binary() b) At pont "a", task's fpu state (like TS_USEDFPU, used_math() etc) is cleared. c) Now we get an interrupt/softirq which starts using these encrypt/decrypt routines in the network stack. This generates a math fault (as cr0.ts is '1') which sets TS_USEDFPU and restores the math that is in the task's xstate. d) Return to exec code path, which does start_thread() which does free_thread_xstate() and sets xstate pointer to NULL while the TS_USEDFPU is still set. e) At the next context switch from the new exec'd task to another task, we have a scenarios where TS_USEDFPU is set but xstate pointer is null. This can cause an oops during unlazy_fpu() in __switch_to() Now: 1) This should happen with or with out pre-emption. Viro also encountered similar problem with out CONFIG_PREEMPT. 2) kernel_fpu_begin() and kernel_fpu_end() will fix this problem, because kernel_fpu_begin() will manually do a clts() and won't run in to the situation of setting TS_USEDFPU in step "c" above. 3) This was working before the fpu changes, because its a spurious math fault which doesn't corrupt any fpu/sse registers and the task's math state was always in an allocated state. With out the recent lazy fpu allocation changes, while we don't see oops, there is a possible race still present in older kernels(for example, while kernel is using kernel_fpu_begin() in some optimized clear/copy page and an interrupt/softirq happens which uses these padlock instructions generating DNA fault). This is the failing scenario that existed even before the lazy fpu allocation changes: 0. CPU's TS flag is set 1. kernel using FPU in some optimized copy routine and while doing kernel_fpu_begin() takes an interrupt just before doing clts() 2. Takes an interrupt and ipsec uses padlock instruction. And we take a DNA fault as TS flag is still set. 3. We handle the DNA fault and set TS_USEDFPU and clear cr0.ts 4. We complete the padlock routine 5. Go back to step-1, which resumes clts() in kernel_fpu_begin(), finishes the optimized copy routine and does kernel_fpu_end(). At this point, we have cr0.ts again set to '1' but the task's TS_USEFPU is stilll set and not cleared. 6. Now kernel resumes its user operation. And at the next context switch, kernel sees it has do a FP save as TS_USEDFPU is still set and then will do a unlazy_fpu() in __switch_to(). unlazy_fpu() will take a DNA fault, as cr0.ts is '1' and now, because we are in __switch_to(), math_state_restore() will get confused and will restore the next task's FP state and will save it in prev tasks's FP state. Remember, in __switch_to() we are already on the stack of the next task but take a DNA fault for the prev task. This causes the fpu leakage. Fix the padlock instruction usage by calling them inside the context of new routines irq_ts_save/restore(), which clear/restore cr0.ts manually in the interrupt context. This will not generate spurious DNA in the context of the interrupt which will fix the oops encountered and the possible FPU leakage issue. Reported-and-bisected-by: Wolfgang Walter Signed-off-by: Suresh Siddha Signed-off-by: Herbert Xu commit c72f4573a5e05e35a31474977f500cbe21dcbb11 Author: Andrew Morton Date: Tue Aug 12 13:27:37 2008 -0700 lockdep: spin_lock_nest_lock(), checkpatch fixes fix: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable #46: FILE: kernel/spinlock.c:326: +EXPORT_SYMBOL(_spin_lock_nest_lock); total: 0 errors, 1 warnings, 26 lines checked Signed-off-by: Andrew Morton Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 73909f7a665991013dcff42a815fda76d3a7300a Merge: d6672c5... 30a2f3c... Author: Ingo Molnar Date: Wed Aug 13 13:56:44 2008 +0200 Merge commit 'v2.6.27-rc3' into core/urgent commit c9d08f0860d47ed6a3fe91d0f19335086179be7b Author: Marcin Slusarz Date: Tue Aug 12 23:23:03 2008 +0200 x86: fix 2 section mismatch warnings - map_high() WARNING: vmlinux.o(.text+0x14cf8): Section mismatch in reference from the function map_high() to the function .init.text:init_extra_mapping_uc() The function map_high() references the function __init init_extra_mapping_uc(). This is often because map_high lacks a __init annotation or the annotation of init_extra_mapping_uc is wrong. WARNING: vmlinux.o(.text+0x14d05): Section mismatch in reference from the function map_high() to the function .init.text:init_extra_mapping_wb() The function map_high() references the function __init init_extra_mapping_wb(). This is often because map_high lacks a __init annotation or the annotation of init_extra_mapping_wb is wrong. map_high is called only from __init functions (map_*_high) and calls 2 __init_functions (init_extra_mapping_*) Signed-off-by: Marcin Slusarz Signed-off-by: Ingo Molnar commit a12e61df4fa1cfae7a6b76976fa65a6fcb048e3f Merge: 7b27718... 30a2f3c... Author: Ingo Molnar Date: Wed Aug 13 13:08:47 2008 +0200 Merge commit 'v2.6.27-rc3' into x86/urgent commit d6672c501852d577097f6757c311d937aca0b04b Author: Ingo Molnar Date: Fri Aug 1 11:23:50 2008 +0200 lockdep: build fix fix: kernel/built-in.o: In function `lockdep_stats_show': lockdep_proc.c:(.text+0x3cb2f): undefined reference to `lockdep_count_forward_deps' kernel/built-in.o: In function `l_show': lockdep_proc.c:(.text+0x3d02b): undefined reference to `lockdep_count_forward_deps' lockdep_proc.c:(.text+0x3d047): undefined reference to `lockdep_count_backward_deps' Signed-off-by: Ingo Molnar commit 318e5313923197e71a94f7b18835151649384b7f Author: Herbert Xu Date: Tue Aug 5 13:34:30 2008 +0800 crypto: hash - Add missing top-level functions The top-level functions init/update/final were missing for ahash. Signed-off-by: Herbert Xu commit dbaaba1d0abf6871c7db6e3d15a46206bc386db1 Author: Herbert Xu Date: Sun Aug 3 21:19:43 2008 +0800 crypto: hash - Fix digest size check for digest type The changeset ca786dc738f4f583b57b1bba7a335b5e8233f4b0 crypto: hash - Fixed digest size check missed one spot for the digest type. This patch corrects that error. Signed-off-by: Herbert Xu commit f176e632efad33aeb2d3c5ddfa86861c0d60553c Author: Herbert Xu Date: Wed Jul 30 16:23:51 2008 +0800 crypto: tcrypt - Fix AEAD chunk testing My changeset 4b22f0ddb6564210c9ded7ba25b2a1007733e784 crypto: tcrpyt - Remove unnecessary kmap/kunmap calls introduced a typo that broke AEAD chunk testing. In particular, axbuf should really be xbuf. There is also an issue with testing the last segment when encrypting. The additional part produced by AEAD wasn't tested. Similarly, on decryption the additional part of the AEAD input is mistaken for corruption. Signed-off-by: Herbert Xu commit f3c85bc1bc72b4cc8d58664a490a9d42bdb6565a Author: Lee Nipper Date: Wed Jul 30 16:26:57 2008 +0800 crypto: talitos - Add handling for SEC 3.x treatment of link table Later SEC revision requires the link table (used for scatter/gather) to have an extra entry to account for the total length in descriptor [4], which contains cipher Input and ICV. This only applies to decrypt, not encrypt. Without this change, on 837x, a gather return/length error results when a decryption uses a link table to gather the fragments. This is observed by doing a ping with size of 1447 or larger with AES, or a ping with size 1455 or larger with 3des. So, add check for SEC compatible "fsl,3.0" for using extra link table entry. Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 7b27718bdb1b70166383dec91391df5534d449ee Author: Joerg Roedel Date: Wed Aug 13 10:07:05 2008 +0200 x86: fix setup code crashes on my old 486 box yesterday I tried to reactivate my old 486 box and wanted to install a current Linux with latest kernel on it. But it turned out that the latest kernel does not boot because the machine crashes early in the setup code. After some debugging it turned out that the problem is the query_ist() function. If this interrupt with that function is called the machine simply locks up. It looks like a BIOS bug. Looking for a workaround for this problem I wrote the attached patch. It checks for the CPUID instruction and if it is not implemented it does not call the speedstep BIOS function. As far as I know speedstep should be available since some Pentium earliest. Alan Cox observed that it's available since the Pentium II, so cpuid levels 4 and 5 can be excluded altogether. H. Peter Anvin cleaned up the code some more: > Right in concept, but I dislike the implementation (duplication of the > CPU detect code we already have). Could you try this patch and see if > it works for you? which, with a small modification to fix a build error with it the resulting kernel boots on my machine. Signed-off-by: Joerg Roedel Signed-off-by: "H. Peter Anvin" Cc: Signed-off-by: Ingo Molnar commit 0ed89b06e49c326bff81d81f24b9ba955eb912d5 Author: Johannes Weiner Date: Wed Aug 13 10:17:24 2008 +0200 x86: propagate new nonpanic bootmem macros to CONFIG_HAVE_ARCH_BOOTMEM_NODE Commit 74768ed833344b "page allocator: use no-panic variant of alloc_bootmem() in alloc_large_system_hash()" introduced two new _nopanic macros which are undefined for CONFIG_HAVE_ARCH_BOOTMEM_NODE. Signed-off-by: Johannes Weiner Acked-by: "Jan Beulich" Signed-off-by: Ingo Molnar commit 36723873b664fb6b5cfe06d291df948126e43f50 Author: Jamal Hadi Salim Date: Wed Aug 13 02:41:45 2008 -0700 net-sched: fix Action flushing return code Flushing must consistently return ENOMEM on failure of any allocation Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit f97017cdefefdb6a0e19266024b0c6f9fd411eeb Author: Jamal Hadi Salim Date: Wed Aug 13 02:41:22 2008 -0700 net-sched: Fix actions flushing Flushing of actions has been broken since we changed the semantics of netlink parsed tb[X] to mean X is an attribute type. This makes the flushing work. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 55546ac45dfb4087437bedaed43400630c96680e Author: Michael Hennerich Date: Wed Aug 13 17:41:13 2008 +0800 Blackfin arch: workaround SIC_IWR1 reset bug, by keeping MDMA0/1 always enabled in SIC_IWR1. This way we ensure that reboot succeeds. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 34093d055e09d1bb549efc11c8d448373437bbe4 Author: Julien Brunel Date: Wed Aug 13 02:40:48 2008 -0700 net/rxrpc: Use an IS_ERR test rather than a NULL test In case of error, the function rxrpc_get_transport returns an ERR pointer, but never returns a NULL pointer. So after a call to this function, a NULL test should be replaced by an IS_ERR test. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @correct_null_test@ expression x,E; statement S1, S2; @@ x = rxrpc_get_transport(...) <... when != x = E if ( ( - x@p2 != NULL + ! IS_ERR ( x ) | - x@p2 == NULL + IS_ERR( x ) ) ) S1 else S2 ...> ? x = E; // Signed-off-by: Julien Brunel Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 317900cb010f4aca0e3cb14a02d0ddcc44ddafa7 Author: Jamal Hadi Salim Date: Wed Aug 13 02:39:56 2008 -0700 wext: Send name on events In the minimal the wireless extensions oughta send at least the name in addition to the ifindex. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 6bf90b2bf4084a64bbcf96a0b93dc64c77288028 Author: Rami Rosen Date: Wed Aug 13 02:35:39 2008 -0700 ipv6: Kill unused ip6_prohibit_entry and ip6_blk_hole_entry declarations. This patch removes ip6_prohibit_entry and ip6_blk_hole_entry declarations from include/net/ip6_route.h as they are unused. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 83ac794f15d2311d8e9e641c73618011f2f7f0a1 Author: Rami Rosen Date: Wed Aug 13 02:34:39 2008 -0700 ipv6: ip6_route.h cleanup. This patch removes rt6_lock declaration from include/net/ip6_route.h as it is unused. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 6ced0b3f1e1c089caf8798485423a093744b6a48 Author: Andrew Morton Date: Wed Aug 13 02:32:06 2008 -0700 net/tipc/subscr.c: don't use ___constant_swab32 It's an internal implementation detail which we _should_ be free to change. So we did, and it promptly broke. The compiler shold be able to work out when to use the __constant version anyway. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 83f36f3f35f4f83fa346bfff58a5deabc78370e5 Author: David S. Miller Date: Wed Aug 13 02:13:34 2008 -0700 pkt_sched: Add queue stopped test back to qdisc_run(). Based upon a bug report by Andrew Gallatin on netdev with subject "CPU utilization increased in 2.6.27rc" In commit 37437bb2e1ae8af470dfcd5b4ff454110894ccaf ("pkt_sched: Schedule qdiscs instead of netdev_queue.") the test of the queue being stopped was erroneously removed from qdisc_run(). When the TX queue of the device fills up, this omission causes lots of extraneous useless work to be queued up to softirq context, where we'll just return immediately because the device is still stuffed up. Signed-off-by: David S. Miller commit 5e0115e500fe9dd2ca11e6f92db9123204f1327a Author: Brian Haley Date: Wed Aug 13 01:58:57 2008 -0700 ipv6: Fix OOPS, ip -f inet6 route get fec0::1, linux-2.6.26, ip6_route_output, rt6_fill_node+0x175 Alexey Dobriyan wrote: > On Thu, Aug 07, 2008 at 07:00:56PM +0200, John Gumb wrote: >> Scenario: no ipv6 default route set. > >> # ip -f inet6 route get fec0::1 >> >> BUG: unable to handle kernel NULL pointer dereference at 00000000 >> IP: [] rt6_fill_node+0x175/0x3b0 >> EIP is at rt6_fill_node+0x175/0x3b0 > > 0xffffffff80424dd3 is in rt6_fill_node (net/ipv6/route.c:2191). > 2186 } else > 2187 #endif > 2188 NLA_PUT_U32(skb, RTA_IIF, iif); > 2189 } else if (dst) { > 2190 struct in6_addr saddr_buf; > 2191 ====> if (ipv6_dev_get_saddr(ip6_dst_idev(&rt->u.dst)->dev, > ^^^^^^^^^^^^^^^^^^^^^^^^ > NULL > > 2192 dst, 0, &saddr_buf) == 0) > 2193 NLA_PUT(skb, RTA_PREFSRC, 16, &saddr_buf); > 2194 } The commit that changed this can't be reverted easily, but the patch below works for me. Fix NULL de-reference in rt6_fill_node() when there's no IPv6 input device present in the dst entry. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 5acd6ff8ac09eb71f3aef2ccccefab658be8aff4 Author: Zoltan Sogor Date: Tue Aug 12 13:54:54 2008 +0300 UBIFS: fix budgeting request alignment in xattr code Data length has to be aligned in the budgeting request. Code in xattr.c did not do this. Signed-off-by: Zoltan Sogor Signed-off-by: Artem Bityutskiy commit 840dc6b891d521f18bf081bd5a32e4a1f8110abc Author: Artem Bityutskiy Date: Fri Aug 1 18:13:37 2008 +0300 UBIFS: improve arguments checking in debugging messages Use "if (0) printk()" construct in debugging print macros to make the debugging messages be checked even if debugging is off. This patch also removes some unneeded spaces and blank lines. Signed-off-by: Artem Bityutskiy commit 81ffa38e1558f54db190e2d11e7260ab09c4acf2 Author: Adrian Hunter Date: Fri Aug 1 15:35:08 2008 +0300 UBIFS: always set i_generation to 0 UBIFS does not presently re-use inode numbers, so leaving i_generation zero is most appropriate for now. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit 3a13252c6f3a029ac992a36910e945f361482797 Author: Adrian Hunter Date: Wed Jul 30 12:18:02 2008 +0300 UBIFS: correct spelling of "thrice". Signed-off-by: Adrian Hunter commit 22bc7fa8c5da09805edc6a6199ce81373b2c207d Author: Zoltan Sogor Date: Mon Jul 28 16:28:49 2008 +0200 UBIFS: support splice_write Signed-off-by: Zoltan Sogor Signed-off-by: Artem Bityutskiy commit 0010f18afc5f8ba25e1d20e3165894c32a65af02 Author: Artem Bityutskiy Date: Fri Jul 25 16:39:44 2008 +0300 UBIFS: minor tweaks in commit No functional changes, just lessen the amount of indentations. Signed-off-by: Artem Bityutskiy commit b364b41aeb0289be402be83eebca92eb90bfcb8b Author: Artem Bityutskiy Date: Fri Jul 25 14:38:51 2008 +0300 UBIFS: reserve more space for index At the moment UBIFS reserves twice old index size space for the index. But this is not enough in some cases, because if the indexing node are very fragmented and there are many small gaps, while the dirty index has big znodes - in-the-gaps method would fail. Thus, reserve trise as more, in which case we are guaranteed that we can commit in any case. Signed-off-by: Artem Bityutskiy commit 1de9415906bccab51fb74c6adf575948610f0909 Author: Artem Bityutskiy Date: Fri Jul 25 12:58:38 2008 +0300 UBIFS: print pid in dump function Useful when something fails and there are many processes racing. Signed-off-by: Artem Bityutskiy commit dab4b4d2f915a65022343012a795f4ae4ae7e83c Author: Artem Bityutskiy Date: Thu Jul 24 14:52:45 2008 +0300 UBIFS: align inode data to eight UBIFS aligns node lengths to 8, so budgeting has to do the same. Well, direntry, inode, and page budgets are already aligned, but not inode data budget (e.g., data in special devices or symlinks). Do this for inode data as well. Also, add corresponding debugging checks. Signed-off-by: Artem Bityutskiy commit 547000da6412c45456ff2ff44a171d01027bd727 Author: Artem Bityutskiy Date: Thu Jul 24 14:42:05 2008 +0300 UBIFS: improve budgeting checks Budgeting is a crucial UBIFS subsystem - add more assertions to improve requests checking. This is not compiled in when UBIFS debugging is disabled. Signed-off-by: Artem Bityutskiy commit f769108424a19c7758546d1d7d19f098b1a33759 Author: Adrian Hunter Date: Wed Jul 23 16:55:55 2008 +0300 UBIFS: correct orphan deletion order The debug function that checks orphans, does so using the TNC mutex. That means it will not see a correct picture if the inode is removed from the orphan tree before it is removed from TNC. Signed-off-by: Adrian Hunter commit 7d62ff2c396470bb62a3853f14d3962eac1da974 Author: Adrian Hunter Date: Wed Jul 23 15:48:39 2008 +0300 UBIFS: fix typos in comments Signed-off-by: Adrian Hunter commit bc813355c704e5916a86dd4b96fd226bfa3fc6ca Author: Adrian Hunter Date: Wed Jul 23 15:23:11 2008 +0300 UBIFS: do not union creat_sqnum and del_cmtno The values in these two fields need to be preserved independently and so a union cannot be used. Signed-off-by: Adrian Hunter commit de94eb558b542873d3f6f9ede1b8575fb5662248 Author: Artem Bityutskiy Date: Tue Jul 22 13:06:20 2008 +0300 UBIFS: optimize deletions Every time anything is deleted, UBIFS writes the deletion inode node twice - once in 'ubifs_jnl_update()' and the second time in 'ubifs_jnl_write_inode()'. However, the second write is not needed if no commit happened after 'ubifs_jnl_update()'. This patch checks that condition and avoids writing the deletion inode for the second time. Signed-off-by: Artem Bityutskiy commit 014eb04b03202dc75c1c749df4246d98045f5e69 Author: Artem Bityutskiy Date: Mon Jul 21 17:14:29 2008 +0300 UBIFS: increment commit number earlier Increment the commit number at the beginnig of the commit, instead of doing this after the commit. This is needed for further optimizations. Signed-off-by: Artem Bityutskiy commit fd6c6b51e3677937090314b20b00f2194900d81b Author: Artem Bityutskiy Date: Tue Jul 22 12:19:09 2008 +0300 UBIFS: remove another unneeded function parameter The 'last_reference' parameter of 'pack_inode()' is not really needed because 'inode->i_nlink' may be tested instead. Zap it. Signed-off-by: Artem Bityutskiy commit 1f28681ad34a0c7e51dc5070c84b53f7bd34f44c Author: Artem Bityutskiy Date: Tue Jul 22 12:06:13 2008 +0300 UBIFS: remove unneeded function parameter Simplify 'ubifs_jnl_write_inode()' by removing the 'deletion' parameter which is not really needed because we may test inode->i_nlink and check whether this is a deletion or not. Signed-off-by: Artem Bityutskiy commit fbfa6c884aae2aff479eb8c996c564b1a34eae30 Author: Artem Bityutskiy Date: Tue Jul 22 11:52:52 2008 +0300 UBIFS: do not write orphans back Orphan inodes are deleted inodes which will disappear after FS re-mount. There is not need to write orphan inodes back, because they are not needed on the flash media. So optimize orphans a little by not writing them back. Just mark them as clean, free the budget, and report success to VFS. Signed-off-by: Artem Bityutskiy commit ff46d7b3e0870a70331b069372c36fbc43018c2d Author: Adrian Hunter Date: Mon Jul 21 15:39:05 2008 +0300 UBIFS: make ubifs_ro_mode() not inline We use ubifs_ro_mode() quite a lot, and not in fast-path, so there is no reason to blow the code up by having it inlined. Also, we usually want R/O mode change to be seen to other CPUs as soon as possible, so when we make this a function call, we will automatically have a memory barrier. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit 2fb42b11f61cbcef7dfc225c1d26c4511436583d Author: Adrian Hunter Date: Fri Jul 18 17:56:37 2008 +0300 UBIFS: ensure UBIFS switches to read-only on error UBI transparently handles write errors by automatically copying and remapping the affected eraseblock. If UBI is unable to do that, for example its pool of eraseblocks reserved for bad block handling is empty, then the error is propagated to UBIFS. UBIFS must protect the media from falling into an inconsistent state by immediately switching to read-only mode. In the case of log updates, this was not being done. Signed-off-by: Adrian Hunter commit 16dfd804b44ef7156d1c201f100bd0d9dc6b7c4b Author: Adrian Hunter Date: Fri Jul 18 16:47:41 2008 +0300 UBIFS: fix error return in failure mode UBIFS recovery testing debug facility simulates media failures. When simulating an IO error, the error code returned must be -EIO but it was not always if the user switched off the debug recovery testing option at the same time. Signed-off-by: Adrian Hunter commit 1e0f358e29cc91c8eb09e10cbf1f6bb58a62c795 Author: Artem Bityutskiy Date: Mon Jul 21 10:59:53 2008 +0300 UBIFS: free budget in delete_inode as well Although the inode is marked as clean when it is being deleted, it might stay and be used as orphan, and be marked as dirty. So we have to free the budget when we delete it. Signed-off-by: Artem Bityutskiy commit 7d32c2bb143fa1ca3b0c420feb08a832d65395be Author: Artem Bityutskiy Date: Fri Jul 18 18:54:29 2008 +0300 UBIFS: improve debugging 1. Print inode mode in some of debugging messages 2. Add few more useful assertions Signed-off-by: Artem Bityutskiy commit 182854b46f9feb6f1b03abe747bb2beeebf2adb0 Author: Artem Bityutskiy Date: Fri Jul 18 18:54:29 2008 +0300 UBIFS: fix budgeting calculations The 'ubifs_release_dirty_inode_budget()' was buggy and incorrectly freed the budget, which led to not freeing all dirty data budget. This patch fixes that. Also, this patch fixes ubifs_mkdir() which passed 1 in dirty_ino_d, which makes no sense. Well, it is harmless though. Also, add few more useful assertions. And improve few debugging messages. Signed-off-by: Artem Bityutskiy commit ce769caa50a3fc835b4fc1a6e1463ada127a2e8a Author: Artem Bityutskiy Date: Fri Jul 18 12:54:21 2008 +0300 UBIFS: print volume name as well We encouredge people to mount using volume name, not device numbers. So print the name of the mounted UBI volume, not just IDs. Signed-off-by: Artem Bityutskiy commit 2e244d08369b510923fe8290d40d51b0e88bfebe Author: Sebastian Siewior Date: Thu Jul 17 14:16:09 2008 +0200 Documentation: fix typo in ubifs.txt Signed-off-by: Sebastian Siewior Signed-off-by: Artem Bityutskiy commit c6a7b0f8a49aa71792dd108efc535435f462bf79 Author: Lachlan McIlroy Date: Wed Aug 13 16:52:50 2008 +1000 [XFS] Fix use after free in xfs_log_done(). The ticket allocation code got reworked in 2.6.26 and we now free tickets whereas before we used to cache them so the use-after-free went undetected. SGI-PV: 985525 SGI-Modid: xfs-linux-melb:xfs-kern:31877a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit c94312de223644e2f18e7064ae8cafa14e5c6ef6 Author: Ruben Porras Date: Wed Aug 13 16:52:25 2008 +1000 [XFS] Make xfs_bmap_*_count_leaves void. xfs_bmap_count_leaves and xfs_bmap_disk_count_leaves always return always 0, make them void. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31844a Signed-off-by: Ruben Porras Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit 5695ef46ef02ba1c6658daa46e6879a2d4f52f5f Author: Lachlan McIlroy Date: Wed Aug 13 16:51:57 2008 +1000 [XFS] Use KM_NOFS for debug trace buffers Use KM_NOFS to prevent recursion back into the filesystem which can cause deadlocks. In the case of xfs_iread() we hold the lock on the inode cluster buffer while allocating memory for the trace buffers. If we recurse back into XFS to flush data that may require a transaction to allocate extents which needs log space. This can deadlock with the xfsaild thread which can't push the tail of the log because it is trying to get the inode cluster buffer lock. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31838a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit d62c251fe4a06144255291cffd68cbadf3bf002f Author: Christoph Hellwig Date: Wed Aug 13 16:51:29 2008 +1000 [XFS] use KM_MAYFAIL in xfs_mountfs Use KM_MAYFAIL for the m_perag allocation, we can deal with the error easily and blocking forever during mount is not a good idea either. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31837a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ff4f038c6bbb27044a84adbcd27bc237d7237e66 Author: Christoph Hellwig Date: Wed Aug 13 16:50:47 2008 +1000 [XFS] refactor xfs_mount_free xfs_mount_free mostly frees the perag data, which is something that is duplicated in the mount error path. Move the XFS_QM_DONE call to the caller and remove the useless mutex_destroy/spinlock_destroy calls so that we can re-use it for the mount error path. Also rename it to xfs_free_perag to reflect what it does. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31836a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 6203300e5e9121440b27d3ed0b9fe2a64cb62b53 Author: Christoph Hellwig Date: Wed Aug 13 16:50:21 2008 +1000 [XFS] don't call xfs_freesb from xfs_unmountfs xfs_readsb is called before xfs_mount so xfs_freesb should be called after xfs_unmountfs, too. This means it now happens after a few things during the of xfs_unmount which all have nothing to do with the superblock. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31835a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 41b5c2e77a0221cf07ac127afa122add67ac5418 Author: Christoph Hellwig Date: Wed Aug 13 16:49:57 2008 +1000 [XFS] xfs_unmountfs should return void xfs_unmounts can't and shouldn't return errors so declare it as returning void. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31833a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4249023a5d14f28d4e68ba15d24d25c0e5be71a6 Author: Christoph Hellwig Date: Wed Aug 13 16:49:32 2008 +1000 [XFS] cleanup xfs_mountfs Remove all the useless flags and code keyed off it in xfs_mountfs. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31831a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 77508ec8e6ed72c9ba8ca74248a7aabd664e3f57 Author: Christoph Hellwig Date: Wed Aug 13 16:49:04 2008 +1000 [XFS] move root inode IRELE into xfs_unmountfs The root inode is allocated in xfs_mountfs so it should be release in xfs_unmountfs. For the unmount case that means we do it after the the xfs_sync(mp, SYNC_WAIT | SYNC_CLOSE) in the forced shutdown case and the dmapi unmount event. Note that both reference the rip variable which might be freed by that time in case inode flushing has kicked in, so strictly speaking this might count as a bug fix SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31830a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 3a76c1ea07ee4e9da7c8e476e43be7e1b2bf24fb Author: Christoph Hellwig Date: Wed Aug 13 16:48:12 2008 +1000 [XFS] stop using file_update_time xfs_ichtime updates the xfs_inode and Linux inode timestamps just fine, no need to call file_update_time and then copy the values over to the XFS inode. The only additional thing in file_update_time are checks not applicable to the write path. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31829a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit 8e5975c82f66bce36955f38e9abc259d5143a72a Author: Christoph Hellwig Date: Wed Aug 13 16:45:13 2008 +1000 [XFS] optimize xfs_ichgtime Port a little optmization from file_update_time to xfs_ichgtime, and only update the timestamp and mark the inode dirty if the timestamp actually changes in the timer tick resultion supported by the running kernel. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31827a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit dff35fd41f252476cba7f761d7204dd9f47d739e Author: Christoph Hellwig Date: Wed Aug 13 16:44:15 2008 +1000 [XFS] update timestamp in xfs_ialloc manually In xfs_ialloc we just want to set all timestamps to the current time. We don't need to mark the inode dirty like xfs_ichgtime does, and we don't need nor want the opimizations in xfs_ichgtime that I will introduce in the next patch. So just opencode the timestamp update in xfs_ialloc, and remove the new unused XFS_ICHGTIME_ACC case in xfs_ichgtime. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31825a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ab4a9b04a33c97dd17495f943447f5a15ecf2b51 Author: David Chinner Date: Wed Aug 13 16:42:10 2008 +1000 [XFS] remove the sema_t from XFS. Now that all users of the sema_t are gone from XFS we can finally kill it. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31823a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit e1f49cf20cea18e3d1963939fe8612a75e319fbd Author: David Chinner Date: Wed Aug 13 16:41:43 2008 +1000 [XFS] replace dquot flush semaphore with a completion Use the new completion flush code to implement the dquot flush lock. Removes one of the final users of semaphores in the XFS code base. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31822a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit c63942d3eeffb98219e05d0976862ab9907d297d Author: David Chinner Date: Wed Aug 13 16:41:16 2008 +1000 [XFS] replace inode flush semaphore with a completion Use the new completion flush code to implement the inode flush lock. Removes one of the final users of semaphores in the XFS code base. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31817a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 39d2f1ab2a36ac527a6c41cfe689f50c239eaca3 Author: David Chinner Date: Wed Aug 13 16:40:43 2008 +1000 [XFS] extend completions to provide XFS object flush requirements XFS object flushing doesn't quite match existing completion semantics. It mixed exclusive access with completion. That is, we need to mark an object as being flushed before flushing it to disk, and then block any other attempt to flush it until the completion occurs. We do this but adding an extra count to the completion before we start using them. However, we still need to determine if there is a completion in progress, and allow no-blocking attempts fo completions to decrement the count. To do this we introduce: int try_wait_for_completion(struct completion *x) returns a failure status if done == 0, otherwise decrements done to zero and returns a "started" status. This is provided to allow counted completions to begin safely while holding object locks in inverted order. int completion_done(struct completion *x) returns 1 if there is no waiter, 0 if there is a waiter (i.e. a completion in progress). This replaces the use of semaphores for providing this exclusion and completion mechanism. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31816a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit b4dd330b9e0c9c78ebff754e72563b148f05e9e0 Author: David Chinner Date: Wed Aug 13 16:36:11 2008 +1000 [XFS] replace the XFS buf iodone semaphore with a completion The xfs_buf_t b_iodonesema is really just a semaphore that wants to be a completion. Change it to a completion and remove the last user of the sema_t from XFS. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31815a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 12017faf387437c01ff63bbe46b629550b15bd70 Author: David Chinner Date: Wed Aug 13 16:34:31 2008 +1000 [XFS] clean up stale references to semaphores A lot of code has been converted away from semaphores, but there are still comments that reference semaphore behaviour. The log code is the worst offender. Update the comments to reflect what the code really does now. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31814a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 597bca6378e0273a5d16346c941cab1ec2e0116d Author: Harvey Harrison Date: Wed Aug 13 16:29:21 2008 +1000 [XFS] use get_unaligned_* helpers SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31813a Signed-off-by: Harvey Harrison Signed-off-by: Lachlan McIlroy commit d63f154a36c4ec7c2826874371887cecae375ebb Author: Lachlan McIlroy Date: Wed Aug 13 16:28:40 2008 +1000 [XFS] Fix compile failure in xfs_buf_trace() SGI-PV: 957103 SGI-Modid: xfs-linux-melb:xfs-kern:31804a Signed-off-by: Lachlan McIlroy commit 169d6227a71da125913c69c381643a8ae89da62d Author: Christoph Hellwig Date: Wed Aug 13 16:25:27 2008 +1000 [XFS] Use the same btree_cur union member for alloc and inobt trees. The alloc and inobt btree use the same agbp/agno pair in the btree_cur union. Make them use the same bc_private.a union member so that code for these two short form btree implementations can be shared. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31788a Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit cdcf43335cbb2380e533441e007e0c4ec42634d5 Author: Christoph Hellwig Date: Wed Aug 13 16:23:50 2008 +1000 [XFS] small cleanups in xfs_btree.c Remove unneeded xfs_btree_get_block forward declaration. Move xfs_btree_firstrec next to xfs_btree_lastrec. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31787a Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 41be8bed1f3168f34386f3a15d63682cfd586b8e Author: Christoph Hellwig Date: Wed Aug 13 16:23:13 2008 +1000 [XFS] sanitize xfs_initialize_vnode Sanitize setting up the Linux indode. Setting up the xfs_inode <-> inode link is opencoded in xfs_iget_core now because that's the only place it needs to be done, xfs_initialize_vnode is renamed to xfs_setup_inode and loses all superflous paramaters. The check for I_NEW is removed because it always is true and the di_mode check moves into xfs_iget_core because it's only needed there. xfs_set_inodeops and xfs_revalidate_inode are merged into xfs_setup_inode and the whole things is moved into xfs_iops.c where it belongs. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31782a Signed-off-by: Christoph Hellwig Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 5ec7f8c7d14a3ea6bf920b3350f5c5d3527cb837 Author: Christoph Hellwig Date: Wed Aug 13 16:22:40 2008 +1000 [XFS] kill bhv_vnode_t All remaining bhv_vnode_t instance are in code that's more or less Linux specific. (Well, for xfs_acl.c that could be argued, but that code is on the removal list, too). So just do an s/bhv_vnode_t/struct inode/ over the whole tree. We can clean up variable naming and some useless helpers later. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31781a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit df80c933f9eb01a7af3812bbe437e38205386304 Author: Christoph Hellwig Date: Wed Aug 13 16:22:09 2008 +1000 [XFS] remove some easy bhv_vnode_t instances In various places we can just move a VFS_I call into the argument list of called functions/macros instead of having a local bhv_vnode_t. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31776a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit e1cccd917be7364f81b5dc4e33ee3a6e0db21a99 Author: Christoph Hellwig Date: Wed Aug 13 16:18:07 2008 +1000 [XFS] kill xfs_lock_dir_and_entry When multiple inodes are locked in XFS it happens in order of the inode number, with the everything but the first inode trylocked if any of the previous inodes is in the AIL. Except for the sorting of the inodes this logic is implemented in xfs_lock_inodes, but also partially duplicated in xfs_lock_dir_and_entry in a particularly stupid way adds a lock roundtrip if the inode ordering is not optimal. This patch adds a new helper xfs_lock_two_inodes that takes two inodes and locks them in the most optimal way according to the above locking protocol and uses it for all places that want to lock two inodes. The only caller of xfs_lock_inodes is xfs_rename which might lock up to four inodes. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31772a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit 1550d0b0b08bc34c0c37a86bd884b1a70782104e Author: Christoph Hellwig Date: Wed Aug 13 16:17:37 2008 +1000 [XFS] kill INDUCE_IO_ERROR All the error injection is already enabled through ifdef DEBUG, so kill the never set second cpp symbol to activate it without the rest of the debugging infrastructure. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31771a Signed-off-by: Christoph Hellwig Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 907f49a8f552acc5d75635e86d567f05daf5c0d8 Author: Christoph Hellwig Date: Wed Aug 13 16:13:45 2008 +1000 [XFS] implement IHOLD/IRELE directly Now that all direct calls to VN_HOLD/VN_RELE are gone we can implement IHOLD/IRELE directly. For the IHOLD case also replace igrab with a direct increment of i_count because we are guaranteed to already have a live and referenced inode by the VFS. Also remove the vn_hold statistic because it's been rather meaningless for some time with most references done by other callers. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31764a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 0b1f917730dc2276fadbd9813ac3666abd7b1cbd Author: Christoph Hellwig Date: Wed Aug 13 16:13:09 2008 +1000 [XFS] remove remaining VN_HOLD calls Use IHOLD(ip) instead of VN_HOLD(VFS_I(ip)). SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31765a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 604323ca760beebf00a07153706dcbe7128324e0 Author: Christoph Hellwig Date: Wed Aug 13 16:12:37 2008 +1000 [XFS] remove spurious VN_HOLD/VN_RELE calls from xfs_acl.c All the ACL routines are called from inode operations which are guaranteed to have a referenced inode by the VFS, so there's no need for the ACL code to grab another temporary one. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31763a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 863890cd90e8b213f7028036c6e2200d93223527 Author: Christoph Hellwig Date: Wed Aug 13 16:12:05 2008 +1000 [XFS] kill vn_to_inode bhv_vnode_t is just a typedef for struct inode, so there's no need for a helper to convert between the two. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31761a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit a19d033cd2cc66120f01b370ec081d67b59b7924 Author: Christoph Hellwig Date: Wed Aug 13 16:11:26 2008 +1000 [XFS] Remove vn_from_inode() bhv_vnode_t is just a typedef for struct inode, so there's no need for a helper to convert between the two. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31760a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 39dab9d7daf5f664a3569378107a2cb284c8a594 Author: Eric Sandeen Date: Wed Aug 13 16:10:52 2008 +1000 [XFS] remove shouting-indirection macros from xfs_trans.h SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31758a Signed-off-by: Eric Sandeen Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit db7a2c71d287686eef1d4df1565fa32f89a9fe68 Author: Eric Sandeen Date: Wed Aug 13 16:09:25 2008 +1000 [XFS] convert xfs to use ERR_CAST Looks like somehow xfs got missed in the conversion that took place in e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f, "Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) " SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31757a Signed-off-by: Eric Sandeen Acked-by: David Howells Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: David Howells Signed-off-by: Lachlan McIlroy commit cdeb380aa2ca3b8f8ba3736f2469f5818eadb9aa Author: Eric Sandeen Date: Wed Aug 13 16:07:53 2008 +1000 [XFS] remove INT_GET and friends Thanks to hch's endian work, INT_GET etc are no longer used, and may as well be removed. INT_SET is still used in the acl code, though. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31756a Signed-off-by: Eric Sandeen Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 322ff6b8cd54feb1c4c0426630f3642ab1dd2176 Author: Niv Sardi Date: Wed Aug 13 16:05:49 2008 +1000 [XFS] Move xfs_attr_rolltrans to xfs_trans_roll Move it from the attr code to the transaction code and make the attr code call the new function. We rolltrans is really usefull whenever we want to use rolling transaction, should be generic, it isn't dependent on any part of the attr code anyway. We use this excuse to change all the: if ((error = xfs_attr_rolltrans())) calls into: error = xfs_trans_roll(); if (error) SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31729a Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit a738159df2b97398f960978272944cbdd8f726ef Author: Christoph Hellwig Date: Wed Aug 13 16:04:05 2008 +1000 [XFS] don't leak m_fsname/m_rtname/m_logname Add a helper to free the m_fsname/m_rtname/m_logname allocations and use it properly for all mount failure cases. Also switch the allocations for these to kstrdup while we're at it. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31728a Signed-off-by: Christoph Hellwig Signed-off-by: Niv Sardi Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 5e9da7b7a1edfc75a839b0269935393fa347f38b Author: Niv Sardi Date: Wed Aug 13 16:03:35 2008 +1000 [XFS] Move attr log alloc size calculator to another function. We will need that to be able to calculate the size of log we need for a specific attr (for Create+EA). The local flag is needed so that we can fail if we run into ENOSPC when trying to alloc blocks. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31727a Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit 6785073ba138a2f0dc575c332c1812b713670b6a Author: David Chinner Date: Wed Aug 13 16:02:51 2008 +1000 [XFS] Use KM_NOFS for incore inode extent tree allocation V2 If we allow incore extent tree allocations to recurse into the filesystem under memory pressure, new delayed allocations through xfs_iomap_write_delay() can deadlock on themselves if memory reclaim tries to write back dirty pages from that inode. It will deadlock in xfs_iomap_write_allocate() trying to take the ilock we already hold. This can also show up as complex ABBA deadlocks when multiple threads are triggering memory reclaim when trying to allocate extents. The main cause of this is the fact that delayed allocation is not done in a transaction, so KM_NOFS is not automatically added to the allocations to prevent this recursion. Mark all allocations done for the incore inode extent tree as KM_NOFS to ensure they never recurse back into the filesystem. Version 2: o KM_NOFS implies KM_SLEEP, so just use KM_NOFS SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31726a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit e6064d30c3407db7f8c19d5538ec847b29e47e30 Author: David Chinner Date: Wed Aug 13 16:01:45 2008 +1000 [XFS] XFS: Kill xfs_vtoi() xfs_vtoi() is redundant and only unsed in small sections of code. Replace them with widely used XFS_I() inline and kill xfs_vtoi(). SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31725a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit e4f7529108d01bf66af8ebecd6be2b98d8db30ce Author: David Chinner Date: Wed Aug 13 16:00:45 2008 +1000 [XFS] Kill shouty XFS_ITOV() macro Replace XFS_ITOV() with the new VFS_I() inline. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31724a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 705db4a24e0576f30d736de3c49623b4686ce473 Author: David Chinner Date: Wed Aug 13 15:47:43 2008 +1000 [XFS] kill shouty XFS_ITOV_NULL macro Replace XFS_ITOV_NULL() with the new VFS_I() inline. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31722a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 016516462575d28fab3354f762cad16c86c09116 Author: David Chinner Date: Wed Aug 13 15:45:15 2008 +1000 [XFS] Avoid directly referencing the VFS inode. In several places we directly convert from the XFS inode to the linux (VFS) inode by a simple deference of ip->i_vnode. We should not do this - a helper function should be used to extract the VFS inode from the XFS inode. Introduce the function VFS_I() to extract the VFS inode from the XFS inode. The name was chosen to match XFS_I() which is used to extract the XFS inode from the VFS inode. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31720a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 3790689fa3c771bba6bafb7dee3e8389dd0b55bc Author: Lachlan McIlroy Date: Wed Aug 13 15:42:10 2008 +1000 [XFS] Do not access buffers after dropping reference count We should not access a buffer after dropping it's reference count otherwise we could race with another thread that releases the final reference count and frees the buffer causing us to access potentially unmapped memory. The bug this change fixes only occured on DEBUG XFS since the offending code was in an ASSERT. SGI-PV: 984429 SGI-Modid: xfs-linux-melb:xfs-kern:31715a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit 79071eb0b2f142b9cc6531d04fa2915943938b5e Author: David Chinner Date: Wed Aug 13 15:41:12 2008 +1000 [XFS] Use the generic bitops rather than implementing them ourselves. This keeps xfs_lowbit64 as it was since there aren't good generic helpers there ... Patch inspired by Andi Kleen. SGI-PV: 981498 SGI-Modid: xfs-linux-melb:xfs-kern:31472a Signed-off-by: David Chinner Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit d9dd421fd6ed17af55d27c8d93a9f561be0ff50f Author: Jeremy Kerr Date: Wed Aug 13 11:29:31 2008 +1000 powerpc/spufs: fix npc setting for NOSCHED contexts Currently, spu_run ignores the npc argument for contexts created with SPU_CREATE_NOSCHED. While this is correct for isolated contexts, there's no need to enforce the npc restriction on non-isolated NOSCHED contexts. This means that NOSCHED contexts can only ever run with an entry point of 0x0. This change to spu_run_init allows setting of the npc (and, while we're at it, the privcntl) for non-isolated NOSCHED contexts. This allows us to run NOSCHED contexts from any entry point. Signed-off-by: Jeremy Kerr commit 4f70f7a91bffdcc39f088748dc678953eb9a3fbd Author: David S. Miller Date: Tue Aug 12 18:33:56 2008 -0700 sparc64: Implement IRQ stacks. Signed-off-by: David S. Miller commit e34456825de0d3ac4c4e8fe0bdc6b599404ea06f Author: Stephen Rothwell Date: Tue Aug 12 17:45:23 2008 -0700 sparc: remove include of linux/of_device.h from asm/of_device.h Now that all the direct includes of asm/of_device.h are gone, this is safe to do. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit da1562af624cbf17935c7fded51466bb1a1b63a8 Author: Nicolas Pitre Date: Tue Aug 12 17:13:19 2008 +0100 [ARM] 5194/1: update .gitignore Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 8a5544c887a8682e39c94061c58180e9c44b050b Author: Russell King Date: Tue Aug 12 14:02:23 2008 +0100 [ARM] add proc-macros.S include to proc-arm940 and proc-arm946 ... otherwise these fail to build. Signed-off-by: Russell King commit 61db7fb1c78c32b6abdc5c7965981de332aeaa5b Author: Paul Walmsley Date: Tue Aug 12 00:04:15 2008 +0100 [ARM] 5192/1: ARM TLB: add v7wbi_{possible,always}_flags to {possible,always}_tlb_flags Commit 2ccdd1e77da52ad494e9af46bf272d816830cb28 doesn't add v7wbi_possible_flags and v7wbi_always_flags to possible_tlb_flags and always_tlb_flags. This causes the L2 cache flush in clean_pmd_entry() (intended for Feroceon only) to execute on ARMv7, and the CPU hangs. This patch is required for OMAP3 boards to boot. Signed-off-by: Paul Walmsley Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 751a8ae95d7ab951104bd1bb643e4b8c8ee5fc4d Author: Stefan Schmidt Date: Tue Aug 12 11:15:02 2008 +0100 [ARM] 5193/1: Wire up missing syscalls Setup some missing syscall pointed out by the checksyscalls.sh script. Fix two small whitespace issues while being there. Signed-off-by: Stefan Schmidt Signed-off-by: Russell King commit b03a5b7559563dafdbe52f8b5d8e453a914db941 Author: Russell King Date: Mon Aug 11 12:27:16 2008 +0100 [ARM] traps: don't call undef hook functions with spinlock held Calling the undefined instruction handler functions with a spinlock held is a recipe for must_sleep() warnings. Avoid it. Signed-off-by: Russell King commit f64c0accea433a83261afb81193412146cc0e569 Author: Dmitry Baryshkov Date: Fri Aug 8 23:14:58 2008 +0100 [ARM] 5183/2: Provide Poodle LoCoMo GPIO names Fix Poodle ASoC compilation by providing Poodle LoCoMo GPIO names. Cc: Richard Purdie Cc: Mark Brown Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit c7498081a6f5d96c9f3243b6b5e020352903bfd2 Author: David S. Miller Date: Tue Aug 12 02:03:49 2008 -0700 sparc64: Fix recursion in stack overflow detection handling. The calls down into prom_printf() when we detect an overflowed stack can recurse again since the overflow stack will be "below" the current kernel stack limit. Prevent this by just returning straight if we are on the stack overflow safe stack already. Signed-off-by: David S. Miller commit 987c402ac31988f7ecdb38b657bcfeea5831d479 Author: Gerrit Renker Date: Mon Aug 11 18:17:17 2008 -0700 skbuff: Code readability NiT Inserting a space between the `-' improved the C readability (some languages allow hyphens within functions and variable names, which is confusing). Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 1cfa26661a85549063e369e2b40275eeaa7b923c Author: Jarek Poplawski Date: Mon Aug 11 18:11:06 2008 -0700 pkt_sched: Add BH protection for qdisc_stab_lock. Since qdisc_stab_lock is used in qdisc_put_stab(), which is called in BH context from __qdisc_destroy() RCU callback, softirq safe locking is needed. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 0a37c10ed460872d41259659f7f589edebdc42b7 Merge: 37cc678... e93615d... Author: David S. Miller Date: Mon Aug 11 18:04:35 2008 -0700 Merge branch 'stealer/ipvs/for-davem' of git://git.stealer.net/linux-2.6 commit 54b4602d5fe50571362e101138d24edb9cf82d29 Author: Steve French Date: Mon Aug 11 22:31:40 2008 +0000 [CIFS] remove trailing whitespace Signed-off-by: Steve French commit 2c731afb0d4ba16018b400c75665fbdb8feb2175 Author: Steve French Date: Mon Aug 11 22:28:53 2008 +0000 [CIFS] if get root inode fails during mount, cleanup tree connection CC: Stable Kernel Signed-off-by: Steve French commit 9dd1e9eb5cd6f79d4efda57db4e26dfa31ff9ae5 Author: Andi Kleen Date: Mon Aug 11 23:11:05 2008 +0200 x86/PCI: allow scanning of 255 PCI busses Fix an old off by one error in the legacy PCI bus check. 0xff is a valid bus. Signed-off-by: Andi Kleen Signed-off-by: Jesse Barnes commit 37cc6780170f6f4fc3f9746d6a9bb2da1d999d7b Author: Simon Horman Date: Mon Aug 11 14:33:40 2008 -0700 ipvs: add lvs-devel as a list contact Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit c6ed413ddcfb66e9d3e1318060271391c7659dd3 Author: Stephen Rothwell Date: Mon Aug 11 14:30:53 2008 -0700 sparc/drivers: use linux/of_device.h instead of asm/of_device.h Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit e93615d0866a974afc7148172f8382e2af48c985 Author: Simon Horman Date: Mon Aug 11 17:19:14 2008 +1000 ipvs: Explictly clear ip_vs_stats members In order to align the coding styles of ip_vs_zero_stats() and its child-function ip_vs_zero_estimator(), clear ip_vs_stats members explicitlty rather than doing a limited memset(). This was chosen over modifying ip_vs_zero_estimator() to use memset() as it is more robust against changes in members in the relevant structures. memset() would be prefered if all members of the structure were to be cleared. Cc: Sven Wegener Signed-off-by: Simon Horman Signed-off-by: Sven Wegener commit 519e49e888458649dde453d36c08b7f3432525dc Author: Sven Wegener Date: Sun Aug 10 18:24:41 2008 +0000 ipvs: No need to zero out ip_vs_stats during initialization It's a global variable and automatically initialized to zero. And now we can also initialize the lock at compile time. Signed-off-by: Sven Wegener Acked-by: Simon Horman commit 3a14a313f9b406c37ab7e3f855b060eb8587b8c7 Author: Sven Wegener Date: Sun Aug 10 18:24:41 2008 +0000 ipvs: Embed estimator object into stats object There's no reason for dynamically allocating an estimator object for every stats object. Directly embed an estimator object into every stats object and switch to using the kernel-provided list implementation. This makes the code much simpler and faster, as we do not need to traverse the list of all estimators to find the one belonging to a stats object. There's no need to use an rwlock, as we only have one reader. Also reorder the members of the estimator structure slightly to avoid padding overhead. This can't be done with the stats object as the members are currently copied to our user space object via memcpy() and changing it would break ABI. Signed-off-by: Sven Wegener Acked-by: Simon Horman commit 9b9d6b2a4f6df5544a10de44760755fe757259e5 Author: Takashi YOSHII Date: Mon Aug 11 20:12:52 2008 +0900 sh: Provide a FLAT_PLAT_INIT() definition. SH needs this in order to make sure that r4 has a sane value at process entry time, which the libc expects has already been taken care of. Fixes random crashes in flat binaries. Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt commit 74c27c43ebd020fcb65364613503f6c08dc6f535 Author: Takashi YOSHII Date: Mon Aug 11 20:10:54 2008 +0900 binfmt_flat: Stub in a FLAT_PLAT_INIT(). This provides a FLAT_PLAT_INIT() arch hook for platforms that need to set up specific register state prior to calling in to the process, as per ELF_PLAT_INIT(). Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt commit ce9c008c8bea25a974d9027b7c6602d535639899 Author: Magnus Damm Date: Mon Aug 11 15:26:00 2008 +0900 video: export sh_mobile_lcdc panel size Export the LCD panel size for sh_mobile_lcdc boards. This allows us to perform dpi and screen aspect ratio calculations in user space. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0c13bf1e7c98668ce69eaedd215ec32f9e1361ae Author: Magnus Damm Date: Mon Aug 11 15:13:24 2008 +0900 sh: select memchunk size using kernel cmdline Allow user to pass parameters on kernel command line to override default size for physically contiguous memory buffers. The default VPU buffer size is too small for VGA harware encoding, but instead of just bumping up the number we allow the user to override the default size using the command line. Supports SuperH Mobile hardware blocks such as VEU, VPU and CEU. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2a5323cd69ff485c1b68960f2b4802cf252558f1 Author: Magnus Damm Date: Mon Aug 11 14:59:03 2008 +0900 sh: export sh7723 VEU as VEU2H Export sh7723 VEU hardware blocks as VEU2H. The sh7723 VEU2H differs a bit from the sh7722 VEU so use different names for our UIO devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b6ce9ad05f782e6a00aed8432d9513dc394115ce Author: Magnus Damm Date: Mon Aug 11 14:53:49 2008 +0900 input: migor_ts compile and detection fix The i2c layer got changed while the migor_ts driver was in the input tree waiting to get merged upstream. Fix current compile issue by using struct i2c_client member "name" instead of "driver_name". Also, add id_table to make sure the device gets properly detected. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2fc91882c24908f5f785ed094cfe74214c44af8d Author: Magnus Damm Date: Mon Aug 11 14:52:46 2008 +0900 sh: remove MSTPCR defines from Migo-R header file Remove MSTPCR register definitions from Migo-R header file. The clock frame work should be used instead of direct register access. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a66b44b103755ecad84b4817c4e3253234d2b03d Author: Nobuhiro Iwamatsu Date: Fri Aug 8 14:30:13 2008 +0900 sh: Update sh7763rdp defconfig Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 674063c5a5461e39c0eb0b33570d467708ec0ecd Author: Nobuhiro Iwamatsu Date: Fri Aug 8 14:30:06 2008 +0900 sh: Add support sh7760fb to sh7763rdp board Add sh7760fb platform device to sh7763rdp's setup. Signed-off-by: Paul Mundt commit 0a766a6b7dd9f3d15c32d724555d954dc6bb020d Author: Nobuhiro Iwamatsu Date: Fri Aug 8 14:29:58 2008 +0900 sh: Add support sh_eth to sh7763rdp board SH7763 has sh_eth device. This patch add sh_eth platform device to this board. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 68b7c24cf9c699ed93c4a70f958b5bb3943723bc Author: Paul Mundt Date: Wed Aug 6 15:10:49 2008 +0900 sh: Disable 64kB hugetlbpage size when using 64kB PAGE_SIZE. Presently we oops in mm/hugetlb.c:1325, which is the order == 0 test in hugetlb_add_hstate() called at initialization time. So, disable 64kB huge pages when we're using a 64kB PAGE_SIZE. On most parts this will force the default to be 1MB huge pages. Signed-off-by: Paul Mundt commit d09d328c119a9ac20615fc8b1431aa417955ad4d Author: Yoshinori Sato Date: Wed Aug 6 14:47:54 2008 +0900 sh: Don't export __{s,u}divsi3_i4i from SH-2 libgcc. rsk7203_defconfig fails to build with the following error: <-- snip --> ... LD .tmp_vmlinux1 arch/sh/kernel/built-in.o:(__ksymtab+0xb8): undefined reference to `__udivsi3_i4i' arch/sh/kernel/built-in.o:(__ksymtab+0xc8): undefined reference to `__sdivsi3_i4i' make[1]: *** [.tmp_vmlinux1] Error 1 <-- snip --> That worked with 2.6.26, and these are far less undefined references than in the cases where libgcc was missing. [ These symbols are not defined on SH-2 versions of libgcc, so we have to special case the export there. - Paul ] Reported-by: Adrian Bunk Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 7265706c8fd57722f622f336ec110cb35f83e739 Author: Adrian Bunk Date: Tue Aug 5 18:37:11 2008 +0300 fix SH7705_CACHE_32KB compilation This patches compile errors like the following caused by commit 51f3547d619956e9b428bfff17004d8f4d259a02 (sh: Allow SH-3 and SH-5 to use common headers): <-- snip --> ... CC arch/sh/mm/init.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/mm/init.c: In function 'mem_init': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/mm/init.c:232: error: implicit declaration of function 'p3_cache_init' make[2]: *** [arch/sh/mm/init.o] Error 1 make[1]: *** [arch/sh/mm] Error 2 ... CC kernel/fork.o /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/fork.c: In function 'dup_mmap': /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/fork.c:323: error: implicit declaration of function 'flush_dcache_mmap_lock' /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/fork.c:325: error: implicit declaration of function 'flush_dcache_mmap_unlock' make[2]: *** [kernel/fork.o] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Paul Mundt commit e77eb36472cdc425a3a81356c7b368e59a36da31 Author: Paul Mundt Date: Tue Aug 5 13:16:56 2008 +0900 sh: mach-x3proto: Fix up smc91x platform data. smc91x on x3proto needs 16-bit access and nowait, which we can now do through the platform data. Signed-off-by: Paul Mundt commit 5587da55fbf332ab8d1b37637536f94bc373867f Author: Sven Wegener Date: Sun Aug 10 18:24:40 2008 +0000 ipvs: Mark net_vs_ctl_path const Signed-off-by: Sven Wegener Acked-by: Simon Horman commit 048cf48b897bcae9e6fa8b46b6976dab5e710e3c Author: Sven Wegener Date: Sun Aug 10 18:24:35 2008 +0000 ipvs: Annotate init functions with __init Being able to discard these functions saves a couple of bytes at runtime. The cleanup functions can't be annotated with __exit as they are also called from init functions. Signed-off-by: Sven Wegener Acked-by: Simon Horman commit d149ccc9cf85cdf089c1b2189ade111305712b0c Author: Sven Wegener Date: Sun Aug 10 09:18:02 2008 +0000 ipvs: Initialize schedulers' struct list_head at compile time No need to do it at runtime and this saves a couple of bytes in the text section. Signed-off-by: Sven Wegener Acked-by: Simon Horman commit 66a0be47200fff30f8c482ea584052c6affb08cb Author: Sven Wegener Date: Sun Aug 10 09:18:02 2008 +0000 ipvs: Use list_empty() instead of open-coding the same functionality Signed-off-by: Sven Wegener Acked-by: Simon Horman commit afdd614071aef652f5a3e2a06965de049dd8339b Author: Sven Wegener Date: Sun Aug 10 09:18:01 2008 +0000 ipvs: Use ARRAY_SIZE() Signed-off-by: Sven Wegener Acked-by: Simon Horman commit 8ab19ea36c5c5340ff598e4d15fc084eb65671dc Author: Sven Wegener Date: Sun Aug 10 09:17:59 2008 +0000 ipvs: Fix possible deadlock in estimator code There is a slight chance for a deadlock in the estimator code. We can't call del_timer_sync() while holding our lock, as the timer might be active and spinning for the lock on another cpu. Work around this issue by using try_to_del_timer_sync() and releasing the lock. We could actually delete the timer outside of our lock, as the add and kill functions are only every called from userspace via [gs]etsockopt() and are serialized by a mutex, but better make this explicit. Signed-off-by: Sven Wegener Cc: stable Acked-by: Simon Horman commit bc0fde2fad007a81ecffceb25a893a6c3f1ed767 Author: Sven Wegener Date: Sun Aug 10 09:14:05 2008 +0000 ipvs: Fix possible deadlock in sync code Commit 998e7a76804b7a273a0460c2cdd5a51fa9856717 ("ipvs: Use kthread_run() instead of doing a double-fork via kernel_thread()") introduced a possible deadlock in the sync code. We need to use the _bh versions for the lock, as the lock is also accessed from a bottom half. Signed-off-by: Sven Wegener Acked-by: Simon Horman commit cbbdece3048d0844b1cc6f4f8d18085e190721d7 Author: Andrew Morton Date: Sun Aug 10 23:06:25 2008 -0400 Input: xilinx_ps2 - fix warning drivers/input/serio/xilinx_ps2.c:272: warning: cast from pointer to integer of different size Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 9dd428680573d7867ee5e40fa3f059a98301d416 Author: Russell King Date: Sun Aug 10 12:18:26 2008 +0100 [ARM] dma-mapping: provide sync_range APIs Convert the existing dma_sync_single_for_* APIs to the new range based APIs, and make the dma_sync_single_for_* API a superset of it. Signed-off-by: Russell King commit 98ed7d4b1a4eebc1ac25929b6968673bef4d54c3 Author: Russell King Date: Sun Aug 10 12:10:49 2008 +0100 [ARM] dma-mapping: improve type-safeness of DMA translations OMAP at least gets the return type(s) for the DMA translation functions wrong, which can lead to subtle errors. Avoid this by moving the DMA translation functions to asm/dma-mapping.h, and converting them to inline functions. Fix the OMAP DMA translation macros to use the correct argument and result types. Also, remove the unnecessary casts in dmabounce.c. Signed-off-by: Russell King commit b6b7922fbda63040946cac8251d5618ee7880e8a Author: David S. Miller Date: Sat Aug 9 16:25:26 2008 -0700 sparc64: Don't MAGIC_SYSRQ ifdef smp_fetch_global_regs and support code. Based upon a report and initial patch by Friedrich Oslage. The intention is to provide this facility for __trigger_all_cpu_backtrace even if MAGIC_SYSRQ is not set. The only part that should have MAGIC_SYSRQ ifdef protection is the sparc_globalreg_op sysrq regitration and immediate code. Signed-off-by: David S. Miller commit 492c71dd545a54dc62df8780bd8d233d771748df Merge: f0af724... 18365d1... Author: Russell King Date: Sat Aug 9 18:03:13 2008 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion commit 18365d181fe7fee8b52cd12482200d3a4c48d05e Author: Lennert Buytenhek Date: Sat Aug 9 15:38:18 2008 +0200 [ARM] Kirkwood: instantiate the orion_spi driver in the platform code Signed-off-by: Lennert Buytenhek commit 60296c71f6c5063e3c1f1d2619ca0b60940162e7 Author: Lennert Buytenhek Date: Tue Aug 5 01:56:13 2008 +0200 [ARM] prevent crashing when too much RAM installed This patch will truncate and/or ignore memory banks if their kernel direct mappings would (partially) overlap with the vmalloc area or the mappings between the vmalloc area and the address space top, to prevent crashing during early boot if there happens to be more RAM installed than we are expecting. Since the start of the vmalloc area is not at a fixed address (but the vmalloc end address is, via the per-platform VMALLOC_END define), a default area of 128M is reserved for vmalloc mappings, which can be shrunk or enlarged by passing an appropriate vmalloc= command line option as it is done on x86. On a board with a 3:1 user:kernel split, VMALLOC_END at 0xfe000000, two 512M RAM banks and vmalloc=128M (the default), this patch gives: Truncating RAM at 20000000-3fffffff to -35ffffff (vmalloc region overlap). Memory: 512MB 352MB = 864MB total On a board with a 3:1 user:kernel split, VMALLOC_END at 0xfe800000, two 256M RAM banks and vmalloc=768M, this patch gives: Truncating RAM at 00000000-0fffffff to -0e7fffff (vmalloc region overlap). Ignoring RAM at 10000000-1fffffff (vmalloc region overlap). Signed-off-by: Lennert Buytenhek Tested-by: Riku Voipio commit 09c0ed2e6eb87613b2670c15ba771ac671db19d9 Author: Saeed Bishara Date: Mon Jun 23 04:26:07 2008 -1100 [ARM] Kirkwood: Instantiate mv_xor driver Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek commit 1d5a1a6e92abb1ecb011a673e637146c4e232f1e Author: Saeed Bishara Date: Mon Jun 16 23:25:12 2008 -1100 [ARM] Orion: Instantiate mv_xor driver for 5182 Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek commit 3af6b0440f7b318af3f6a4c4ce251753377dba3a Author: Martin Michlmayr Date: Thu Jul 31 07:38:24 2008 +0300 [ARM] Orion: enable CONFIG_RTC_DRV_S35390A in the defconfg for QNAP devices The QNAP TS-109/TS-209 and TS-409 devices need RTC_DRV_S35390A. Signed-off-by: Martin Michlmayr Signed-off-by: Lennert Buytenhek commit 627ca2fe93e7ef5e746c27f08a4f86cbc04dd915 Author: Martin Michlmayr Date: Sun Jul 13 15:59:00 2008 +0300 [ARM] Orion: enable RTC_DRV_PCF8563 in the defconfig for HP mv2120 Enable RTC_DRV_PCF8563 in the Orion defconfig since this driver is needed by the HP mv2120. Signed-off-by: Martin Michlmayr Signed-off-by: Lennert Buytenhek commit 94434ba09add528dbd48b9765a31c86372f94dd0 Author: Martin Michlmayr Date: Sun Jul 13 16:53:31 2008 +0300 [ARM] Orion: enable KEYBOARD_GPIO in the defconfg Enable KEYBOARD_GPIO in the Orion defconfig because a number of Orion devices, such as the HP mv2120, define gpio-keys buttons. Signed-off-by: Martin Michlmayr Signed-off-by: Lennert Buytenhek commit 5cebbd09fc06f4159f10f9f86bbd1517ac0279a2 Author: Martin Michlmayr Date: Thu Jul 31 07:38:08 2008 +0300 [ARM] Orion: Export the reset button of the QNAP TS-409 The reset button on the QNAP TS-409 is available through gpio. Signed-off-by: Martin Michlmayr Signed-off-by: Lennert Buytenhek commit 28ca8c802f71283d610656a207f3325c09e4585e Author: Martin Michlmayr Date: Tue Jul 22 01:49:22 2008 +0300 [ARM] Orion: use better key codes for the TS-209/TS-409 buttons Use key codes for the buttons on the TS-209/TS-409 that make more sense than the current values. Signed-off-by: Martin Michlmayr Acked-by: Byron Bradley Signed-off-by: Lennert Buytenhek commit 4a4e30afefbfd069ef09de3514cce4886e83ff10 Author: Martin Michlmayr Date: Mon Jul 21 19:58:48 2008 +0300 [ARM] Orion: export red SATA lights on TS-409, fix SATA presence/activity Export the four red SATA LEDs on the QNAP TS-409 that are connected through gpio. Since the boot loader apparently sets the SATA LEDs 2-4 to red and the SATA LED can only be red or green (but not both), exporting the red SATA LEDs (which automatically turns them off upon boot) makes the green SATA presence/activity indication visible. Signed-off-by: Martin Michlmayr Acked-by: Sylver Bruneau Signed-off-by: Lennert Buytenhek commit ce72e36ed1a57ba086270039c7d6fac9bf1c5fbc Author: Lennert Buytenhek Date: Sat Aug 9 15:17:27 2008 +0200 [ARM] Orion: support D0 5281 silicon On D0 5281 SoCs, we need to disable the wait-for-interrupt instruction due to an erratum. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre Acked-by: Martin Michlmayr commit f0af7245f1725fdc39b32b59c20500448437ddbe Merge: 796aade... f47c32f... Author: Russell King Date: Sat Aug 9 14:09:32 2008 +0100 Merge branch 'for-rmk' of git://aeryn.fluff.org.uk/bjdooks/linux commit f47c32f3ae604669c3af0b7a07917270a235bd84 Author: Ben Dooks Date: Fri Aug 8 21:22:40 2008 +0100 [ARM] S3C24XX: Documentation: Update GPIO status Update the status of the S3C24XX GPIO now we have moved to supporting GPIOLIB Signed-off-by: Ben Dooks commit a0f774b59ee9e80d7423feba312c6132ca068e96 Author: Ben Dooks Date: Fri Aug 8 21:22:39 2008 +0100 [ARM] S3C24XX: Documentation: update SD/MMC status Update SD/MMC status now that the driver is merged. Signed-off-by: Ben Dooks commit bc4c7265a0876e84cedbbc76f517a702b6e133b4 Author: Ben Dooks Date: Fri Aug 8 21:22:38 2008 +0100 [ARM] S3C24XX: Documentation: Update suported CPU list Update supported and in-progress cpu list. Signed-off-by: Ben Dooks commit cbc212e877b37fff84fd4b7ad2c44e4cd1888c85 Author: Ben Dooks Date: Fri Aug 8 21:22:37 2008 +0100 [ARM] S3C24XX: Documentation: update platform docs Update documentation in arch/arm/plat-s3c24xx Signed-off-by: Ben Dooks commit ed414fb7b840b2ca8bf033efcd9fe9ea8d6fe800 Author: Ben Dooks Date: Fri Aug 8 21:22:36 2008 +0100 [ARM] S3C24XX: Fix section mismatch for s3c_lookup_cpu s3c_lookup_cpu is only used at init time, so make it __init. Signed-off-by: Ben Dooks commit e38d523fd0932a5d4ef2865360d8828efcf05392 Author: Ben Dooks Date: Fri Aug 8 21:22:35 2008 +0100 [ARM] CATS: Do not try and map bad PCI IRQ numbers The cats_map_irq() function in the Simtec CATS support code is mapping IRQ 255 (invalid IRQ) into what is a supposedly valid interrupt numner which can cause problems with other devices then seeing an interrupt they cannot claim. If the IRQ number if >= 255, then return -1 as this is not something we can map. Signed-off-by: Ben Dooks commit 29210475945f13c61a7994b54ccf37692a075aeb Author: Huang Weiyi Date: Fri Aug 8 21:22:34 2008 +0100 [ARM] JIVE: Remove duplicated mtd includes Removed duplicated include file and in arch/arm/mach-s3c2412/mach-jive.c. Signed-off-by: Huang Weiyi Signed-off-by: Ben Dooks commit 631c9a8a79b9b94eef56afa3bff107ce27c4c2bb Author: Krzysztof Helt Date: Fri Aug 8 21:34:10 2008 +0100 [ARM] S3C24XX: Compilation fix if s3c2410 is not selected This patch fixes compilation error if no s3c2410 processor is selected but the s3c244x is selected. The function s3c2410_baseclk_add() is now available for all Samsung cpus. Signed-off-by: Krzysztof Helt [ben-linux@fluff.org: Whitespace and description fixups] Signed-off-by: Ben Dooks commit 6f088f1d215be5250582b974f83f0e3aa6ad3a28 Author: Lennert Buytenhek Date: Sat Aug 9 13:44:58 2008 +0200 [ARM] Move include/asm-arm/plat-orion to arch/arm/plat-orion/include/plat This patch performs the equivalent include directory shuffle for plat-orion, and fixes up all users. Signed-off-by: Lennert Buytenhek commit d97106ea52aa57e63ff40d04479016836bbb5a4e Author: Herbert Xu Date: Sat Aug 9 00:35:05 2008 -0700 udp: Drop socket lock for encapsulated packets The socket lock is there to protect the normal UDP receive path. Encapsulation UDP sockets don't need that protection. In fact the locking is deadly for them as they may contain another UDP packet within, possibly with the same addresses. Also the nested bit was copied from TCP. TCP needs it because of accept(2) spawning sockets. This simply doesn't apply to UDP so I've removed it. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8123b421e8ed944671d7241323ed3198cccb4041 Author: David S. Miller Date: Fri Aug 8 23:23:39 2008 -0700 pkt_sched: Fix ingress deletion and filter attachment. Based upon bug reports by Stephen Hemminger. We still had some cases using ->qdisc instead of ->qdisc_sleeping. Also, qdisc_lookup() should return ingress qdiscs. Signed-off-by: David S. Miller commit 88da765f4d5f59f67a7a51c8f5d608a836b32133 Author: Dmitry Torokhov Date: Fri Aug 8 14:59:32 2008 -0400 Input: bcm5974 - implement autosuspend support Signed-off-by: Dmitry Torokhov commit f89bd95c5c946776f116ffeb997653d4193d6a35 Author: Henrik Rydberg Date: Fri Aug 8 14:59:30 2008 -0400 Input: bcm5974 - add driver for Macbook Air and Pro Penryn touchpads This driver adds support for the multitouch trackpad on the new Apple Macbook Air and Macbook Pro Penryn laptops. It replaces the appletouch driver on those computers, and integrates well with the synaptics driver of the Xorg system. [dtor@mail.ru: various cleanups] Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit e4ddcb0a6bf04d53ce77b4eb87bbbb32c4261d11 Merge: f2afa77... 6e86841... Author: Dmitry Torokhov Date: Fri Aug 8 16:21:02 2008 -0400 Merge commit 'v2.6.27-rc1' into for-linus commit af7a535688a758d15f06a98833e6a143b29af9de Merge: 0c17e4c... c41107c... Author: Ben Dooks Date: Fri Aug 8 21:10:12 2008 +0100 Merge http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm into for-rmk commit f2afa7711f8585ffc088ba538b9a510e0d5dca12 Author: Dmitry Torokhov Date: Fri Aug 8 11:46:53 2008 -0400 Input: paper over a bug in Synaptics X driver Signed-off-by: Dmitry Torokhov commit 5402a7349d26875f69c184badf87b88541b1cf6c Author: Linus Torvalds Date: Tue Aug 5 11:42:42 2008 -0400 Input: evdev - split EVIOCGBIT handlig into a separate function Signed-off-by: Linus Torvalds Signed-off-by: Dmitry Torokhov commit 56ac36d722d0d27c03599d1245ac0ab59e474e5c Author: Dan Williams Date: Thu Aug 7 10:02:47 2008 -0700 md: cancel check/repair requests when recovery is needed If a 'repair' is requested when an array is in a position to 'recover' raid1 will perform the repair while md believes a recovery is happening. Address this at both ends, i.e. cancel check/repair requests upon detecting a recover condition and do not call ->spare_active after completing a check/repair. Signed-off-by: Dan Williams commit 8e4ae1017a555662d698ea4616dcfe71b17d3732 Author: Carlos Corbacho Date: Wed Aug 6 14:28:43 2008 -0400 Input: i8042 - Add Dritek quirk for Acer TravelMate 4280 Reported-by: Mattias Jernberg Signed-off-by: Carlos Corbacho Signed-off-by: Dmitry Torokhov commit d211f052fa58a053639bc51501cb64421157d362 Author: Hugh Dickins Date: Wed Aug 6 18:21:18 2008 +0100 [SCSI] sd: fix USB devices incorrectly reporting DIF support Some USB devices set the protect bit in the INQUIRY data which currently causes the DIF code in sd to assume (incorrectly) that they support READ_CAPACITY(16). Fix this (only for the time being) by making sure we only believe the protect bit in the inquiry data if the device claims conformance to SCSI-3 or above. Acked-by: Martin K. Petersen Signed-off-by: James Bottomley commit d3d0ac23a308f92fc5e5e2846ca40e7bffa5cec3 Author: Robin Getz Date: Wed Aug 6 17:49:27 2008 +0800 Blackfin arch: Fix bug - when expanding the trace buffer, it does not print out the decoded instruction. as pointed out by Michael McTernan in the forums, when expanding the trace buffer, it does not print out the decoded instruction. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 56f5f59052bb662a77d5ffd6cbe5861a2ef2407c Author: Michael Hennerich Date: Wed Aug 6 17:55:32 2008 +0800 Blackfin arch: Fix Bug - System with EMAC driver enabled - Core not idling - Disable all bits in SIC_IWR unless we are going into a real (DPMC) power saving mode. Any Interrupt can wake the core form it's idle state. - Remove deep sleep mode as it is not going to be used anywhere: We support sleep, sleep deeper and hibernate. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 15b07536892284449ac5cd9488a8da1054b4295b Author: Mike Frysinger Date: Wed Aug 13 16:19:36 2008 +0800 Blackfin arch: delete unused cache functions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 07aa7be5708afb3d9afa68f6f853c98e51bc64b3 Author: Mike Frysinger Date: Wed Aug 13 16:16:11 2008 +0800 Blackfin arch: convert L2 defines to be the same as the L1 defines Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 17e89bcfa12f71b840361da07fe6c2f9c48d0605 Author: Mike Frysinger Date: Wed Aug 6 17:23:50 2008 +0800 Blackfin arch: unify the duplicated portions of __start and split mach-specific pieces into _mach_early_start where they will be easier to trim over time Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 67618fd8748a5d83f6bdcd578c8e748c3f47c4d4 Author: Mike Frysinger Date: Wed Aug 6 17:18:31 2008 +0800 Blackfin arch: add asm/thread_info.h for THREAD_SIZE define Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7e64acabfdb530b1b7d3db2592d75d102827baf3 Author: Mike Frysinger Date: Wed Aug 6 17:17:10 2008 +0800 Blackfin arch: move async memory programming into common setup_arch() as the banks dont really need to be setup fully as early as head.S Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1375204611f417541e55ee09e248acdbbb94356d Author: Mike Frysinger Date: Wed Aug 6 17:10:57 2008 +0800 Blackfin arch: make sure the BSS and kernel load address are 4 byte aligned Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 09e1f70e31ed6ca23dd42feb10aa104fc1b04c40 Author: Mike Frysinger Date: Wed Aug 6 17:15:27 2008 +0800 Blackfin arch: unify the duplicated _real_start functions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 778307d372555f979cf6cef112a6d7fbff056cd9 Author: Mike Frysinger Date: Wed Aug 6 17:05:20 2008 +0800 Blackfin arch: remove support for Anomaly 05000125 as it doesnt exist on any supported processor/silicon Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d6a29891369827317659b7833170d2f5f0c7b97f Author: Sonic Zhang Date: Tue Aug 5 18:28:26 2008 +0800 Blackfin arch: Fix bugs - Make kgdb code apparent to app debugging. - Skip single step if global interrupt disable bit is set. - Extend bernds' patch r4673 to skip single step in any interrupt entry that interrupts the code which is under single stepping. Bernds' patch only allow user space single stepping. Singed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit fe5aeb93024791a5aa69741015db33093198ff47 Author: Mike Frysinger Date: Tue Aug 5 18:29:56 2008 +0800 Blackfin arch: use symbolic IRQ_PF define rather than hardcoded Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 908089118dd5b20c6694e9543fccd9b2490b1c6b Author: Mike Frysinger Date: Tue Aug 5 18:41:20 2008 +0800 Blackfin arch: remove pata resources from generic board these are highly board specific, so putting into generic doesnt make much sense Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b9da3b9240f175a29274abb8a94d962b67bbabf6 Author: Mike Frysinger Date: Wed Aug 13 15:49:35 2008 +0800 Blackfin arch: add support for board tcm-bf537 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8ea8949733e35597efa45e71c0d3d65cafd7687a Author: Mike Frysinger Date: Tue Aug 5 18:14:44 2008 +0800 Blackfin arch: add board resources for parallel flash on cm-bf537 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit aa5829776347dbd9eeb461f650c1d085cf463a83 Author: Robin Getz Date: Tue Aug 5 17:47:29 2008 +0800 Blackfin arch: be consistant with parition names, and ensure the bus is identified Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 4a88d0ce494034fbb8dd0076d80e71b38abf5748 Author: Michael Hennerich Date: Tue Aug 5 17:38:41 2008 +0800 Blackfin arch: Functional power management support Merge VR Regulator Hibernate wakeups into set_irq_wake for internal interrupts. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 5400c5aa2de41501be7529831c9df36c729bf371 Author: Jie Zhang Date: Tue Aug 5 17:33:38 2008 +0800 Blackfin arch: Fix bug - This change eliminates impact on application debugging Signed-off-by: Jie Zhang Signed-off-by: Bryan Wu commit 0f0625d895bc5b3c3d7352486a94e5a75f10fd35 Author: Mike Frysinger Date: Tue Aug 5 17:10:58 2008 +0800 Blackfin arch: remove useless mtd defines in uClinux dont bother protecting the mtd defines as anything that incorrectly uses it will get an error during link time anyways ... this prevents large pointless rebuilds of most files whenever the uclinux mtd map changes state Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0310fa216decc3ecfab41f327638fa48a81f3735 Author: NeilBrown Date: Tue Aug 5 15:54:14 2008 +1000 Allow raid10 resync to happening in larger chunks. The raid10 resync/recovery code currently limits the amount of in-flight resync IO to 2Meg. This was copied from raid1 where it seems quite adequate. However for raid10, some layouts require a bit of seeking to perform a resync, and allowing a larger buffer size means that the seeking can be significantly reduced. There is probably no real need to limit the amount of in-flight IO at all. Any shortage of memory will naturally reduce the amount of buffer space available down to a set minimum, and any concurrent normal IO will quickly cause resync IO to back off. The only problem would be that normal IO has to wait for all resync IO to finish, so a very large amount of resync IO could cause unpleasant latency when normal IO starts up. So: increase RESYNC_DEPTH to allow 32Meg of buffer (if memory is available) which seems to be a good amount. Also reduce the amount of memory reserved as there is no need to keep 2Meg just for resync if memory is tight. Thanks to Keld for the suggestion. Cc: Keld Jørn Simonsen Signed-off-by: NeilBrown commit c89a8eee61540df04fc83f32f51ef0f46ec018b1 Author: NeilBrown Date: Tue Aug 5 15:54:13 2008 +1000 Allow faulty devices to be removed from a readonly array. Removing faulty devices from an array is a two stage process. First the device is moved from being a part of the active array to being similar to a spare device. Then it can be removed by a request from user space. The first step is currently not performed for read-only arrays, so the second step can never succeed. So allow readonly arrays to remove failed devices (which aren't blocked). Signed-off-by: NeilBrown commit ac4090d24c6a26211bc4523d920376e054d4f3f8 Author: NeilBrown Date: Tue Aug 5 15:54:13 2008 +1000 Don't let a blocked_rdev interfere with read request in raid5/6 When we have externally managed metadata, we need to mark a failed device as 'Blocked' and not allow any writes until that device have been marked as faulty in the metadata and the Blocked flag has been removed. However it is perfectly OK to allow read requests when there is a Blocked device, and with a readonly array, there may not be any metadata-handler watching for blocked devices. So in raid5/raid6 only allow a Blocked device to interfere with Write request or resync. Read requests go through untouched. raid1 and raid10 already differentiate between read and write properly. Signed-off-by: NeilBrown commit dba034eef2456d2a9f9a76806846c97acf6c3ad1 Author: NeilBrown Date: Tue Aug 5 15:54:13 2008 +1000 Fail safely when trying to grow an array with a write-intent bitmap. We cannot currently change the size of a write-intent bitmap. So if we change the size of an array which has such a bitmap, it tries to set bits beyond the end of the bitmap. For now, simply reject any request to change the size of an array which has a bitmap. mdadm can remove the bitmap and add a new one after the array has changed size. Signed-off-by: NeilBrown commit 2b25000bf5157c28d8591f03f0575248a8cbd900 Author: NeilBrown Date: Tue Aug 5 15:54:13 2008 +1000 Restore force switch of md array to readonly at reboot time. A recent patch allowed do_md_stop to know whether it was being called via an ioctl or not, and thus where to allow for an extra open file descriptor when checking if it is in use. This broke then switch to readonly performed by the shutdown notifier, which needs to work even when the array is still (apparently) active (as md doesn't get told when the filesystem becomes readonly). So restore this feature by pretending that there can be lots of file descriptors open, but we still want do_md_stop to switch to readonly. Signed-off-by: NeilBrown commit 19052c0e85a3e9d3b7d190b29fcdbf0e6c105381 Author: NeilBrown Date: Tue Aug 5 15:54:13 2008 +1000 Make writes to md/safe_mode_delay immediately effective. If we reduce the 'safe_mode_delay', it could still wait for the old delay to completely expire before doing anything about safe_mode. Thus the effect if the change is delayed. To make the effect more immediate, run the timeout function immediately if the delay was reduced. This may cause it to run slightly earlier that required, but that is the safer option. Signed-off-by: NeilBrown commit d488d3ed009ab16eeda230cd1d42e394e868f32a Author: Harley Laue Date: Wed Jul 30 10:46:39 2008 -0400 Input: xpad - add Pelican Eclipse D-Pad to the list of devices Signed-off-by: Harley Laue Signed-off-by: Dmitry Torokhov commit 9b07044cd8bd15fb5991e9b27136979a43538636 Author: Uwe Kleine-König Date: Wed Jul 30 10:34:02 2008 -0400 Input: gpio-keys - make gpio_keys_device_driver static This fixes the sparse warning symbol 'gpio_keys_device_driver' was not declared. Should it be static? Signed-off-by: Uwe Kleine-König Signed-off-by: Dmitry Torokhov commit 74dd4393445ba37b79041d92de6ff7e7b68a4aec Author: Uwe Kleine-König Date: Wed Jul 30 10:33:43 2008 -0400 Input: gpio-keys - fix possible NULL pointer dereference bdata->button is used in gpio_check_button but never initialized. Having a device with debounce_interval != 0 without this patch resulted on an oops on my machine. Signed-off-by: Uwe Kleine-König Signed-off-by: Dmitry Torokhov commit 558a171d778293176bf70bc34e18a92faef5bfa1 Author: Mark Brown Date: Tue Jul 29 01:14:59 2008 -0400 Input: wm97xx - enable sub-drivers by default Currently the support for each WM97xx touchscreen model is compiled out by default, meaning that the default configuration when the driver is built is for it to support no hardware. This is suboptimal and leads to problems like distribution kernels shipping a non-functional driver. Change the default to support all controllers and update the help text to reflect this. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 6ffac1e90a17ea0aded5c581204397421eec91b6 Author: Suresh Siddha Date: Thu Jul 24 18:07:56 2008 -0700 x64, fpu: fix possible FPU leakage in error conditions On Thu, Jul 24, 2008 at 03:43:44PM -0700, Linus Torvalds wrote: > So how about this patch as a starting point? This is the RightThing(tm) to > do regardless, and if it then makes it easier to do some other cleanups, > we should do it first. What do you think? restore_fpu_checking() calls init_fpu() in error conditions. While this is wrong(as our main intention is to clear the fpu state of the thread), this was benign before commit 92d140e21f1 ("x86: fix taking DNA during 64bit sigreturn"). Post commit 92d140e21f1, live FPU registers may not belong to this process at this error scenario. In the error condition for restore_fpu_checking() (especially during the 64bit signal return), we are doing init_fpu(), which saves the live FPU register state (possibly belonging to some other process context) into the thread struct (through unlazy_fpu() in init_fpu()). This is wrong and can leak the FPU data. For the signal handler restore error condition in restore_i387(), clear the fpu state present in the thread struct(before ultimately sending a SIGSEGV for badframe). For the paranoid error condition check in math_state_restore(), send a SIGSEGV, if we fail to restore the state. Signed-off-by: Suresh Siddha Cc: Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit a83fe32fa668c0a17b3f99a1480b006f7d649924 Author: Yinghai Lu Date: Fri Jul 18 13:22:36 2008 -0700 x86, pci: detect end_bus_number according to acpi/e820 reserved, v2 Jack Howarth reported that 2.6.26-rc9-git9 doesn't boot on MacBookPro2. the reason is a faulty BIOS update that reportes faulty resources. Nevertheless it's possible for Linux to be more resolent about this situation (and similar situations) and work around this bug, by cross-checking the mmconf range against the e820 table and ACPI resources. Change the mconf bus range from [0,0xff] to to [0, 0x3f] to match range [0xf0000000, 0xf4000000) in e820 tables. [ v2, yhlu.kernel@gmail.com: x86, pci: detect end_bus_number according to acpi/e820 reserved - fix ] Reported-by: Jack Howarth Signed-off-by: Yinghai Lu Cc: jbarnes@virtuousgeek.org Cc: Jack Howarth Signed-off-by: Ingo Molnar commit 0679c2f47d50651018dd5e0bf35330f6e6ae35ec Merge: 76fbc26... 5b664cb... Author: Ingo Molnar Date: Fri Jul 18 22:39:59 2008 +0200 Merge branch 'linus' into pci-for-jesse commit 0c17e4ceedd35c78b1c7413dbd16279a350be6bc Merge: 19c1d6a... b9d2252... Author: Ben Dooks Date: Tue Jul 15 20:19:14 2008 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-rmk commit 19c1d6a34abf73d0baf8e325d018c920fa78dddc Author: Arnaud Patard (Rtp Date: Tue Jul 8 01:03:46 2008 +0200 [ARM] S3C24XX: Fix SERIAL_SAMSUNG entry The SERIAL_SAMSUNG needs SERIAL_CORE but doesn't select it, leading to a build failure. Adding a 'select SERIAL_CORE' cure the trouble. Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks commit 2bc7509f62da572925ef33365d4fc16f8b4abdd4 Author: Ben Dooks Date: Tue Jul 15 17:17:48 2008 +0100 [ARM] S3C24XX: s3c243xx_clock_register() data can be __initdata Any data being passed to s3c243xx_clock_register() can be marked as __initdata as it is an array of pointers to 'struct clk' that are to be registered on initialisation. The s3c243xx_clock_register function uses this array to register clocks and does not require it to stay around after exit. Signed-off-by: Ben Dooks commit 76fbc263ff7e42ce8b21b8aee176e3c74b45f81a Author: Yinghai Lu Date: Mon Jun 23 20:33:06 2008 +0200 pci: debug extra pci bus resources Signed-off-by: Ingo Molnar commit 9bf8a1a79d549a0cf3b26c88d1ac8cdf07deafee Author: Yinghai Lu Date: Mon Jun 23 20:33:06 2008 +0200 pci: debug extra pci resources range Signed-off-by: Ingo Molnar