03 Dec, 2009

2 commits


02 Dec, 2009

6 commits

  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    MIPS: Loongson: Switch from flatmem to sparsemem
    MIPS: Loongson: Disallow 4kB pages
    MIPS: Add missing definition for MADV_HWPOISON.
    MIPS: Fix build error if __xchg() is not getting inlined.
    MIPS: IP22/IP28 Disable early printk to fix boot problems on some systems.

    Linus Torvalds
     
  • With flatmem hibernation for Loongson will fail, and there are also some
    other problems such as broken files when using NFS or CIFS / Samba.

    The config help of sparsemem says:

    "This option provides some potential performance benefits, along with
    decreased code complexity."

    So to avoid the potential problems of FLATMEM, we disable FLATMEM directly
    and use SPARSEMEM instead.

    Related email thread:

    http://groups.google.com/group/loongson-dev/browse_thread/thread/b6b65890ec2b0f24/feb43e5aa7f55d9b?show_docid=feb43e5aa7f55d9b

    Reported-by: Tatu Kilappa
    Signed-off-by: Wu Zhangjin
    Patchwork: http://patchwork.linux-mips.org/patch/737/
    Cc: linux-mips@linux-mips.org
    Cc: zhangfx@lemote.com
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • Currently, with PAGE_SIZE_4KB, the kernel for loongson will hang on:

    Kernel panic - not syncing: Attempted to kill init!

    The possible reason is the cache aliases problem:

    Loongson 2F has 64kb, 4 way L1 Cache, the way size is 16kb, which is bigger
    then 4kb. so, If using 4kb page size, there is cache aliases problem.
    To avoid this kind of problem, extra cache flushing. The 2nd possible
    solution is 16kb page size which avoids cache aliases without the need for
    extra cache flushes. So we disable 4kB pages until the aliasing issue is
    solved.

    Signed-off-by: Wu Zhangjin
    Patchwork: http://patchwork.linux-mips.org/patch/736/
    Cc: linux-mips@linux-mips.org
    Cc: zhangfx@lemote.com
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • Thanks to Joseph S. Myers for reporting this.

    Signed-off-by: Ralf Baechle
    Cc: "Joseph S. Myers"
    Patchwork: http://patchwork.linux-mips.org/patch/723/

    Ralf Baechle
     
  • If __xchg() is not getting inlined the outline version of the function
    will have a reference to __xchg_called_with_bad_pointer() which does not
    exist remaining. Fixed by using BUILD_BUG_ON() to check for allowable
    operand sizes.

    Signed-off-by: Ralf Baechle
    Patchwork: http://patchwork.linux-mips.org/patch/705/

    Ralf Baechle
     
  • Some Debian users have reported that the kernel hangs early during boot on
    some IP22 systems. Thomas Bogendoerfer found that this is due to a "bad
    interaction between CONFIG_EARLY_PRINTK and overwritten prom memory during
    early boot". Since there's no fix yet, disable CONFIG_EARLY_PRINTK for now.

    Signed-off-by: Martin Michlmayr
    Cc: linux-mips@linux-mips.org
    Cc: Thomas Bogendoerfer
    Cc: Dmitri Vorobiev
    Patchwork: http://patchwork.linux-mips.org/patch/702/
    Signed-off-by: Ralf Baechle

    Martin Michlmayr
     

01 Dec, 2009

12 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6:
    alpha: Fixup last users of irq_chip->typename
    Alpha: Rearrange thread info flags fixing two regressions
    arch/alpha/kernel: Add kmalloc NULL tests
    arch/alpha/kernel/sys_ruffian.c: Use DIV_ROUND_CLOSEST

    Linus Torvalds
     
  • The typename member of struct irq_chip was kept for migration purposes
    and is obsolete since more than 2 years. Fix up the leftovers.

    Signed-off-by: Thomas Gleixner
    Cc: Richard Henderson
    Cc: linux-alpha@vger.kernel.org
    Signed-off-by: Matt Turner

    Thomas Gleixner
     
  • The removal of the TIF_NOTIFY_RESUME flag, commit a583f1b54249b
    "remove unused TIF_NOTIFY_RESUME flag," resulted in incorrect
    setting of the unaligned access control flags by the prctl syscall.

    The re-addition of the TIF_NOTIFY_RESUME flag, commit d0420c83f39f
    "KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures [try #6]"
    further caused problems, namely incorrect operands to assembler code
    as evidenced by:

    AS arch/alpha/kernel/entry.o
    arch/alpha/kernel/entry.S: Assembler messages:
    arch/alpha/kernel/entry.S:326: Warning: operand out of range
    (0x0000000000000406 is not between 0x0000000000000000 and
    0x00000000000000ff)

    Both regressions fixed by (1) rearranging TIF_NOTIFY_RESUME flag to be
    in lower 8 bits of the thread info flags, and (2) making sure that
    ALPHA_UAC_SHIFT matches the rearrangement of the thread info flags.

    Signed-off-by: Michael Cree
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: David Howells ,
    Signed-off-by: Matt Turner

    Michael Cree
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:
    Blackfin: fix SMP build error in start_thread()
    Blackfin: fix memset in smp_send_reschedule() and -stop()
    Blackfin: fix typo in ptrace poking
    Blackfin: check for anomaly 05000475
    Blackfin: work around testset anomaly 05000477
    Blackfin: update anomaly lists
    Blackfin: fix cache Kconfig typo
    Blackfin: fix suspend/resume failure with some on-chip ROMs

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] Update mach-types
    ARM: 5793/1: ARM: Check put_user fail in do_signal when enable OABI_COMPAT
    MAINTAINERS: add maintainer information for AMBA primecell drivers
    [ARM] pxa/spitz: fix compile regression on spitz
    ARM: PNX4008: i2c-pnx: use the same dev_id for request_irq and free_irq
    [ARM] pxa/cpufreq: fix index assignments for end marker
    ARM: PNX4008: fix watchdog device driver name
    [ARM] kmap: fix build errors with DEBUG_HIGHMEM enabled

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc: Fix DEBUG_HIGHMEM build break from d4515646699

    Linus Torvalds
     
  • Code was added to mm/higmem.c that depends on several
    kmap types that powerpc does not support. We add dummy
    invalid definitions for KM_NMI, KM_NM_PTE, and KM_IRQ_PTE.

    According to list discussion, this fix should not be needed
    anymore starting with 2.6.33. The code is commented to this
    effect so hopefully we will remember to remove this.

    Signed-off-by: Becky Bruce
    Signed-off-by: Benjamin Herrenschmidt

    Becky Bruce
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sunsu: Use sunserial_console_termios() in sunsu_console_setup().
    sunsu: Pass true 'ignore_line' to console match when RSC or LOM console.
    serial: suncore: Fix RSC/LOM handling in sunserial_console_termios().
    serial: suncore: Add 'ignore_line' argument to sunserial_console_match().
    sunsu: Fix detection of SU ports which are RSC console or control.
    sunsab: Do not set sunsab_reg.cons right before registering minors.
    sparc64: Fix definition of VMEMMAP_SIZE.

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ] Enable ACPI PDC handshake for VIA/Centaur CPUs

    Linus Torvalds
     
  • Check that the result of kmalloc is not NULL before passing it to other
    functions.

    The semantic match that finds this problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @@
    expression *x;
    identifier f;
    constant char *C;
    @@

    x = \(kmalloc\|kcalloc\|kzalloc\)(...);
    ... when != x == NULL
    when != x != NULL
    when != (x || ...)
    (
    kfree(x)
    f(...,C,...,x,...)
    |
    *f(...,x,...)
    |
    *x->f
    )
    //

    Signed-off-by: Julia Lawall
    Cc: Ivan Kokshaysky
    Cc: Richard Henderson
    Signed-off-by: Matt Turner

    Julia Lawall
     
  • The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
    but is perhaps more readable.

    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @haskernel@
    @@

    @depends on haskernel@
    expression x,__divisor;
    @@

    - (((x) + ((__divisor) / 2)) / (__divisor))
    + DIV_ROUND_CLOSEST(x,__divisor)
    //

    Signed-off-by: Julia Lawall
    Cc: Ivan Kokshaysky
    Cc: Richard Henderson
    Signed-off-by: Matt Turner

    Julia Lawall
     
  • kernel unwinding is broken with gcc >= 4.x. Part of the problem is that
    binutils seems very sensitive to where the unwind information is stored.

    Signed-off-by: Helge Deller
    Signed-off-by: Kyle McMartin
    Signed-off-by: Linus Torvalds

    Helge Deller
     

26 Nov, 2009

2 commits


25 Nov, 2009

9 commits

  • Commit d5ce528c8e46fa5afb9 (Blackfin: convert irq/process to asm-generic)
    incorrectly merged the smp and non-smp cases of start_thread() causing the
    L1 stack to be setup on the SMP port instead of the UP port.

    Signed-off-by: Graf Yang
    Signed-off-by: Mike Frysinger

    Graf Yang
     
  • To set zeroes the sizeof the struct should be used rather
    than sizeof the pointer, kzalloc does that.

    Signed-off-by: Roel Kluin
    Signed-off-by: Mike Frysinger

    Roel Kluin
     
  • Commit c014e15a2f667f9 (Blackfin: convert ptrace to new memory functions)
    introduced a copy & paste typo in the ptrace poke data/text handling. The
    access_process_vm() function call was telling it to read instead of write.

    Signed-off-by: Jie Zhang
    Signed-off-by: Mike Frysinger

    Jie Zhang
     
  • Parts that have on-chip L2 SRAM cannot safely utilize writeback caching
    mode, so reject any attempts to use it.

    Signed-off-by: Mike Frysinger

    Mike Frysinger
     
  • Ironically, the atomic testset instruction cannot be interrupted else it
    will produce incorrect results. So disable interrupts to help it out.

    Signed-off-by: Mike Frysinger

    Mike Frysinger
     
  • Add some recently documented anomalies (473, 474, 475, 477). Also stick
    a "do not edit" notice in here so people know these are copies of some
    master version.

    Signed-off-by: Mike Frysinger

    Mike Frysinger
     
  • The Kconfig option is "BFIN_EXTMEM_WRITETHROUGH", not "..._WRITETROUGH".

    Signed-off-by: André Goddard Rosa
    Signed-off-by: Mike Frysinger

    André Goddard Rosa
     
  • Some Blackfin on-chip ROMs utilize some MDMA channels during the suspend
    and resume process, but don't clean up after themselves. So manually
    clear all DMA channels when resuming since no DMA could have been running
    at this point in time. Now Linux should be able to work regardless of any
    laziness on the part of the on-chip ROM or boot loader.

    Signed-off-by: Michael Hennerich
    Signed-off-by: Mike Frysinger

    Michael Hennerich
     
  • In commit 0de51088e6a82bc8413d3ca9e28bbca2788b5b53, we introduced the
    use of acpi-cpufreq on VIA/Centaur CPU's by removing a vendor check for
    VENDOR_INTEL. However, as it turns out, at least the Nano CPU's also
    need the PDC (processor driver capabilities) handshake in order to
    activate the methods required for acpi-cpufreq.

    Since arch_acpi_processor_init_pdc() contains another vendor check for
    Intel, the PDC is not initialized on VIA CPU's. The resulting behavior
    of a current mainline kernel on such systems is: acpi-cpufreq
    loads and it indicates CPU frequency changes. However, the CPU stays at
    a single frequency

    This trivial patch ensures that init_intel_pdc() is called on Intel and
    VIA/Centaur CPU's alike.

    Signed-off-by: Harald Welte
    Signed-off-by: Dave Jones

    Harald Welte
     

24 Nov, 2009

2 commits

  • This was the cause of various boot failures on V480, V880, etc.
    systems.

    Kernel image memory was being overwritten because the vmemmap[]
    array was being sized to small. So if you had physical memory
    addresses past a certain point, the early bootup would spam
    all over variables in the kernel data section.

    The vmemmap mappings map page structs, not page struct pointers.
    And that was the key thinko in the macro definition.

    This was fixable thanks to the help, reports, and tireless patience
    of Hermann Lauer.

    Reported-by: Hermann Lauer
    Signed-off-by: David S. Miller

    David S. Miller
     
  • Using OABI, the call to put_user in do_signal can fail causing the
    calling app to hang.

    The solution is to check if put_user fails and force the app to
    seg fault in that case.

    Tested with multiple sleeping apps/threads (using the nanosleep syscall)
    and suspend/resume.

    Signed-off-by: janboe
    Signed-off-by: Jean Pihet
    Signed-off-by: Russell King

    Jean PIHET
     

23 Nov, 2009

1 commit


22 Nov, 2009

1 commit


21 Nov, 2009

1 commit

  • I stumbled over two small things regarding the .index field assignment
    in the dynamically created cpu frequency tables for pxa2xx and pxa3xx.

    Even though that doesn't currently cause any problem, it should still be
    fixed in case the logic in the CPUFREQ core changes.

    Signed-off-by: Daniel Mack
    Signed-off-by: Eric Miao

    Daniel Mack
     

20 Nov, 2009

1 commit


19 Nov, 2009

3 commits