aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-08-18Enable partitions for lguest block deviceRusty Russell
The lguest block device only requests one minor, which means partitions don't work (eg "root=/dev/lgba1"). Let's follow the crowd and ask for 16. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-18Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6Linus Torvalds
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6: sh64: arch/sh64/kernel/setup.c: duplicate include removal. sh64: arch/sh64/kernel/signal.c: duplicate include removal sh64: Add missing dma_sync_single_for_*().
2007-08-18Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23Linus Torvalds
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23: sh: remove extraneous ; on scif_sercon_putc wait loop sh: Add missing dma_sync_single_range_for_*(). sh: panic on machvec section misalignment. sh: Fix PTRACE_PEEKTEXT/PEEKDATA fallout from generic_ptrace_peekdata().
2007-08-18Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6Linus Torvalds
* 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: hwmon: (smsc47m1) restore missing name attribute hwmon: (w83627ehf) don't assume bank 0 hwmon: (w83627ehf) read fan_div values during probe hwmon: fix w83781d temp sensor type setting
2007-08-18Merge branch 'release' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: Cross-compilation between e.g. i386 -> 64bit could break -> work around it [IA64] Enable early console for Ski simulator [IA64] forbid ptrace changes psr.ri to 3 [IA64] Failure to grow RBS [IA64] Fix processor_get_freq [IA64] SGI Altix : fix a force_interrupt bug on altix [IA64] Update arch/ia64/configs/* s/SLAB/SLUB/ [IA64] get back PT_IA_64_UNWIND program header [IA64] need NOTES in vmlinux.lds.S [IA64] make unwinder stop at last frame of the bootloader [IA64] Clean up CPE handler registration [IA64] Include Kconfig.preempt [IA64] SN2 needs platform specific irq_to_vector() function. [IA64] Use atomic64_read to read an atomic64_t. [IA64] disable irq's and check need_resched before safe_halt
2007-08-18Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: correct error code in selinux_audit_rule_init
2007-08-18Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/mlx4: Incorrect semicolon after if statement mlx4_core: Wait 1 second after reset before accessing device IPoIB: Fix leak in ipoib_transport_dev_init() error path IB/mlx4: Fix opcode returned in RDMA read completion IB/srp: Add OUI for new Cisco targets IB/srp: Wrap OUI checking for workarounds in helper functions RDMA/cxgb3: Always call low level send function via cxgb3_ofld_send() IB: Move the macro IB_UMEM_MAX_PAGE_CHUNK() to umem.c IB: Include <linux/list.h> and <linux/rwsem.h> from <rdma/ib_verbs.h> IB: Include <linux/list.h> from <rdma/ib_mad.h> IB/mad: Fix address handle leak in mad_rmpp IB/mad: agent_send_response() should be void IB/mad: Fix memory leak in switch handling in ib_mad_recv_done_handler() IB/mad: Fix error path if response alloc fails in ib_mad_recv_done_handler() IB/sa: Don't need to check for default P_Key twice IB/core: Ignore membership bit in ib_find_pkey()
2007-08-18Merge branch 'master' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [MATH-EMU]: Fix underflow exception reporting. [SPARC64]: Create a HWCAP_SPARC_N2 and report it to userspace on Niagara-2. [SPARC64]: SMP trampoline needs to avoid %tick_cmpr on sun4v too. [SPARC64]: Do not touch %tick_cmpr on sun4v cpus. [SPARC64]: Niagara-2 optimized copies. [SPARC64]: Allow userspace to get at the machine description. [SPARC32]: Remove superfluous 'kernel_end' alignment on sun4c. [SPARC32]: Fix bogus ramdisk image location check. [SPARC32]: Remove iommu from struct sbus_bus and use archdata like sparc64.
2007-08-18Merge branch 'master' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [IPv6]: Invalid semicolon after if statement [NET]: Fix unbalanced rcu_read_unlock in __sock_create [VLAN] net/8021q/vlanproc.c: fix check-after-use [NET]: Unexport dev_ethtool [IOAT]: Remove redundant struct member to avoid descriptor cache miss [ECONET]: remove econet_packet_type on unload [AX25]: don't free pointers to statically allocated data [PATCH] mac80211: probe for hidden SSIDs in pre-auth scan [PATCH] mac80211: fix tx status frame code [BRIDGE]: Fix typo in net/bridge/br_stp_if.c [BRIDGE]: sysfs locking fix. [NETFILTER]: nf_nat_sip: don't drop short packets [NETFILTER]: nf_conntrack_sip: fix SIP-URI parsing [NETFILTER]: nf_conntrack_sip: check sname != NULL before calling strncmp [NETFILTER]: netfilter: xt_u32 bug correction
2007-08-18Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: [AVR32] Define mmiowb() [AVR32] Fix bogus pte_page() definition [AVR32] Simplify pte_alloc_one{,_kernel} include/asm-avr32/pgalloc.h: kmalloc + memset conversion to kcalloc [AVR32] Wire up i2c-gpio on the ATNGW100 board [AVR32] leds-gpio for stk1000
2007-08-18Merge branch 'merge' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix invalid semicolon after if statement [POWERPC] ps3: Fix no storage devices found [POWERPC] Fix for assembler -g [POWERPC] Fix small race in 44x tlbie function [POWERPC] Remove unused code causing a compile warning [POWERPC] cell: Fix errno for modular spufs_create with invalid neighbour
2007-08-18Merge branch 'upstream-linus' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: adjust libata to ignore errors after spinup ata_piix: add TECRA M7 to broken suspend list pata_hpt{37x|3x2n}: fix clock reporting (take 2) pata_hpt37x: actually clock HPT374 with 50 MHz DPLL (take 2) pata_artop: fix UDMA5 for AEC6280[R] and UDMA6 for AEC6880[R] ata_piix: update map 10b for ich8m sata_mv: PCI IDs for Hightpoint RocketRaid 1740/1742 [libata] pata_isapnp: replace missing module device table
2007-08-18Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup: [x86 setup] edd.c: make sure MBR signatures actually get reported [x86 setup] Don't use EDD to get the MBR signature [x86 setup] The current display page is returned in %bh, not %bl
2007-08-18Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Check return code on failed alloc [CIFS] Update CIFS project web site [CIFS] Fix hang in find_writable_file
2007-08-18Reset current->pdeath_signal on SUID binary executionMarcel Holtmann
This fixes a vulnerability in the "parent process death signal" implementation discoverd by Wojciech Purczynski of COSEINC PTE Ltd. and iSEC Security Research. http://marc.info/?l=bugtraq&m=118711306802632&w=2 Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-18[CIFS] Check return code on failed allocCyrill Gorcunov
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
2007-08-17Cross-compilation between e.g. i386 -> 64bit could break -> work around itThomas Renninger
Adrian Bunk: scripts/mod/file2alias.c is compiled with HOSTCC and ensures that kernel_ulong_t is correct, but it can't cope with different padding on different architectures. Signed-off-by: Thomas Renninger <trenn@suse.de> Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-08-17[IA64] Enable early console for Ski simulatorPeter Chubb
When using Ski to debug early startup, it's a bit of a pain not to have printk. This patch enables the simulated console very early. It may be worth conditionalising on the command line... but this is enough for now. Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au> Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-08-17[IA64] forbid ptrace changes psr.ri to 3Shaohua Li
The "ri" field in the processor status register only has defined values of 0, 1, 2. Do not let ptrace set this to 3. As with other reserved fields in registers we silently discard the value. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-08-16[MATH-EMU]: Fix underflow exception reporting.David S. Miller
The underflow exception cases were wrong. This is one weird area of ieee1754 handling in that the underflow behavior changes based upon whether underflow is enabled in the trap enable mask of the FPU control register. As a specific case the Sparc V9 manual gives us the following description: -------------------- If UFM = 0: Underflow occurs if a nonzero result is tiny and a loss of accuracy occurs. Tininess may be detected before or after rounding. Loss of accuracy may be either a denormalization loss or an inexact result. If UFM = 1: Underflow occurs if a nonzero result is tiny. Tininess may be detected before or after rounding. -------------------- What this amounts to in the packing case is if we go subnormal, we set underflow if any of the following are true: 1) rounding sets inexact 2) we ended up rounding back up to normal (this is the case where we set the exponent to 1 and set the fraction to zero), this should set inexact too 3) underflow is set in FPU control register trap-enable mask The initially discovered example was "DBL_MIN / 16.0" which incorrectly generated an underflow. It should not, unless underflow is set in the trap-enable mask of the FPU csr. Another example, "0x0.0000000000001p-1022 / 16.0", should signal both inexact and underflow. The cpu implementations and ieee1754 literature is very clear about this. This is case #2 above. However, if underflow is set in the trap enable mask, only underflow should be set and reported as a trap. That is handled properly by the prioritization logic in arch/sparc{,64}/math-emu/math.c:record_exception(). Based upon a report and test case from Jakub Jelinek. Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-17[POWERPC] Fix invalid semicolon after if statementIlpo Järvinen
A similar fix to netfilter from Eric Dumazet inspired me to look around a bit by using some grep/sed stuff as looking for this kind of bugs seemed easy to automate. This is one of them I found where it looks like this semicolon is not valid. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-08-16[SPARC64]: Create a HWCAP_SPARC_N2 and report it to userspace on Niagara-2.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-16[IA64] Failure to grow RBSAndrew Burgess
There is a bug in the ia64_do_page_fault code that can cause a failure to grow the register backing store, or any mapping that is marked as VM_GROWSUP if the mapping is the highest mapped area of memory. When the address accessed is below the first mapping the previous mapping is returned as NULL, and this case is handled. However, when the address accessed is above the highest mapping the vma returned is NULL, this case is not handled correctly, and it fails to spot that this access might require an existing mapping to grow upwards. Signed-off-by: Andrew Burgess <andrew@transitive.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-08-17sh: remove extraneous ; on scif_sercon_putc wait loopAndy Whitcroft
It seems we have gained an extraneous trailing ';' on one of the wait loops in scif_sercon_putc(). Although this is completely benign as the apparent payload is also the empty statement, it invites error in the future. Clean it up now. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-08-16SELinux: correct error code in selinux_audit_rule_initSteve G
Corrects an error code so that it is valid to pass to userspace. Signed-off-by: Steve Grubb <linux_4ever@yahoo.com> Signed-off-by: James Morris <jmorris@halo.namei>
2007-08-16[SPARC64]: SMP trampoline needs to avoid %tick_cmpr on sun4v too.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-16[SPARC64]: Do not touch %tick_cmpr on sun4v cpus.David S. Miller
This register is not a part of the sun4v architecture. Niagara 1 and 2 happened to leave it around. Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-16[SPARC64]: Niagara-2 optimized copies.David S. Miller
The bzero/memset implementation stays the same as Niagara-1. Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-15[SPARC64]: Allow userspace to get at the machine description.David S. Miller
Like the OF device tree, it's useful to let userland get at the machine description so it can pretty print the graph etc. The implementation is a simple MISC device with a read method. Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-15IB/mlx4: Incorrect semicolon after if statementIlpo Järvinen
A stray semicolon makes us inadvertently ignore the value of err. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-08-15[IPv6]: Invalid semicolon after if statementIlpo Järvinen
A similar fix to netfilter from Eric Dumazet inspired me to look around a bit by using some grep/sed stuff as looking for this kind of bugs seemed easy to automate. This is one of them I found where it looks like this semicolon is not valid. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-15[NET]: Fix unbalanced rcu_read_unlock in __sock_createHerbert Xu
The recent RCU work created an unbalanced rcu_read_unlock in __sock_create. This patch fixes that. Reported by oleg 123. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-15[IA64] Fix processor_get_freqAlex Williamson
The core cpufreq code doesn't appear to understand returning -EAGAIN for the get() function of the cpufreq_driver. If PAL_GET_PSTATE returns -1, such as when running on Xen, scaling_cur_freq is happy to return 4294967285 kHz (ie. (unsigned)-11). The other drivers appear to return 0 for a failure, and doing so gives me the max frequency from scaling_cur_frequency and "<unknown>" from cpuinfo_cur_frequency. I believe that's the desired behavior. Signed-off-by: Alex Williamson <alex.williamson@hp.com> Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-08-15[AVR32] Define mmiowb()Haavard Skinnemoen
Add empty definition of mmiowb() since some drivers need it. Uncached writes are strongly ordered on AVR32. They may be delayed if the dcache is busy doing a writeback, but AFAICT that's not what this macro is supposed to deal with, at least on UP systems. We might have to revisit this definition when a SMP-capable AVR32 CPU comes along, depending on how the busses and cache coherency stuff end up being implemented. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-08-15[AVR32] Fix bogus pte_page() definitionHaavard Skinnemoen
The current definition of pte_page() masks out valid bits from the physical address, causing vmalloc_to_page() to misbehave. This may lead to everything from mmap() silently accessing the wrong data to "invalid pte" errors dumped by the kernel. Also remove the now-unused definition of PTE_PHYS_MASK. Thanks to Matteo Vit for discovering this bug. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-08-15[AVR32] Simplify pte_alloc_one{,_kernel}Haavard Skinnemoen
There's really no need to retry an allocation with __GFP_REPEAT set. Also, use get_zeroed_page() and __GFP_ZERO to eliminate the extra call to clear_page() afterwards. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-08-15include/asm-avr32/pgalloc.h: kmalloc + memset conversion to kcallocMariusz Kozlowski
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-08-15[AVR32] Wire up i2c-gpio on the ATNGW100 boardHaavard Skinnemoen
The NGW100 has a board controller which is hooked up to the TWI lines on AP7000. Since the TWI driver isn't in mainline, use the i2c-gpio driver in the mean time. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-08-15[AVR32] leds-gpio for stk1000David Brownell
Add GPIO led support: J2 to either block of LEDs on the STK1000. This uses the new LEDS_GPIO driver, and sets up a heartbeat trigger by default ... either bright (!!) amber, or a more interesting purple. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-08-15libata: adjust libata to ignore errors after spinupRyan Power
Adjust libata to ignore errors after spinup This patch is to ignore errors from the spinup attempt if the drive is in the "standby id" state. Signed-off-by: Ryan Power <rpower@sysreset.com> Acked-by: Mark Lord <liml@rtr.ca> Cc: Jeff Garzik <jeff@garzik.org> Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-08-15ata_piix: add TECRA M7 to broken suspend listTejun Heo
Add TECRA M7 to broken suspend list. Reported by Marie Koreen. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Marie Koreen <kbug@koreen.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-08-15pata_hpt{37x|3x2n}: fix clock reporting (take 2)Sergei Shtylyov
Fix several inconsistencies in these drivers WRT reporting the clocks: - when using DPLL mode, 'pata_hpt37x' driver reported the DPLL frequency as the PCI clock -- make it properly report both clocks and add the same ability to the 'pata_hpt3x2n' driver; - both drivers sometimes use "pata_hpt3*:" and sometimes "hpt3*:" in the messages -- make them use only the former one; - the message about failed DPLL stablizatios deserves KERN_ERR and a bang. :-) Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-08-15pata_hpt37x: actually clock HPT374 with 50 MHz DPLL (take 2)Sergei Shtylyov
The DPLL tuning code always set up it for 66 MHz due to wrong UltraDMA mask including mode 5 used to check for the necessity of 66 MHz clocking -- this caused 66 MHz clock to be used for HPT374 chip that does not tolerate it. While fixing this, also remove PLL mode from the TODO list -- I don't think it's still a relevant item. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-08-15pata_artop: fix UDMA5 for AEC6280[R] and UDMA6 for AEC6880[R]Bartlomiej Zolnierkiewicz
Maximum supported UDMA mode for AEC6280[R] is UDMA5 (not UDMA4) and for AEC6880[R] it is UDMA6 (not UDMA5): * Fix the problem by adding missing struct ata_port_info to artop_init_one(). * Use the right naming (s/626/628/). * Bump driver version. Fixes IDE->libata regression, problem was never present in IDE aec62xx driver. Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-08-15ata_piix: update map 10b for ich8mTejun Heo
Fix map entry 10b for ich8. It's [P0 P2 IDE IDE] like ich6 / ich6m. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: <Kristen Carlson Accardi> kristen.c.accardi@intel.com Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-08-15sata_mv: PCI IDs for Hightpoint RocketRaid 1740/1742Alan Cox
Underneath all the HPT packaging, PCI identifiers, binary driver modules and stuff you find that ... Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-08-15[libata] pata_isapnp: replace missing module device tableJeff Garzik
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-08-15[POWERPC] ps3: Fix no storage devices foundGeert Uytterhoeven
Fix probing of PS3 storage devices: in the success case, we should set `error' to zero, not `result'. Without this patch no storage devices are found. Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-08-15[POWERPC] Fix for assembler -gRoland McGrath
ppc64 does the unusual thing of using #include on a compiler-generated assembly file (lparmap.s) from an assembly source file (head_64.S). This runs afoul of my recent patch to pass -gdwarf2 to the assembler under CONFIG_DEBUG_INFO. This patch avoids the problem by disabling DWARF generation (-g0) when producing lparmap.s. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-08-15[POWERPC] Fix small race in 44x tlbie functionDavid Gibson
The 440 family of processors don't have a tlbie instruction. So, we implement TLB invalidates by explicitly searching the TLB with tlbsx., then clobbering the relevant entry, if any. Unfortunately the PID for the search needs to be stored in the MMUCR register, which is also used by the TLB miss handler. Interrupts were enabled in _tlbie(), so an interrupt between loading the MMUCR and the tlbsx could cause incorrect search results, and thus a failure to invalide TLB entries which needed to be invalidated. This fixes the problem in both arch/ppc and arch/powerpc by inhibiting interrupts (even critical and debug interrupts) across the relevant instructions. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>