summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* MIPS: MSP71xx: Resolve use of non-existent GPIO routines in msp71xx resetShane McDonald2009-05-141-6/+2
| | | | | | | | | | | | There have been a number of compile problems with the msp71xx configuration ever since it was included in the linux-mips.org repository. This patch resolves compilation problems with attempting to reset the board using non-existent GPIO routines. This patch has been compile-tested against the current HEAD. Signed-off-by: Shane McDonald <mcdonald.shane@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: MSP71xx: Resolve multiple definition of plat_timer_setupShane McDonald2009-05-141-5/+2
| | | | | | | | | | | | There have been a number of compile problems with the msp71xx configuration ever since it was included in the linux-mips.org repository. This patch resolves the "multiple definition of plat_timer_setup" problem, and creates the required get_c0_compare_int function. This patch has been compile-tested against the current HEAD. Signed-off-by: Shane McDonald <mcdonald.shane@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Make uaccess.h slightly more sparse friendly.Ralf Baechle2009-05-141-12/+27
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Make access_ok() sideeffect proof.Ralf Baechle2009-05-141-3/+13
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: IP27: Fix clash with NMI_OFFSET from hardirq.hThomas Bogendoerfer2009-05-141-2/+2
| | | | | | | | | There was already a define for NMI_OFFSET in asm/sn/addr.h, which now clashes with linux/hardirq.h. Rename the one in sn/addr.h to fix IP27 builds.. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Alchemy: Timer build fixManuel Lauss2009-05-141-1/+1
| | | | | | | Fix breakage introduced by 8e19608e8b5c001e4a66ce482edc474f05fb7355. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Kconfig: Delete duplicate definition of RWSEM_GENERIC_SPINLOCK.Ralf Baechle2009-05-141-4/+0
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Cavium: Add support for 8k and 32k page sizes.Ralf Baechle2009-05-146-4/+44
| | | | | | | | Beyond the requirements of the architecture standard Cavium also supports 8k and 32k pages. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Acked-by: David Daney <ddaney@caviumnetworks.com>
* MIPS: TXx9: Fix possible overflow in clock calculationsAtsushi Nemoto2009-05-143-3/+3
| | | | | | | | | | | Addition of -fwrapv option in 2.6.29 discloses possible overflow with signed arithmetics. For example, result of "a * 6 / 12" (int a = 400000000) is 200000000 without -fwrapv but -157913941 with -fwrapv. Change some variable to unsigned to avoid such overflows. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Synchronize dma_map_page and dma_map_singleAtsushi Nemoto2009-05-142-20/+8
| | | | | | | | | | Synchronize dma_map_page/dma_unmap_page and dma_map_single/dma_unmap_single. This will reduce unnecessary writebacks and invalidates. [Ralf: make dma_unmap_page an inline function.] Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Enable CLO / CLZ instructions via separate CPU propertyRalf Baechle2009-05-142-2/+11
| | | | | | | This is useful for IDT RC32332, RC32334 and NEC VR5500 processors which do not implement the full MIPS32 / MIPS64 architecture. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Loongson 2 needs no hazard barriers.Zhang Le2009-05-141-2/+3
| | | | | | | | | | | | Quoting from Loongson2FUserGuide.pdf: 5.22.1 Hazards The processor detects most of the pipeline hazards in hardware, including CP0 hazards and load hazards. No NOP instructions are required to correct instruction sequences. Signed-off-by: Zhang Le <r0bertz@gentoo.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Do not include seccomp.h from compat.hAtsushi Nemoto2009-05-141-1/+0
| | | | | | | | | | | The compat.h does not need seccomp.h since TIF_32BIT was moved to thread_info.h This fixes a build error of 64-bit kernel without CONFIG_SECCOMP. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Acked-by: : David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: RBTX4939: Fix typo in system nameAtsushi Nemoto2009-05-141-1/+1
| | | | | Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Compat: Use generic 32-bit wrapers for sys_timerfd_{g,s}ettimeDavid Daney2009-05-142-4/+4
| | | | | | | | The LTP timerfd01 test is failing (blocking forever) on the 32-bit ABIs. We need to use the compat_* wrappers for these system calls. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Fix build error if CONFIG_CEVT_R4K is undefined.Ralf Baechle2009-05-141-1/+1
| | | | | | Introduced by 99aa5029937ee926e3b249369e208d7013cd381b. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Add Loongson cpu-feature-overrides.hZhang Le2009-05-141-0/+59
| | | | | | | | | | | | I have taken Wu Zhangjin's and Philippe Vachon's version as references, did a little modification and tested on 16K page size kernel. It works well. Unfornately although it already has defined cpu_has_dc_aliases as 1, 4k page size still not working. More work needed here. Signed-off-by: Zhang Le <r0bertz@gentoo.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Print the actual detected I-cache associativity on bootup.Ralf Baechle2009-05-141-1/+1
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: IP32: Fix needlessly global symbols in arch/mips/sgi-ip32/ip32-irq.cDmitri Vorobiev2009-05-141-2/+2
| | | | | | | | The following symbols are needlessly defined global: cpuerr_irq and memerr_irq. This patch makes the symbols static. Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: IP32: ip32_be_handler symbol is needlessly defined globalDmitri Vorobiev2009-05-141-1/+1
| | | | | | | | The file arch/mips/sgi-ip32/ip32-berr.c needlessly defines the function ip32_be_handler() as global, and this patch makes it static. Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: IP32: Two symbols can become staticDmitri Vorobiev2009-05-141-2/+2
| | | | | | | | | | | | The file arch/mips/mm/sc-rm7k.c needlessly defines two global symbols: rm7k_sc_ops rm7k_tcache_enabled This patch makes these symbols static. Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: au1xxx-ide: Fix build with CONFIG_PMManuel Lauss2009-05-141-17/+0
| | | | | | | | | au1xxx_power_dev_t? is never defined; get rid of all PM stuff as well since it is not in the driver source anyway. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Alchemy: Add missing Au1200 GPIO203 interruptManuel Lauss2009-05-141-2/+2
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: Alchemy: Fix AU1100 interrupt numbers off-by-oneManuel Lauss2009-05-141-1/+1
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: SMTC: Fix xxx_clockevent_init() naming conflict for SMTCKevin D. Kissell2009-05-142-2/+6
| | | | | | | | | | Commit 779e7d41ad004946603da139da99ba775f74cb1c created a name collision in SMTC builds. The attached patch corrects this in a a not-too-terribly-ugly manner. Note that the SMTC case has to come first, because CEVT_R4K will also be true. Signed-off-by: Kevin D. Kissell <kevink@paralogos.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* MIPS: SMTC: Bring set/clear/change_c0_## return value semantics uptodate.Kevin D. Kissell2009-05-141-8/+11
| | | | | Signed-off-by: Kevin D. Kissell <kevink@paralogos.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6Linus Torvalds2009-05-1312-20/+81
|\ | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6: xtensa: Fix linker script to include .literal sections xtensa: update s6105_defconfig for ccount calibration xtensa: implement ccount calibration for s6000 xtensa: fix wrong extern declaration renamed in code using it xtensa: register gpio chip before use xtensa: always use correct stack pointer for stack traces xtensa: Fix checksum header file xtensa: Fix architecture specific Kconfig
| * xtensa: Fix linker script to include .literal sectionsChris Zankel2009-05-112-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix resembles implementation from Marc Gauthier and Piet Denaly: In the Xtensa architecture, assembly generates literals which must always precede the code (the L32R instruction that loads them only uses negative PC-relative offsets). For any *.text section, literals are placed in a corresponding *.literal section. The linker script (vmlinux.lds) must place these in the correct order. It must also combine them, when the *.text section can be larger than L32R's 256 kB range. For example, this doesn't work: *(.literal) *(.text) because L32R instructions at the end of .text can't reach the literals. The linker can solve this if they are combined in parentheses, like this: *(.literal .text) because it is now allowed mix literals in .text to bring them in range. None of this is done by standard vmlinux.lds.h macros such as TEXT_TEXT and INIT_TEXT. To avoid replicating the logic of that header file, we instead post-process the generated linker script to convert *(xxx.text) to *(xxx.literal xxx.text) for the following text sections: .text .ref.text .*init.text .*exit.text .text.* using a sed script. To do this we must override the default rule for vmlinux.lds (see scripts/Makefile.build and the top-level Makefile) to insert this extra step. Signed-off-by: Marc Gauthier <marc@tensilica.com> Signed-off-by: Pete Delaney <piet@tensilica.com> Signed-off-by: Chris Zankel <chris@zankel.net>
| * xtensa: update s6105_defconfig for ccount calibrationOskar Schirmer2009-05-111-2/+1
| | | | | | | | | | | | | | | | | | The previous patch enabled ccount calibration for the s6000 variant. This patch updates the defconfig for the s6105 platform to reflect this change. Signed-off-by: Oskar Schirmer <os@emlix.com> Signed-off-by: Chris Zankel <chris@zankel.net>
| * xtensa: implement ccount calibration for s6000Oskar Schirmer2009-05-113-0/+29
| | | | | | | | | | | | | | | | | | | | Calculate core frequency from timers at boot time instead of assuming a fixed frequency. This is useful as the true frequency is set up by the boot loader, thus variable. Signed-off-by: Oskar Schirmer <os@emlix.com> Signed-off-by: Chris Zankel <chris@zankel.net>
| * xtensa: fix wrong extern declaration renamed in code using itOskar Schirmer2009-05-111-2/+2
| | | | | | | | | | | | | | | | | | | | The variable ccount_nsec has been renamed to nsec_per_ccount in arch/xtensa/kernel/time.c in 2b8aea74 (2007-08-05), but the fix failed to rename the variable in arch/xtensa/include/asm/timex.h as well. Signed-off-by: Oskar Schirmer <os@emlix.com> Signed-off-by: Chris Zankel <chris@zankel.net>
| * xtensa: register gpio chip before useJohannes Weiner2009-05-113-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | Platform initialization sets up the LED heartbeat that is controlled via GPIO. Requesting the GPIO pins fails, however, as the chip is only initialized later by a device_initcall(). Fix this up by exporting the initialization function. Let the platform set up the chip before it starts using it. Signed-off-by: Johannes Weiner <jw@emlix.com> Signed-off-by: Chris Zankel <chris@zankel.net>
| * xtensa: always use correct stack pointer for stack tracesJohannes Weiner2009-05-111-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit '28a0ce7 xtensa: use correct stack pointer for stack traces' changed the stack tracer from always reading the stack pointer register to always using the saved value in the task descriptor. The author was too dense to consider the fact that the saved stack value is stale for a running process und thus unusable for 'current'. What we do now is to use the stack pointer register (a1) for when the task is unknown - we can't help it then - or when the task is 'current'. For everything else use the saved stack pointer value contained in the task descriptor. Signed-off-by: Johannes Weiner <jw@emlix.com> Signed-off-by: Chris Zankel <chris@zankel.net>
| * xtensa: Fix checksum header fileChris Zankel2009-05-111-2/+4
| | | | | | | | | | | | | | | | We need to add a "memory" dependency (barrier) in assembly macros that access (read or write) memory. Otherwise, the compiler might ill-optimize the order of memory accesses. Signed-off-by: Chris Zankel <chris@zankel.net>
| * xtensa: Fix architecture specific KconfigChris Zankel2009-05-111-4/+2
| | | | | | | | | | | | | | | | | | Move a misplace endmenu marker to enable platform options and disable PCI and automatic calibrating for the XT2K board. The on-board PCI bridge is somewhat broken, anyway, and the calibrating relies on some whacky usage of the serial port. Signed-off-by: Chris Zankel <chris@zankel.net>
* | Merge branch 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds2009-05-132-6/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | * 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: SVM: Remove port 80 passthrough KVM: Make EFER reads safe when EFER does not exist KVM: Fix NX support reporting KVM: SVM: Fix cross vendor migration issue with unusable bit
| * | KVM: SVM: Remove port 80 passthroughAvi Kivity2009-05-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KVM optimizes guest port 80 accesses by passthing them through to the host. Some AMD machines die on port 80 writes, allowing the guest to hard-lock the host. Remove the port passthrough to avoid the problem. Cc: stable@kernel.org Reported-by: Piotr Jaroszyński <p.jaroszynski@gmail.com> Tested-by: Piotr Jaroszyński <p.jaroszynski@gmail.com> Signed-off-by: Avi Kivity <avi@redhat.com>
| * | KVM: Make EFER reads safe when EFER does not existAvi Kivity2009-05-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Some processors don't have EFER; don't oops if userspace wants us to read EFER when we check NX. Cc: stable@kernel.org Signed-off-by: Avi Kivity <avi@redhat.com>
| * | KVM: Fix NX support reportingAvi Kivity2009-05-111-1/+1
| | | | | | | | | | | | | | | | | | NX support is bit 20, not bit 1. Signed-off-by: Avi Kivity <avi@redhat.com>
| * | KVM: SVM: Fix cross vendor migration issue with unusable bitAndre Przywara2009-05-111-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | AMDs VMCB does not have an explicit unusable segment descriptor field, so we emulate it by using "not present". This has to be setup before the fixups, because this field is used there. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Avi Kivity <avi@redhat.com>
* | | alpha: unbreak percpu againTejun Heo2009-05-121-1/+25
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 9b8de7479d0dbab1ed98b5b015d44232c9d3d08e ("FRV: Fix the section attribute on UP DECLARE_PER_CPU()") cleaned up DECLARE/DEFINE_PER_CPU() macros and in the process made alpha percpu.h include include/asm-generic/percpu.h which breaks compilation due to duplicate definitions. Remove inclusion of generic asm helper file and define whatever necessary in alpha header proper. In the longer term, percpu definitions will be unified and all these little subtlties will be removed. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: David Howells <dhowells@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'for-linus' of git://repo.or.cz/cris-mirrorLinus Torvalds2009-05-1128-438/+217
|\ \ | |/ |/| | | | | | | | | | | * 'for-linus' of git://repo.or.cz/cris-mirror: CRISv32: Fix typo compile error in ARTPEC-3 gpio driver. CRIS: Wire up syscalls signalfd4 to writev. CRISv32: Remove obsolete vcs_hook.o from Makefile CRIS: Merge machine dependent boot/compressed and boot/rescue
| * CRISv32: Fix typo compile error in ARTPEC-3 gpio driver.Jesper Nilsson2009-04-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | arch/cris/arch-v32/drivers/mach-a3/gpio.c: +spin_lock_irqrestore(&gpio_lock, flags); arch/cris/arch-v32/drivers/mach-a3/gpio.c: +spin_lock_irqrestore(&gpio_lock, flags); should that not be "spin_unlock_irqrestore()"? The code in question was inside an (most often) undefined ifdef. Reported-by: "Robert P. J. Day" <rpjday@crashcourse.ca> Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
| * CRIS: Wire up syscalls signalfd4 to writev.Jesper Nilsson2009-04-283-5/+29
| | | | | | | | | | | | Adds sys_signalfd4, sys_eventfd2, sys_epoll_create1, sys_dup3, sys_pipe2, sys_inotify_init1, sys_preadv, sys_pwritev for both CRISv10 and CRISv32.
| * CRISv32: Remove obsolete vcs_hook.o from MakefileJesper Nilsson2009-04-211-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | On Sun, Apr 19, 2009 at 10:01:50PM +0200, Robert P. J. Day wrote: > ./arch/cris/arch-v32/kernel/Makefile:obj-$(CONFIG_ETRAXFS_SIM) += vcs_hook.o > > there appears to be no definition of ETRAXFS_SIM anywhere. There hasn't been a vcs_hook.c file here for ages. Remove the line from the Makefile. Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com> Reported-by: "Robert P. J. Day" <rpjday@crashcourse.ca>
| * CRIS: Merge machine dependent boot/compressed and boot/rescueJesper Nilsson2009-04-2123-429/+186
| | | | | | | | | | | | | | | | Merge the machine dependent boot directories for v10 and v32. This avoids some code duplication and eases the way for further merging later on. Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2009-05-101-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (26 commits) bonding: fix panic if initialization fails IXP4xx: complete Ethernet netdev setup before calling register_netdev(). IXP4xx: use "ENODEV" instead of "ENOSYS" in module initialization. ipvs: Fix IPv4 FWMARK virtual services ipv4: Make INET_LRO a bool instead of tristate. net: remove stale reference to fastroute from Kconfig help text net: update skb_recycle_check() for hardware timestamping changes bnx2: Fix panic in bnx2_poll_work(). net-sched: fix bfifo default limit igb: resolve panic on shutdown when SR-IOV is enabled wimax: oops: wimax_dev_add() is the only one that can initialize the state wimax: fix oops if netlink fails to add attribute Bluetooth: Move dev_set_name() to a context that can sleep netfilter: ctnetlink: fix wrong message type in user updates netfilter: xt_cluster: fix use of cluster match with 32 nodes netfilter: ip6t_ipv6header: fix match on packets ending with NEXTHDR_NONE netfilter: add missing linux/types.h include to xt_LED.h mac80211: pid, fix memory corruption mac80211: minstrel, fix memory corruption cfg80211: fix comment on regulatory hint processing ...
| * | IXP4xx: use "ENODEV" instead of "ENOSYS" in module initialization.Krzysztof Hałasa2009-05-091-1/+1
| | | | | | | | | | | | | | | | | | ENOSYS makes modutils complain about missing kernel module support. Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
* | | Merge branch 'x86-fixes-for-linus' of ↵Linus Torvalds2009-05-088-15/+40
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: MCE: make cmci_discover_lock irq-safe x86: xen, i386: reserve Xen pagetables x86, kexec: fix crashdump panic with CONFIG_KEXEC_JUMP x86-64: finish cleanup_highmaps()'s job wrt. _brk_end x86: fix boot hang in early_reserve_e820() x86: Fix a typo in a printk message x86, srat: do not register nodes beyond e820 map
| * | | x86: MCE: make cmci_discover_lock irq-safeHidetoshi Seto2009-05-081-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lockdep reports the warning below when Li tries to offline one cpu: [ 110.835487] ================================= [ 110.835616] [ INFO: inconsistent lock state ] [ 110.835688] 2.6.30-rc4-00336-g8c9ed89 #52 [ 110.835757] --------------------------------- [ 110.835828] inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. [ 110.835908] swapper/0 [HC1[1]:SC0[0]:HE0:SE1] takes: [ 110.835982] (cmci_discover_lock){?.+...}, at: [<ffffffff80236dc0>] cmci_clear+0x30/0x9b cmci_clear() can be called via smp_call_function_single(). It is better to disable interrupt while holding cmci_discover_lock, to turn it into an irq-safe lock - we can deadlock otherwise. [ Impact: fix possible deadlock in the MCE code ] Reported-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Andrew Morton <akpm@linux-foundation.org> LKML-Reference: <4A03ED38.8000700@jp.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Reported-by: Shaohua Li<shaohua.li@intel.com>
OpenPOWER on IntegriCloud