14 Oct, 2013

3 commits

  • Pull ARM SoC fixes from Olof Johansson:
    "A small batch of fixes this week, mostly OMAP related. Nothing stands
    out as particularly controversial.

    Also a fix for a 3.12-rc1 timer regression for Exynos platforms,
    including the Chromebooks"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: exynos: dts: Update 5250 arch timer node with clock frequency
    ARM: OMAP2: RX-51: Add missing max_current to rx51_lp5523_led_config
    ARM: mach-omap2: board-generic: fix undefined symbol
    ARM: dts: Fix pinctrl mask for omap3
    ARM: OMAP3: Fix hardware detection for omap3630 when booted with device tree
    ARM: OMAP2: gpmc-onenand: fix sync mode setup with DT

    Linus Torvalds
     
  • Without the "clock-frequency" property in arch timer node, could able
    to see the below crash dump.

    [] (unwind_backtrace+0x0/0xf4) from [] (show_stack+0x10/0x14)
    [] (show_stack+0x10/0x14) from [] (dump_stack+0x7c/0xb0)
    [] (dump_stack+0x7c/0xb0) from [] (Ldiv0_64+0x8/0x18)
    [] (Ldiv0_64+0x8/0x18) from [] (clockevents_config.part.2+0x1c/0x74)
    [] (clockevents_config.part.2+0x1c/0x74) from [] (clockevents_config_and_register+0x20/0x2c)
    [] (clockevents_config_and_register+0x20/0x2c) from [] (arch_timer_setup+0xa8/0x134)
    [] (arch_timer_setup+0xa8/0x134) from [] (arch_timer_init+0x1f4/0x24c)
    [] (arch_timer_init+0x1f4/0x24c) from [] (clocksource_of_init+0x34/0x58)
    [] (clocksource_of_init+0x34/0x58) from [] (time_init+0x20/0x2c)
    [] (time_init+0x20/0x2c) from [] (start_kernel+0x1e0/0x39c)

    THis is because the Exynos u-boot, for example on the Chromebooks, doesn't set
    up the CNTFRQ register as expected by arch_timer. Instead, we have to specify
    the frequency in the device tree like this.

    Signed-off-by: Yuvaraj Kumar C D
    [olof: Changed subject, added comment, elaborated on commit message]
    Signed-off-by: Olof Johansson

    Yuvaraj Kumar C D
     
  • …kernel/git/tmlind/linux-omap into fixes

    From Tony Lindgren:

    Few fixes for omap3 related hangs and errors that people have
    noticed now that people are actually using the device tree
    based booting for omap3.

    Also one regression fix for timer compile for dra7xx when
    omap5 is not selected, and a LED regression fix for n900.

    * tag 'fixes-against-v3.12-rc3-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP2: RX-51: Add missing max_current to rx51_lp5523_led_config
    ARM: mach-omap2: board-generic: fix undefined symbol
    ARM: dts: Fix pinctrl mask for omap3
    ARM: OMAP3: Fix hardware detection for omap3630 when booted with device tree
    ARM: OMAP2: gpmc-onenand: fix sync mode setup with DT

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

13 Oct, 2013

10 commits


12 Oct, 2013

2 commits

  • ARCompact TRAP_S insn used for breakpoints, commits before exception is
    taken (updating architectural PC). So ptregs->ret contains next-PC and
    not the breakpoint PC itself. This is different from other restartable
    exceptions such as TLB Miss where ptregs->ret has exact faulting PC.
    gdb needs to know exact-PC hence ARC ptrace GETREGSET provides for
    @stop_pc which returns ptregs->ret vs. EFA depending on the
    situation.

    However, writing stop_pc (SETREGSET request), which updates ptregs->ret
    doesn't makes sense stop_pc doesn't always correspond to that reg as
    described above.

    This was not an issue so far since user_regs->ret / user_regs->stop_pc
    had same value and both writing to ptregs->ret was OK, needless, but NOT
    broken, hence not observed.

    With gdb "jump", they diverge, and user_regs->ret updating ptregs is
    overwritten immediately with stop_pc, which this patch fixes.

    Reported-by: Anton Kolesov
    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Pull MIPS fix from Ralf Baechle:
    "Just one fix. The stack protector was loading the value of the canary
    instead of its address"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: stack protector: Fix per-task canary switch

    Linus Torvalds
     

11 Oct, 2013

3 commits


10 Oct, 2013

3 commits

  • When the MM code is invalidating a range of pages, it calls the KVM
    kvm_mmu_notifier_invalidate_range_start() notifier function, which calls
    kvm_unmap_hva_range(), which arranges to flush all the TLBs for guest pages.
    However, the Linux PTEs for the range being flushed are still valid at
    that point. We are not supposed to establish any new references to pages
    in the range until the ...range_end() notifier gets called.
    The PPC-specific KVM code doesn't get any explicit notification of that;
    instead, we are supposed to use mmu_notifier_retry() to test whether we
    are or have been inside a range flush notifier pair while we have been
    referencing a page.

    This patch calls the mmu_notifier_retry() while mapping the guest
    page to ensure we are not referencing a page when in range invalidation.

    This call is inside a region locked with kvm->mmu_lock, which is the
    same lock that is called by the KVM MMU notifier functions, thus
    ensuring that no new notification can proceed while we are in the
    locked region.

    Signed-off-by: Bharat Bhushan
    Acked-by: Alexander Graf
    [Backported to 3.12 - Paolo]
    Reviewed-by: Bharat Bhushan
    Signed-off-by: Paolo Bonzini

    Bharat Bhushan
     
  • This fixes a typo in the code that saves the guest DSCR (Data Stream
    Control Register) into the kvm_vcpu_arch struct on guest exit. The
    effect of the typo was that the DSCR value was saved in the wrong place,
    so changes to the DSCR by the guest didn't persist across guest exit
    and entry, and some host kernel memory got corrupted.

    Cc: stable@vger.kernel.org [v3.1+]
    Signed-off-by: Paul Mackerras
    Acked-by: Alexander Graf
    Signed-off-by: Paolo Bonzini

    Paul Mackerras
     
  • 72f857950f6f19 broke shadow on EPT. This patch reverts it and fixes PAE
    on nEPT (which reverted commit fixed) in other way.

    Shadow on EPT is now broken because while L1 builds shadow page table
    for L2 (which is PAE while L2 is in real mode) it never loads L2's
    GUEST_PDPTR[0-3]. They do not need to be loaded because without nested
    virtualization HW does this during guest entry if EPT is disabled,
    but in our case L0 emulates L2's vmentry while EPT is enables, so we
    cannot rely on vmcs12->guest_pdptr[0-3] to contain up-to-date values
    and need to re-read PDPTEs from L2 memory. This is what kvm_set_cr3()
    is doing, but by clearing cache bits during L2 vmentry we drop values
    that kvm_set_cr3() read from memory.

    So why the same code does not work for PAE on nEPT? kvm_set_cr3()
    reads pdptes into vcpu->arch.walk_mmu->pdptrs[]. walk_mmu points to
    vcpu->arch.nested_mmu while nested guest is running, but ept_load_pdptrs()
    uses vcpu->arch.mmu which contain incorrect values. Fix that by using
    walk_mmu in ept_(load|save)_pdptrs.

    Signed-off-by: Gleb Natapov
    Reviewed-by: Paolo Bonzini
    Tested-by: Paolo Bonzini
    Signed-off-by: Paolo Bonzini

    Gleb Natapov
     

09 Oct, 2013

5 commits

  • File drivers/leds/leds-lp55xx-common.c refuse to change led_current sysfs
    attribute if value is higher than max_current specified in board file. By default
    global C variables are zero, so changing always failed. This patch adding missing
    max_current and setting it to max safe value 100 (10 mA).

    It is unclear which commit exactly caused this regression as the lp5523
    driver was broken and was hiding the platform data breakage. Now
    the driver is fixed so this should be fixed as well.

    Signed-off-by: Pali Rohár
    Signed-off-by: Joerg Reisenweber
    [tony@atomide.com: updated comments to describe regression]
    Signed-off-by: Tony Lindgren

    Pali Rohár
     
  • Since dra7 reuses the function 'omap5_realtime_timer_init' in
    arch/arm/mach-omap2/board-generic.c as timer init function, it has to be
    built for this SoC as well.

    Signed-off-by: Simon Barth
    Signed-off-by: Tony Lindgren

    Simon Barth
     
  • The wake-up interrupt bit is available on omap3/4/5 processors
    unlike what we claim. Without fixing it we cannot use it on
    omap3 and the system configured for wake-up events will just
    hang on wake-up.

    Cc: Grygorii Strashko
    Cc: Benoît Cousson
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • SoC family definitions at the moment are reactive to board needs
    as a result, beagle-xm would matchup with ti,omap3 which invokes
    omap3430_init_early instead of omap3630_init_early. Obviously, this is
    the wrong behavior.

    With clock node dts conversion, we get the following warnings before
    system hangs as a result and 3630 based platforms fails to boot
    (uart4 clocks are only present in OMAP3630 and not present in
    OMAP3430):

    ...
    omap_hwmod: uart4: cannot clk_get main_clk uart4_fck
    omap_hwmod: uart4: cannot _init_clocks

    WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2434
    _init+0x6c/0x80()
    omap_hwmod: uart4: couldn't init clocks
    ...

    WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2126
    _enable+0x254/0x280()
    omap_hwmod: timer12: enabled state can only be entered from
    initialized, idle, or disabled state
    ...

    WARNING: CPU: 0 PID: 46 at arch/arm/mach-omap2/omap_hwmod.c:2224
    _idle+0xd4/0xf8()
    omap_hwmod: timer12: idle state can only be entered from enabled state

    WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2126
    _enable+0x254/0x280()
    omap_hwmod: uart4: enabled state can only be entered from
    initialized, idle, or disabled state

    So, add specific compatiblity for 3630 to allow match for Beagle-XM
    platform.

    Signed-off-by: Nishanth Menon
    [tony@atomide.com: left out ti,omap343x, updated comments]
    Signed-off-by: Tony Lindgren

    Nishanth Menon
     
  • Pull perf fixes from Ingo Molnar:
    "Various fixlets:

    On the kernel side:

    - fix a race
    - fix a bug in the handling of the perf ring-buffer data page

    On the tooling side:

    - fix the handling of certain corrupted perf.data files
    - fix a bug in 'perf probe'
    - fix a bug in 'perf record + perf sched'
    - fix a bug in 'make install'
    - fix a bug in libaudit feature-detection on certain distros"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf session: Fix infinite loop on invalid perf.data file
    perf tools: Fix installation of libexec components
    perf probe: Fix to find line information for probe list
    perf tools: Fix libaudit test
    perf stat: Set child_pid after perf_evlist__prepare_workload()
    perf tools: Add default handler for mmap2 events
    perf/x86: Clean up cap_user_time* setting
    perf: Fix perf_pmu_migrate_context

    Linus Torvalds
     

08 Oct, 2013

2 commits

  • irq_exit() is now called on the irq stack, which can trigger a switch to
    the softirq stack from the irq stack. If an interrupt happens at that
    point, we will not properly detect the re-entrancy and clobber the
    original return context on the irq stack.

    This fixes it. The side effect is to prevent all nesting from softirq
    stack to irq stack even in the "safe" case but it's simpler that way and
    matches what x86_64 does.

    Reported-by: Cédric Le Goater
    Tested-by: Cédric Le Goater
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • Pull Tile bugfixes from Chris Metcalf:
    "This fixes some serious issues with PREEMPT support, and a couple of
    smaller corner-case issues fixed in the last couple of weeks"

    * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    arch: tile: re-use kbasename() helper
    tile: use a more conservative __my_cpu_offset in CONFIG_PREEMPT
    tile: ensure interrupts disabled for preempt_schedule_irq()
    tile: change lock initalization in hardwall
    tile: include: asm: use 'long long' instead of 'u64' for atomic64_t and its related functions

    Linus Torvalds
     

07 Oct, 2013

2 commits

  • Commit 1400eb6 (MIPS: r4k,octeon,r2300: stack protector: change canary
    per task) was merged in v3.11 and introduced assembly in the MIPS resume
    functions to update the value of the current canary in
    __stack_chk_guard. However it used PTR_L resulting in a load of the
    canary value, instead of PTR_LA to construct its address. The value is
    intended to be random but is then treated as an address in the
    subsequent LONG_S (store).

    This was observed to cause a fault and panic:

    CPU 0 Unable to handle kernel paging request at virtual address 139fea20, epc == 8000cc0c, ra == 8034f2a4
    Oops[#1]:
    ...
    $24 : 139fea20 1e1f7cb6
    ...
    Call Trace:
    [] resume+0xac/0x118
    [] __schedule+0x5f8/0x78c
    [] schedule_preempt_disabled+0x20/0x2c
    [] rest_init+0x74/0x84
    [] start_kernel+0x43c/0x454
    Code: 3c18804b 8f184030 8cb901f8 00c0e021 8cb002f0 8cb102f4 8cb202f8 8cb302fc

    This can also be forced by modifying
    arch/mips/include/asm/stackprotector.h so that the default
    __stack_chk_guard value is more likely to be a bad (or unaligned)
    pointer.

    Fix it to use PTR_LA instead, to load the address of the canary value,
    which the LONG_S can then use to write into it.

    Reported-by: bobjones (via #mipslinux on IRC)
    Signed-off-by: James Hogan
    Cc: Ralf Baechle
    Cc: Gregory Fong
    Cc: linux-mips@linux-mips.org
    Cc: stable@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/6026/
    Signed-off-by: Ralf Baechle

    James Hogan
     
  • Pull s390 fixes from Martin Schwidefsky:
    "A couple of bux fixes, notable are the regression with ptrace vs
    restarting system calls and the patch for kdump to be able to copy
    from virtual memory"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390: fix system call restart after inferior call
    s390: Allow vmalloc target buffers for copy_from_oldmem()
    s390/sclp: properly detect line mode console
    s390/kprobes: add exrl to list of prohibited opcodes
    s390/3270: fix return value check in tty3270_resize_work()

    Linus Torvalds
     

06 Oct, 2013

1 commit


05 Oct, 2013

6 commits

  • Pull PCI fix from Bjorn Helgaas:
    "We merged what was intended to be an MMCONFIG cleanup, but in fact,
    for systems without _CBA (which is almost everything), it broke
    extended config space for domain 0 and it broke all config space for
    other domains.

    This reverts the change"

    * tag 'pci-v3.12-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    Revert "x86/PCI: MMCONFIG: Check earlier for MMCONFIG region at address zero"

    Linus Torvalds
     
  • This reverts commit 07f9b61c3915e8eb156cb4461b3946736356ad02.

    07f9b61c was intended to be a cleanup that didn't change anything, but in
    fact, for systems without _CBA (which is almost everything), it broke
    extended config space for domain 0 and all config space for other domains.

    Reference: http://lkml.kernel.org/r/20131004011806.GE20450@dangermouse.emea.sgi.com
    Reported-by: Hedi Berriche
    Signed-off-by: Bjorn Helgaas

    Bjorn Helgaas
     
  • Commit ebd97be635 ('PCI: remove ARCH_SUPPORTS_MSI kconfig option')
    removed the ARCH_SUPPORTS_MSI option which architectures could select
    to indicate that they support MSI. Now, all architectures are supposed
    to build fine when MSI support is enabled: instead of having the
    architecture tell *when* MSI support can be used, it's up to the
    architecture code to ensure that MSI support can be enabled.

    On x86, commit ebd97be635 removed the following line:

    select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC)

    Which meant that MSI support was only available when the local APIC
    and I/O APIC were enabled. While this is always true on SMP or x86-64,
    it is not necessarily the case on i386 !SMP.

    The below patch makes sure that the local APIC and I/O APIC support is
    always enabled when MSI support is enabled. To do so, it:

    * Ensures the X86_UP_APIC option is not visible when PCI_MSI is
    enabled. This is the option that allows, on UP machines, to enable
    or not the APIC support. It is already not visible on SMP systems,
    or x86-64 systems, for example. We're simply also making it
    invisible on i386 MSI systems.

    * Ensures that the X86_LOCAL_APIC and X86_IO_APIC options are 'y'
    when PCI_MSI is enabled.

    Notice that this change requires a change in drivers/iommu/Kconfig to
    avoid a recursive Kconfig dependencey. The AMD_IOMMU option selects
    PCI_MSI, but was depending on X86_IO_APIC. This dependency is no
    longer needed: as soon as PCI_MSI is selected, the presence of
    X86_IO_APIC is guaranteed. Moreover, the AMD_IOMMU already depended on
    X86_64, which already guaranteed that X86_IO_APIC was enabled, so this
    dependency was anyway redundant.

    Signed-off-by: Thomas Petazzoni
    Link: http://lkml.kernel.org/r/1380794354-9079-1-git-send-email-thomas.petazzoni@free-electrons.com
    Reported-by: Konrad Rzeszutek Wilk
    Acked-by: Bjorn Helgaas
    Signed-off-by: H. Peter Anvin

    Thomas Petazzoni
     
  • Pull ARM64 fixes/updates from Catalin Marinas:
    - Bug-fixes (get_user/put_user, incorrect register width for ASID,
    FPSIMD initialisation)
    - Kconfig clean-up
    - defconfig update

    * tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
    arm64: Remove duplicate DEBUG_STACK_USAGE config
    arm64: include VIRTIO_{MMIO,BLK} in defconfig
    arm64: include EXT4 in defconfig
    arm64: fix possible invalid FPSIMD initialization state
    arm64: use correct register width when retrieving ASID
    arm64: avoid multiple evaluation of ptr in get_user/put_user()

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "Two small fixes for 3.12 only this week. I have a few more fixes
    pending but those are conceptually more complex so will have to wait
    for a bit longer"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: Fix forgotten preempt_enable() when CPU has inclusive pcaches
    MIPS: Alchemy: MTX-1: fix incorrect placement of __initdata tag

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Two simplefb fixes"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/simplefb: Mark framebuffer mem-resources as IORESOURCE_BUSY to avoid bootup warning
    x86/simplefb: Fix overflow causing bogus fall-back

    Linus Torvalds
     

04 Oct, 2013

2 commits

  • Currently the cap_user_time_zero capability has different tests than
    cap_user_time; even though they expose the exact same data.

    Switch from CONSTANT && NONSTOP to sched_clock_stable to also deal
    with multi cabinet machines and drop the tsc_disabled() check.. non of
    this will work sanely without tsc anyway.

    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/n/tip-nmgn0j0muo1r4c94vlfh23xy@git.kernel.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • With DT-based boot, the GPMC OneNAND sync mode setup does not work
    correctly. During the async mode setup, sync flags gets incorrectly
    set in the onenand_async data and the system crashes during the async
    setup. Also, the sync mode never gets set in gpmc_onenand_data->flags, so
    even without the crash, the actual sync mode setup would never be called.

    The patch fixes this by adjusting the gpmc_onenand_data->flags when the
    data is read from the DT. Also while doing this we force the onenand_async
    to be always async.

    The patch enables to use the following DTS chunk (that should correspond
    the arch/arm/mach-omap2/board-rm680.c board file setup) with Nokia N950,
    which currently crashes with 3.12-rc1. The crash output can be also
    found below.

    &gpmc {
    ranges = ;

    onenand@0,0 {
    #address-cells = ;
    #size-cells = ;
    reg = ;

    gpmc,sync-read;
    gpmc,sync-write;
    gpmc,burst-length = ;
    gpmc,burst-read;
    gpmc,burst-wrap;
    gpmc,burst-write;
    gpmc,device-width = ;
    gpmc,mux-add-data = ;
    gpmc,cs-on-ns = ;
    gpmc,cs-rd-off-ns = ;
    gpmc,cs-wr-off-ns = ;
    gpmc,adv-on-ns = ;
    gpmc,adv-rd-off-ns = ;
    gpmc,adv-wr-off-ns = ;
    gpmc,oe-on-ns = ;
    gpmc,oe-off-ns = ;
    gpmc,we-on-ns = ;
    gpmc,we-off-ns = ;
    gpmc,rd-cycle-ns = ;
    gpmc,wr-cycle-ns = ;
    gpmc,access-ns = ;
    gpmc,page-burst-access-ns = ;
    gpmc,bus-turnaround-ns = ;
    gpmc,cycle2cycle-delay-ns = ;
    gpmc,wait-monitoring-ns = ;
    gpmc,clk-activation-ns = ;
    gpmc,wr-data-mux-bus-ns = ;
    gpmc,wr-access-ns = ;
    gpmc,sync-clk-ps = ;
    };
    };

    [ 1.467559] GPMC CS0: cs_on : 0 ticks, 0 ns (was 0 ticks) 0 ns
    [ 1.474822] GPMC CS0: cs_rd_off : 1 ticks, 5 ns (was 24 ticks) 5 ns
    [ 1.482116] GPMC CS0: cs_wr_off : 14 ticks, 71 ns (was 24 ticks) 71 ns
    [ 1.489349] GPMC CS0: adv_on : 0 ticks, 0 ns (was 0 ticks) 0 ns
    [ 1.496582] GPMC CS0: adv_rd_off: 3 ticks, 15 ns (was 3 ticks) 15 ns
    [ 1.503845] GPMC CS0: adv_wr_off: 3 ticks, 15 ns (was 3 ticks) 15 ns
    [ 1.511077] GPMC CS0: oe_on : 3 ticks, 15 ns (was 4 ticks) 15 ns
    [ 1.518310] GPMC CS0: oe_off : 1 ticks, 5 ns (was 24 ticks) 5 ns
    [ 1.525543] GPMC CS0: we_on : 0 ticks, 0 ns (was 0 ticks) 0 ns
    [ 1.532806] GPMC CS0: we_off : 8 ticks, 40 ns (was 24 ticks) 40 ns
    [ 1.540039] GPMC CS0: rd_cycle : 4 ticks, 20 ns (was 29 ticks) 20 ns
    [ 1.547302] GPMC CS0: wr_cycle : 4 ticks, 20 ns (was 29 ticks) 20 ns
    [ 1.554504] GPMC CS0: access : 0 ticks, 0 ns (was 23 ticks) 0 ns
    [ 1.561767] GPMC CS0: page_burst_access: 0 ticks, 0 ns (was 3 ticks) 0 ns
    [ 1.569641] GPMC CS0: bus_turnaround: 0 ticks, 0 ns (was 0 ticks) 0 ns
    [ 1.577270] GPMC CS0: cycle2cycle_delay: 0 ticks, 0 ns (was 0 ticks) 0 ns
    [ 1.585144] GPMC CS0: wait_monitoring: 0 ticks, 0 ns (was 0 ticks) 0 ns
    [ 1.592834] GPMC CS0: clk_activation: 0 ticks, 0 ns (was 0 ticks) 0 ns
    [ 1.600463] GPMC CS0: wr_data_mux_bus: 5 ticks, 25 ns (was 8 ticks) 25 ns
    [ 1.608154] GPMC CS0: wr_access : 0 ticks, 0 ns (was 23 ticks) 0 ns
    [ 1.615386] GPMC CS0 CLK period is 5 ns (div 1)
    [ 1.625122] Unhandled fault: external abort on non-linefetch (0x1008) at 0xf009e442
    [ 1.633178] Internal error: : 1008 [#1] ARM
    [ 1.637573] Modules linked in:
    [ 1.640777] CPU: 0 PID: 1 Comm: swapper Not tainted 3.12.0-rc1-n9xx-los.git-5318619-00006-g4baa700-dirty #26
    [ 1.651123] task: ef04c000 ti: ef050000 task.ti: ef050000
    [ 1.656799] PC is at gpmc_onenand_setup+0x98/0x1e0
    [ 1.661865] LR is at gpmc_cs_set_timings+0x494/0x5a4
    [ 1.667083] pc : [] lr : [] psr: 60000113
    [ 1.667083] sp : ef051d10 ip : ef051ce0 fp : ef051d94
    [ 1.679138] r10: c0caaf60 r9 : ef050000 r8 : ef18b32c
    [ 1.684631] r7 : f0080000 r6 : c0caaf60 r5 : 00000000 r4 : f009e400
    [ 1.691497] r3 : f009e442 r2 : 80050000 r1 : 00000014 r0 : 00000000
    [ 1.698333] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
    [ 1.706024] Control: 10c5387d Table: af290019 DAC: 00000015
    [ 1.712066] Process swapper (pid: 1, stack limit = 0xef050240)
    [ 1.718200] Stack: (0xef051d10 to 0xef052000)
    [ 1.722778] 1d00: 00004000 00001402 00000000 00000005
    [ 1.731384] 1d20: 00000047 00000000 0000000f 0000000f 00000000 00000028 0000000f 00000005
    [ 1.739990] 1d40: 00000000 00000000 00000014 00000014 00000000 00000000 00000000 00000000
    [ 1.748596] 1d60: 00000000 00000019 00000000 00000000 ef18b000 ef099c50 c0c8cb30 00000000
    [ 1.757171] 1d80: c0488074 c048f868 ef051dcc ef051d98 c024447c c002dfb4 00000000 c048f868
    [ 1.765777] 1da0: 00000000 00000000 c010e4a4 c0dbbb7c c0c8cb40 00000000 c0ca2500 c0488074
    [ 1.774383] 1dc0: ef051ddc ef051dd0 c01fd508 c0244370 ef051dfc ef051de0 c01fc204 c01fd4f4
    [ 1.782989] 1de0: c0c8cb40 c0ca2500 c0c8cb74 00000000 ef051e1c ef051e00 c01fc3b0 c01fc104
    [ 1.791595] 1e00: ef0983bc 00000000 c0ca2500 c01fc31c ef051e44 ef051e20 c01fa794 c01fc328
    [ 1.800201] 1e20: ef03634c ef0983b0 ef27d534 c0ca2500 ef27d500 c0c9a2f8 ef051e54 ef051e48
    [ 1.808807] 1e40: c01fbcfc c01fa744 ef051e84 ef051e58 c01fb838 c01fbce4 c0411df8 c0caa040
    [ 1.817413] 1e60: ef051e84 c0ca2500 00000006 c0caa040 00000066 c0488074 ef051e9c ef051e88
    [ 1.825988] 1e80: c01fca30 c01fb768 c04975b8 00000006 ef051eac ef051ea0 c01fd728 c01fc9bc
    [ 1.834594] 1ea0: ef051ebc ef051eb0 c048808c c01fd6e4 ef051f4c ef051ec0 c0008888 c0488080
    [ 1.843200] 1ec0: 0000006f c046bae8 00000000 00000000 ef051efc ef051ee0 ef051f04 ef051ee8
    [ 1.851806] 1ee0: c046d400 c0181218 c046d410 c18da8d5 c036a8e4 00000066 ef051f4c ef051f08
    [ 1.860412] 1f00: c004b9a8 c046d41c c048f840 00000006 00000006 c046b488 00000000 c043ec08
    [ 1.869018] 1f20: ef051f4c c04975b8 00000006 c0caa040 00000066 c046d410 c048f85c c048f868
    [ 1.877593] 1f40: ef051f94 ef051f50 c046db8c c00087a0 00000006 00000006 c046d410 ffffffff
    [ 1.886199] 1f60: ffffffff ffffffff ffffffff 00000000 c0348fd0 00000000 00000000 00000000
    [ 1.894805] 1f80: 00000000 00000000 ef051fac ef051f98 c0348fe0 c046daa8 00000000 00000000
    [ 1.903411] 1fa0: 00000000 ef051fb0 c000e7f8 c0348fdc 00000000 00000000 00000000 00000000
    [ 1.912017] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 1.920623] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffffffff ffffffff
    [ 1.929199] Backtrace:
    [ 1.931793] [] (gpmc_onenand_setup+0x0/0x1e0) from [] (omap2_onenand_probe+0x118/0x49c)
    [ 1.942047] [] (omap2_onenand_probe+0x0/0x49c) from [] (platform_drv_probe+0x20/0x24)
    [ 1.952117] r8:c0488074 r7:c0ca2500 r6:00000000 r5:c0c8cb40 r4:c0dbbb7c
    [ 1.959197] [] (platform_drv_probe+0x0/0x24) from [] (driver_probe_device+0x10c/0x224)
    [ 1.969360] [] (driver_probe_device+0x0/0x224) from [] (__driver_attach+0x94/0x98)
    [ 1.979125] r7:00000000 r6:c0c8cb74 r5:c0ca2500 r4:c0c8cb40
    [ 1.985107] [] (__driver_attach+0x0/0x98) from [] (bus_for_each_dev+0x5c/0x90)
    [ 1.994506] r6:c01fc31c r5:c0ca2500 r4:00000000 r3:ef0983bc
    [ 2.000488] [] (bus_for_each_dev+0x0/0x90) from [] (driver_attach+0x24/0x28)
    [ 2.009735] r6:c0c9a2f8 r5:ef27d500 r4:c0ca2500
    [ 2.014587] [] (driver_attach+0x0/0x28) from [] (bus_add_driver+0xdc/0x260)
    [ 2.023742] [] (bus_add_driver+0x0/0x260) from [] (driver_register+0x80/0xfc)
    [ 2.033081] r8:c0488074 r7:00000066 r6:c0caa040 r5:00000006 r4:c0ca2500
    [ 2.040161] [] (driver_register+0x0/0xfc) from [] (__platform_driver_register+0x50/0x64)
    [ 2.050476] r5:00000006 r4:c04975b8
    [ 2.054260] [] (__platform_driver_register+0x0/0x64) from [] (omap2_onenand_driver_init+0x18/0x20)
    [ 2.065490] [] (omap2_onenand_driver_init+0x0/0x20) from [] (do_one_initcall+0xf4/0x150)
    [ 2.075836] [] (do_one_initcall+0x0/0x150) from [] (kernel_init_freeable+0xf0/0x1b4)
    [ 2.085815] [] (kernel_init_freeable+0x0/0x1b4) from [] (kernel_init+0x10/0xec)
    [ 2.095336] [] (kernel_init+0x0/0xec) from [] (ret_from_fork+0x14/0x3c)
    [ 2.104125] r4:00000000 r3:00000000
    [ 2.107879] Code: ebffc3ae e2505000 ba00002e e2843042 (e1d320b0)
    [ 2.114318] ---[ end trace b8ee3e3e5e002451 ]---

    Signed-off-by: Aaro Koskinen
    Signed-off-by: Tony Lindgren

    Aaro Koskinen
     

03 Oct, 2013

1 commit