- Aug 22, 2007
-
-
David Wilder authored
Placing a kprobe on "bc" instruction (s390/s390x) can cause an oops. The instruction length is encoded into the first two bits of the s390 instruction. Kprobe is incorrectly computing the instruction length. The instruction length is used for determining what type of "fix-up" is needed for conditional branch instruction. The problem can bee seen by placing a kprobe on a "bc" instruction that will not branch. The results is that Kprobe incorrectly computes the new instruction pointer (psw.addr) after single stepping the instruction. The problem is corrected with this patch. Signed-off-by:
David Wilder <dwilder@us.ibm.com> Signed-off-by:
Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by:
Heiko Carstens <heiko.carstens@de.ibm.com>
-
Michael Holzheu authored
hypfs removes the whole hypfs directory tree and creates a new one, when a process triggers an update by writing to the "update" attribute. When removing and creating files, it is necessary to lock the inode of the parent directory where the files live. Currently hypfs does not lock the parent inode, which can lead to inode corruption. This patch: * Introduces correct locking * Fixes i_nlink reference counting for inodes, when creating directories * Adds info printk, when hypfs filesystem has been mounted Signed-off-by:
Michael Holzheu <holzheu@de.ibm.com> Signed-off-by:
Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by:
Heiko Carstens <heiko.carstens@de.ibm.com>
-
Christian Borntraeger authored
The instruction table for b2 opcodes was missing an opfrag value for the cpya instruction. All instructions specified after cpya were not considered by the disassembler. The fix is simple and obvious - add the opfrag field to the cpya instruction. Signed-off-by:
Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by:
Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by:
Heiko Carstens <heiko.carstens@de.ibm.com>
-
Michael Holzheu authored
There are several s390 diagnose calls, which must be executed below the 2GB memory boundary. In order to enforce this, those diagnoses must be compiled into the kernel. Currently diag 14 can be called within the vmur kernel module from addresses above 2GB. This leads to specification exceptions. This patch moves diag10, diag14 and diag210 into the new diag.c file. Signed-off-by:
Michael Holzheu <holzheu@de.ibm.com> Signed-off-by:
Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by:
Heiko Carstens <heiko.carstens@de.ibm.com>
-
Kumar Gala authored
The initial user manuals for MPC8544/8533 had some issues with properly documenting the device IDs for MPC8544/8533. These processors are almost identical and both show up on the reference boards. Fix up the quirks for PCIe support to handle MPC8533/E. Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- Aug 21, 2007
-
-
Andi Kleen authored
I did some testing and found quite a lot of problems (doesn't boot at all on non NUMA and misassigns cores on Opteron systems). Mark it as experimental and warn against its use for now. It's still default y for SUMMIT/NUMAQ because it'll presumably work on these systems. Signed-off-by:
Andi Kleen <ak@suse.de> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Aug 20, 2007
-
-
Bartlomiej Zolnierkiewicz authored
Some host drivers depend on CONFIG_IDE_GENERIC to do the probing but their config options lack explicit dependencies on IDE_GENERIC. In the long-term these host drivers should be fixed to do the probing themselves but for now fix them by making their config options select CONFIG_IDE_GENERIC. Signed-off-by:
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-
- Aug 18, 2007
-
-
Chris Wright authored
With commit ab144f5e the patching code now collects the complete new instruction stream into a temp buffer before finally patching in the new insns. In some cases the paravirt patchers will choose to leave the patch site unpatched (length mismatch, clobbers mismatch, etc). This causes the new patching code to copy an uninitialized temp buffer, i.e. garbage, to the callsite. Simply make sure to always initialize the buffer with the original instruction stream. A better fix is to audit all the patchers and return proper length so that apply_paravirt() can skip copies when we leave the patch site untouched. Signed-off-by:
Chris Wright <chrisw@sous-sol.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Andi Kleen authored
Very old 64bit binutils have .cfi_startproc/endproc, but no .cfi_rel_offset. Check for .cfi_rel_offset too. Cc: Jan Beulich <jbeulich@novell.com> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Andi Kleen authored
Very old binutils (2.12.90...) seem to have trouble with newlines in assembler macro invocation. They put them into the resulting argument expansion. In this case this lead to a parse error because a .rept expression ended up spread over multiple lines. Change the PMDS() invocation to a single line. Signed-off-by:
Andi Kleen <ak@suse.de> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Daniel Gollub authored
Fixed wrong expression which enabled watchdogs even if nmi_watchdog kernel parameter wasn't set. This regression got slightly introduced with commit b7471c6d. Introduced NMI_DISABLED (-1) which allows to switch the value of NMI_DEFAULT without breaking the APIC NMI watchdog code (again). Fixes: https://bugzilla.novell.com/show_bug.cgi?id=298084 http://bugzilla.kernel.org/show_bug.cgi?id=7839 And likely some more nmi_watchdog=0 related issues. Signed-off-by:
Daniel Gollub <dgollub@suse.de> Signed-off-by:
Andi Kleen <ak@suse.de> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Andi Kleen authored
This should fix an oops with PCMCIA PATA devices http://bugzilla.kernel.org/show_bug.cgi?id=8424 This is not a full fix for the problem, but probably still the right thing to do. [ I'm almost certain it's *not* the right thing to do, but it avoids an oops, and I want comments from others on what the right thing would actually be.. I suspect we should just remove the use of dma_mask entirely in this function, and just use coherent_dma_mask. - Linus ] Signed-off-by:
Andi Kleen <ak@suse.de> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Jan Engelhardt authored
Signed-off-by:
Jan Engelhardt <jengelh@gmx.de> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (edited MACINTOSH_DRIVERS per Geert Uytterhoeven's remark) Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Aug 17, 2007
-
-
Peter Chubb authored
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>
-
Shaohua Li authored
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>
-
Kumar Gala authored
CC arch/powerpc/sysdev/commproc.o arch/powerpc/sysdev/fsl_soc.c: In function fsl_pcmcia_of_init: arch/powerpc/sysdev/fsl_soc.c:1109: error: implicit declaration of function of_platform_device_create Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
Becky Bruce authored
Reserved MCSR bits on FSL BookE parts may have spurious values when mcheck occurs. Mask these off when printing the MCSR to avoid confusion. Also, get rid of the MCSR_GL_CI bit defined for e500 - this bit doesn't actually have any meaning. Signed-off-by:
Becky Bruce <becky.bruce@freescale.com> Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
Kumar Gala authored
The interrupt routing in the device trees for the ULI M1575 was inproperly using the interrupt line field as pci function. Fixed up the device tree's to actual conform for to specification and changed the interrupt mapping code so it just uses a static mapping setup as follows: PIRQA - IRQ9 PIRQB - IRQ10 PIRQC - IRQ11 PIRQD - IRQ12 USB 1.1 OCHI (1c.0) - IRQ12 USB 1.1 OCHI (1c.1) - IRQ9 USB 1.1 OCHI (1c.2) - IRQ10 USB 1.1 ECHI (1c.3) - IRQ11 LAN (1b.0) - IRQ6 AC97 (1d.0) - IRQ6 Modem (1d.1) - IRQ6 HD Audio (1d.2) - IRQ6 SATA (1f.1) - IRQ5 SMB (1e.1) - IRQ7 PMU (1e.2) - IRQ7 PATA (1f.0) - IRQ14/15 Took the oppurtunity to refactor the code into a single file so we don't have to duplicate these fixes on the two current boards in the tree and several forth coming boards that will also need the code. Fixed RTC support that requires a dummy memory read on the P2P bridge to unlock the RTC and setup the default of the RTC alarm registers to match with a basic x86 style CMOS RTC. Moved code that poked ISA registers to a FIXUP_FINAL quirk to ensure the PCI IO space has been setup properly before we start poking ISA registers at random locations. Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
Kumar Gala authored
The RTC CMOS driver expects the interrupt to be a resource of the platform device. Use a fixed interrupt value of 8 since on PPC if we are using this its off an i8259 which we ensure has interrupt numbers 0..15. Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
Ilpo Järvinen authored
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>
-
- Aug 16, 2007
-
-
Andrew Burgess authored
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>
-
Andy Whitcroft authored
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>
-
David S. Miller authored
Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
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>
-
David S. Miller authored
The bzero/memset implementation stays the same as Niagara-1. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
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>
-
- Aug 15, 2007
-
-
Alex Williamson authored
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>
-
Haavard Skinnemoen authored
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>
-
David Brownell authored
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>
-
Geert Uytterhoeven authored
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>
-
Roland McGrath authored
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>
-
David Gibson authored
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>
-
Becky Bruce authored
AFAICT, nobody is using ft_ordered(), and it causes a build warning to be generated. This patch cleans that up by removing the function and the commented-out code that calls it. Signed-off-by:
Becky Bruce <becky.bruce@freescale.com> Acked-by:
David Gibson <david@gibson.dropbear.id.au> Signed-off-by:
Paul Mackerras <paulus@samba.org>
-
Jeremy Kerr authored
At present, spu_create with an invalid neighbo(u)r will return -ENOSYS, not -EBADF, but only when spufs.o is built as a module. This change adds the appropriate errno, making the behaviour the same as the built-in case. Signed-off-by:
Jeremy Kerr <jk@ozlabs.org> Acked-by:
Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by:
Paul Mackerras <paulus@samba.org>
-
Mark Fortescue authored
In sun4c_init_clean_mmu(), aligning 'kernel_end' using SUN4C_REAL_PGDIR_ALIGN() is unnecessary since the caller does this already. In sun4c_paging_init(), 4 page sizes of "fluff" were added to the address of &end. This was necessary a long time ago when sparc32 would allocate some early data structures by carving out memory chunks after &end but that no longer occurs. Signed-off-by:
Mark Fortescue <mark@mtfhpc.demon.co.uk> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Mark Fortescue authored
This mirrors sparc64 commit 715a0ecc sparc_ramdisk_image should always be decremented by KERNBASE. Signed-off-by:
Mark Fortescue <mark@mtfhpc.demon.co.uk> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
H. Peter Anvin authored
When filling in the MBR signature array, the setup code failed to advance boot_params.edd_mbr_sig_buf_entries, which resulted in the valid data being ignored. Signed-off-by:
H. Peter Anvin <hpa@zytor.com>
-
H. Peter Anvin authored
At least one machine has been identified in the field which advertises EDD for all drives but locks up if one attempts an extended read from a non-primary drive. The MBR is always at CHS 0-0-1, so there is no reason to use an extended read, other than the possibility that the BIOS cannot handle it. Although this might break as many machines as it fixes (a small number either way), the current state is a regression but the reverse is not. Therefore revert to the previous state of not using extended read. Quite probably the Right Thing to do is to read using plain (CHS) read and extended read on failure, but that change would definitely have to go through -mm first. Signed-off-by:
H. Peter Anvin <hpa@zytor.com>
-
- Aug 14, 2007
-
-
H. Peter Anvin authored
The current display page is an 8-bit number, even though struct screen_info gives it a 16-bit number. The number is returned in %bh, so it needs to be >> 8 before storing. Special thanks to Jeff Chua for detailed bug reporting. Signed-off-by:
H. Peter Anvin <hpa@zytor.com>
-
Andrew Victor authored
The PCI driver has not been merged yet, so comment out call to ks8695_init_pci() for now. Also fix some incorrectly marked __init and __initdata sections. Signed-off-by:
Andrew Victor <andrew@sanpeople.com> Signed-off-by:
Russell King <rmk+kernel@arm.linux.org.uk>
-