aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-02Merge branch 'fixes' of ↵Linus Torvalds3-18/+28
git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] p4-clockmod: print EST-capable warning message only once [CPUFREQ] fix BUG on cpufreq policy init failure [CPUFREQ] Fix another notifier leak in powernow-k8. [CPUFREQ] Missing "unregister_cpu_notifier" in powernow-k8.c
2011-03-02Merge branch 'merge' of ↵Linus Torvalds4-7/+18
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: Fix call to flush_ptrace_hw_breakpoint() powerpc/kexec: Restore ppc_md.machine_kexec powerpc/mm: Make hpte_need_flush() safe for preemption
2011-03-02Merge branch 'idle-release' of ↵Linus Torvalds2-0/+29
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6 * 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6: intel_idle: disable Atom/Lincroft HW C-state auto-demotion intel_idle: disable NHM/WSM HW C-state auto-demotion
2011-03-02cnic: Fix lost interrupt on bnx2xMichael Chan1-8/+17
We service 2 queues (kcq1 and kcq2) in cnic_service_bnx2x_bh(). If the status block index has changed when servicing the kcq2, we must go back and check kcq1. The latest status block index will be used to acknowledge the interrupt, and without looping back to check kcq1, we may miss events on kcq1. Signed-off-by: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-02cnic: Prevent status block race conditions with hardwareMichael Chan1-0/+8
The status block index is used to acknowledge interrupt events and must be read before checking for the interrupt events, so we need to add rmb() to guarantee that. Signed-off-by: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-02Merge branch 'release' of ↵Linus Torvalds4-20/+66
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI / ACPICA: Implicit notify for multiple devices ACPI / debugfs: Fix buffer overflows, double free
2011-03-02Merge branch 'master' of ↵David S. Miller3-3/+5
master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-2.6
2011-03-02net: dcbnl: check correct ops in dcbnl_ieee_set()John Fastabend1-1/+1
The incorrect ops routine was being tested for in DCB_ATTR_IEEE_PFC attributes. This patch corrects it. Currently, every driver implementing ieee_setets also implements ieee_setpfc so this bug is not actualized yet. Signed-off-by: John Fastabend <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-02of/promtree: allow DT device matching by fixing 'name' brokenness (v5)Andres Salomon1-70/+42
Commit e2f2a93b, "of/promtree: add package-to-path support to pdt" changed dp->name from using the 'name' property to using package-to-path. This fixed /proc/device-tree creation by eliminating conflicts between names (the 'name' property provides names like 'battery', whereas package-to-path provides names like '/foo/bar/battery@0', which we stripped to 'battery@0'). However, it also breaks of_device_id table matching. The fix that we _really_ wanted was to keep dp->name based upon the name property ('battery'), but based dp->full_name upon package-to-path ('battery@0'). This patch does just that. This changes all users (except SPARC) of promtree to use the full result from package-to-path for full_name, rather than stripping the directory out. In practice, the strings end up being exactly the same; this change saves time, code, and memory. SPARC continues to use the existing build_path_component() code. v2: combine two patches and revert of_pdt_node_name to original version v3: use dp->phandle instead of passing around node v4: warn/bail out for non-sparc archs if pkg2path is not set v5: split of_pdt_build_full_name into sparc & non-sparc versions v6: Pass NULL to pkg2path before buf gets assigned. Drop check for pkg2path hook on each and every node. v7: Don't BUG() when unable to get the full_path; create a known-unique name instead. Signed-off-by: Andres Salomon <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-03-02x86: OLPC: have prom_early_alloc BUG rather than return NULLAndres Salomon1-2/+1
..similar to what sparc's prom_early_alloc does. Signed-off-by: Andres Salomon <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-03-02of/flattree: Drop an uninteresting message to pr_debug levelPaul Bolle1-1/+1
This message looks like an error (which it isn't) when booting with a flattened device tree. Remove the message from normal kernel builds. Signed-off-by: Paul Bolle <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-03-02of: Add missing of_address.h to xilinx ehci driverMichal Simek1-0/+1
Build log: In file included from drivers/usb/host/ehci-hcd.c:1208: drivers/usb/host/ehci-xilinx-of.c: In function 'ehci_hcd_xilinx_of_probe': drivers/usb/host/ehci-xilinx-of.c:168: error: implicit declaration of function 'of_address_to_resource' Signed-off-by: John Williams <[email protected]> Signed-off-by: Michal Simek <[email protected]> Acked-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-03-02alpha: Enable GENERIC_HARDIRQS_NO_DEPRECATEDThomas Gleixner1-0/+1
All interrupt chips are converted. Mark it clean. Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: irq: Convert affinity to use irq_dataThomas Gleixner1-4/+9
affinity is moving to irq_data. Fix it up. Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: irq: Remove pointless irq status manipulationThomas Gleixner1-8/+3
The irq descriptors are initialized IRQ_DISABLED in the generic code. No need to fiddle with them. Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: titan: Convert irq_chip functionsThomas Gleixner1-9/+12
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: takara: Convert irq_chip functionsThomas Gleixner1-6/+8
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: sable: Convert irq_chip functionsThomas Gleixner1-10/+10
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: rx164: Convert irq_chip functionsThomas Gleixner1-8/+8
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: noritake: Convert irq_chip functionsThomas Gleixner1-8/+8
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: rawhide: Convert irq_chip functionsThomas Gleixner1-7/+10
Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: mikasa: Convert irq_chip functionsThomas Gleixner1-8/+8
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: marvel: Convert irq_chip functionsThomas Gleixner1-23/+19
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: eiger: Convert irq_chip functionsThomas Gleixner1-6/+8
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: eb64p: Convert irq_chip functionsThomas Gleixner1-9/+9
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: dp264: Convert irq_chip functionsThomas Gleixner1-25/+27
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: cabriolet: Convert irq_chip functionsThomas Gleixner1-8/+8
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: i8259, alcor, jensen wildfire: Convert irq_chipThomas Gleixner5-52/+58
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: srm: Convert irq_chip functionsThomas Gleixner1-8/+8
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02alpha: Pyxis convert irq_chip functionsThomas Gleixner1-10/+10
Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02Fix typo in call to irq_to_desc()Morten Holst Larsen1-1/+1
Fix typo in call to irq_to_desc() Signed-off-by: Morten H. Larsen <[email protected]> Signed-off-by: Matt Turner <[email protected]>
2011-03-02Merge branch 'master' of ↵David S. Miller2-2/+6
git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6
2011-03-02OMAP2+: PM: SmartReflex: fix memory leaks in Smartreflex driverShweta Gulati1-6/+12
This Patch frees all the dynamically allocated memory which couldn't have been released in some error hitting cases. Signed-off-by: Shweta Gulati <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2011-03-02arm: mach-omap2: smartreflex: fix another memory leakAaro Koskinen1-12/+3
Temporary strings with volt_* file names should be released after the debugfs entries are created. While at it, also simplify the string allocation, and use just snprintf() to create the name. The patch eliminates kmemleak reports with the following stack trace (multiple objects depending on HW): unreferenced object 0xcedbc5a0 (size 64): comm "swapper", pid 1, jiffies 4294929375 (age 423.734s) hex dump (first 32 bytes): 76 6f 6c 74 5f 39 37 35 30 30 30 00 00 00 00 00 volt_975000..... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<c012fee0>] create_object+0x104/0x208 [<c012dbc8>] kmem_cache_alloc_trace+0xf0/0x17c [<c0013f64>] omap_sr_probe+0x314/0x420 [<c02a1724>] platform_drv_probe+0x18/0x1c [<c02a088c>] driver_probe_device+0xc8/0x188 [<c02a09b4>] __driver_attach+0x68/0x8c [<c02a00ac>] bus_for_each_dev+0x44/0x74 [<c029f9e0>] bus_add_driver+0xa0/0x228 [<c02a0cac>] driver_register+0xa8/0x130 [<c02a1b2c>] platform_driver_probe+0x18/0x8c [<c0013c1c>] sr_init+0x40/0x74 [<c005a554>] do_one_initcall+0xc8/0x1a0 [<c00084f4>] kernel_init+0x150/0x218 [<c0065d64>] kernel_thread_exit+0x0/0x8 [<ffffffff>] 0xffffffff Signed-off-by: Aaro Koskinen <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2011-03-02block: blk-flush shouldn't call directly into q->request_fn() __blk_run_queue()Tejun Heo1-3/+5
blk-flush decomposes a flush into sequence of multiple requests. On completion of a request, the next one is queued; however, block layer must not implicitly call into q->request_fn() directly from completion path. This makes the queue behave unexpectedly when seen from the drivers and violates the assumption that q->request_fn() is called with process context + queue_lock. This patch makes blk-flush the following two changes to make sure q->request_fn() is not called directly from request completion path. - blk_flush_complete_seq_end_io() now asks __blk_run_queue() to always use kblockd instead of calling directly into q->request_fn(). - queue_next_fseq() uses ELEVATOR_INSERT_REQUEUE instead of ELEVATOR_INSERT_FRONT so that elv_insert() doesn't try to unplug the request queue directly. Reported by Jan in the following threads. http://thread.gmane.org/gmane.linux.ide/48778 http://thread.gmane.org/gmane.linux.ide/48786 stable: applicable to v2.6.37. Signed-off-by: Tejun Heo <[email protected]> Reported-by: Jan Beulich <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: [email protected] Signed-off-by: Jens Axboe <[email protected]>
2011-03-02block: add @force_kblockd to __blk_run_queue()Tejun Heo7-14/+15
__blk_run_queue() automatically either calls q->request_fn() directly or schedules kblockd depending on whether the function is recursed. blk-flush implementation needs to be able to explicitly choose kblockd. Add @force_kblockd. All the current users are converted to specify %false for the parameter and this patch doesn't introduce any behavior change. stable: This is prerequisite for fixing ide oops caused by the new blk-flush implementation. Signed-off-by: Tejun Heo <[email protected]> Cc: Jan Beulich <[email protected]> Cc: James Bottomley <[email protected]> Cc: [email protected] Signed-off-by: Jens Axboe <[email protected]>
2011-03-02e1000e: disable broken PHY wakeup for ICH10 LOMs, use MAC wakeup insteadBruce Allan1-1/+2
When support for 82577/82578 was added[1] in 2.6.31, PHY wakeup was in- advertently enabled (even though it does not function properly) on ICH10 LOMs. This patch makes it so that the ICH10 LOMs use MAC wakeup instead as was done with the initial support for those devices (i.e. 82567LM-3, 82567LF-3 and 82567V-4). [1] commit a4f58f5455ba0efda36fb33c37074922d1527a10 Reported-by: Aurelien Jarno <[email protected]> Cc: <[email protected]> Signed-off-by: Bruce Allan <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2011-03-02igb: fix sparse warningJeff Kirsher1-1/+1
Reported-by: Stephen Hemminger <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2011-03-02e1000: fix sparse warningStephen Hemminger1-1/+2
Sparse complains because the e1000 driver is calling ioread on a pointer not tagged as __iomem. Signed-off-by: Stephen Hemminger <[email protected]> Reviewed-by: Jesse Brandeburg <[email protected]> Tested-by: Jeff Pieper <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2011-03-02netfilter: nf_log: avoid oops in (un)bind with invalid nfproto valuesJan Engelhardt1-0/+4
Like many other places, we have to check that the array index is within allowed limits, or otherwise, a kernel oops and other nastiness can ensue when we access memory beyond the end of the array. [ 5954.115381] BUG: unable to handle kernel paging request at 0000004000000000 [ 5954.120014] IP: __find_logger+0x6f/0xa0 [ 5954.123979] nf_log_bind_pf+0x2b/0x70 [ 5954.123979] nfulnl_recv_config+0xc0/0x4a0 [nfnetlink_log] [ 5954.123979] nfnetlink_rcv_msg+0x12c/0x1b0 [nfnetlink] ... The problem goes back to v2.6.30-rc1~1372~1342~31 where nf_log_bind was decoupled from nf_log_register. Reported-by: Miguel Di Ciurcio Filho <[email protected]>, via irc.freenode.net/#netfilter Signed-off-by: Jan Engelhardt <[email protected]> Signed-off-by: Patrick McHardy <[email protected]>
2011-03-02ext2: Fix link count corruption under heavy link+rename loadJosh Hunt1-7/+2
vfs_rename_other() does not lock renamed inode with i_mutex. Thus changing i_nlink in a non-atomic manner (which happens in ext2_rename()) can corrupt it as reported and analyzed by Josh. In fact, there is no good reason to mess with i_nlink of the moved file. We did it presumably to simulate linking into the new directory and unlinking from an old one. But the practical effect of this is disputable because fsck can possibly treat file as being properly linked into both directories without writing any error which is confusing. So we just stop increment-decrement games with i_nlink which also fixes the corruption. CC: [email protected] CC: Al Viro <[email protected]> Signed-off-by: Josh Hunt <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2011-03-02mfd: Avoid tps6586x burst writes[email protected]1-5/+5
tps6586 does not support burst writes. i2c writes have to be 1 byte at a time. Cc: [email protected] Signed-off-by: Varun Wadekar <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2011-03-02mfd: Don't suspend WM8994 if the CODEC is not suspendedMark Brown2-0/+19
ASoC supports keeping the audio subsysetm active over suspend in order to support use cases such as audio passthrough from a cellular modem with the main CPU suspended. Ensure that we don't power down the CODEC when this is happening by checking to see if VMID is up and skipping suspend and resume when it is. If the CODEC has suspended then it'll turn VMID off before the core suspend() gets called. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2011-03-02mfd: Fix DaVinci voice codec device nameManjunathappa, Prakash1-2/+2
Fix the device name in DaVinci Voice Codec MFD driver to load davinci-vcif and cq93vc codec client drivers. Signed-off-by: Manjunathappa, Prakash <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2011-03-02mfd: Fix NULL pointer due to non-initialized ucb1x00-ts absinfoJochen Friedrich1-3/+9
Call input_set_abs_params instead of manually setting absbit only. This fixes this oops: Unable to handle kernel NULL pointer dereference at virtual address 00000024 Internal error: Oops: 41b67017 [#1] CPU: 0 Not tainted (2.6.37 #4) pc : [<c016d1fc>] lr : [<00000000>] psr: 20000093 sp : c19e5f30 ip : c19e5e6c fp : c19e5f58 r10: 00000000 r9 : c19e4000 r8 : 00000003 r7 : 000001e4 r6 : 00000001 r5 : c1854400 r4 : 00000003 r3 : 00000018 r2 : 00000018 r1 : 00000018 r0 : c185447c Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel Control: c1b6717f Table: c1b6717f DAC: 00000017 Stack: (0xc19e5f30 to 0xc19e6000) 5f20: 00000003 00000003 c1854400 00000013 5f40: 00000001 000001e4 000001c5 c19e5f80 c19e5f5c c016d5e8 c016cf5c 000001e4 5f60: c1854400 c18b5860 00000000 00000171 000001e4 c19e5fc4 c19e5f84 c01559a4 5f80: c016d584 c18b5868 00000000 c1bb5c40 c0035afc c18b5868 c18b5868 c1a55d54 5fa0: c18b5860 c0155750 00000013 00000000 00000000 00000000 c19e5ff4 c19e5fc8 5fc0: c0050174 c015575c 00000000 c18b5860 00000000 c19e5fd4 c19e5fd4 c1a55d54 5fe0: c00500f0 c003b464 00000000 c19e5ff8 c003b464 c00500fc 04000400 04000400 Backtrace: Function entered at [<c016cf50>] from [<c016d5e8>] Function entered at [<c016d578>] from [<c01559a4>] r8:000001e4 r7:00000171 r6:00000000 r5:c18b5860 r4:c1854400 Function entered at [<c0155750>] from [<c0050174>] Function entered at [<c00500f0>] from [<c003b464>] r6:c003b464 r5:c00500f0 r4:c1a55d54 Code: e59520fc e1a03286 e0433186 e0822003 (e592000c) >>PC; c016d1fc <input_handle_event+2ac/5a0> <===== Trace; c016cf50 <input_handle_event+0/5a0> Trace; c016d5e8 <input_event+70/88> Trace; c016d578 <input_event+0/88> Trace; c01559a4 <ucb1x00_thread+254/2dc> Trace; c0155750 <ucb1x00_thread+0/2dc> Trace; c0050174 <kthread+84/8c> Trace; c00500f0 <kthread+0/8c> Trace; c003b464 <do_exit+0/624> Signed-off-by: Jochen Friedrich <[email protected]> CC: [email protected] Signed-off-by: Samuel Ortiz <[email protected]>
2011-03-02mfd: Fix ASIC3 build with GENERIC_HARDIRQS_NO_DEPRECATEDLennert Buytenhek1-2/+2
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2011-03-01dccp: fix oops on Reset after closeGerrit Renker1-4/+3
This fixes a bug in the order of dccp_rcv_state_process() that still permitted reception even after closing the socket. A Reset after close thus causes a NULL pointer dereference by not preventing operations on an already torn-down socket. dccp_v4_do_rcv() | | state other than OPEN v dccp_rcv_state_process() | | DCCP_PKT_RESET v dccp_rcv_reset() | v dccp_time_wait() WARNING: at net/ipv4/inet_timewait_sock.c:141 __inet_twsk_hashdance+0x48/0x128() Modules linked in: arc4 ecb carl9170 rt2870sta(C) mac80211 r8712u(C) crc_ccitt ah [<c0038850>] (unwind_backtrace+0x0/0xec) from [<c0055364>] (warn_slowpath_common) [<c0055364>] (warn_slowpath_common+0x4c/0x64) from [<c0055398>] (warn_slowpath_n) [<c0055398>] (warn_slowpath_null+0x1c/0x24) from [<c02b72d0>] (__inet_twsk_hashd) [<c02b72d0>] (__inet_twsk_hashdance+0x48/0x128) from [<c031caa0>] (dccp_time_wai) [<c031caa0>] (dccp_time_wait+0x40/0xc8) from [<c031c15c>] (dccp_rcv_state_proces) [<c031c15c>] (dccp_rcv_state_process+0x120/0x538) from [<c032609c>] (dccp_v4_do_) [<c032609c>] (dccp_v4_do_rcv+0x11c/0x14c) from [<c0286594>] (release_sock+0xac/0) [<c0286594>] (release_sock+0xac/0x110) from [<c031fd34>] (dccp_close+0x28c/0x380) [<c031fd34>] (dccp_close+0x28c/0x380) from [<c02d9a78>] (inet_release+0x64/0x70) The fix is by testing the socket state first. Receiving a packet in Closed state now also produces the required "No connection" Reset reply of RFC 4340, 8.3.1. Reported-and-tested-by: Johan Hovold <[email protected]> Cc: [email protected] Signed-off-by: Gerrit Renker <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-02powerpc: Fix call to flush_ptrace_hw_breakpoint()K.Prasad1-3/+5
Fix the error in spelling the config option for hw-breakpoints and fix the build issue that follows. Signed-off by: K.Prasad <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc/kexec: Restore ppc_md.machine_kexecAnton Blanchard2-1/+10
Kyle Moffett points out that mpc85xx has started using the ppc_md.machine_kexec hook. As such, revert patch c94868788cf2 (powerpc/kexec: Remove ppc_md.machine_kexec). Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc/mm: Make hpte_need_flush() safe for preemptionPeter Zijlstra1-3/+3
hpte_need_flush() might be called outside of a preempt section when manipulating the kernel page tables, so we need to use the appopriate variants of per-cpu variable accesses. There should be no risk of being in the middle of a batch and a context switch will flush any pending batch. [Patch extracted from a larger patch in Peter's preemptible mmu_gather series] Signed-off-by: Peter Zijlstra <[email protected]> Signed-off-by: Hugh Dickins <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>