commit 660fc1f4d88b0f5e4bb936e4a5a9b95b70df9e58 Merge: 3dd730f... ce0ad7f... Author: Linus Torvalds Date: Wed Jul 30 10:43:56 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/mm: Lockless get_user_pages_fast() for 64-bit (v3) powerpc: Don't use the wrong thread_struct for ptrace get/set VSX regs powerpc: Fix ptrace buffer size for VSX powerpc: Correctly hookup PTRACE_GET/SETVSRREGS for 32 bit processes ide/powermac: Fix use of uninitialized pointer on media-bay powerpc: Allow non-hcall return values for lparcfg writes ipmi/powerpc: Use linux/of_{device,platform}.h instead of asm powerpc/fsl: proliferate simple-bus compatibility to soc nodes Documentation: remove old sbc8260 board specific information cpm2: Rework baud rate generators configuration to support external clocks. powerpc: rtc_cmos_setup: assign interrupts only if there is i8259 PIC cpm_uart: Add generic clock API support to set baudrates cpm_uart: Modem control lines support powerpc: implement GPIO LIB API on CPM1 Freescale SoC. cpm2: Implement GPIO LIB API on CPM2 Freescale SoC. powerpc: Fix 8xx build failure powerpc: clean up the Book-E HW watchpoint support commit 3dd730f2b49f101b90d283c3efc4e6cd826dd8f6 Author: Stephen Rothwell Date: Tue Jul 29 16:07:37 2008 +1000 cpumask: statement expressions confuse some versions of gcc when you take the address of the result. Noticed on a sparc64 compile using a version 3.4.5 cross compiler. kernel/time/tick-common.c: In function `tick_check_new_device': kernel/time/tick-common.c:210: error: invalid lvalue in unary `&' ... Just make it a regular expression. Signed-off-by: Stephen Rothwell Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit a4319d9fa02fb3f032596d18c6fcc8b05d01a3a5 Merge: afd962a... 031cf19... Author: Linus Torvalds Date: Wed Jul 30 10:13:37 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: (47 commits) net: Make "networking" one-click deselectable. ipv6: Fix useless proc net sockstat6 removal tcp: MD5: Use MIB counter instead of warning for MD5 mismatch. pkt_sched: Fix OOPS on ingress qdisc add. niu: Fix error checking in niu_ethflow_to_class. IPv6: datagram_send_ctl() should exit immediately when an error occured mac80211: fix mesh beaconing PS3: gelic: use unsigned long for irqflags mac80211: fix cfg80211 hooks for master interface nl80211: fix dump callbacks mac80211: partially fix skb->cb use rtl8187: Improve wireless statistics for RTL8187B rtl8187: Fix for TX sequence number problem mac80211: append CONFIG_ to MAC80211_VERBOSE_PS_DEBUG in net/mac80211/tx.c. mac80211: fix sparse integer as NULL pointer warning drivers/net/wireless/iwlwifi/iwl-led.c: printk fix mac80211: return correct error return from ieee80211_wep_init mac80211: tx, use dev_kfree_skb_any for beacon_get rt2x00: Clear queue entry flags during initialization rt2x00: Force full register config after start() ... commit afd962a9e8708c571c5c0c4a6d098f931742c229 Author: Vitaly Mayatskikh Date: Wed Jul 30 13:30:14 2008 +0200 x86: wrong register was used in align macro New ALIGN_DESTINATION macro has sad typo: r8d register was used instead of ecx in fixup section. This can be considered as a regression. Register ecx was also wrongly loaded with value in r8d in copy_user_nocache routine. Signed-off-by: Vitaly Mayatskikh Signed-off-by: Linus Torvalds commit bd3e64c1759e4930315ebf022611468ee9621486 Author: Dean Nelson Date: Tue Jul 29 22:34:19 2008 -0700 sgi-xp: setup the notify GRU message queue Setup the notify GRU message queue that is used for sending user messages on UV systems. Signed-off-by: Dean Nelson Cc: Jack Steiner Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b8669dfd110a62a74eea525a009342f73987ea0 Author: Dean Nelson Date: Tue Jul 29 22:34:18 2008 -0700 sgi-xp: setup the activate GRU message queue Setup the activate GRU message queue that is used for partition activation and channel connection on UV systems. Signed-off-by: Dean Nelson Cc: Jack Steiner Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83469b5525b4a35be40b17cb41d64118d84d9f80 Author: Dean Nelson Date: Tue Jul 29 22:34:18 2008 -0700 sgi-xp: cleanup naming of partition defines Cleanup naming of partition defines. Signed-off-by: Dean Nelson Cc: Jack Steiner Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61deb86e98f51151b225f7563ee1cf2b50857d10 Author: Dean Nelson Date: Tue Jul 29 22:34:17 2008 -0700 sgi-xp: move xpc_check_remote_hb() to support both SN2 and UV Move xpc_check_remote_hb() so it can support both SN2 and UV. Signed-off-by: Dean Nelson Cc: Jack Steiner Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a812dcc3a298eef650c381e094e2cf41a4ecc9ad Author: Dean Nelson Date: Tue Jul 29 22:34:16 2008 -0700 sgi-xp: add usage of GRU driver by xpc_remote_memcpy() Add UV support to xpc_remote_memcpy(), which involves interfacing to the GRU driver. Signed-off-by: Dean Nelson Cc: Jack Steiner Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 261f3b4979db88d29fc86aad9f76fbc0c2c6d21a Author: Dean Nelson Date: Tue Jul 29 22:34:16 2008 -0700 sgi-xp: enable building of XPC/XPNET on x86_64 Get XPC/XPNET to build on x86_64. Trying to modprobe them up on a non-UV or sn2 system will result in a -ENODEV. Signed-off-by: Dean Nelson Cc: Jack Steiner Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81fe7883d2c8a80a7145ad22f8cd8514d05412b9 Author: Dean Nelson Date: Tue Jul 29 22:34:15 2008 -0700 sgi-xp: add 'jiffies' to reserved page's timestamp name Rename XPC's reserved page's timestamp member to reflect the units of time involved. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04de741885bc7565a28150e82c56a56e544440e6 Author: Dean Nelson Date: Tue Jul 29 22:34:14 2008 -0700 sgi-xp: use standard bitops macros and functions Change sgi-xp to use the standard bitops macros and functions instead of trying to invent its own mechanism. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea57f80c8c0e59cfc5095f7e856ce7c8e6ac2984 Author: Dean Nelson Date: Tue Jul 29 22:34:14 2008 -0700 sgi-xp: eliminate '>>>' in comments Comments in /drivers/misc/sgi-xp has been using '>>>' as a means to draw attention to something that needs to be done or considered. To avoid colliding with git rejects, '>>>' will now be replaced by '!!!' to indicate something to do, and by '???' to indicate something to be considered. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e85c23ef04fe0d8414e0b1dc04543095282a27a Author: Dean Nelson Date: Tue Jul 29 22:34:13 2008 -0700 sgi-xp: add _sn2 suffix to a few variables Add an '_sn2' suffix to some variables found in xpc_sn2.c. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee6665e3b6e1283c30ae240732af1345bc02154e Author: Dean Nelson Date: Tue Jul 29 22:34:13 2008 -0700 sgi-xp: isolate remote copy buffer to sn2 only Make the remote copy buffer an sn2 only item. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7b4d509205db5e9cd3ffc77b306d7b10fe6a34d Author: Dean Nelson Date: Tue Jul 29 22:34:12 2008 -0700 sgi-xp: enable XPNET to handle more than 64 partitions Enable XPNET to support more than 64 partitions. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 185c3a1b4bb4353529257f97caaeaac6c695e77d Author: Dean Nelson Date: Tue Jul 29 22:34:11 2008 -0700 sgi-xp: isolate allocation of XPC's msgqueues to sn2 only Move the allocation of XPC's msgqueues to xpc_sn2.c. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c39838ce21ca8e05857ed7f4be5d289011561905 Author: Dean Nelson Date: Tue Jul 29 22:34:11 2008 -0700 sgi-xp: replace AMO_t typedef by struct amo Replace the AMO_t typedef by a direct reference to 'struct amo'. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fb5e59d63deda89a8eefdbd5b3c8d622076afd4 Author: Dean Nelson Date: Tue Jul 29 22:34:10 2008 -0700 sgi-xp: separate chctl_flags from XPC's notify IRQ Tie current IPI references to either XPC's notify IRQ or channel control flags. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a47d5dac9d8481766382f8cf1483dd581df38b99 Author: Dean Nelson Date: Tue Jul 29 22:34:09 2008 -0700 sgi-xp: isolate additional sn2 specific code Move additional sn2 specific code into xpc_sn2.c. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e41017aad9ed175ca51e4828eabc8c5cf5910be Author: Dean Nelson Date: Tue Jul 29 22:34:09 2008 -0700 sgi-xp: isolate activate IRQ's hardware specific components Isolate architecture specific code related to XPC's activate IRQ. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97bf1aa1e1bb18de9bb1987c6eb9ad751bf08aab Author: Dean Nelson Date: Tue Jul 29 22:34:08 2008 -0700 sgi-xp: move xpc_allocate() into xpc_send()/xpc_send_notify() Move xpc_allocate() functionality into xpc_send()/xpc_send_notify() so xpc_allocate() no longer needs to be called by XPNET. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aaa3cd694c0c4ae534e8aafdf4227e395c57d6bd Author: Dean Nelson Date: Tue Jul 29 22:34:07 2008 -0700 sgi-xp: base xpc_rsvd_page's timestamp on jiffies Change XPC's reserved page timestamp to be based on jiffies. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33ba3c7724be79f7cdbfc611335572c056d9a05a Author: Dean Nelson Date: Tue Jul 29 22:34:07 2008 -0700 sgi-xp: isolate xpc_vars structure to sn2 only Isolate the xpc_vars structure of XPC's reserved page to sn2 only. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e17d416b1bc947df68499863f13b401fb42b48f6 Author: Dean Nelson Date: Tue Jul 29 22:34:06 2008 -0700 sgi-xp: isolate xpc_vars_part structure to sn2 only Isolate the xpc_vars_part structure of XPC's reserved page to sn2 only. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94bd2708d4a95d7da5a1c7c28a063eccd127fb69 Author: Dean Nelson Date: Tue Jul 29 22:34:05 2008 -0700 sgi-xp: prepare xpc_rsvd_page to work on either sn2 or uv hardware Prepare XPC's reserved page header to work for either sn2 or uv. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 908787db9b95f548270af18d83d62b9d2020ca10 Author: Dean Nelson Date: Tue Jul 29 22:34:05 2008 -0700 sgi-xp: create a common xp_remote_memcpy() function Create a common remote memcpy function that maps to what the hardware booted supports. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc63d387e4f5dbbe4ea0c5ade862c38073fd7fa3 Author: Dean Nelson Date: Tue Jul 29 22:34:04 2008 -0700 sgi-xp: support runtime selection of xp_max_npartitions Support runtime selection of the max number of partitions based on the hardware being run on. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78ce1bbe446e9b46dcd6c1e60a4768448a8ce355 Author: Dean Nelson Date: Tue Jul 29 22:34:03 2008 -0700 sgi-xp: define BYTES_PER_WORD Add a BYTES_PER_WORD #define. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da9705259848b968cdf6151b977334fe7b5b0461 Author: Dean Nelson Date: Tue Jul 29 22:34:03 2008 -0700 sgi-xp: define xpSalError reason code Define xpSalError reason code. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 355c54d2e70093f09910d2ecf343023aefc219e1 Author: Dean Nelson Date: Tue Jul 29 22:34:02 2008 -0700 sgi-xp: define is_shub() and is_uv() macros Define the is_shub()/is_uv() macros if they've not already been defined. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ca8e40c130c906c1060d105e63628410c860261 Author: Jack Steiner Date: Tue Jul 29 22:34:02 2008 -0700 GRU Driver V3: fixes to resolve code review comments Fixes problems identified in a code review: - add comment with high level dscription of the GRU - prepend "gru_" to all global names - delete unused function - couple of trivial bug fixes [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jack Steiner Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d919e5f6b440bb0cc7996eb7628b29be09e6343 Author: Jack Steiner Date: Tue Jul 29 22:34:01 2008 -0700 GRU Driver: driver/misc Makefile & Kconfig changes Driver/misc changes for the GRU driver Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d39741a27d86d305cc75ba626392be410dcbab9 Author: Jack Steiner Date: Tue Jul 29 22:34:01 2008 -0700 GRU Driver: export is_uv_system(), zap_page_range() & follow_page() Exports needed by the GRU driver. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c45f6928322773b1810fbec1ece77056f914114 Author: Jack Steiner Date: Tue Jul 29 22:34:00 2008 -0700 GRU Driver: driver makefile This patch adds the GRU driver makefile Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee5b8feca3af01400e26637209a72fbf137c82ff Author: Jack Steiner Date: Tue Jul 29 22:33:59 2008 -0700 GRU Driver: TLB flushing, MMUOPS callouts This file contains the functions for handlinf GRU TLB flushing, This includes functions to handle the MMUOPS callouts. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d09d737ab017ff7a9745962e19909713ac89b37 Author: Jack Steiner Date: Tue Jul 29 22:33:59 2008 -0700 GRU Driver: /proc interfaces This file externalizes some GRU state & statistics to the user using the /proc file system. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a0deecc90de62c91d7107611446c0c950091851 Author: Jack Steiner Date: Tue Jul 29 22:33:58 2008 -0700 GRU Driver: resource management This file contains functions realted to managing GRU resources provided to the user. Examples include GRU context assignment, load, unload, migration, etc.. Signed-off-by: Jack Steiner Cc: Nick Piggin Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28bffaf094a6d0992c85e1b01f04c9b0f56c9d62 Author: Jack Steiner Date: Tue Jul 29 22:33:57 2008 -0700 GRU Driver: kernel services provide by driver This file contains functions for handling services provided to other kernel modules that use the GRU. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 142586409c8be7dc071bb94d7cd2d69ccfd99b6b Author: Jack Steiner Date: Tue Jul 29 22:33:57 2008 -0700 GRU Driver: page faults & exceptions This file contains the functions that manage GRU page faults and exceptions. Signed-off-by: Jack Steiner Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78cf1de49b11c0e2edb35cce91ac6c279cc852b3 Author: Jack Steiner Date: Tue Jul 29 22:33:56 2008 -0700 GRU Driver: driver initialization, file & vma ops This file contains the functions for initializing the driver, handling file & vma operations and for processing IOCTL requests from the user. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2fb06fcb6d6c9912b43e61394891e3994d4b613 Author: Jack Steiner Date: Tue Jul 29 22:33:56 2008 -0700 GRU Driver: kernel services header files This patch contains the header file used to export GRU services to other kernel drivers such as XPMEM or XPNET. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13d19498b0446cad2c394f9fbec8149b44a60c6e Author: Jack Steiner Date: Tue Jul 29 22:33:55 2008 -0700 GRU Driver: driver internal header files This patch contains header files internal to the GRU driver. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c921d4d8aa74140597fd8736261837f73ca6e7a Author: Jack Steiner Date: Tue Jul 29 22:33:54 2008 -0700 GRU Driver: GRU instructions & macros This patchs contains macros & inline functions used to issue instructions to the GRU. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34d8a380d784d1fbea941a68beebdd7f9a3bebdf Author: Jack Steiner Date: Tue Jul 29 22:33:54 2008 -0700 GRU Driver: hardware data structures This series of patches adds a driver for the SGI UV GRU. The driver is still in development but it currently compiles for both x86_64 & IA64. All simple regression tests pass on IA64. Although features remain to be added, I'd like to start the process of getting the driver into the kernel. Additional kernel drivers will depend on services provide by the GRU driver. The GRU is a hardware resource located in the system chipset. The GRU contains memory that is mmaped into the user address space. This memory is used to communicate with the GRU to perform functions such as load/store, scatter/gather, bcopy, AMOs, etc. The GRU is directly accessed by user instructions using user virtual addresses. GRU instructions (ex., bcopy) use user virtual addresses for operands. The GRU contains a large TLB that is functionally very similar to processor TLBs. Because the external contains a TLB with user virtual address, it requires callouts from the core VM system when certain types of changes are made to the process page tables. There are several MMUOPS patches currently being discussed but none has been accepted into the kernel. The GRU driver is built using version V18 from Andrea Arcangeli. This patch: Contains the definitions of the hardware GRU data structures that are used by the driver to manage the GRU. [akpm@linux-foundation;org: export hpage_shift] Signed-off-by: Jack Steiner Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c627f9cc046c7cd93b4525d89377fb409e170a18 Author: Jack Steiner Date: Tue Jul 29 22:33:53 2008 -0700 mm: add zap_vma_ptes(): a library function to unmap driver ptes zap_vma_ptes() is intended to be used by drivers to unmap ptes assigned to the driver private vmas. This interface is similar to zap_page_range() but is less general & less likely to be abused. Needed by the GRU driver. Signed-off-by: Jack Steiner Cc: Nick Piggin Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f718cd4add5aea9d379faff92f162571e356cc5f Author: Andi Kleen Date: Tue Jul 29 22:33:52 2008 -0700 sched: make scheduler sysfs attributes sysdev class devices They are really class devices, but were incorrectly declared. This leads to crashes with the recent changes that makes non normal sysdevs use a different prototype. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Andi Kleen Cc: Ingo Molnar Cc: Pierre Ossman Cc: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cdc98b8f51310f7cca05ad780f18f80dd9571de Author: Tomas Janousek Date: Tue Jul 29 22:33:51 2008 -0700 rtc-dev: stop periodic interrupts on device release Solves http://bugzilla.kernel.org/show_bug.cgi?id=11127 The old rtc.c driver did it and some drivers (like rtc-sh) do it in their release function, though they should not -- because they should provide the irq_set_state op and the rtc framework itself should care about it. This patch makes it do so. I am aware that some drivers, like rtc-sh, handle userspace PIE sets in their ioctl op (instead of having the framework call the op), exporting the irq_set_state op at the same time. The logic in rtc_irq_set_state should make sure it doesn't matter and the driver should not need to care stopping periodic interrupts in its release routine any more. The correct way, in my opinion, should be this: 1) The driver provides the irq_set_state op and does not care closing the interrupts in its release op. 2) If the driver does not provide the op and handles PIE in the ioctl op, it's reponsible for closing them in its release op. 3) Something similar for other IRQs, like UIE -- if there's no in-kernel API like irq_set_state, handle it in ioctl and release ops. The framework will be responsible either for everything or for nothing. (This will probably change later.) Signed-off-by: Tomas Janousek Acked-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d0b1c51eb8375f88c0886d2e9f71881e19d42a7 Author: Thomas Bogendoerfer Date: Tue Jul 29 22:33:49 2008 -0700 gbefb: cmap FIFO timeout Writes to the cmap fifo while the display is blanked caused cmap FIFO timeout messages and a wrong colormap. To avoid this the driver now maintains a colormap in memory and updates the colormap after the display is unblanked. Signed-off-by: Thomas Bogendoerfer Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6af8bf3d86d55c98af6e453cb920ddc30867e5c7 Author: Oleg Nesterov Date: Tue Jul 29 22:33:49 2008 -0700 workqueues: add comments to __create_workqueue_key() Dmitry Adamushko pointed out that the error handling in __create_workqueue_key() is not clear, add the comment. Signed-off-by: Oleg Nesterov Cc: Dmitry Adamushko Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbacefc9c4f6bd365243db379473ab7041656d90 Author: Thomas Petazzoni Date: Tue Jul 29 22:33:47 2008 -0700 fs/buffer.c: uninline __remove_assoc_queue() Uninline the __remove_assoc_queue() function in fs/buffer.c, called at too many places and too long to really be inlined. Size results: text data bss dec hex filename 1134606 118840 212992 1466438 166046 vmlinux.old 1134303 118840 212992 1466135 165f17 vmlinux -303 0 0 -303 -12F +/- This patch is part of the Linux Tiny project and has been originally written by Matt Mackall . Signed-off-by: Thomas Petazzoni Cc: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d406f66ddb0d7491ddd53e4600c425d76a8a245f Author: Harvey Harrison Date: Tue Jul 29 22:33:46 2008 -0700 omfs: sparse annotations Missing cpu_to_be64 on some constant assignments. fs/omfs/dir.c:107:16: warning: incorrect type in assignment (different base types) fs/omfs/dir.c:107:16: expected restricted __be64 [usertype] i_sibling fs/omfs/dir.c:107:16: got unsigned long long fs/omfs/file.c:33:13: warning: incorrect type in assignment (different base types) fs/omfs/file.c:33:13: expected restricted __be64 [usertype] e_next fs/omfs/file.c:33:13: got unsigned long long fs/omfs/file.c:36:24: warning: incorrect type in assignment (different base types) fs/omfs/file.c:36:24: expected restricted __be64 [usertype] e_cluster fs/omfs/file.c:36:24: got unsigned long long fs/omfs/file.c:37:23: warning: incorrect type in assignment (different base types) fs/omfs/file.c:37:23: expected restricted __be64 [usertype] e_blocks fs/omfs/file.c:37:23: got unsigned long long fs/omfs/bitmap.c:74:18: warning: incorrect type in argument 2 (different signedness) fs/omfs/bitmap.c:74:18: expected unsigned long volatile *addr fs/omfs/bitmap.c:74:18: got long * fs/omfs/bitmap.c:77:20: warning: incorrect type in argument 2 (different signedness) fs/omfs/bitmap.c:77:20: expected unsigned long volatile *addr fs/omfs/bitmap.c:77:20: got long * fs/omfs/bitmap.c:112:17: warning: incorrect type in argument 2 (different signedness) fs/omfs/bitmap.c:112:17: expected unsigned long volatile *addr fs/omfs/bitmap.c:112:17: got long * Signed-off-by: Harvey Harrison Acked-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32be1d22327743134974c7b2ec1e2a143b6b6f86 Author: Ben Dooks Date: Tue Jul 29 22:33:44 2008 -0700 scripts/mod/modpost.c: fix spelling of module and happens Spelling fixes in scripts/mod/modpost.c Signed-off-by: Ben Dooks Cc: Rusty Russell Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07a887d399b84668bc26cd040d699b26ec3086c2 Author: Adrian Bunk Date: Tue Jul 29 22:33:44 2008 -0700 remove drivers/serial/v850e_uart.c The removal of drivers/serial/v850e_uart.c originally was in my v850 removal patch, but it seems it got lost somewhere. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 836e4b14b41d19d17341a2dd2c49af8dd54e3aac Author: Paul Mundt Date: Tue Jul 29 22:33:43 2008 -0700 USB: m66592-udc: Fix up dev_set_name() badness. Commit 0031a06e2f07ab0d1bc98c31dbb6801f95f4bf01 converted all of the USB drivers to use dev_set_name(), though there was a typo on the m66592-udc conversion that handed off the wrong pointer (we want the struct device here obviously, not the struct usb_gadget). Signed-off-by: Paul Mundt Cc: Kay Sievers Cc: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 204b885e7322656284626949e51f292fe61313fa Author: Joerg Roedel Date: Tue Jul 29 22:33:42 2008 -0700 introduce lower_32_bits() macro The file kernel.h contains the upper_32_bits macro. This patch adds the other part, the lower_32_bits macro. Its first use will be in the driver for AMD IOMMU. Cc: H. Peter Anvin Signed-off-by: Joerg Roedel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87547ee95d81ec0ee1503fcaf9c9594469bc2510 Author: Fernando Luis Vazquez Cao Date: Tue Jul 29 22:33:42 2008 -0700 do_try_to_free_page: update comments related to vmscan functions Signed-off-by: Fernando Luis Vazquez Cao Cc: Hugh Dickins Cc: Nick Piggin Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d03431cf98aaed635524024273668bb8cedadda Author: Fernando Luis Vazquez Cao Date: Tue Jul 29 22:33:41 2008 -0700 swapfile/vmscan: update comments related to vmscan functions Signed-off-by: Fernando Luis Vazquez Cao Cc: Hugh Dickins Cc: Nick Piggin Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab33dc09a5c0d2bd6757afa1c2f804c9657daec0 Author: Fernando Luis Vazquez Cao Date: Tue Jul 29 22:33:40 2008 -0700 swap: update function comment of release_pages Signed-off-by: Fernando Luis Vazquez Cao Cc: Hugh Dickins Cc: Nick Piggin Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e6cbea39aaa32480145915751119227f29f6f7b Author: Fernando Luis Vazquez Cao Date: Tue Jul 29 22:33:39 2008 -0700 madvise: update function comment of madvise_dontneed Signed-off-by: Fernando Luis Vazquez Cao Cc: Hugh Dickins Cc: Nick Piggin Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 641de9d8f505db055d451b50e6e38117f84e79bb Author: Uwe Kleine-König Date: Tue Jul 29 22:33:38 2008 -0700 printk: fix comment for printk ratelimiting The comment assumed the burst to be one and the ratelimit used to be named printk_ratelimit_jiffies. Signed-off-by: Uwe Kleine-König Cc: Dave Young Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f3d137e0d6cd470a4e404cbc67480a0febdb0b1 Author: Jiri Slaby Date: Tue Jul 29 22:33:38 2008 -0700 Char: mxser, ratelimit ioctl warning The GET_MAJOR ioctl prints out a warning, make it ratelimited. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd673c7c3b1681dbfabab0062e67398dadf806af Author: Geert Uytterhoeven Date: Tue Jul 29 22:33:36 2008 -0700 initrd: cast `initrd_start' to `void *' commit fb6624ebd912e3d6907ca6490248e73368223da9 (initrd: Fix virtual/physical mix-up in overwrite test) introduced the compiler warning below on mips, as its virt_to_page() doesn't cast the passed address to unsigned long internally, unlike on most other architectures: init/main.c: In function `start_kernel': init/main.c:633: warning: passing argument 1 of `virt_to_phys' makes pointer from integer without a cast init/main.c:636: warning: passing argument 1 of `virt_to_phys' makes pointer from integer without a cast For now, kill the warning by explicitly casting initrd_start to `void *', as that's the type it should really be. Reported-by: Atsushi Nemoto Signed-off-by: Geert Uytterhoeven Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06ac667903ebea8191d4f7e7fa4e0936161e25fe Author: WANG Cong Date: Tue Jul 29 22:33:34 2008 -0700 uml: fix tty-related build error /home/wangcong/Projects/linux-2.6/arch/um/drivers/line.c: In function `line_write_interrupt': /home/wangcong/Projects/linux-2.6/arch/um/drivers/line.c:366: error: `struct tty_ldisc' has no member named `write_wakeup' /home/wangcong/Projects/linux-2.6/arch/um/drivers/line.c:367: error: `struct tty_ldisc' has no member named `write_wakeup' Signed-off-by: WANG Cong Cc: Jeff Dike Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c203003f64de5fe55ae35712942100d270667fa Author: Jerome Arbez-Gindre Date: Tue Jul 29 22:33:33 2008 -0700 connector: add a BlackBoard user to connector Add a BlackBoard user to connector. BlackBoard is part of the TSP GPL sampling framework (http://savannah.nongnu.org/p/tsp) [akpm@linux-foundation.org: add comment] Signed-off-by: Jerome Arbez-Gindre Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f1712bac586069d6c891a8201457283b27e8abe Author: Vegard Nossum Date: Tue Jul 29 22:33:32 2008 -0700 print_ip_sym(): use %pS Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c389d27b5e643d745f55ffb939b1426060ba63d4 Author: Borislav Petkov Date: Tue Jul 29 22:33:32 2008 -0700 8250.c: port.lock is irq-safe serial8250_startup() doesn't disable interrupts while taking the &up->port.lock which might race against the interrupt handler serial8250_interrupt(), which when entered, will deadlock waiting for the lock to be released. Signed-off-by: Borislav Petkov Tested-by: Ingo Molnar Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5def9a3a22e09c99717f41ab7f07ec9e1a1f3ec8 Author: Mathieu Desnoyers Date: Tue Jul 29 22:33:31 2008 -0700 markers: fix markers read barrier for multiple probes Paul pointed out two incorrect read barriers in the marker handler code in the path where multiple probes are connected. Those are ordering reads of "ptype" (single or multi probe marker), "multi" array pointer, and "multi" array data access. It should be ordered like this : read ptype smp_rmb() read multi array pointer smp_read_barrier_depends() access data referenced by multi array pointer The code with a single probe connected (optimized case, does not have to allocate an array) has correct memory ordering. It applies to kernel 2.6.26.x, 2.6.25.x and linux-next. Signed-off-by: Mathieu Desnoyers Cc: "Paul E. McKenney" Cc: [2.6.25.x, 2.6.26.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b68bb2632453a9ca7d10a00d79adf60968cb4c05 Author: David Brownell Date: Tue Jul 29 22:33:30 2008 -0700 rtc: don't return -EBUSY when mutex_lock_interruptible() fails It was pointed out that the RTC framework handles its mutex locks oddly ... returning -EBUSY when interrupted. This fixes that by returning the value of mutex_lock_interruptible() (i.e. -EINTR). Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 950d442ad053e660538cdaa6efc0e060c2a65062 Author: Julia Lawall Date: Tue Jul 29 22:33:28 2008 -0700 drivers/video: release mutex in error handling code The mutex is released on a successful return, so it would seem that it should be released on an error return as well. The semantic patch finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression l; @@ mutex_lock(l); ... when != mutex_unlock(l) when any when strict ( if (...) { ... when != mutex_unlock(l) + mutex_unlock(l); return ...; } | mutex_unlock(l); ) // Signed-off-by: Julia Lawall Acked-by: Krzysztof Helt Acked-by: Ondrej Zajicek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d667b6ddbcdc036a27407c8b2c1243f1dfd69e26 Author: Alexey Dobriyan Date: Tue Jul 29 22:33:26 2008 -0700 hpwdt: don't use static flags Static (read: global) is potential problem. Two threads can corrupt each other's interrupt status, better avoid this. Signed-off-by: Alexey Dobriyan Cc: Wim Van Sebroeck Cc: Thomas Mingarelli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26c131c71e31973e273adde4027e6a80bde164dc Author: Jan Beulich Date: Tue Jul 29 22:33:25 2008 -0700 iscsi_ibft_find: fix modpost warning Exporting __init functions is wrong. Signed-off-by: Jan Beulich Acked-by: Konrad Rzeszutek Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 126ed36d0edee41c0775906a164ad7e8bef55864 Author: Ben Dooks Date: Tue Jul 29 22:33:25 2008 -0700 backlight: ensure platform_lcd on by default It seems that we need to ensure that the lcd is powered up at start, otherwise we do not see a display. Signed-off-by: Ben Dooks Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aeed682421a5ebfbf46940e30c3d1caf3bc64304 Author: Li Zefan Date: Tue Jul 29 22:33:24 2008 -0700 cpuset: clean up cpuset hierarchy traversal code Use cpuset.stack_list rather than kfifo, so we avoid memory allocation for kfifo. Signed-off-by: Li Zefan Signed-off-by: Lai Jiangshan Cc: Paul Menage Cc: Cedric Le Goater Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93a6557558a13f9ff35213efeca483f353c39dd3 Author: Li Zefan Date: Tue Jul 29 22:33:23 2008 -0700 cpuset: fix wrong calculation of relax domain level When multiple cpusets are overlapping in their 'cpus' and hence they form a single sched domain, the largest sched_relax_domain_level among those should be used. But when top_cpuset's sched_load_balance is set, its sched_relax_domain_level is used regardless other sub-cpusets'. This patch fixes it by walking the cpuset hierarchy to find the largest sched_relax_domain_level. Signed-off-by: Lai Jiangshan Signed-off-by: Li Zefan Cc: Paul Menage Cc: Cedric Le Goater Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Reviewed-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5393693e96393131a4a2e2743f883986d508503 Author: Lai Jiangshan Date: Tue Jul 29 22:33:22 2008 -0700 cpuset: speed up sched domain partition All child cpusets contain a subset of the parent's cpus, so we can skip them when partitioning sched domains. This decreases 'csa' greately for cpusets with multi-level hierarchy. Signed-off-by: Lai Jiangshan Signed-off-by: Li Zefan Cc: Paul Menage Cc: Cedric Le Goater Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Reviewed-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d1e6266f512b3a94ef6d33528ff385f1aea0392 Author: Li Zefan Date: Tue Jul 29 22:33:21 2008 -0700 cpuset: a bit cleanup for scan_for_empty_cpusets() clean up hierarchy traversal code Signed-off-by: Li Zefan Cc: Paul Menage Cc: Cedric Le Goater Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Paul Jackson Cc: Cliff Wickman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ef1b0fd61333b3b81ebe29283898c6c84b15c9f Author: Li Zefan Date: Tue Jul 29 22:33:20 2008 -0700 memcg: remove redundant check in move_task() It's guaranteed by cgroup that old_cgrp != cgrp. Signed-off-by: Li Zefan Cc: Paul Menage Cc: Cedric Le Goater Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55b6fd0162ace1e0f1b52c8c092565c115127ef6 Author: Li Zefan Date: Tue Jul 29 22:33:20 2008 -0700 cgroup: uninline cgroup_has_css_refs() It's not small enough, and has 2 call sites. text data bss dec hex filename 12813 1676 4832 19321 4b79 cgroup.o.orig 12775 1676 4832 19283 4b53 cgroup.o Signed-off-by: Li Zefan Cc: Paul Menage Cc: Cedric Le Goater Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36553434f475a84b653e25e74490ee8df43b86d5 Author: Li Zefan Date: Tue Jul 29 22:33:19 2008 -0700 cgroup: remove duplicate code in allocate_cg_link() - just call free_cg_links() in allocate_cg_links() - the list will get initialized in allocate_cg_links(), so don't init it twice Signed-off-by: Li Zefan Cc: Paul Menage Cc: Cedric Le Goater Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a3eb9f6b7c598529f832b8baa6458ab1cbab2c6 Author: Li Zefan Date: Tue Jul 29 22:33:18 2008 -0700 cgroup: fix possible memory leak There's a leak if copy_from_user() returns failure. Signed-off-by: Li Zefan Cc: Paul Menage Cc: Cedric Le Goater Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d1958f05095a7e9ecbba86235122784a3d1b561 Author: Yinghai Lu Date: Tue Jul 29 22:33:16 2008 -0700 mm: remove find_max_pfn_with_active_regions It has no user now Also print out info about adding/removing active regions. Signed-off-by: Yinghai Lu Acked-by: Mel Gorman Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3971e1a917548977cff71418a7c3575ffbc9571f Author: Alex Nixon Date: Tue Jul 29 22:33:03 2008 -0700 VFS: increase pseudo-filesystem block size to PAGE_SIZE This commit: commit ba52de123d454b57369f291348266d86f4b35070 Author: Theodore Ts'o Date: Wed Sep 27 01:50:49 2006 -0700 [PATCH] inode-diet: Eliminate i_blksize from the inode structure caused the block size used by pseudo-filesystems to decrease from PAGE_SIZE to 1024 leading to a doubling of the number of context switches during a kernbench run. Signed-off-by: Alex Nixon Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Peter Zijlstra Cc: Ingo Molnar Cc: Ian Campbell Cc: "Theodore Ts'o" Cc: Alexander Viro Cc: Hugh Dickins Cc: Jens Axboe Cc: [2.6.25.x, 2.6.26.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdac4e69a1fc181652b37ce6a32ab8a56b0f3bcf Author: Helge Deller Date: Tue Jul 29 22:33:01 2008 -0700 sticore: don't activate unsupported GSC STI cards on HPPA On HPPA there exists some older GSC graphics cards, which need special graphic-card-BIOS patching to become supported. Since we don't have yet implemented the patching, it's better to detect such cards in advance, inform to the user that there are known problems and to not activate the card. Problematic GSC cards and BIOS versions are: * Hyperdrive/Hyperbowl (A4071A) graphics card series: * ID = 0x2BCB015A (Version 8.04/8) * ID = 0x2BCB015A (Version 8.04/11) * Thunder 1 VISUALIZE 48 card: * ID = 0x2F23E5FC (Version 8.05/9) * Thunder 2 VISUALIZE 48 XP card: * ID = 0x2F8D570E (Version 8.05/12) * Some Hyperion and ThunderHawk GSC cards Further details are described here: http://parisc-linux.org/faq/graphics-howto.html Signed-off-by: Helge Deller Cc: Kyle McMartin Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b67c5d48f104aae6118bbb052dd79a15ab9794b Author: Thomas Renninger Date: Tue Jul 29 22:32:59 2008 -0700 acpi cpufreq cleanup: move bailing out of function before locking the mutex Signed-off-by: Thomas Renninger Cc: Andi Kleen Cc: Len Brown Cc: Dave Jones Cc: Ingo Molnar Cc: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1531acd43310a7e4571d52e8846640667f4c74b Author: Thomas Renninger Date: Tue Jul 29 22:32:58 2008 -0700 cpufreq acpi: only call _PPC after cpufreq ACPI init funcs got called already Ingo Molnar provided a fix to not call _PPC at processor driver initialization time in "[PATCH] ACPI: fix cpufreq regression" (git commit e4233dec749a3519069d9390561b5636a75c7579) But it can still happen that _PPC is called at processor driver initialization time. This patch should make sure that this is not possible anymore. Signed-off-by: Thomas Renninger Cc: Andi Kleen Cc: Len Brown Cc: Dave Jones Cc: Ingo Molnar Cc: Venkatesh Pallipadi Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a4e564b7db999fbe5d88318c96ac8747699d417 Author: Magnus Damm Date: Tue Jul 29 22:32:57 2008 -0700 resource: add resource_size() Avoid one-off errors by introducing a resource_size() function. Signed-off-by: Magnus Damm Cc: Ben Dooks Cc: Jean Delvare Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e958d3ace7791f33518f0259cd3cf229408b135c Author: Ben Dooks Date: Tue Jul 29 22:32:56 2008 -0700 backlight: give platform_lcd the same name as the platform device. When registering an platform_lcd, use the name of the platform device specified in case there are more than one platform_lcd backlights registered. Signed-off-by: Ben Dooks Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 031cf19e6f63941506c9baf76ac7adac06edcf08 Author: Robert P. J. Day Date: Wed Jul 30 03:14:01 2008 -0700 net: Make "networking" one-click deselectable. Use a menuconfig directive to make all of networking support one-click deselectable from the top-level menu. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 17ef51fce03758736e9051c4360eca237dd0aaeb Author: Daniel Lezcano Date: Wed Jul 30 03:12:31 2008 -0700 ipv6: Fix useless proc net sockstat6 removal This call is no longer needed, sockstat6 is per namespace so it is removed at the namespace subsystem destruction. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 785957d3e8c6fb37b18bf671923a76dbd8240025 Author: David S. Miller Date: Wed Jul 30 03:03:15 2008 -0700 tcp: MD5: Use MIB counter instead of warning for MD5 mismatch. From a report by Matti Aarnio, and preliminary patch by Adam Langley. Signed-off-by: David S. Miller commit 8d50b53d66a8a6ae41bafbdcabe401467803f33a Author: David S. Miller Date: Wed Jul 30 02:37:46 2008 -0700 pkt_sched: Fix OOPS on ingress qdisc add. Bug report from Steven Jan Springl: Issuing the following command causes a kernel oops: tc qdisc add dev eth0 handle ffff: ingress The problem mostly stems from all of the special case handling of ingress qdiscs. So, to fix this, do the grafting operation the same way we do for TX qdiscs. Which means that dev_activate() and dev_deactivate() now do the "qdisc_sleeping <--> qdisc" transitions on dev->rx_queue too. Future simplifications are possible now, mainly because it is impossible for dev_queue->{qdisc,qdisc_sleeping} to be NULL. There are NULL checks all over to handle the ingress qdisc special case that used to exist before this commit. Signed-off-by: David S. Miller commit 38c080ffa9c1b840390832b42ce8621464ab9f97 Author: Andreas Schwab Date: Tue Jul 29 23:59:20 2008 -0700 niu: Fix error checking in niu_ethflow_to_class. The callers of niu_ethflow_to_class expect zero as error, but it returns -1 instead. Signed-off-by: Andreas Schwab Signed-off-by: David S. Miller commit 4a36702e016947a0ce6c0c024673bb5b16d3f618 Author: Miao Xie Date: Tue Jul 29 23:57:58 2008 -0700 IPv6: datagram_send_ctl() should exit immediately when an error occured When an error occured, datagram_send_ctl() should exit immediately rather than continue to run the for loop. Otherwise, the variable err might be changed and the error might be hidden. Fix this bug by using "goto" instead of "break". Signed-off-by: Miao Xie Signed-off-by: David S. Miller commit ce0ad7f0952581ba75ab6aee55bb1ed9bb22cf4f Author: Nick Piggin Date: Wed Jul 30 15:23:13 2008 +1000 powerpc/mm: Lockless get_user_pages_fast() for 64-bit (v3) Implement lockless get_user_pages_fast for 64-bit powerpc. Page table existence is guaranteed with RCU, and speculative page references are used to take a reference to the pages without having a prior existence guarantee on them. Signed-off-by: Nick Piggin Signed-off-by: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Benjamin Herrenschmidt commit 7d2a175b9bf6e9422bebe95130a3c79a25ff4602 Author: Michael Neuling Date: Tue Jul 29 01:13:14 2008 +1000 powerpc: Don't use the wrong thread_struct for ptrace get/set VSX regs In PTRACE_GET/SETVSRREGS, we should be using the thread we are ptracing rather than current. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 1ac42ef844d7c0996f15c6f94f463ac94cb80818 Author: Michael Neuling Date: Tue Jul 29 01:13:14 2008 +1000 powerpc: Fix ptrace buffer size for VSX Fix cut-and-paste error in the size setting for ptrace buffers for VSX. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 33b3f03dccc26c377e9689790ecc41079a0c9ca7 Author: Michael Neuling Date: Tue Jul 29 01:13:14 2008 +1000 powerpc: Correctly hookup PTRACE_GET/SETVSRREGS for 32 bit processes Fix bug where PTRACE_GET/SETVSRREGS are not connected for 32 bit processes. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 9842727da7d95d8249087148048cc571f967c023 Author: Benjamin Herrenschmidt Date: Mon Jul 28 11:29:56 2008 +1000 ide/powermac: Fix use of uninitialized pointer on media-bay The current ide-pmac calls media_bay_set_ide_infos() with an uninitialized "hwif" argument. The proper fix is to split the allocation of the hwif from its registration in order to properly setup the mediabay informations before registration. Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Benjamin Herrenschmidt commit 9ee07f91a1fab61ff0d8d25be43351a049c0a821 Author: Nathan Fontenot Date: Sat Jul 26 04:27:06 2008 +1000 powerpc: Allow non-hcall return values for lparcfg writes The code to handle writes to /proc/ppc64/lparcfg incorrectly assumes that the return code from the helper routines to update processor or memory entitlement return a hcall return value. It then assumes any non-hcall return value is bad and sets the return code for the write to be -EIO. The update_[mp]pp routines can return values other than a hcall return value. This patch removes the automatic setting of any return code that is not an hcall return value from these routines to -EIO. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit 11c675cef2fbe471dc6103a89b156e65c3630f3a Author: Stephen Rothwell Date: Fri May 23 16:22:42 2008 +1000 ipmi/powerpc: Use linux/of_{device,platform}.h instead of asm Drivers should not include the asm variants anymore Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit e93dc4891df93d7efa59d861fdcbb529a1819343 Merge: 6e86841... 56a6d13... Author: David S. Miller Date: Tue Jul 29 21:51:00 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 3a1a8acf690873f0ee2d8a648c2ec185f4294bd2 Merge: 6e86841... cf0d19f... Author: Benjamin Herrenschmidt Date: Wed Jul 30 14:36:03 2008 +1000 Merge commit 'kumar/kumar-next' commit cf0d19fb3032ebf2cf8e5217da00f51dc025aa8e Author: Kim Phillips Date: Tue Jul 29 15:29:24 2008 -0500 powerpc/fsl: proliferate simple-bus compatibility to soc nodes add simple-bus compatible property to soc nodes for 83xx/85xx platforms that were missing them. Add same to platform probe code. This fixes SoC device drivers (such as talitos) to succeed in matching devices present in the soc node. also update mpc836x_rdk dts to new SEC bindings (overlooked in commit 3fd4473: powerpc/fsl: update crypto node definition and device tree instances). Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 56a6d13dfd49d90d72a1a962246206719dd9d143 Author: Luis Carlos Cobo Date: Tue Jul 29 19:59:31 2008 +0200 mac80211: fix mesh beaconing This patch fixes mesh beaconing, which was broken by "mac80211: revamp beacon configuration". Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 77bbadd5ea893f364a0d1879723037678a03725c Author: Vegard Nossum Date: Tue Jul 29 13:31:47 2008 +0200 PS3: gelic: use unsigned long for irqflags The semantic patch I used was this: @@ expression lock; identifier flags; expression subclass; @@ - unsigned int flags; + unsigned long flags; ... <+... ( spin_lock_irqsave(lock, flags) | _spin_lock_irqsave(lock) | spin_unlock_irqrestore(lock, flags) | _spin_unlock_irqrestore(lock, flags) | read_lock_irqsave(lock, flags) | _read_lock_irqsave(lock) | read_unlock_irqrestore(lock, flags) | _read_unlock_irqrestore(lock, flags) | write_lock_irqsave(lock, flags) | _write_lock_irqsave(lock) | write_unlock_irqrestore(lock, flags) | _write_unlock_irqrestore(lock, flags) | spin_lock_irqsave_nested(lock, flags, subclass) | _spin_lock_irqsave_nested(lock, subclass) | spin_unlock_irqrestore(lock, flags) | _spin_unlock_irqrestore(lock, flags) | _raw_spin_lock_flags(lock, flags) | __raw_spin_lock_flags(lock, flags) ) ...+> This patch was generated using the Coccinelle framework. Cc: Masakazu Mokuno Cc: Julia Lawall Cc: Alexey Dobriyan Signed-off-by: Vegard Nossum Signed-off-by: John W. Linville commit 14db74bcc3f7a779cf395a47e26b06a28207571a Author: Johannes Berg Date: Tue Jul 29 13:22:52 2008 +0200 mac80211: fix cfg80211 hooks for master interface The master interface is a virtual interface that is registered to mac80211, changing that does not seem like a good idea at the moment. However, since it has no sdata, we cannot accept any configuration for it. This patch makes the cfg80211 hooks reject any such attempt. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bba95fefb8e31f4799652666d05a4a9aad56e492 Author: Johannes Berg Date: Tue Jul 29 13:22:51 2008 +0200 nl80211: fix dump callbacks Julius Volz pointed out that the dump callbacks in nl80211 were broken and fixed one of them. This patch fixes the other three and also addresses the TODOs there. Signed-off-by: Johannes Berg Cc: Julius Volz Cc: Thomas Graf Signed-off-by: John W. Linville commit d0f09804144fd9471a13cf4d80e66842c7fa114f Author: Johannes Berg Date: Tue Jul 29 11:32:07 2008 +0200 mac80211: partially fix skb->cb use This patch fixes mac80211 to not use the skb->cb over the queue step from virtual interfaces to the master. The patch also, for now, disables aggregation because that would still require requeuing, will fix that in a separate patch. There are two other places (software requeue and powersaving stations) where requeue can happen, but that is not currently used by any drivers/not possible to use respectively. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0ccd58fc03f40529f66190b1a41e92a732d2bda8 Author: Larry Finger Date: Mon Jul 28 22:25:08 2008 -0500 rtl8187: Improve wireless statistics for RTL8187B Wireless statistics produced by the RTL8187B driver are not particularly informative about the strength of the received signal. From the data sheet provided by Realtek, I discovered that certain parts of the RX header should have the information necessary to calculate signal quality and strength. With testing, it became clear that most of these quantities were very jittery - only the AGC correlated with the signals expected from nearby AP's. As a result, the quality and strength are derived from the agc value. The scaling has been determined so that the numbers are close to those obtained by b43 under the same conditions. The results are qualitatively correct. Statistics derived for the RTL8187 have not been changed. The RX header variables have been renamed to match the quantites described in the Realtek data sheet. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1f690d7b549ef9c7424536475501885dd5b54930 Author: Larry Finger Date: Mon Jul 28 22:08:18 2008 -0500 rtl8187: Fix for TX sequence number problem "mac80211: fix TX sequence numbers" broke rtl8187. This patch makes the same kind of fix that was done for rt2x00. Note that this code will have to be reworked for proper sequence numbers on beacons. In addition, the sequence number has been placed in the hardware state, not the vif state. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 5422399518e8142198df888aab00acdac251f754 Author: Rami Rosen Date: Thu Jul 24 10:40:37 2008 +0300 mac80211: append CONFIG_ to MAC80211_VERBOSE_PS_DEBUG in net/mac80211/tx.c. In net/mac80211/tx.c, there are some #ifdef which checks MAC80211_VERBOSE_PS_DEBUG (which in fact is never set) instead of CONFIG_MAC80211_VERBOSE_PS_DEBUG, as should be. This patch replaces MAC80211_VERBOSE_PS_DEBUG with CONFIG_MAC80211_VERBOSE_PS_DEBUG in these #ifdef commands in net/mac80211/tx.c. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 0b06b2ae0e474fc6378117c832bcd94785a9e975 Author: Harvey Harrison Date: Wed Jul 23 18:36:38 2008 -0700 mac80211: fix sparse integer as NULL pointer warning drivers/net/wireless/mac80211_hwsim.c:503:20: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 031211049b71619f7e776521963c082ca453d9fd Author: Andrew Morton Date: Tue Jul 22 23:50:04 2008 -0700 drivers/net/wireless/iwlwifi/iwl-led.c: printk fix ia64: drivers/net/wireless/iwlwifi/iwl-led.c: In function `iwl_get_blink_rate': drivers/net/wireless/iwlwifi/iwl-led.c:271: warning: long long int format, s64 arg (arg 6) drivers/net/wireless/iwlwifi/iwl-led.c:271: warning: long long int format, u64 arg (arg 7) We do not know what type the architecture uses to impement u64 and s64, hence we must cast the variables for printing. Cc: Tomas Winkler Cc: John W. Linville Cc: Zhu Yi Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 023a04bebe7030c1e6d5347bd3f27a3e49a1f222 Author: Jeremy Fitzhardinge Date: Mon Jul 14 12:52:08 2008 -0700 mac80211: return correct error return from ieee80211_wep_init Return the proper error code rather than a hard-coded ENOMEM from ieee80211_wep_init. Also, print the error code on failure. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: John W. Linville commit 1b0241656b658522a15e7aad570cb8ea6b255a2a Author: Jiri Slaby Date: Mon Jul 14 12:43:23 2008 +0200 mac80211: tx, use dev_kfree_skb_any for beacon_get Use dev_kfree_skb_any(); instead of dev_kfree_skb();, since ieee80211_beacon_get function might be called from atomic. (It's in a fail path.) Signed-off-by: Jiri Slaby Cc: Johannes Berg Cc: Michael Wu Signed-off-by: John W. Linville commit 9c0ab712c7e40b61063431cae74a3e763535a4e7 Author: Ivo van Doorn Date: Mon Jul 21 19:06:02 2008 +0200 rt2x00: Clear queue entry flags during initialization When the queues are being initialized the entry flags fields must be reset to 0. When this does not happen some entries might still be marked as "occupied" after an ifdown & ifup cycle which would trigger errors when the entry is being accessed: phy0 -> rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0. Please file bug report to http://rt2x00.serialmonkey.com. This also fixes the mac80211 warning: ------------[ cut here ]------------ WARNING: at net/mac80211/tx.c:1238 ieee80211_master_start_xmit+0x30a/0x350 [mac80211]() which was triggered by the queue error. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 74c0ee9b59bdaa81a666d5d58022f847390e4b0c Author: Ivo van Doorn Date: Mon Jul 21 11:52:44 2008 +0200 rt2x00: Force full register config after start() rt2x00 will only perform configuration changes from mac80211 when the configuration option has changed. This means it keeps track of the current active configuration and will check these values when the config() callback function is used. However this causes breakage when the interface has been brought down and up again, since all stored active values aren't reset while the registers might have. This is for example the case with rt61pci antenna registers which will jump to invalid values when the interface has been started. To make sure a full configuration takes place after the start() callback function, a new flag is added which will be checked during config() and skips the "what's changed" phase. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4104863fb4a724723d1d5f3cba9d3c5084087e45 Author: Julia Lawall Date: Mon Jul 21 11:29:34 2008 +0200 b43legacy: Release mutex in error handling code The mutex is released on a successful return, so it would seem that it should be released on an error return as well. The semantic patch finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression l; @@ mutex_lock(l); ... when != mutex_unlock(l) when any when strict ( if (...) { ... when != mutex_unlock(l) + mutex_unlock(l); return ...; } | mutex_unlock(l); ) // Signed-off-by: Julia Lawall Signed-off-by: Michael Buesch Cc: stable Signed-off-by: John W. Linville commit 80c42affad970c8ebc5ebec4681aef8dadf21c32 Author: Julia Lawall Date: Mon Jul 21 09:58:11 2008 +0200 drivers/net/wireless/ipw2100.c: Release mutex in error handling code The mutex is released on a successful return, so it would seem that it should be released on an error return as well. The semantic patch finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression l; @@ mutex_lock(l); ... when != mutex_unlock(l) when any when strict ( if (...) { ... when != mutex_unlock(l) + mutex_unlock(l); return ...; } | mutex_unlock(l); ) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit e7087a828f8714e464fff18d93618727530dfd89 Author: Ivo van Doorn Date: Sun Jul 20 18:03:58 2008 +0200 rt2x00: Fix memleak when RTS/CTS fails When sending the RTS/CTS frame fails, we should free the skb buffer which was created. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5adf6d63c1697ce1835daf2b5393488a71ee0dca Author: Ivo van Doorn Date: Sun Jul 20 18:03:38 2008 +0200 rt2x00: Fix QOS sequence counting When IEEE80211_TX_CTL_ASSIGN_SEQ is not set, the driver should disable hardware sequence counting to make sure the mac80211 provided counter is used. This fixes QOS sequence counting, since that is one of the cases where mac80211 provides a seperate sequence counter. By moving the sequence counting code to rt2x00queue we make sure that _all_ frames get the sequence counter, including RTS/CTS and Beacon frames. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b93ce437eba7e0232683326f30d9d1167a872fad Author: Iwo Mergler Date: Sat Jul 19 16:17:40 2008 +0200 rt2x00: Fix the beacon length bug When setting up a beacon template, the length of the beacon is calculated with the assumption that the SKB already contains the Tx descriptor. In the case of beacons it doesn't. This patch undoes the damage by adding the Tx descriptor length to the beacon length. This is safe, because the shortest possible beacon is longer than the Tx header. Signed-off-by: Iwo Mergler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3e0c1abe748a30bc705a55f71bca8e04a83820f1 Author: Iwo Mergler Date: Sat Jul 19 16:17:16 2008 +0200 rt2x00: Large vendor requests for rt73usb firmware upload and beacons Switches rt73usb to use large vendor requests for firmware and beacons. This also fixes the garbled beacon bug. Signed-off-by: Iwo Mergler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ed0dbeeb92bdb1030bcec67e20b294bd2020cb31 Author: Iwo Mergler Date: Sat Jul 19 16:16:54 2008 +0200 rt2x00: Support for large vendor requests Adds an extra rt2x00 vendor request function to support register transfers beyond the CSR_CACHE_SIZE / USB packet size limit. This is useful for firmware uploads, beacon templates and keys, all of which are to large to do with a single USB request. Signed-off-by: Iwo Mergler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f2fdbc4847e0d3991474949f21aa439c361391db Author: Ivo van Doorn Date: Sat Jul 19 16:16:12 2008 +0200 rt2x00: Fix EIFS timing value Olivier reported a difference between the EIFS values used in the legacy driver and the one in the rt2x00 drivers. In rt2x00 the value was ( SIFS + (8 * (IEEE80211_HEADER + ACK_SIZE)) ) which comes down to 314us while the legacy driver uses the value 364us This was caused because EIFS is: SIFS + DIFS + AckTime This patch will fix this by adding the DIFS by the above value, and creating a SHORT_EIFS define which uses the SHORT_DIFS. Reported-by: Olivier Cornu Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ed06387b44f0501f7298b559dc8ddfcd410c8fa0 Author: Ivo van Doorn Date: Sat Jul 19 16:15:42 2008 +0200 rt2x00: Remove duplicate declaration rt2x00queue_free_skb() was declared twice. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 256b152b005e319f985f50f2a910a75ba0def74f Author: Pavel Roskin Date: Fri Jul 18 12:56:59 2008 -0400 ath5k: don't enable MSI, we cannot handle it yet MSI is a nice thing, but we cannot enable it without changing the interrupt handler. If we do it, we break MSI capable hardware, specifically AR5006 chipset. Signed-off-by: Pavel Roskin Acked-by: Nick Kossifidis Cc: stable Signed-off-by: John W. Linville commit bc05116ab33d30342e2b4b1bcc6d6e1184e9df97 Author: Bob Copeland Date: Fri Jul 18 11:11:21 2008 -0400 ath5k: fix recursive locking in ath5k_beacon_update ath5k_beacon_update takes sc->lock upon entry. However, it is only called from within ath5k_config_interface, which already holds the lock. Remove the unnecessary locking from ath5k_beacon_update. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit cb9289cb798502a5010c8f1d8d003842cd1449a4 Author: Denis V. Lunev Date: Fri Jul 18 10:56:12 2008 +0400 iwlwifi: small compile warnings without CONFIG_IWLWIFI_DEBUG CC [M] drivers/net/wireless/iwlwifi/iwl-scan.o drivers/net/wireless/iwlwifi/iwl-scan.c: In function 'iwl_rx_scan_complete_notif': drivers/net/wireless/iwlwifi/iwl-scan.c:274: warning: unused variable 'scan_notif' Signed-off-by: Denis V. Lunev Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit c0b6a1c9be3acac0f600072ebc2bc6ad3d8c8f76 Author: Denis V. Lunev Date: Thu Jul 17 13:19:24 2008 +0400 iwlwifi: compilation error when CONFIG_IWLWIFI_DEBUG is not set CC [M] drivers/net/wireless/iwlwifi/iwl-rfkill.o drivers/net/wireless/iwlwifi/iwl-led.c: In function 'iwl_led_brightness_set': drivers/net/wireless/iwlwifi/iwl-led.c:198: error: 'led_type_str' undeclared (first use in this function) drivers/net/wireless/iwlwifi/iwl-led.c:198: error: (Each undeclared identifier is reported only once drivers/net/wireless/iwlwifi/iwl-led.c:198: error: for each function it appears in.) The problem is that led_type_str is defined under CONFIG_IWLWIFI_DEBUG while IWL_DEBUG is a static inline function in this case. Replace it with macro. Signed-off-by: Denis V. Lunev Signed-off-by: John W. Linville commit fb904907fb1a02a64af9f2d1fb1ef35d963231f9 Author: Brian Cavagnolo Date: Wed Jul 16 12:15:26 2008 -0700 libertas: check bounds and only use decimal for sysfs persistent features. Some persistent settings were using hex and others decimal. In some cases, values were set in hex but reported in decimal. Confusing. Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 699669f331a9e459713e4327a468db8fbb8cd60f Author: Rami Rosen Date: Wed Jul 16 16:39:56 2008 +0300 iwl-3945: add #ifdef CONFIG_IWL3945_LEDS to avoid compile warning. When building the wireless-next-2.6 tree with CONFIG_IWL3945 (for building iwl-3945 driver) and where CONFIG_IWL3945_LEDS is not set, we get this warning: drivers/net/wireless/iwlwifi/iwl-3945.c: In function 'iwl3945_pass_packet_to_mac80211': drivers/net/wireless/iwlwifi/iwl-3945.c:633: warning: unused variable 'hdr' This patch adds #ifdef to iwl3945_pass_packet_to_mac80211() to avoid this warning. (The variable 'hdr' is used only if CONFIG_IWL3945_LEDS is set) Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 435307a365ceedc4f4e1813e405f583f434d98e4 Author: Henrique de Moraes Holschuh Date: Mon Jul 21 21:18:22 2008 -0300 rfkill: yet more minor kernel-doc fixes For some stupid reason, I sent and old version of the patch minor kernel doc-fix patch, and it got merged before I noticed the problem. This is an incremental fix on top. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 064af1117b4aa64a0e52f6b741df7356ef055142 Author: Henrique de Moraes Holschuh Date: Mon Jul 21 21:18:20 2008 -0300 rfkill: mutex fixes There are two mutexes in rfkill: rfkill->mutex, which protects some of the fields of a rfkill struct, and is also used for callback serialization. rfkill_mutex, which protects the global state, the list of registered rfkill structs and rfkill->claim. Make sure to use the correct mutex, and to not miss locking rfkill->mutex even when we already took rfkill_mutex. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit f1b23361a0f15497d4c6795a2935b2e98064ddfb Author: Henrique de Moraes Holschuh Date: Mon Jul 21 21:18:19 2008 -0300 rfkill: document the rfkill struct locking (v2) Reorder fields in struct rfkill and add comments to make it clear which fields are protected by rfkill->mutex. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 37f55e9d78d1b63047b1b7ae175cdce650547ba8 Author: Henrique de Moraes Holschuh Date: Mon Jul 21 21:18:18 2008 -0300 rfkill: fix led-trigger unregister order in error unwind rfkill needs to unregister the led trigger AFTER a call to rfkill_remove_switch(), otherwise it will not update the LED state, possibly leaving it ON when it should be OFF. To make led-trigger unregistering safer, guard against unregistering a trigger twice, and also against issuing trigger events to a led trigger that was unregistered. This makes the error unwind paths more resilient. Refer to "rfkill: Register LED triggers before registering switch". Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: Michael Buesch Cc: Dmitry Baryshkov Signed-off-by: John W. Linville commit 2fd9b2212e25e6411b6f309707f4e2683d164250 Author: Henrique de Moraes Holschuh Date: Mon Jul 21 21:18:17 2008 -0300 rfkill: document rfkill_force_state as required (v2) While the rfkill class does work with just get_state(), it doesn't work well on devices that are subject to external events that cause rfkill state changes. Document that rfkill_force_state() is required in those cases. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 734b5aa911dc65f4563048f069dfc631c9aa7de7 Author: Bob Copeland Date: Tue Jul 15 13:07:16 2008 -0400 ath5k: use positive logic for HP laptop LEDs Helge Deller reports that HP laptops (NC4010 and NC6000) use active- high signals to turn on the LEDs. Previous code used active-low for all devices. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 3e4242b99ce46fed82aa7f40ad5a1817a2b3bd45 Author: Jiri Slaby Date: Tue Jul 15 17:44:21 2008 +0200 Ath5k: suspend/resume fixes - free and re-request irq since it might have changed during suspend - disable and enable msi - don't set D0 state of the device, it's already done by the PCI layer - do restore_state before enable_device, it's safer - check ath5k_init return value Signed-off-by: Jiri Slaby Acked-by: Nick Kossifidis Cc: Luis R. Rodriguez Cc: Jesse Barnes Signed-off-by: John W. Linville commit e86600c7b4e9b9b22ba51620613d6159bf5cf504 Author: Jiri Slaby Date: Tue Jul 15 17:44:43 2008 +0200 Ath5k: fix dma operation Don't sync - coherent mapping (descriptors) - before unmap, it's useless - (wrongly anyway -- for_cpu) beacon skb, it's just mapped, so by the device yet Signed-off-by: Jiri Slaby Acked-by: Nick Kossifidis Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit 274c7c3638cd027b46f76d0caef96c1bad8b6701 Author: Jiri Slaby Date: Tue Jul 15 17:44:20 2008 +0200 Ath5k: flush work Make sure that the irq is not in progress after stop. This means two things: - ensure the intr setting register is set by flushing posted values - call synchronize_irq() after that Also flush stop tx write, inform callers of the tx stop about still pending transfers (unsuccessful stop) and finally don't wait another 3ms in ath5k_rx_stop, since ath5k_hw_stop_rx_dma ensures transfer to be finished. Make sure all writes will be ordered in respect to locks by mmiowb(). Signed-off-by: Jiri Slaby Acked-by: Nick Kossifidis Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit 10488f8ad62be3b860bad74e60b4fe6ab87aece3 Author: Jiri Slaby Date: Tue Jul 15 17:44:19 2008 +0200 Ath5k: kill tasklets on shutdown Don't forget to kill tasklets on stop to not panic if they fire after freeing some structures. Signed-off-by: Jiri Slaby Acked-by: Nick Kossifidis Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3a0f2c871849f23c1070965bf94dec3f9c0b479d Author: Jiri Slaby Date: Tue Jul 15 17:44:18 2008 +0200 Ath5k: fix memory corruption When signal is noisy, hardware can use all RX buffers and since the last entry in the list is self-linked, it overwrites the entry until we link new buffers. Ensure that we don't free this last one until we are 100% sure that it is not used by the hardware anymore to not cause memory curruption as can be seen below. This is done by checking next buffer in the list. Even after that we know that the hardware refetched the new link and proceeded further (the next buffer is ready) we can finally free the overwritten buffer. We discard it since the status in its descriptor is overwritten (OR-ed by new status) too. ============================================================================= BUG kmalloc-4096: Poison overwritten ----------------------------------------------------------------------------- INFO: 0xffff810067419060-0xffff810067419667. First byte 0x8 instead of 0x6b INFO: Allocated in dev_alloc_skb+0x18/0x30 age=1118 cpu=1 pid=0 INFO: Freed in skb_release_data+0x85/0xd0 age=1105 cpu=1 pid=3718 INFO: Slab 0xffffe200019d0600 objects=7 used=0 fp=0xffff810067419048 flags=0x40000000000020c3 INFO: Object 0xffff810067419048 @offset=4168 fp=0xffff81006741c120 Bytes b4 0xffff810067419038: 4f 0b 02 00 01 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a O.......ZZZZZZZZ Object 0xffff810067419048: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Object 0xffff810067419058: 6b 6b 6b 6b 6b 6b 6b 6b 08 42 30 00 00 0b 6b 80 kkkkkkkk.B0...k. Object 0xffff810067419068: f0 5d 00 4f 62 08 a3 64 00 0c 42 16 52 e4 f0 5a 360].Ob.243d..B.R344360Z Object 0xffff810067419078: 68 81 00 00 7b a5 b4 be 7d 3b 8f 53 cd d5 de 12 h...{245264276};.S315325336. Object 0xffff810067419088: 96 10 0b 89 48 54 23 41 0f 4e 2d b9 37 c3 cb 29 ....HT#A.N-2717303313) Object 0xffff810067419098: d1 e0 de 14 8a 57 2a cc 3b 44 0d 78 7a 19 12 15 321340336..W*314;D.xz... Object 0xffff8100674190a8: a9 ec d4 35 a8 10 ec 8c 40 a7 06 0a 51 a7 48 bb 2513543245250.354.@247..Q247H273 Object 0xffff8100674190b8: 3e cf a1 c7 38 60 63 3f 51 15 c7 20 eb ba 65 30 >ϡ3078`c?Q.307.353272e0 Redzone 0xffff81006741a048: bb bb bb bb bb bb bb bb 273273273273273273273273 Padding 0xffff81006741a088: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ Pid: 3297, comm: ath5k_pci Not tainted 2.6.26-rc8-mm1_64 #427 Call Trace: [] print_trailer+0xf6/0x150 [] check_bytes_and_report+0x125/0x180 [] check_object+0xac/0x260 [] __slab_alloc+0x368/0x6d0 [] ? wireless_send_event+0x142/0x310 [] ? __alloc_skb+0x44/0x150 [] ? wireless_send_event+0x142/0x310 [] __kmalloc_track_caller+0xc3/0xf0 [] __alloc_skb+0x6e/0x150 [... stack snipped] FIX kmalloc-4096: Restoring 0xffff810067419060-0xffff810067419667=0x6b FIX kmalloc-4096: Marking all objects used Signed-off-by: Jiri Slaby Acked-by: Nick Kossifidis Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit 605a0bd66d9d55e9ba46da1a9e5140c68bdf6d85 Author: Johannes Berg Date: Tue Jul 15 10:10:01 2008 +0200 mac80211: remove IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE flag I forgot this in the previous patch that made it unused. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 74deace2f952f7a28d2c516facc9954199881937 Author: Paul Gortmaker Date: Mon Jul 28 14:50:31 2008 -0400 Documentation: remove old sbc8260 board specific information This file contains 8 yr. old board specific information that was for the now gone ppc implementation, and it pre-dates widespread u-boot support. Any of the technical details of the board memory map would be more appropriately captured in a dts if I revive it as powerpc anyway. Signed-off-by: Paul Gortmaker Acked-by: Jason Wessel Signed-off-by: Kumar Gala commit dddb8d311157d054da5441385f681b8cc0e5a94b Author: Laurent Pinchart Date: Tue Jul 22 18:00:43 2008 +0200 cpm2: Rework baud rate generators configuration to support external clocks. The CPM2 BRG setup functions cpm_setbrg and cpm2_fastbrg don't support external clocks. This patch adds a new exported __cpm2_setbrg function that takes the clock rate and clock source as extra parameters, and moves cpm_setbrg and cpm2_fastbrg to include/asm-powerpc/cpm2.h where they become inline wrappers around __cpm2_setbrg. Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit e517881e427757afc3cce6d76173b1d898b30ab3 Author: Anton Vorontsov Date: Thu Jun 12 03:04:31 2008 +0400 powerpc: rtc_cmos_setup: assign interrupts only if there is i8259 PIC i8259 PIC is disabled on MPC8610HPCD boards, thus currently rtc-cmos driver fails to probe. To fix the issue, we lookup the device tree for "chrp,iic" and "pnpPNP,000" compatible devices, and if not found we do not assign RTC IRQ and assuming that i8259 was disabled. Though this patch fixes RTC on some boards (and surely should not break any other), the whole approach is still broken. We can't easily fix this though, because old device trees do not specify i8259 interrupts for the cmos rtc node. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 80776554b6c93cf828ddc702010c6a189aa0d0e9 Author: Laurent Pinchart Date: Mon Jul 28 10:42:16 2008 +0200 cpm_uart: Add generic clock API support to set baudrates This patch introduces baudrate setting support via the generic clock API. When present the optional device tree clock property is used instead of fsl-cpm-brg. Platforms can then define complex clock schemes, to output the serial clock on an external pin for instance. Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit 7485d26b7e13ee8ff82adb271ac90a996c1fe830 Author: Laurent Pinchart Date: Thu Jul 24 18:36:37 2008 +0200 cpm_uart: Modem control lines support This patch replaces the get_mctrl/set_mctrl stubs with modem control line read/write access through the GPIO lib. Available modem control lines are described in the device tree using GPIO bindings. The driver expect a GPIO pin for each of the CTS, RTS, DCD, DSR, DTR and RI signals. Unused control lines can be left out. Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit dc2380ec8572fcd7f7e9579afc9fb223300d922f Author: Jochen Friedrich Date: Thu Jul 3 02:18:23 2008 +1000 powerpc: implement GPIO LIB API on CPM1 Freescale SoC. This patch implement GPIO LIB support for the CPM1 GPIOs. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit e193325e3e3de188ae2aa5207adc7129aacc5c9d Author: Laurent Pinchart Date: Mon Jul 28 10:43:22 2008 +0200 cpm2: Implement GPIO LIB API on CPM2 Freescale SoC. This patch implement GPIO LIB support for the CPM2 GPIOs. The code can also be used for CPM1 GPIO port E, as both cores are compatible at the register level. Based on earlier work by Laurent Pinchart. Signed-off-by: Jochen Friedrich Cc: Laurent Pinchart Signed-off-by: Kumar Gala commit 4c920de37d29284d4cb65d76a97a567247c2ac32 Author: Kumar Gala Date: Sat Jul 26 12:55:09 2008 -0500 powerpc: Fix 8xx build failure The 'powerpc ioremap_prot' broke 8xx builds: include2/asm/pgtable-ppc32.h:555: error: '_PAGE_WRITETHRU' undeclared (first use in this function) include2/asm/pgtable-ppc32.h:555: error: (Each undeclared identifier is reported only once include2/asm/pgtable-ppc32.h:555: error: for each function it appears in.) Signed-off-by: Kumar Gala commit 0b21bb49187a863e3fc3c4f3356baf03578a9d1a Author: Kumar Gala Date: Fri Jul 25 14:22:02 2008 -0500 powerpc: clean up the Book-E HW watchpoint support * CONFIG_BOOKE is selected by CONFIG_44x so we dont need both * Fixed a few comments * Go back to only using DBCR0_IDM to determine if we are using debug resources. Signed-off-by: Kumar Gala