Git Product home page Git Product logo

openbmc / linux Goto Github PK

View Code? Open in Web Editor NEW

This project forked from torvalds/linux

47.0 45.0 132.0 4.94 GB

OpenBMC Linux kernel source tree

License: Other

Makefile 0.20% C 98.28% Assembly 0.79% C++ 0.02% Shell 0.37% Perl 0.10% Awk 0.01% Python 0.19% Yacc 0.01% Lex 0.01% UnrealScript 0.01% Roff 0.02% sed 0.01% Gherkin 0.01% XS 0.01% Clojure 0.01% M4 0.01% SmPL 0.01% Raku 0.01% MATLAB 0.01%
openbmc linux arm aspeed

linux's Introduction

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.

linux's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linux's Issues

unlink_anon_vmas: Unable to handle kernel paging request at virtual address 12005452

Same kernel/qemu configuration as #101, but with a different backtrace:

Unable to handle kernel paging request at virtual address 12005452
pgd = c0004000
[12005452] *pgd=00000000
Internal error: Oops: 5 [#1] ARM
Modules linked in:
CPU: 0 PID: 614 Comm: syslogd Not tainted 4.7.1-00053-g6d93f625315a #581
Hardware name: ASpeed SoC
task: de7d20a0 ti: c8f7a000 task.ti: c8f7a000
PC is at unlink_anon_vmas+0xd0/0x198
LR is at 0xc8f70700
pc : [<c019f1f4>]    lr : [<c8f70700>]    psr: 60000013
sp : c8f7bda0  ip : 00000000  fp : 00000001
r10: c0720f79  r9 : c8f68bb0  r8 : c8c838c0
r7 : c8c838c0  r6 : c8f68bec  r5 : 1200544a  r4 : c8f70700
r3 : 00000001  r2 : c8c838c0  r1 : c8c8390c  r0 : 00000000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 00093177  Table: 48f8c000  DAC: 00000051
Process syslogd (pid: 614, stack limit = 0xc8f7a190)
Stack: (0xc8f7bda0 to 0xc8f7c000)
bda0: c8f68bb0 20000013 c8f72e00 c8f68bb0 c8f6e738 c8f7bdfc 00002000 00000000
bdc0: b6f69000 c8f68bb0 c8da67c0 c01949f4 b6f69000 c8f688f0 c8f688f0 c8f72e00
bde0: c0702028 c8f7be74 00000000 c8f72e54 c8d7bc80 c019addc de7d20a0 c8f72e00
be00: 00000001 00000000 00000000 ffffffff 00000000 00000000 0000019a 00000400
be20: dbcc3000 00000000 00000000 60000013 de7d2428 de7d20c0 c8da67c0 de7d23c4
be40: c8f72e00 8a043988 c8f72e00 00000000 de7d23c4 c010cf94 de7d20a0 c8f72e00
be60: de7d23c4 c01103ec 0000000f de7d2420 de7d20a0 00000004 c8d7bc80 8a043988
be80: 0000000f ffffe000 c8da67c0 c01118f8 00000009 c8f7a000 00418004 c8f7bee4
bea0: c8da6cc4 c011a9cc de7d20a0 60000013 de7d2428 de7d20c0 20000013 00000000
bec0: 4809d5d4 c8f7bfb0 c0702028 00000000 4809d5d8 00000000 000ab97c c01048c8
bee0: 00000000 00000000 c0119b14 60000093 00000001 c0702028 00000009 00000000
bf00: 00000000 00000000 00000000 0000000f 00000000 fffffffa 00000266 00000000
bf20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bf40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bf60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 8a043988
bf80: c01025a4 c8f7a000 c8f7bfb0 0000010c c01025a4 c8f7a000 00000000 c0104d74
bfa0: 0000000f 00cdc008 0000003d c0102450 00000000 00000266 0000000f 00000000
bfc0: 0000000f 00cdc008 0000003d 0000010c 00cdc164 0000003d 00cdc264 000ab97c
bfe0: 000a911c bee2dc58 4809d5b0 4809d5d8 60000010 00000266 e7fddef0 e7fddef0
[<c019f1f4>] (unlink_anon_vmas) from [<c01949f4>] (free_pgtables+0x2c/0x98)
[<c01949f4>] (free_pgtables) from [<c019addc>] (exit_mmap+0xe8/0x200)
[<c019addc>] (exit_mmap) from [<c010cf94>] (mmput+0x30/0xc4)
[<c010cf94>] (mmput) from [<c01103ec>] (do_exit+0x34c/0x848)
[<c01103ec>] (do_exit) from [<c01118f8>] (do_group_exit+0x48/0xbc)
[<c011a9cc>] (get_signal) from [<c01048c8>] (do_signal+0x98/0x3dc)
[<c01048c8>] (do_signal) from [<c0104d74>] (do_work_pending+0x5c/0xc0)
[<c0104d74>] (do_work_pending) from [<c0102450>] (slow_work_pending+0xc/0x20)
Code: e5843008 e3a03c02 e584300c ebfffb7e (e5952008) 
---[ end trace 6acdac20fd3b07ef ]---
Fixing recursive fault but reboot is needed!

ftgmac100 leaking on 4.7

Observed on the ast2500-evb:

# [  661.740000] kmemleak: 4 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
# mount -t debugfs debugfs /sys/kernel/debug
# cat /sys/kernel/debug/kmemleak
unreferenced object 0xdb2e9040 (size 32):
  comm "swapper", pid 1, jiffies 4294937405 (age 740.970s)
  hex dump (first 32 bytes):
    66 74 67 6d 61 63 31 30 30 5f 6d 69 69 00 8f e0  ftgmac100_mii...
    02 a0 93 e7 02 71 c1 e3 00 30 9a e5 f9 05 57 e3  .....q...0....W.
  backtrace:
    [<c0091e90>] kstrdup+0x30/0x58
    [<c01506d8>] kobject_set_name_vargs+0x2c/0xa0
    [<c018fc54>] dev_set_name+0x28/0x50
    [<c01b8b68>] __mdiobus_register+0x7c/0x194
    [<c01ba8fc>] ftgmac100_probe+0x360/0x540
    [<c0195e54>] platform_drv_probe+0x50/0xa0
    [<c0194284>] driver_probe_device+0x1c0/0x408
    [<c019459c>] __driver_attach+0xd0/0x110
    [<c0192548>] bus_for_each_dev+0x78/0xb4
    [<c01936a0>] bus_add_driver+0x110/0x23c
    [<c0194eac>] driver_register+0x9c/0xe0
    [<c0009818>] do_one_initcall+0xb4/0x178
    [<c0393db4>] kernel_init_freeable+0x100/0x1bc
    [<c0291450>] kernel_init+0x8/0xec
    [<c000a298>] ret_from_fork+0x14/0x3c
    [<ffffffff>] 0xffffffff
unreferenced object 0xdf560300 (size 128):
  comm "swapper", pid 1, jiffies 4294937405 (age 740.970s)
  hex dump (first 32 bytes):
    01 00 00 00 ad 4e ad de ff ff ff ff ff ff ff ff  .....N..........
    a8 70 a5 c0 00 00 00 00 00 00 00 00 3c b3 35 c0  .p..........<.5.
  backtrace:
    [<c0191264>] device_private_init+0x18/0x64
    [<c0191308>] device_add+0x58/0x554
    [<c01b8b70>] __mdiobus_register+0x84/0x194
    [<c01ba8fc>] ftgmac100_probe+0x360/0x540
    [<c0195e54>] platform_drv_probe+0x50/0xa0
    [<c0194284>] driver_probe_device+0x1c0/0x408
    [<c019459c>] __driver_attach+0xd0/0x110
    [<c0192548>] bus_for_each_dev+0x78/0xb4
    [<c01936a0>] bus_add_driver+0x110/0x23c
    [<c0194eac>] driver_register+0x9c/0xe0
    [<c0009818>] do_one_initcall+0xb4/0x178
    [<c0393db4>] kernel_init_freeable+0x100/0x1bc
    [<c0291450>] kernel_init+0x8/0xec
    [<c000a298>] ret_from_fork+0x14/0x3c
    [<ffffffff>] 0xffffffff
unreferenced object 0xdb2e9e20 (size 32):
  comm "swapper", pid 1, jiffies 4294937405 (age 740.970s)
  hex dump (first 32 bytes):
    66 74 67 6d 61 63 31 30 30 5f 6d 69 69 00 00 eb  ftgmac100_mii...
    24 00 00 ea 00 20 a0 e3 e0 30 9f e5 d0 00 cd e1  $.... ...0......
  backtrace:
    [<c0091e90>] kstrdup+0x30/0x58
    [<c01506d8>] kobject_set_name_vargs+0x2c/0xa0
    [<c018fc54>] dev_set_name+0x28/0x50
    [<c01b8b68>] __mdiobus_register+0x7c/0x194
    [<c01ba8fc>] ftgmac100_probe+0x360/0x540
    [<c0195e54>] platform_drv_probe+0x50/0xa0
    [<c0194284>] driver_probe_device+0x1c0/0x408
    [<c019459c>] __driver_attach+0xd0/0x110
    [<c0192548>] bus_for_each_dev+0x78/0xb4
    [<c01936a0>] bus_add_driver+0x110/0x23c
    [<c0194eac>] driver_register+0x9c/0xe0
    [<c0009818>] do_one_initcall+0xb4/0x178
    [<c0393db4>] kernel_init_freeable+0x100/0x1bc
    [<c0291450>] kernel_init+0x8/0xec
    [<c000a298>] ret_from_fork+0x14/0x3c
    [<ffffffff>] 0xffffffff
unreferenced object 0xdf560480 (size 128):
  comm "swapper", pid 1, jiffies 4294937405 (age 740.970s)
  hex dump (first 32 bytes):
    01 00 00 00 ad 4e ad de ff ff ff ff ff ff ff ff  .....N..........
    a8 70 a5 c0 00 00 00 00 00 00 00 00 3c b3 35 c0  .p..........<.5.
  backtrace:
    [<c0191264>] device_private_init+0x18/0x64
    [<c0191308>] device_add+0x58/0x554
    [<c01b8b70>] __mdiobus_register+0x84/0x194
    [<c01ba8fc>] ftgmac100_probe+0x360/0x540
    [<c0195e54>] platform_drv_probe+0x50/0xa0
    [<c0194284>] driver_probe_device+0x1c0/0x408
    [<c019459c>] __driver_attach+0xd0/0x110
    [<c0192548>] bus_for_each_dev+0x78/0xb4
    [<c01936a0>] bus_add_driver+0x110/0x23c
    [<c0194eac>] driver_register+0x9c/0xe0
    [<c0009818>] do_one_initcall+0xb4/0x178
    [<c0393db4>] kernel_init_freeable+0x100/0x1bc
    [<c0291450>] kernel_init+0x8/0xec
    [<c000a298>] ret_from_fork+0x14/0x3c
    [<ffffffff>] 0xffffffff

Provide a multiplatform kernel for ast & qemu

Would be nice to use a single build & source tree for hardware and qemu.

If we don't have a suitable qemu model available, a single source tree (but separate build) would be ok.

ncsi deadlock detection

ncsi deadlock detection

=================================
[ INFO: inconsistent lock state ]
4.3.6 #1 Not tainted
---------------------------------
inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage.
ip/934 [HC0[0]:SC0[0]:HE1:SE1] takes:
 (&(&ndp->ndp_package_lock)->rlock){+.?...}, at: [<c03b0c9c>] ncsi_stop_dev+0x14/0x50
{IN-SOFTIRQ-W} state was registered at:
  [<c03bbdf8>] _raw_spin_lock+0x28/0x38
  [<c03b08b0>] ncsi_add_package+0x64/0xf0
  [<c03af978>] ncsi_rsp_handler_sp+0x80/0xe0
  [<c03afb4c>] ncsi_rcv_rsp+0xd4/0x104
  [<c0308204>] __netif_receive_skb_core+0x6c4/0x808
  [<c0309d8c>] netif_receive_skb_internal+0xb4/0x138
  [<c030a664>] napi_gro_receive+0x48/0x9c
  [<c026d784>] ftgmac100_poll+0x360/0x59c
  [<c030ad48>] net_rx_action+0xe8/0x2a0
  [<c001a524>] __do_softirq+0x108/0x26c
  [<c001a728>] do_softirq+0x48/0x70
  [<c001a818>] __local_bh_enable_ip+0xc8/0x104
  [<c030d120>] __dev_queue_xmit+0x654/0x6c4
  [<c03ae648>] ncsi_xmit_cmd+0x1d4/0x208
  [<c03b01e0>] ncsi_dev_start+0xd0/0x3c0
  [<c03b0c44>] ncsi_dev_work+0x1b8/0x1fc
  [<c002c7a4>] process_one_work+0x228/0x3cc
  [<c002d5e0>] worker_thread+0x2a4/0x3d8
  [<c0031ba0>] kthread+0xc4/0xd8
  [<c000a3ac>] ret_from_fork+0x14/0x28
irq event stamp: 2009
hardirqs last  enabled at (2009): [<c001a834>] __local_bh_enable_ip+0xe4/0x104
hardirqs last disabled at (2007): [<c001a7b4>] __local_bh_enable_ip+0x64/0x104
softirqs last  enabled at (2008): [<c0326a44>] dev_deactivate_many+0x270/0x2ac
softirqs last disabled at (2006): [<c0326a28>] dev_deactivate_many+0x254/0x2ac

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&(&ndp->ndp_package_lock)->rlock);
  <Interrupt>
    lock(&(&ndp->ndp_package_lock)->rlock);

 *** DEADLOCK ***

1 lock held by ip/934:
 #0:  (rtnl_mutex){+.+.+.}, at: [<c036d0c8>] devinet_ioctl+0x15c/0x6c8

stack backtrace:
CPU: 0 PID: 934 Comm: ip Not tainted 4.3.6 #1
Hardware name: ASpeed SoC
[<c000fa2c>] (unwind_backtrace) from [<c000d5fc>] (show_stack+0x10/0x14)
[<c000d5fc>] (show_stack) from [<c0072a88>] (print_usage_bug.part.11+0x220/0x288)
[<c0072a88>] (print_usage_bug.part.11) from [<c0040394>] (mark_lock+0x400/0x678)
[<c0040394>] (mark_lock) from [<c004293c>] (__lock_acquire+0xa0c/0x1a9c)
[<c004293c>] (__lock_acquire) from [<c0043dc4>] (lock_acquire+0x9c/0xbc)
[<c0043dc4>] (lock_acquire) from [<c03bbdf8>] (_raw_spin_lock+0x28/0x38)
[<c03bbdf8>] (_raw_spin_lock) from [<c03b0c9c>] (ncsi_stop_dev+0x14/0x50)
[<c03b0c9c>] (ncsi_stop_dev) from [<c026cfa0>] (ftgmac100_stop+0x1c/0x28)
[<c026cfa0>] (ftgmac100_stop) from [<c0306cb0>] (__dev_close_many+0xa0/0xc8)
[<c0306cb0>] (__dev_close_many) from [<c0306dc8>] (__dev_close+0x20/0x34)
[<c0306dc8>] (__dev_close) from [<c030da50>] (__dev_change_flags+0x8c/0x138)
[<c030da50>] (__dev_change_flags) from [<c030db14>] (dev_change_flags+0x18/0x48)
[<c030db14>] (dev_change_flags) from [<c036d298>] (devinet_ioctl+0x32c/0x6c8)
[<c036d298>] (devinet_ioctl) from [<c02f42b0>] (sock_ioctl+0x26c/0x2d0)
[<c02f42b0>] (sock_ioctl) from [<c00b5804>] (do_vfs_ioctl+0x588/0x67c)
[<c00b5804>] (do_vfs_ioctl) from [<c00b592c>] (SyS_ioctl+0x34/0x5c)
[<c00b592c>] (SyS_ioctl) from [<c000a320>] (ret_fast_syscall+0x0/0x1c)

Kernel is at 908a999 with the following applied so that networking works with CONFIG_LOCKDEP

diff --git a/net/ncsi/ncsi-cmd.c b/net/ncsi/ncsi-cmd.c
index b8503e1..cd496b7 100644
--- a/net/ncsi/ncsi-cmd.c
+++ b/net/ncsi/ncsi-cmd.c
@@ -359,12 +359,6 @@ int ncsi_xmit_cmd(struct ncsi_cmd_arg *nca)
                eh->h_source[i] = 0xff;
        }

-       /* Send NCSI packet */
-       skb_get(nr->nr_cmd);
-       ret = dev_queue_xmit(nr->nr_cmd);
-       if (ret)
-               goto out;
-
        /* Start the timer for the request that might not have
         * corresponding response. I'm not sure 1 second delay
         * here is enough. Anyway, NCSI is internal network, so
@@ -373,6 +367,12 @@ int ncsi_xmit_cmd(struct ncsi_cmd_arg *nca)
        nr->nr_timer_enabled = true;
        mod_timer(&nr->nr_timer, jiffies + 1 * HZ);

+       /* Send NCSI packet */
+       skb_get(nr->nr_cmd);
+       ret = dev_queue_xmit(nr->nr_cmd);
+       if (ret)
+               goto out;
+
        return 0;
 out:
        ncsi_free_req(nr, false, false);

Fix might be as simple as:

    spin_lock(&ndp->ndp_package_lock); -> spin_lock_irqsave(...);
    list_for_each_entry_safe(np, tmp, &ndp->ndp_packages, np_node)
        ncsi_release_package(np);
    spin_unlock(&ndp->ndp_package_lock); -> spin_lock_irqrestore(...);

but I'll check with Gavin.

Add CI for kernel tree

Now that we have a Qemu model of the ast2400 and ast2500 we should do builds and boot test on openpower.xyz

JFFS2 corruption that results in kernel panic

While doing power cycling to debug another issue, the rwfs got corrupted and we had to netboot to recover: No files were created in overlay since first initial flash of this system.

Linux version 4.3.6-openbmc-20160222-1 (njames@bakerstreet) (gcc version 4.9.3 (GCC) ) #1 Tue Feb 23 09:45:18 CST 2016
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
CPU: VIVT data cache, VIVT instruction cache
Machine model: Barrelye BMC
Memory policy: Data cache writeback
SOC Rev: 02010303
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: console=ttyS4,38400n8 root=/dev/ram rw
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 252760K/262144K available (3634K kernel code, 174K rwdata, 1288K rodata, 180K init, 109K bss, 9384K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
    lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc04d6de8   (4924 kB)
      .init : 0xc04d7000 - 0xc0504000   ( 180 kB)
      .data : 0xc0504000 - 0xc052faa8   ( 175 kB)
       .bss : 0xc052faa8 - 0xc054aebc   ( 110 kB)
NR_IRQS:16 nr_irqs:16 16
Aspeed VIC Initiallized
clocksource: moxart_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 39817925974 ns
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
Calibrating delay loop... 190.87 BogoMIPS (lpj=954368)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x40008400 - 0x40008458
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
clocksource: Switched to clocksource moxart_timer
NET: Registered protocol family 2
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 1636K (c0800000 - c0999000)
futex hash table entries: 256 (order: -1, 3072 bytes)
squashfs: version 4.0 (2009/01/31) Phillip Lougher
jffs2: version 2.2. (NAND) (SUMMARY)  ยฉ 2001-2006 Red Hat, Inc.
io scheduler noop registered (default)
Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
1e783000.serial: ttyS0 at MMIO 0x1e783000 (irq = 23, base_baud = 115200) is a 16550A
1e78d000.serial: ttyS1 at MMIO 0x1e78d000 (irq = 24, base_baud = 115200) is a 16550A
1e78e000.serial: ttyS2 at MMIO 0x1e78e000 (irq = 25, base_baud = 115200) is a 16550A
1e78f000.serial: ttyS3 at MMIO 0x1e78f000 (irq = 26, base_baud = 115200) is a 16550A
console [ttyS4] disabled
1e784000.serial: ttyS4 at MMIO 0x1e784000 (irq = 27, base_baud = 115200) is a 16550A
console [ttyS4] enabled
1e787000.vuart: ttyS5 at MMIO 0x1e787000 (irq = 18, base_baud = 115200) is a 16550A
brd: module loaded
loop: module loaded
bt-host 1e789140.ibt: Found bt host device
bt-host 1e789140.ibt: Using IRQ 18
platform 1e620000.fmc:flash@0: w25q256 (32768 Kbytes)
6 ofpart partitions found on MTD device bmc
Creating 6 MTD partitions on "bmc":
0x000000000000-0x000000060000 : "u-boot"
0x000000060000-0x000000080000 : "u-boot-env"
0x000000080000-0x000000300000 : "kernel"
0x000000300000-0x0000004c0000 : "initramfs"
0x0000004c0000-0x000001c00000 : "rofs"
0x000001c00000-0x000002000000 : "rwfs"
platform 1e630000.spi:flash: n25q512ax3 (65536 Kbytes)
ftgmac100 1e660000.ethernet: Using NCSI interface
ftgmac100 1e660000.ethernet: Read MAC address from chip 52:a6:f6:0e:6c:a6
ftmac100: Loading version 0.2 ...
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
i2c_aspeed 1e78a000.i2c: i2c controller registered, irq 19
at24 0-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
rtc-ds1307 0-0068: rtc core: registered ds3231 as rtc0
i2c_aspeed i2c-0: i2c bus 0 registered, irq 220
i2c_aspeed i2c-1: i2c bus 1 registered, irq 221
i2c_aspeed i2c-2: i2c bus 2 registered, irq 222
i2c_aspeed i2c-3: i2c bus 3 registered, irq 223
i2c_aspeed i2c-4: i2c bus 4 registered, irq 224
i2c_aspeed i2c-5: i2c bus 5 registered, irq 225
at24 6-0051: 256 byte 24c02 EEPROM, writable, 8 bytes/write
at24 6-0055: 256 byte 24c02 EEPROM, writable, 8 bytes/write
i2c_aspeed i2c-6: i2c bus 6 registered, irq 226
i2c_aspeed i2c-7: i2c bus 7 registered, irq 227
i2c_aspeed i2c-8: i2c bus 8 registered, irq 228
lm75 0-004a: hwmon0: sensor 'lm75'
occ-i2c 3-0050: occ i2c driver ready: i2c addr@0x50
occ-i2c 3-0051: occ i2c driver ready: i2c addr@0x51
aspeed_wdt 1e785000.wdt: rate 48000000, max timeout 5, timeout 5
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 17
rtc-ds1307 0-0068: setting system clock to 2000-08-20 03:12:47 UTC (966741167)
Freeing unused kernel memory: 180K (c04d7000 - c0504000)
rofs = mtd5 squashfs rwfs = mtd6 jffs2
jffs2: error: (486) jffs2_build_inode_pass1: child dir "lib" (ino #30) of dir ino #29 appears to be a hard link
jffs2: notice: (486) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
jffs2: warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #30.
jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #30
jffs2: iget() failed for ino #30
jffs2: warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #30.
jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #30
jffs2: iget() failed for ino #30
jffs2: warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #30.
jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #30
jffs2: iget() failed for ino #30
jffs2: warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #30.
jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #30
jffs2: iget() failed for ino #30
jffs2: warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #30.
jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #30
jffs2: iget() failed for ino #30
jffs2: warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #30.
jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #30
jffs2: iget() failed for ino #30
jffs2: warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #30.
jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #30
jffs2: iget() failed for ino #30
jffs2: warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #30.
jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #30
jffs2: iget() failed for ino #30
jffs2: warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #30.
jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #30
jffs2: iget() failed for ino #30
/sbin/init: error while loading shared libraries: libkmod.so.2: cannot open shared object file: Input/output error
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00

---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00

Clean up power8 occ hwmon driver

CC      drivers/hwmon/power8_occ_i2c.o
drivers/hwmon/power8_occ_i2c.c: In function 'get_occdata_length':
drivers/hwmon/power8_occ_i2c.c:351:22: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
  return be16_to_cpup(&data[RESP_DATA_LENGTH]);
                      ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c: In function 'parse_occ_response':
drivers/hwmon/power8_occ_i2c.c:424:40: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
     f_sensor->sensor_id = be16_to_cpup(&data[dnum]);
                                        ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:425:36: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
     f_sensor->value = be16_to_cpup(&data[dnum+2]);
                                    ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:441:40: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
     t_sensor->sensor_id = be16_to_cpup(&data[dnum]);
                                        ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:442:36: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
     t_sensor->value = be16_to_cpup(&data[dnum+2]);
                                    ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:458:40: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
     p_sensor->sensor_id = be16_to_cpup(&data[dnum]);
                                        ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:460:19: warning: passing argument 1 of '__be32_to_cpup' from incompatible pointer type
      be32_to_cpup(&data[dnum+2]);
                   ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:79:21: note: expected 'const __be32 *' but argument is of type 'uint8_t *'
 static inline __u32 __be32_to_cpup(const __be32 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:462:19: warning: passing argument 1 of '__be32_to_cpup' from incompatible pointer type
      be32_to_cpup(&data[dnum+6]);
                   ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:79:21: note: expected 'const __be32 *' but argument is of type 'uint8_t *'
 static inline __u32 __be32_to_cpup(const __be32 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:463:36: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
     p_sensor->value = be16_to_cpup(&data[dnum+10]);
                                    ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:482:19: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
      be16_to_cpup(&data[dnum]);
                   ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:484:19: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
      be16_to_cpup(&data[dnum+2]);
                   ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:486:19: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
      be16_to_cpup(&data[dnum+4]);
                   ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:488:19: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
      be16_to_cpup(&data[dnum+6]);
                   ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:490:19: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
      be16_to_cpup(&data[dnum+8]);
                   ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
drivers/hwmon/power8_occ_i2c.c:492:19: warning: passing argument 1 of '__be16_to_cpup' from incompatible pointer type
      be16_to_cpup(&data[dnum+10]);
                   ^
In file included from include/linux/byteorder/little_endian.h:4:0,
                 from ./arch/arm/include/uapi/asm/byteorder.h:21,
                 from include/asm-generic/bitops/le.h:5,
                 from ./arch/arm/include/asm/bitops.h:340,
                 from include/linux/bitops.h:36,
                 from include/linux/kernel.h:10,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
include/uapi/linux/byteorder/little_endian.h:87:21: note: expected 'const __be16 *' but argument is of type 'uint8_t *'
 static inline __u16 __be16_to_cpup(const __be16 *p)
                     ^
In file included from include/linux/printk.h:277:0,
                 from include/linux/kernel.h:13,
                 from include/linux/list.h:8,
                 from include/linux/module.h:9,
                 from drivers/hwmon/power8_occ_i2c.c:18:
drivers/hwmon/power8_occ_i2c.c: In function 'set_user_powercap':
include/linux/dynamic_debug.h:64:16: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'int' [-Wformat=]
  static struct _ddebug  __aligned(8)   \
                ^
include/linux/dynamic_debug.h:84:2: note: in expansion of macro 'DEFINE_DYNAMIC_DEBUG_METADATA'
  DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);  \
  ^
include/linux/device.h:1171:2: note: in expansion of macro 'dynamic_dev_dbg'
  dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \
  ^
drivers/hwmon/power8_occ_i2c.c:1141:2: note: in expansion of macro 'dev_dbg'
  dev_dbg(dev, "set user powercap to: %lu\n", val);
  ^
drivers/hwmon/power8_occ_i2c.c:1142:41: warning: passing argument 5 of 'occ_send_cmd' from incompatible pointer type
  err = occ_send_cmd(client, 0, 0x22, 2, &val, resp);
                                         ^
drivers/hwmon/power8_occ_i2c.c:535:16: note: expected 'uint8_t *' but argument is of type 'uint16_t *'
 static uint8_t occ_send_cmd(struct i2c_client *client, uint8_t seq,
                ^
drivers/hwmon/power8_occ_i2c.c:1133:11: warning: unused variable 'powercap' [-Wunused-variable]
  uint32_t powercap;
           ^

at24 eeprom isn't working

Looks like we get NAKs from the device:

root@palmetto:/sys/bus/i2c/devices/0-0050# hexdump -C eeprom 
hexdump: eeprom: Connection timed out
root@palmetto:/sys/bus/i2c/devices/0-0050# dmesg -c
i2c_aspeed 1e78a000.i2c: state[0], SCL[1], SDA[1], BUS[0]
i2c_aspeed 1e78a000.i2c: ast_i2c_do_byte_xfer 
i2c_aspeed 1e78a000.i2c: M cnt -1, xf len 2 
i2c_aspeed 1e78a000.i2c:  writeing 2 bytes to 0x50
i2c_aspeed 1e78a000.i2c: M clear isr: AST_I2CD_INTR_STS_TX_NAK = 2
i2c_aspeed 1e78a000.i2c: NAK error
i2c_aspeed 1e78a000.i2c: send stop 
i2c_aspeed 1e78a000.i2c: M clear isr: AST_I2CD_INTR_STS_NORMAL_STOP = 10
i2c_aspeed 1e78a000.i2c: end xfer ret = -11, xfer mode[0]
at24 0-0050: read 128@0 --> -121 (147715)
i2c_aspeed 1e78a000.i2c: state[0], SCL[1], SDA[1], BUS[0]
i2c_aspeed 1e78a000.i2c: ast_i2c_do_byte_xfer 
i2c_aspeed 1e78a000.i2c: M cnt -1, xf len 2 
i2c_aspeed 1e78a000.i2c:  writeing 2 bytes to 0x50
i2c_aspeed 1e78a000.i2c: M clear isr: AST_I2CD_INTR_STS_TX_NAK = 2
i2c_aspeed 1e78a000.i2c: NAK error
i2c_aspeed 1e78a000.i2c: send stop 
i2c_aspeed 1e78a000.i2c: M clear isr: AST_I2CD_INTR_STS_NORMAL_STOP = 10
i2c_aspeed 1e78a000.i2c: end xfer ret = -11, xfer mode[0]
at24 0-0050: read 128@0 --> -121 (147717)
i2c_aspeed 1e78a000.i2c: state[0], SCL[1], SDA[1], BUS[0]
i2c_aspeed 1e78a000.i2c: ast_i2c_do_byte_xfer 
i2c_aspeed 1e78a000.i2c: M cnt -1, xf len 2 
i2c_aspeed 1e78a000.i2c:  writeing 2 bytes to 0x50
i2c_aspeed 1e78a000.i2c: M clear isr: AST_I2CD_INTR_STS_TX_NAK = 2
i2c_aspeed 1e78a000.i2c: NAK error
i2c_aspeed 1e78a000.i2c: send stop 
i2c_aspeed 1e78a000.i2c: M clear isr: AST_I2CD_INTR_STS_NORMAL_STOP = 10
i2c_aspeed 1e78a000.i2c: end xfer ret = -11, xfer mode[0]
at24 0-0050: read 128@0 --> -121 (147719)

Dynamic debugging config:

$ echo 'module i2c_aspeed +p' > /sys/kernel/debug/dynamic_debug/control
$ echo 'func at24_eeprom_read +p' > /sys/kernel/debug/dynamic_debug/control

Kernel OOPS at boot and shutdown

Reported by Doug:

There are some problems getting to boot successfully, and I copied some console
data to the attached file. 2 out of 6 boot attempts made it to the login prompt, and
power was cycled between each attempt.

[  OK  ] Started Create Volatile Files and Directories.
[  OK  ] Started udev Kernel Device Manager.
         Starting Network Time Synchronization...
         Starting Update UTMP about System Boot/Shutdown...
Unable to handle kernel paging request at virtual address ffffffff
pgd = cfb20000
[ffffffff] *pgd=4fffd871, *pte=00000000, *ppte=00000000
Internal error: Oops: 1 [#1] ARM
Modules linked in:
CPU: 0 PID: 512 Comm: kworker/0:2 Not tainted 4.3.5-openbmc-20160212-1 #1
Hardware name: ASpeed SoC
Workqueue: events cache_reap
task: cfa3ac00 ti: ce444000 task.ti: ce444000
PC is at drain_array+0x18/0xec
LR is at cache_reap+0x54/0x114
pc : [<c0087d8c>]    lr : [<c0088060>]    psr: a0000013
sp : ce445ec8  ip : 00000000  fp : 00000008
r10: c05084d8  r9 : c050b7a0  r8 : c0509f00
r7 : ce445ed0  r6 : c050b51c  r5 : cf9c9400  r4 : ffffffff
r3 : 00000000  r2 : ffffffff  r1 : cf9c9400  r0 : cf856b20
[  OK  ] Started Create Static Device Nodes in /dev.
systemd-journald[522]: Received request to flush runtime journal from PID 1
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /var/volatile...
         Starting udev Kernel Device Manager...
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Mounted /var/volatile.
[  OK  ] Started udev Coldplug all Devices.
[  OK  ] Reached target Local File Systems.
Unable to handle kernel paging request at virtual address ffffffff
pgd = cdcd0000
[ffffffff] *pgd=4fffd871, *pte=00000000, *ppte=00000000
Internal error: Oops: 1 [#1] ARM
Modules linked in:
CPU: 0 PID: 1 Comm: systemd Not tainted 4.3.5-openbmc-20160212-1 #1
Hardware name: ASpeed SoC
task: cf810aa0 ti: cf826000 task.ti: cf826000
PC is at kfree+0x44/0xa8
LR is at remove_proc_subtree+0xc8/0xd4
pc : [<c0088164>]    lr : [<c00d4900>]    psr: 40000093
sp : cf827e90  ip : cf827e98  fp : be969770
r10: cdca12c8  r9 : cdc8e630  r8 : 00000000
r7 : cf800100  r6 : a0000013  r5 : ce45f580  r4 : ffffffff
r3 : cffc1be0  r2 : 00000080  r1 : cfdf9000  r0 : ce45f580
Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 0005317f  Table: 4dcd0000  DAC: 00000051
Process systemd (pid: 1, stack limit = 0xcf826190)
From Shutdown:

+ umount /oldroot/dev/pts
+ umount /oldroot/dev
+ umount /oldroot
------------[ cut here ]------------
Kernel BUG at c005ec10 [verbose debug info unavailable]
Internal error: Oops - BUG: 0 [#1] ARM
Modules linked in:
CPU: 0 PID: 1095 Comm: umount Tainted: G    B           4.3.5-openbmc-20160212-1 #1
Hardware name: ASpeed SoC
task: cf994860 ti: cde32000 task.ti: cde32000
PC is at __delete_from_page_cache+0x204/0x2a8
LR is at __delete_from_page_cache+0x11c/0x2a8
pc : [<c005ec10>]    lr : [<c005eb28>]    psr: 60000093
sp : cde33df0  ip : c0525400  fp : 00000000
r10: 00000001  r9 : cf4852d8  r8 : 00000003
r7 : 00000000  r6 : 00000000  r5 : cf4852d4  r4 : cffadb20
r3 : 00000000  r2 : 000002bc  r1 : c053a334  r0 : 00003602
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 0005317f  Table: 4de14000  DAC: 00000051
Process umount (pid: 1095, stack limit = 0xcde32190)
Stack: (0xcde33df0 to 0xcde34000)
3de0:                                     00000000 0000000a cf48cd40 cf48cd5c
3e00: cde33ea8 cffadb20 00000000 00000013 cf4852d4 00000001 00000000 00000001
3e20: cffadb20 c005ecf0 cffadb20 cf4852d4 00000001 c0069428 00001000 00000000
3e40: 00000000 cffadba0 00000000 00000000 ffffffff 00000000 cf4852d4 c00695cc
3e60: cde33e68 00000000 00000000 00000001 00000002 00000003 00000004 00000005
3e80: 00000006 00000007 00000008 00000009 0000000a 0000000b 0000000c 0000000d
3ea0: 0000000a 00000000 cffadba0 cffadb20 cffadbe0 cffadc00 cffadc20 cffadc40
3ec0: cffadc60 cffadc80 cffadca0 cffadcc0 cffad8c0 cffad8a0 cffad880 cffad860
3ee0: c000a424 ffffffff ffffffff cde32000 cdcf6800 c000a424 cde32000 00000000
3f00: bedaaecc c0069990 ffffffff ffffffff 00000000 cf485218 c037d180 c00a1038
3f20: cde32000 cde33f38 cf7b5a38 c00a1100 cdcf69fc c00a1d3c cf48513c cf7b5abc
3f40: 00000000 cdcf6800 c037d180 c052e62c 00000034 c008e5b0 00000000 cf403b80
3f60: 00000081 c008e810 cdcf6800 c050c548 c052e62c c008e910 ffff0001 cdcb0c20
3f80: cfae387c c00a42ac cf994860 c002a97c c000a424 cde32000 cde33fb0 c000cba8
3fa0: 000bc1a0 000bc290 000bc1c0 c000a2d0 00000000 00000000 00000000 000bc1a0
3fc0: 000bc1a0 000bc290 000bc1c0 00000034 00000000 000bc2c0 00000000 bedaaecc
3fe0: 000aa3a8 bedaacd4 0004ebc4 4f77407c 60000010 000bc1c0 00000000 00000000
[<c005ec10>] (__delete_from_page_cache) from [<c005ecf0>] (delete_from_page_cache+0x3c/0x5c)
[<c005ecf0>] (delete_from_page_cache) from [<c0069428>] (truncate_inode_page+0x98/0xa4)
[<c0069428>] (truncate_inode_page) from [<c00695cc>] (truncate_inode_pages_range+0x168/0x518)
[<c00695cc>] (truncate_inode_pages_range) from [<c0069990>] (truncate_inode_pages+0x14/0x1c)
[<c0069990>] (truncate_inode_pages) from [<c00a1038>] (evict+0x90/0x128)
[<c00a1038>] (evict) from [<c00a1100>] (dispose_list+0x30/0x3c)
[<c00a1100>] (dispose_list) from [<c00a1d3c>] (evict_inodes+0xb4/0xbc)
[<c00a1d3c>] (evict_inodes) from [<c008e5b0>] (generic_shutdown_super+0x40/0xc0)
[<c008e5b0>] (generic_shutdown_super) from [<c008e810>] (kill_block_super+0x18/0x68)
[<c008e810>] (kill_block_super) from [<c008e910>] (deactivate_locked_super+0x44/0x74)
[<c008e910>] (deactivate_locked_super) from [<c00a42ac>] (cleanup_mnt+0x4c/0x70)
[<c00a42ac>] (cleanup_mnt) from [<c002a97c>] (task_work_run+0x6c/0x80)
[<c002a97c>] (task_work_run) from [<c000cba8>] (do_work_pending+0xa4/0xc0)
[<c000cba8>] (do_work_pending) from [<c000a2d0>] (slow_work_pending+0xc/0x20)
Code: e121f002 e594300c e3530000 ba000000 (e7f001f2) 
---[ end trace 85608810d6a88310 ]---
Segmentation fault
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
         Starting Network Time Synchronization...
Unable to handle kernel paging request at virtual address ffffffff
pgd = ce4b0000
[ffffffff] *pgd=4fffd871, *pte=00000000, *ppte=00000000
Internal error: Oops: 1 [#1] ARM
Modules linked in:
CPU: 0 PID: 515 Comm: kworker/0:2 Not tainted 4.3.5-openbmc-20160212-1 #1
Hardware name: ASpeed SoC
Workqueue: events cache_reap
task: cf99f1e0 ti: ce462000 task.ti: ce462000
PC is at drain_array+0x18/0xec
LR is at cache_reap+0x54/0x114
pc : [<c0087d8c>]    lr : [<c0088060>]    psr: a0000013
sp : ce463ec8  ip : cffb2934  fp : 00000008
r10: c05084d8  r9 : c050b7a0  r8 : c0509f00
r7 : ce463ed0  r6 : c050b51c  r5 : cf801280  r4 : ffffffff
r3 : 00000000  r2 : ffffffff  r1 : cf801280  r0 : cf800340
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 0005317f  Table: 4e4b0000  DAC: 00000053
Process kworker/0:2 (pid: 515, stack limit = 0xce462190)
Stack: (0xce463ec8 to 0xce464000)
3ec0:                   cf800340 cf801280 ce463ed0 ce463ed0 cf800340 cf801280
3ee0: c050b51c 00000000 c0509f00 c0088060 00000000 00000000 c05084a4 cfa036a0
3f00: c050b7a0 c0508494 00000000 cfdebb00 00000000 c0027be8 cfa036a0 c050b7a0
3f20: cf9f1500 cfa036a0 c0508494 cfa036b8 ce462000 c05084a4 c0508494 c05084d8
3f40: 00000008 c0028280 00000000 ce43dfe0 00000000 cfa036a0 c0027fd0 00000000
3f60: 00000000 00000000 00000000 c002bf74 00000000 00000000 000001f6 cfa036a0
3f80: 00000000 ce463f84 ce463f84 00000000 ce463f90 ce463f90 ce463fac ce43dfe0
3fa0: c002beb0 00000000 00000000 c000a330 00000000 00000000 00000000 00000000
3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 6af75684 6868d53b
[<c0087d8c>] (drain_array) from [<c0088060>] (cache_reap+0x54/0x114)
[<c0088060>] (cache_reap) from [<c0027be8>] (process_one_work+0x1bc/0x2f8)
[<c0027be8>] (process_one_work) from [<c0028280>] (worker_thread+0x2b0/0x3ec)
[<c0028280>] (worker_thread) from [<c002bf74>] (kthread+0xc4/0xd8)
[<c002bf74>] (kthread) from [<c000a330>] (ret_from_fork+0x14/0x24)
Code: e28d7008 e58d7008 e58d700c 0a000032 (e5942000) 
---[ end trace 0a57a7db8754ec3b ]---
Unable to handle kernel paging request at virtual address fffffff0
pgd = c0004000
[fffffff0] *pgd=4fffd871, *pte=00000000, *ppte=00000000
Internal error: Oops: 37 [#2] ARM
Modules linked in:
CPU: 0 PID: 515 Comm: kworker/0:2 Tainted: G      D         4.3.5-openbmc-20160212-1 #1
Hardware name: ASpeed SoC
task: cf99f1e0 ti: ce462000 task.ti: ce462000
PC is at kthread_data+0x4/0xc
LR is at wq_worker_sleeping+0xc/0xb8
pc : [<c002c2f0>]    lr : [<c002854c>]    psr: 20000093
sp : ce463c48  ip : c0374b14  fp : ce463c74
r10: 00000001  r9 : cf99f380  r8 : cf99f404
r7 : 00000000  r6 : c0508da0  r5 : ce463adc  r4 : 00000000
r3 : 00000000  r2 : ffffffff  r1 : 00000000  r0 : cf99f1e0
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 0005317f  Table: 4e4b0000  DAC: 00000051
Process kworker/0:2 (pid: 515, stack limit = 0xce462190)
Freeing unused kernel memory: 176K (c04d6000 - c0502000)
rofs = mtd5 squashfs rwfs = mtd6 ext4
/dev/mtdblock6 was not cleanly unmounted, check forced.
/dev/mtdblock6: 124/1024 files (0.0% non-contiguous), 215/1024 blocks
EXT4-fs (mtdblock6): mounted filesystem without journal. Opts: (null)
systemd[1]: Failed to insert module 'ipv6': Function not implemented
systemd[1]: Failed to insert module 'kdbus': Function not implemented
random: systemd urandom read with 20 bits of entropy available
systemd[1]: systemd 225 running in system mode. (-PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL -XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)
systemd[1]: Detected architecture arm.

Welcome to Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro) 0.1.0 (master)!

...............

[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Load/Save Random Seed.
Unable to handle kernel paging request at virtual address ffffffff
pgd = cdcd4000
[ffffffff] *pgd=4fffd871, *pte=00000000, *ppte=00000000
Internal error: Oops: 1 [#1] ARM
Modules linked in:
CPU: 0 PID: 1 Comm: systemd Not tainted 4.3.5-openbmc-20160212-1 #1
Hardware name: ASpeed SoC
task: cf810aa0 ti: cf826000 task.ti: cf826000
PC is at kmem_cache_free+0x54/0xb8
LR is at kernfs_put+0xf4/0x188
pc : [<c0087c5c>]    lr : [<c00dacc4>]    psr: a0000093
sp : cf827e90  ip : 00000000  fp : cf827f64
r10: 7f754f00  r9 : c0525b60  r8 : c0525b60
r7 : a0000013  r6 : ce47b088  r5 : ffffffff  r4 : cf800a00
r3 : a0000093  r2 : 00000080  r1 : cfdf9000  r0 : cf800a00
Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 0005317f  Table: 4dcd4000  DAC: 00000051
Process systemd (pid: 1, stack limit = 0xcf826190)
Stack: (0xcf827e90 to 0xcf828000)
7e80:                                     c053c9cc ce47b088 ce47b178 cdcb7ec8
7ea0: cdcb7ec0 c00dacc4 ce47b088 ce47b1a4 a0000013 ce47b088 ce47b178 00000000
7ec0: c0525b60 cf827ee4 ffffff9c 7f754f00 cf827f64 c00db478 c009e33c cf827f2c
7ee0: 0000004c 00000000 00000000 c009da50 c050bed8 ce47b178 ce4f4524 00000000
7f00: cf827f70 c00dbd30 00000000 ce4f44a0 00000000 c005a0dc c050ae4c ce47b178
7f20: cf4e07f0 c005a114 c005a0fc c050ae4c ce47b178 c00db844 c00db7f8 cf4e56e8
7f40: cf4e56e8 c009843c 00000000 cf4e56e8 cfb0b000 c0098d2c cf827f70 cf827f64
7f60: 40000010 00000000 cfaf26f0 cf4e3b28 b8d446ca 0000001e cfb0b034 ce456000
7f80: c000a424 00000000 00000000 b6f47f10 00000028 c000a424 cf826000 00000000
7fa0: 7f6bacbc c000a280 00000000 00000000 7f754f00 00000000 b6e13ba0 00000000
7fc0: 00000000 00000000 b6f47f10 00000028 b6f4053c 7f750f18 7f722ee0 7f6bacbc
7fe0: 7f700d4c bed08734 7f6181d0 b6d9999c 20000010 7f754f00 f4ad8c1b 8b9d0ac4
[<c0087c5c>] (kmem_cache_free) from [<c00dacc4>] (kernfs_put+0xf4/0x188)
[<c00dacc4>] (kernfs_put) from [<c00db478>] (__kernfs_remove+0x200/0x22c)
[<c00db478>] (__kernfs_remove) from [<c00dbd30>] (kernfs_remove+0x1c/0x2c)
[<c00dbd30>] (kernfs_remove) from [<c005a0dc>] (cgroup_destroy_locked+0x54/0x74)
[<c005a0dc>] (cgroup_destroy_locked) from [<c005a114>] (cgroup_rmdir+0x18/0x34)
[<c005a114>] (cgroup_rmdir) from [<c00db844>] (kernfs_iop_rmdir+0x4c/0x70)
[<c00db844>] (kernfs_iop_rmdir) from [<c009843c>] (vfs_rmdir+0x70/0xfc)
[<c009843c>] (vfs_rmdir) from [<c0098d2c>] (do_rmdir+0xd4/0x124)
[<c0098d2c>] (do_rmdir) from [<c000a280>] (ret_fast_syscall+0x0/0x38)
Code: e10f7000 e3873080 e121f003 e5945000 (e895000c) 
---[ end trace 9e1fd1527d8f4e91 ]---
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

Crash and panic on Qemu

@legoater's qemu branch v2.7.0-rc3-44-g55a516509b33
Current tip of dev-4.7 v4.7.2-56-g88af72b8ecff

# ifconfig eth0 up
# [   13.990000] ftgmac100 1e660000.ethernet eth0: NCSI interface up

# dhc[   14.990000] ------------[ cut here ]------------
[   14.990000] WARNING: CPU: 0 PID: 118 at net/ipv6/ip6_fib.c:1457 fib6_del+0x70/0x414
[   14.990000] Modules linked in:
[   14.990000] CPU: 0 PID: 118 Comm: kworker/0:1 Not tainted 4.7.2 #2
[   14.990000] Hardware name: ASpeed SoC
[   14.990000] Workqueue: ipv6_addrconf addrconf_dad_work
[   14.990000] [<c01077b4>] (unwind_backtrace) from [<c010539c>] (show_stack+0x10/0x14)
[   14.990000] [<c010539c>] (show_stack) from [<c010f484>] (__warn+0xdc/0xf8)
[   14.990000] [<c010f484>] (__warn) from [<c010f594>] (warn_slowpath_null+0x1c/0x24)
[   14.990000] [<c010f594>] (warn_slowpath_null) from [<c038fd28>] (fib6_del+0x70/0x414)
[   14.990000] [<c038fd28>] (fib6_del) from [<c03901b0>] (fib6_clean_node+0xe4/0x15c)
[   14.990000] [<c03901b0>] (fib6_clean_node) from [<c038e4b4>] (fib6_walk_continue+0xe8/0x164)
[   14.990000] [<c038e4b4>] (fib6_walk_continue) from [<c038eb30>] (fib6_walk+0x4c/0x68)
[   14.990000] [<c038eb30>] (fib6_walk) from [<c038eb9c>] (fib6_prune_clones+0x50/0x78)
[   14.990000] [<c038eb9c>] (fib6_prune_clones) from [<c038f784>] (fib6_add+0x588/0x8d0)
[   14.990000] [<c038f784>] (fib6_add) from [<c03898f4>] (__ip6_ins_rt+0x34/0x48)
[   14.990000] [<c03898f4>] (__ip6_ins_rt) from [<c038cb4c>] (ip6_route_add+0x5c/0xc4)
[   14.990000] [<c038cb4c>] (ip6_route_add) from [<c038d3e4>] (rt6_add_dflt_router+0x6c/0xa0)
[   14.990000] [<c038d3e4>] (rt6_add_dflt_router) from [<c0394800>] (ndisc_rcv+0x7b4/0xe38)
[   14.990000] [<c0394800>] (ndisc_rcv) from [<c039aec0>] (icmpv6_rcv+0x2e8/0x464)
[   14.990000] [<c039aec0>] (icmpv6_rcv) from [<c037f9c8>] (ip6_input+0x1cc/0x520)
[   14.990000] [<c037f9c8>] (ip6_input) from [<c037fe18>] (ip6_mc_input+0xfc/0x118)
[   14.990000] [<c037fe18>] (ip6_mc_input) from [<c02ffd5c>] (__netif_receive_skb_core+0x48c/0x720)
[   14.990000] [<c02ffd5c>] (__netif_receive_skb_core) from [<c03019ec>] (netif_receive_skb_internal+0x84/0xcc)
[   14.990000] [<c03019ec>] (netif_receive_skb_internal) from [<c0302590>] (napi_gro_receive+0x94/0xc4)
[   14.990000] [<c0302590>] (napi_gro_receive) from [<c02ca900>] (ftgmac100_poll+0x464/0x5bc)
[   14.990000] [<c02ca900>] (ftgmac100_poll) from [<c0302a80>] (net_rx_action+0xfc/0x2c0)
[   14.990000] [<c0302a80>] (net_rx_action) from [<c0111fd4>] (__do_softirq+0x184/0x1f0)
[   14.990000] [<c0111fd4>] (__do_softirq) from [<c01120d8>] (do_softirq+0x44/0x54)
[   14.990000] [<c01120d8>] (do_softirq) from [<c0112184>] (__local_bh_enable_ip+0x9c/0xc8)
[   14.990000] [<c0112184>] (__local_bh_enable_ip) from [<c037af14>] (ip6_finish_output2+0x4a0/0x5a0)
[   14.990000] [<c037af14>] (ip6_finish_output2) from [<c0392a48>] (ndisc_send_skb+0x2e4/0x3c0)
[   14.990000] [<c0392a48>] (ndisc_send_skb) from [<c03857bc>] (addrconf_dad_completed+0xf8/0x1c4)
[   14.990000] [<c03857bc>] (addrconf_dad_completed) from [<c0385974>] (addrconf_dad_work+0xec/0x2e0)
[   14.990000] [<c0385974>] (addrconf_dad_work) from [<c0122a50>] (process_one_work+0x228/0x404)
[   14.990000] [<c0122a50>] (process_one_work) from [<c012385c>] (worker_thread+0x290/0x3e0)
[   14.990000] [<c012385c>] (worker_thread) from [<c0127d34>] (kthread+0xd0/0xe4)
[   14.990000] [<c0127d34>] (kthread) from [<c01024b0>] (ret_from_fork+0x14/0x24)
[   14.990000] ---[ end trace c37b130bbf095d2e ]---
p[   43.920000] Unable to handle kernel paging request at virtual address 12005456
[   43.920000] pgd = c0004000
[   43.920000] [12005456] *pgd=00000000
[   43.920000] Internal error: Oops: 5 [#1] ARM
[   43.920000] Modules linked in:
[   43.920000] CPU: 0 PID: 0 Comm: swapper Tainted: G        W       4.7.2 #2
[   43.920000] Hardware name: ASpeed SoC
[   43.920000] task: c0904700 ti: c0900000 task.ti: c0900000
[   43.920000] PC is at fib6_walk_continue+0x74/0x164
[   43.920000] LR is at fib6_clean_node+0xcc/0x15c
[   43.920000] pc : [<c038e440>]    lr : [<c0390198>]    psr: 80000113
[   43.920000] sp : c0901d90  ip : 80200001  fp : cedba280
[   43.920000] r10: c03900cc  r9 : c038e548  r8 : 00000000
[   43.920000] r7 : c0901e34  r6 : 00000633  r5 : 00000002  r4 : c0901dc8
[   43.920000] r3 : 12005452  r2 : 00000000  r1 : cedbcd60  r0 : 00000000
[   43.920000] Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[   43.920000] Control: 00093177  Table: 4ee50000  DAC: 00000051
[   43.920000] Process swapper (pid: 0, stack limit = 0xc0900190)
[   43.920000] Stack: (0xc0901d90 to 0xc0902000)
[   43.920000] 1d80:                                     c0901dc8 c091aa08 c091ae28 c038eb30
[   43.920000] 1da0: 00000000 c0902028 c091aa08 c038eec4 00000000 00000000 c038ee20 c0135e1c
[   43.920000] 1dc0: c0904a88 cedba28c c091add4 c091add4 cedba2a8 12005452 00000000 00000000
[   43.920000] 1de0: c0904a00 00000000 00000001 c03900cc c091ef50 c091aa08 c038e548 00000000
[   43.920000] 1e00: c0901e34 dc8ba502 c038ca98 c091aa08 00000bb8 c0902028 c091ada0 c091ae38
[   43.920000] 1e20: c090c2a0 c091aa08 c091ada0 c0390290 00000000 00000bb8 00000000 dc8ba502
[   43.920000] 1e40: 00000000 c0901e74 ffffe000 c0902028 00000100 00000001 c0390318 c0146bec
[   43.920000] 1e60: 00000001 00000000 c0146b78 60000193 c0904a88 c0ea9254 c0a68c10 00000000
[   43.920000] 1e80: c04d2448 dc8ba502 c090ba60 c090c2a0 c090be9c 00000000 c090ba60 c0390318
[   43.920000] 1ea0: c091aa08 c0147394 00000001 c0902028 00000000 dc8ba502 00000000 c0900000
[   43.920000] 1ec0: 40000001 00000002 c0925980 00200000 0000000a c09259a4 00000100 c0111fd4
[   43.920000] 1ee0: c0904700 cf807100 cf80715c ffff9bf9 00000002 c090c2a0 c09259a0 00000001
[   43.920000] 1f00: c0912de4 00000000 c0912de4 00000000 cf802200 00000001 cfffcea0 c061ea48
[   43.920000] 1f20: 00000000 c011229c 00000000 c013dd98 cf805020 00000001 c0901f60 00000000
[   43.920000] 1f40: 00000020 c01014a8 c0102d0c 60000013 ffffffff c0901f94 c0902020 c0105e10
[   43.920000] 1f60: 00000000 00093177 00092177 60000013 c0900000 c0925260 ffffffff c0902028
[   43.920000] 1f80: c0902020 cfffcea0 c061ea48 00000000 600000d3 c0901fb0 c0102d14 c0102d0c
[   43.920000] 1fa0: 60000013 ffffffff 00000053 c01564e0 c0900000 c0133208 c09252ac c0600c54
[   43.920000] 1fc0: ffffffff ffffffff 00000000 c06006a4 c061ea48 00000000 c09253d4 c090203c
[   43.920000] 1fe0: c061ea44 c0905d2c 40004000 41069265 4061cbac 40008048 00000000 00000000
[   43.920000] [<c038e440>] (fib6_walk_continue) from [<c038eb30>] (fib6_walk+0x4c/0x68)
[   43.920000] [<c038eb30>] (fib6_walk) from [<c038eec4>] (__fib6_clean_all+0xa4/0xfc)
[   43.920000] [<c038eec4>] (__fib6_clean_all) from [<c0390290>] (fib6_run_gc+0x5c/0xe4)
[   43.920000] [<c0390290>] (fib6_run_gc) from [<c0146bec>] (call_timer_fn+0x74/0x118)
[   43.920000] [<c0146bec>] (call_timer_fn) from [<c0147394>] (run_timer_softirq+0x1cc/0x1f4)
[   43.920000] [<c0147394>] (run_timer_softirq) from [<c0111fd4>] (__do_softirq+0x184/0x1f0)
[   43.920000] [<c0111fd4>] (__do_softirq) from [<c011229c>] (irq_exit+0x84/0xe8)
[   43.920000] [<c011229c>] (irq_exit) from [<c013dd98>] (__handle_domain_irq+0x74/0xa0)
[   43.920000] [<c013dd98>] (__handle_domain_irq) from [<c01014a8>] (avic_handle_irq+0x60/0x70)
[   43.920000] [<c01014a8>] (avic_handle_irq) from [<c0105e10>] (__irq_svc+0x50/0x64)
[   43.920000] Exception stack(0xc0901f60 to 0xc0901fa8)
[   43.920000] 1f60: 00000000 00093177 00092177 60000013 c0900000 c0925260 ffffffff c0902028
[   43.920000] 1f80: c0902020 cfffcea0 c061ea48 00000000 600000d3 c0901fb0 c0102d14 c0102d0c
[   43.920000] 1fa0: 60000013 ffffffff
[   43.920000] [<c0105e10>] (__irq_svc) from [<c0102d0c>] (arch_cpu_idle+0x24/0x34)
[   43.920000] [<c0102d0c>] (arch_cpu_idle) from [<c0133208>] (cpu_startup_entry+0xa0/0xe0)
[   43.920000] [<c0133208>] (cpu_startup_entry) from [<c0600c54>] (start_kernel+0x35c/0x3e8)
[   43.920000] Code: c038e440 c038e464 c038e47c c038e4d4 (e5932004) 
[   43.920000] ---[ end trace c37b130bbf095d2f ]---
[   43.920000] Kernel panic - not syncing: Fatal exception in interrupt
[   43.920000] ---[ end Kernel panic - not syncing: Fatal exception in interrupt

pr_warn from fs/jffs2/scan.c line 671 in new 4.4 kernel

The jffs2 file system over the ast2400 fmc driver is working fine on the dev-4.3 branch 35d2cfb . But the file system is spewing pr_warn in the dev-4.4 branch 1500e26 .

The spew is from fs/jffs2/scan.c line 671. The whole scan.c file has not changed between revisions. A quick web search shows this is likely due to either file system corruption or a bad driver. After scanning file system for tens of minutes the file system typically reports an error. Returning to a previous 4.3 kernel build the flash is able to be read.

The error could be caused by flash partition alignment, by flash driver, or by something elsewhere in the kernel.

I did a very quick web search and found plenty of hits the first few I looked at were recovered with erasing and formating the whole partition. I did a git diff on the file and there have been zero changes since Febuary 2012 in kernel v3.4-rc1. I did a git diff between drivers/mtd/spi-nor/ and see changes including moving the struct mtd around, but no obvious errors on first scan.

It has been suggested a bisect be attempted, but that will require cherry picking each aspeed support patch stack for each rev (outside the add support options). I feel an attempt to recreate on an existing mtd platform in qemu or similar be attempted first, and/or logging the IO to the flash to compare the pattern.

ftgmac100 spams PHYSTS_CHG

# ifconfig eth0 up
[   15.270000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   15.280000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   15.280000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   15.280000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   15.300000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   15.300000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   15.300000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.300000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   15.330000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   15.330000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   15.330000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   15.360000] random: fast init done
# [   15.440000] random: crng init done

# [   17.320000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   20.280000] net_ratelimit: 640497 callbacks suppressed
[   20.280000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   20.280000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   20.280000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   20.300000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   20.300000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   20.300000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   20.300000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   20.330000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG
[   20.330000] ftgmac100 1e660000.ethernet eth0: [ISR] = 0x200: PHYSTS_CHG

Firestone PHY only works in mode 100base-T

The Firestone openpower board has a BCM54210E, but it doesn't work in 1000base-T.

Gavin worked around this by changing the PHY driver to only advertise 100Mbit:

diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index 3743164..95208b0 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -608,7 +608,7 @@ static struct phy_driver broadcom_drivers[] = {
        .phy_id         = PHY_ID_BCM54210E,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM54210E",
-       .features       = PHY_GBIT_FEATURES |
+       .features       = PHY_BASIC_FEATURES |
                          SUPPORTED_Pause | SUPPORTED_Asym_Pause,
        .flags          = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
        .config_init    = bcm54xx_config_init,

We need to work out what is going on. Ben said:

The MAC in the ast2400 is a gigabit MAC. So it should all work normally
at 1000bT. If not, then something is wrong that needs to be
investigated:

    - Either the interface between MAC and PHY isn't wired

correctly (RGMII vs. RMII, RGMII uses more pins and a diff. clock)

    - Or we don't set a setting or strap somewhere to switch

between those modes (hardware strapping bit[7:6], SCU[A0], ...)

    - Both ?

If we are indeed limited to 100bT, then we should expose that one way
or another in the device-tree in order to limit the advertized speed in
the PHY driver.

Our Firestone machines are pre-production hardware.

i2c errors on ast2500 platform

At boot, the first i2c bus that is active will print this forever:

i2c_aspeed i2c-3: Invalid state (msg   (null), pending 0)?
i2c_aspeed i2c-3: Invalid state (msg   (null), pending 0)?

Kernel crash caused by network setting.

Reproduce step:
1. Do not plug in LAN cable
2. AC on
3. Log in BMC
4. plug in LAN cable
5. Set ifconfig IP
6. ifconfig eth0 down
7. ifconfig eth0 up
8. kernel crash

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2015.11.05 17:15:45 =~=~=~=~=~=~=~=~=~=~=~=

DRAM Init-DDR3
CBR0-1357135670123456701234567
CBR134Done


U-Boot 2013.07 (Nov 02 2015 - 10:34:04)

I2C:   ready
DRAM:  256 MiB
WARNING: Caches not enabled
Flash: SPI Flash ID: 1940ef 
32 MiB
In:    serial
Out:   serial
Err:   serial
H/W:   AST2400 series chip Rev. 01 
Watchdog: 300s
Net:   Found NCSI Network Controller at (0, 0)
Found NCSI Network Controller at (0, 1)
aspeednic#0
Warning: aspeednic#0 using MAC address from net device

Hit any key to stop autoboot:  3 ๏ฟฝ๏ฟฝ๏ฟฝ 2 ๏ฟฝ๏ฟฝ๏ฟฝ 1 ๏ฟฝ๏ฟฝ๏ฟฝ 0 
## Booting kernel from Legacy Image at 20080000 ...
   Image Name:   Phosphor OpenBMC (Phosphor OpenB
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1903084 Bytes = 1.8 MiB
   Load Address: 40008000
   Entry Point:  40008000
## Loading init Ramdisk from Legacy Image at 20300000 ...
   Image Name:   obmc-phosphor-image-barreleye-20
   Image Type:   ARM Linux RAMDisk Image (lzma compressed)
   Data Size:    16572752 Bytes = 15.8 MiB
   Load Address: 40800000
   Entry Point:  40800000
   Loading Kernel Image ... OK

Starting kernel ...

atags_to_fdt
atags=40000100
fdt=401d7540
cmdline=console=ttyS4,38400n8 root=/dev/ram rw
atags_to_fdt
atags=401d7540
fdt=406dabc0
Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.2.0-openbmc-20151104-1 (openpower@openpower-VirtualBox) (gcc version 4.9.3 (GCC) ) #1 Thu Nov 5 15:31:35 CST 2015
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
CPU: VIVT data cache, VIVT instruction cache
Machine model: Barrelye BMC
Memory policy: Data cache writeback
SOC Rev: 02010303
UART IO MUX...
UART PIN MUX...
SCU LOCK: 00000001
DONE, MUX=cb000000 00fff0c0
CLOCK_CTRL=00000001
WDT0C=00000033
WDT2C=00000092
DLL=1
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: console=ttyS4,38400n8 root=/dev/ram rw
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 238356K/262144K available (3540K kernel code, 171K rwdata, 1256K rodata, 160K init, 108K bss, 23788K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
    lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc04b773c   (4798 kB)
      .init : 0xc04b8000 - 0xc04e0000   ( 160 kB)
      .data : 0xc04e0000 - 0xc050aea8   ( 172 kB)
       .bss : 0xc050aea8 - 0xc0526268   ( 109 kB)
NR_IRQS:16 nr_irqs:16 16
Aspeed VIC Initiallized
clocksource: moxart_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 39817925974 ns
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
Calibrating delay loop... 190.87 BogoMIPS (lpj=954368)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x40008400 - 0x40008458
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
clocksource: Switched to clocksource moxart_timer
NET: Registered protocol family 2
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 16188K (c0800000 - c17cf000)
futex hash table entries: 256 (order: -1, 3072 bytes)
squashfs: version 4.0 (2009/01/31) Phillip Lougher
jffs2: version 2.2. (NAND) (SUMMARY)  ยฉ 2001-2006 Red Hat, Inc.
io scheduler noop registered (default)
Serial: 8250/16550 driver, 6 ports, IRQ sharing disabled
1e783000.serial: ttyS0 at MMIO 0x1e783000 (irq = 22, base_baud = 115200) is a 16550A
1e78d000.serial: ttyS1 at MMIO 0x1e78d000 (irq = 23, base_baud = 115200) is a 16550A
1e78e000.serial: ttyS2 at MMIO 0x1e78e000 (irq = 24, base_baud = 115200) is a 16550A
1e78f000.serial: ttyS3 at MMIO 0x1e78f000 (irq = 25, base_baud = 115200) is a 16550A
console [ttyS4] disabled
1e784000.serial: ttyS4 at MMIO 0x1e784000 (irq = 26, base_baud = 115200) is a 16550A
console [ttyS4] enabled
1e787000.serial: ttyS5 at MMIO 0x1e787000 (irq = 26, base_baud = 115200) is a 16550A
brd: module loaded
loop: module loaded
bt-host 1e789140.ibt: Found bt host device
ftgmac100 1e660000.ethernet: Using NCSI interface
ftgmac100 1e660000.ethernet: Read MAC address from chip 52:a6:f6:0e:6c:a6
ftmac100: Loading version 0.2 ...
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
mousedev: PS/2 mouse device common for all mice
aspeed-rtc 1e781000.rtc: rtc core: registered 1e781000.rtc as rtc0
i2c /dev entries driver
at24 0-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
rtc-ds1307 0-0068: rtc core: registered ds3231 as rtc1
lm75 0-004a: hwmon0: sensor 'lm75'
nct7904: probe of 6-002d failed with error -110
nct7904: probe of 6-002e failed with error -110
aspeed_wdt 1e785000.wdt: rate 48000000, max timeout 5, timeout 5
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 17
aspeed-rtc 1e781000.rtc: hctosys: unable to read the hardware clock
Freeing unused kernel memory: 160K (c04b8000 - c04e0000)
Failed to insert module 'ipv6': Function not implemented
Failedrandom: systemd urandom read with 116 bits of entropy available
 to insert module 'kdbus': Functsystemd[1]: systemd 225 running in system mode. (-PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL -XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)
systemd[1]: Detected architecture arm.

Welcome to ๏ฟฝ[1mPsystemd[1]: Set hostname to <barreleye>.
hosphor OpenBMC systemd[1]: Initializing machine ID from random generator.
(Phosphor OpenBMC Project Reference Distro) 0.1.0 (master)๏ฟฝ[0m!

systemd[1]: Created slice Root Slice.
[๏ฟฝ[32m  OK  ๏ฟฝ[0msystemd[1]: Listening on Journal Socket.
] Created slice systemd[1]: Listening on udev Control Socket.
Root Slice.
[๏ฟฝ[systemd[1]: Listening on Journal Socket (/dev/log).
32m  OK  ๏ฟฝ[0m] Lsystemd[1]: Created slice System Slice.
istening on Journal Socket.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Listening on udev Control Socket.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Listening on Journal Socket systemd[1]: Starting Remount Root and Kernel File Systems...
(/dev/log).
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Created slice Syssystemd[1]: Listening on udev Kernel Socket.
tem Slice.
         Starting Remount Root and Kernel File Systems...
[๏ฟฝ[32m  OK  ๏ฟฝ[0msystemd[1]: Listening on Syslog Socket.
] Listening on udev Kernel Socket.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Listening on Syslog Socket.
systemd[1]: Starting Journal Service...
         systemd[1]: Created slice User and Session Slice.
Starting Journal Service...
[๏ฟฝ[32m  OK  ๏ฟฝ[0msystemd[1]: Listening on networkd rtnetlink socket.
] Created slice User and Session Slice.
[๏ฟฝ[32m  OK  ๏ฟฝ[0msystemd[1]: Created slice system-getty.slice.
] Listening on networkd rtnetlinsystemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
k socket.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Created slice system-getty.slice.
systemd[1]: Mounting Temporary Directory...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Listening on /dev/initctl Compatibility Named Pipe.
         Mounting Temporasystemd[1]: Started Forward Password Requests to Wall Directory Watch.
ry Directory...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Forwarsystemd[1]: Mounting Configuration File System...
d Password Requests to Wall Directory Watch.
         systemd[1]: Created slice system-serial\x2dgetty.slice.
Mounting Configuration File System...
[๏ฟฝ[32m  OK  ๏ฟฝ[0msystemd[1]: Reached target Slices.
] Created slice system-serial\x2dgetty.slice.
[๏ฟฝ[32m  OK  ๏ฟฝ[0msystemd[1]: Started Dispatch Password Requests to Console Directory Watch.
] Reached target Slices.
[๏ฟฝ[32m  OK  ๏ฟฝ[0msystemd[1]: Reached target Paths.
] Started Dispatsystemd[1]: Reached target Remote File Systems.
ch Password Requests to Console Directory Watch.systemd[1]: Starting Apply Kernel Variables...

[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target Paths.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target Remote File Systems.
         Startsystemd[1]: Mounting Debug File System...
ing Apply Kernel Variables...
         systemd[1]: Reached target Swap.
Mounting Debug File System...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target Swap.
systemd[1]: Mounted Configuration File System.
[๏ฟฝ[32m  OK  ๏ฟฝ[0msystemd[1]: Mounted Debug File System.
] Mounted Configuration File System.
[๏ฟฝ[32m  OK  ๏ฟฝ[0msystemd[1]: Mounted Temporary Directory.
] Mounted Debug File System.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Mounted Temporary Directory.
systemd[1]: Started Remount Root and Kernel File Systems.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Remounsystemd[1]: Started Apply Kernel Variables.
t Root and Kernel File Systems.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Apply Kernel Variables.
systemd[1]: Started Journal Service.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Journal Service.
         Starting Rebuild Hardware Database...
         Starting Create System Users...
         Starting Flush Journal to Persistent Storage...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Create System Users.
systemd-journald[401]: Received request to flush runtime journal from PID 1
         Starting Create Static Device Nodes in /dev...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Flush Journal to Persistent Storage.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Create Static Device Nodes in /dev.
         Starting udev Kernel Device Manager...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target Local File Systems (Pre).
         Mounting /var/volatile...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Mounted /var/volatile.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started udev Kernel Device Manager.
         Starting Load/Save Random Seed...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
         Starting Rebuild Journal Catalog...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Load/Save Random Seed.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Rebuild Journal Catalog.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Create Volatile Files and Directories.
         Starting Network Time Synchronization...
         Starting Update UTMP about System Boot/Shutdown...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Update UTMP about System Boot/Shutdown.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Network Time Synchronization.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target System Time Synchronized.
random: nonblocking pool is initialized
[๏ฟฝ[0m๏ฟฝ[31m*     ๏ฟฝ[0m] (1 of 3) A start job is running for...ardware Database (9s / 1min 31s)
๏ฟฝ[K[๏ฟฝ[1;31m*๏ฟฝ[0m๏ฟฝ[31m*    ๏ฟฝ[0m] (1 of 3) A start job is running for...ardware Database (9s / 1min 31s)
๏ฟฝ[K[๏ฟฝ[31m*๏ฟฝ[1;31m*๏ฟฝ[0m๏ฟฝ[31m*   ๏ฟฝ[0m] (1 of 3) A start job is running for...rdware Database (10s / 1min 31s)
๏ฟฝ[K[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Rebuild Hardware Database.
         Starting udev Coldplug all Devices...
         Starting Update is Completed...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Update is Completed.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started udev Coldplug all Devices.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target System Initialization.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Listening on dropbear.socket.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Listening on D-Bus System Message Bus Socket.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target Sockets.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target Basic System.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started System Logging Service.
         Starting Login Service...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Phosphor OpenBMC BT to DBUS.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Kernel Logging Service.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Phosphor OpenBMC event management daemon.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Phosphor OpenBMC IPMI daemon.
         Starting Phosphor OpenBMC DBus service management daemon...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started D-Bus System Message Bus.
         Starting Network Service...
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started DBUS introspecting REST server..
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Temp placeholder for skeleton function.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Daily Cleanup of Temporary Directories.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target Timers.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Found device /dev/ttyS0.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Found device /dev/ttyS4.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Network Service.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Login Service.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target Network.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Serial Getty on ttyS4.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Started Serial Getty on ttyS0.
[๏ฟฝ[32m  OK  ๏ฟฝ[0m] Reached target Login Prompts.
ftgmac100: NCSI dev is down


Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro) 0.1.0 barreleye ttyS4

barreleye login: root

Password: 
root@barreleye:~# 
root@barreleye:~# 
root@barreleye:~# id๏ฟฝ ๏ฟฝfconfig eth0 ๏ฟฝ๏ฟฝ192.168.1.10
root@barreleye:~# ifconfig eth0 192.168.1.10๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝdoen๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝwn
ftgmac100: NCSI dev is down
root@barreleye:~# dmesh๏ฟฝ ๏ฟฝg
Booting Linux on physical CPU 0x0
Linux version 4.2.0-openbmc-20151104-1 (openpower@openpower-VirtualBox) (gcc version 4.9.3 (GCC) ) #1 Thu Nov 5 15:31:35 CST 2015
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
CPU: VIVT data cache, VIVT instruction cache
Machine model: Barrelye BMC
Memory policy: Data cache writeback
SOC Rev: 02010303
On node 0 totalpages: 65536
free_area_init_node: node 0, pgdat c0502680, node_mem_map cfdf9000
  Normal zone: 512 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 65536 pages, LIFO batch:15
UART IO MUX...
UART PIN MUX...
SCU LOCK: 00000001
DONE, MUX=cb000000 00fff0c0
CLOCK_CTRL=00000001
WDT0C=00000033
WDT2C=00000092
DLL=1
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: console=ttyS4,38400n8 root=/dev/ram rw
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 238356K/262144K available (3540K kernel code, 171K rwdata, 1256K rodata, 160K init, 108K bss, 23788K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
    lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc04b773c   (4798 kB)
      .init : 0xc04b8000 - 0xc04e0000   ( 160 kB)
      .data : 0xc04e0000 - 0xc050aea8   ( 172 kB)
       .bss : 0xc050aea8 - 0xc0526268   ( 109 kB)
NR_IRQS:16 nr_irqs:16 16
Aspeed VIC Initiallized
clocksource: moxart_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 39817925974 ns
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
Calibrating delay loop... 190.87 BogoMIPS (lpj=954368)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x40008400 - 0x40008458
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
clocksource: Switched to clocksource moxart_timer
NET: Registered protocol family 2
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 16188K (c0800000 - c17cf000)
alarmtimer alarmtimer: no of_node; not parsing pinctrl DT
futex hash table entries: 256 (order: -1, 3072 bytes)
squashfs: version 4.0 (2009/01/31) Phillip Lougher
jffs2: version 2.2. (NAND) (SUMMARY)  ยฉ 2001-2006 Red Hat, Inc.
io scheduler noop registered (default)
Serial: 8250/16550 driver, 6 ports, IRQ sharing disabled
serial8250 serial8250: no of_node; not parsing pinctrl DT
1e783000.serial: ttyS0 at MMIO 0x1e783000 (irq = 22, base_baud = 115200) is a 16550A
1e78d000.serial: ttyS1 at MMIO 0x1e78d000 (irq = 23, base_baud = 115200) is a 16550A
1e78e000.serial: ttyS2 at MMIO 0x1e78e000 (irq = 24, base_baud = 115200) is a 16550A
1e78f000.serial: ttyS3 at MMIO 0x1e78f000 (irq = 25, base_baud = 115200) is a 16550A
console [ttyS4] disabled
1e784000.serial: ttyS4 at MMIO 0x1e784000 (irq = 26, base_baud = 115200) is a 16550A
console [ttyS4] enabled
1e787000.serial: ttyS5 at MMIO 0x1e787000 (irq = 26, base_baud = 115200) is a 16550A
brd: module loaded
loop: module loaded
bt-host 1e789140.ibt: Found bt host device
ftgmac100 1e660000.ethernet: Using NCSI interface
ftgmac100 1e660000.ethernet: Read MAC address from chip 52:a6:f6:0e:6c:a6
ftmac100: Loading version 0.2 ...
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
mousedev: PS/2 mouse device common for all mice
aspeed-rtc 1e781000.rtc: rtc core: registered 1e781000.rtc as rtc0
i2c /dev entries driver
at24 0-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
rtc-ds1307 0-0068: rtc core: registered ds3231 as rtc1
lm75 0-004a: hwmon0: sensor 'lm75'
nct7904: probe of 6-002d failed with error -110
nct7904: probe of 6-002e failed with error -110
aspeed_wdt 1e785000.wdt: rate 48000000, max timeout 5, timeout 5
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 17
aspeed-rtc 1e781000.rtc: hctosys: unable to read the hardware clock
Freeing unused kernel memory: 160K (c04b8000 - c04e0000)
random: systemd urandom read with 116 bits of entropy available
systemd[1]: systemd 225 running in system mode. (-PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL -XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)
systemd[1]: Detected architecture arm.
systemd[1]: Set hostname to <barreleye>.
systemd[1]: Initializing machine ID from random generator.
systemd[1]: Created slice Root Slice.
systemd[1]: Listening on Journal Socket.
systemd[1]: Listening on udev Control Socket.
systemd[1]: Listening on Journal Socket (/dev/log).
systemd[1]: Created slice System Slice.
systemd[1]: Starting Remount Root and Kernel File Systems...
systemd[1]: Listening on udev Kernel Socket.
systemd[1]: Listening on Syslog Socket.
systemd[1]: Starting Journal Service...
systemd[1]: Created slice User and Session Slice.
systemd[1]: Listening on networkd rtnetlink socket.
systemd[1]: Created slice system-getty.slice.
systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
systemd[1]: Mounting Temporary Directory...
systemd[1]: Started Forward Password Requests to Wall Directory Watch.
systemd[1]: Mounting Configuration File System...
systemd[1]: Created slice system-serial\x2dgetty.slice.
systemd[1]: Reached target Slices.
systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
systemd[1]: Reached target Paths.
systemd[1]: Reached target Remote File Systems.
systemd[1]: Starting Apply Kernel Variables...
systemd[1]: Mounting Debug File System...
systemd[1]: Reached target Swap.
systemd[1]: Mounted Configuration File System.
systemd[1]: Mounted Debug File System.
systemd[1]: Mounted Temporary Directory.
systemd[1]: Started Remount Root and Kernel File Systems.
systemd[1]: Started Apply Kernel Variables.
systemd[1]: Started Journal Service.
systemd-journald[401]: Received request to flush runtime journal from PID 1
random: nonblocking pool is initialized
ftgmac100: NCSI dev is down
ftgmac100: NCSI dev is down
root@barreleye:~# 
root@barreleye:~# dmesg๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝifconfig eth0 down๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝ๏ฟฝ ๏ฟฝup
root@barreleye:~# Unable to handle kernel paging request at virtual address d190a00c
pgd = c0004000
[d190a00c] *pgd=4e577811, *pte=00000000, *ppte=00000000
Internal error: Oops: 807 [#1] ARM
Modules linked in:
CPU: 0 PID: 183 Comm: kworker/0:1 Not tainted 4.2.0-openbmc-20151104-1 #1
Hardware name: ASpeed SoC
Workqueue: events ncsi_dev_work
task: cf9da3e0 ti: cf954000 task.ti: cf954000
PC is at ftgmac100_hard_start_xmit+0x114/0x1f4
LR is at 0xc8b94800
pc : [<c022efe4>]    lr : [<c8b94800>]    psr: 20000013
sp : cf955dc0  ip : 00000100  fp : 00000008
r10: cf8fe300  r9 : 00000000  r8 : 00000000
r7 : c8b94800  r6 : 0000003e  r5 : c8b0a9e0  r4 : c8b94800
r3 : 00000001  r2 : d190a000  r1 : d1909000  r0 : 4f9c8d02
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 0005317f  Table: 48bc8000  DAC: 00000017
Process kworker/0:1 (pid: 183, stack limit = 0xcf954190)
Stack: (0xcf955dc0 to 0xcf956000)
5dc0: 00000001 00000000 cf9c8400 c8b0a9e0 cf8fe300 c02c72b0 c8b0a9e0 00000000
5de0: cf955e24 00000000 c8b0a9e0 00000000 00000000 cf8fe300 00000000 cf9c8400
5e00: c8b0a9e0 cf8fe300 c8b94800 cf8fe300 00000000 00000000 00000008 c02dd848
5e20: c8b0a9e0 00000010 c8b94800 cf9c8400 c8b0a9e0 c8b94800 00000000 c02c76c4
5e40: cf9c8468 00000001 cf8001c0 fffffff4 c034d480 cf970c90 00000000 00000010
5e60: cf955e94 c050248c c8b94800 c034d9a8 0000001f cf970000 00000000 c04e67b0
5e80: 00000000 cfdedb00 00000000 c034f554 00000200 cf970000 1f004202 00000000
5ea0: 00000000 c022e7c0 00000000 cfdf9000 c8b94800 00000000 cf970030 cf970000
5ec0: c04e67b0 c034ff64 cf970030 cf970000 cf97000c c034ff50 cf955efc cf970000
5ee0: 1f004101 c04e0004 00000000 c04e70b0 cebac001 cf86b100 cf973030 c04e67b0
5f00: 00000000 c00263e4 cf86b100 cf973030 cfdedb00 cf86b100 cf86b118 cf86b118
5f20: cf954000 c04e67c0 c04e67b0 00000000 00000008 c0026544 cf973034 cf86b100
5f40: c04e67b0 c0026aa4 00000000 cf90a2a0 00000000 cf86b100 c00267cc 00000000
5f60: 00000000 00000000 00000000 c002a650 cf955f70 00000000 00000000 cf86b100
5f80: 00000000 cf955f84 cf955f84 00000000 cf955f90 cf955f90 cf955fac cf90a2a0
5fa0: c002a58c 00000000 00000000 c000a2e0 00000000 00000000 00000000 00000000
5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 1da40b2b 96260215
[<c022efe4>] (ftgmac100_hard_start_xmit) from [<c02c72b0>] (dev_hard_start_xmit+0x254/0x2ec)
[<c02c72b0>] (dev_hard_start_xmit) from [<c02dd848>] (sch_direct_xmit+0x78/0x180)
[<c02dd848>] (sch_direct_xmit) from [<c02c76c4>] (__dev_queue_xmit+0x28c/0x4b4)
[<c02c76c4>] (__dev_queue_xmit) from [<c034d9a8>] (ncsi_xmit_cmd+0x1a8/0x204)
[<c034d9a8>] (ncsi_xmit_cmd) from [<c034f554>] (ncsi_dev_start+0x84/0x3a8)
[<c034f554>] (ncsi_dev_start) from [<c034ff64>] (ncsi_dev_work+0x1a0/0x1ec)
[<c034ff64>] (ncsi_dev_work) from [<c00263e4>] (process_one_work+0x1bc/0x2f8)
[<c00263e4>] (process_one_work) from [<c0026544>] (process_scheduled_works+0x24/0x2c)
[<c0026544>] (process_scheduled_works) from [<c0026aa4>] (worker_thread+0x2d8/0x3f0)
[<c0026aa4>] (worker_thread) from [<c002a650>] (kthread+0xc4/0xd8)
[<c002a650>] (kthread) from [<c000a2e0>] (ret_from_fork+0x14/0x34)
Code: e1a03b83 e081220c e1a03ba3 e584347c (e582000c) 
---[ end trace b79e5d9832c7fe8d ]---
Kernel panic - not syncing: Fatal exception in interrupt
---[ end Kernel panic - not syncing: Fatal exception in interrupt

MTD driver to host PNOR issue

I've been testing out the MTD driver.
Minimal testing has uncovered an issue in that reading from /dev/mtd7 (the host PNOR) is unreliable.
$ dd if=/dev/mtd7 of=/tmp/pnor count=1
Appears to work, what looks like an FFS header is in /tmp/pnor. Repeating that command reads all FF.

Didn't reproduce on /dev/mtd0.

NCSI not working on ast2500

Running dev-4.7 with @amboar's ftgmac100 fixes on an ast2500 platform with NCSI, we boot and bring up the device:

# ifconfig eth0 up
ftgmac100_open
ftgmac100_reset_hw
ftgmac100_init_hw
ftgmac100_start_hw
ncsi_start_dev
ncsi_start_dev ncsi_dev_state_registered
ncsi_start_dev not populated
# 
# ftgmac100: NCSI interface down

Seen that before on palmetto. Normally bringing the device down and back up again a few times works. However it does not in this case:

# ifconfig eth0 down
# 
# ifconfig eth0 up
ftgmac100_open
ftgmac100_reset_hw
ftgmac100_init_hw
ftgmac100_start_hw
ncsi_start_dev
ncsi_start_dev ncsi_dev_state_registered
ncsi_start_dev no active channel
ftgmac100 1e660000.ethernet eth0: nsci_start_dev failed
ftgmac100_open err
ifconfig: SIOCSIFFLAGS: No such device or address

reboot issues on palmetto with non-openbmc userspace

I am booting dev-4.3 and dev-4.4 on a palmetto using a simple buildroot userspace. I do not see any output on the serial console after rebooting. Using an openbmc userspace this works fine.

The differences in the SCU and SMC (flash) registers are:

Name Address openbmc buildroot
System Reset Control/Status 0x1e6e203c 0x00000001 0x00000003
Watchdog Reset Selection 0x1e6e209c 0x001FDFF3 0x003FFFF3

tmp423 probe is failing

On palmetto, the tmp423 that is in device tree is not being instantiated:

[ 67.340000] tmp421 2-004c: Could not read configuration register (-5)
[ 67.350000] tmp421: probe of 2-004c failed with error -5

but, I can read the mfg and device id reg manually and they look ok:

root@palmetto:~# i2cget 2 0x4c 0xff b
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will read from device file /dev/i2c-2, chip address 0x4c, data address
0xff, using read byte data.
Continue? [Y/n]
0x23

I also tried to manually instantiate the occ driver, and it gives an error too on Palmetto only. Barreleye is fine. the lm75 works fine on Barreleye.

LED sub-node property "default-state" is not working

Currently the beep LED turns to OFF during kernel loading.
I tried to keep beep LED as solid ON and plan to turn it off by skeleton service once it is available.
Depend on the LED sub-node properties descriptions, it can be accomplished by default-state = "on", but it is not working. The LED will be turned to OFF during create_gpio_led function.
Here are my rough debug and seems that the value didn't be success write into the gpio.
Sorry that I have no idea how trace chip->direction_output for further debug.
Is there any known issue or fix from new kernel regarding to the gpiod_direction_output function?

My changes:

diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-barreleye.dts b/arch/arm/boot/dts/aspeed-bmc-opp-barreleye.dts
index 0e567e8..5d9e060 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-barreleye.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-barreleye.dts
@@ -138,6 +138,7 @@
                };
                beep {
                        gpios = <&gpio 111 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
                };
        };
 };
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 4e4c308..66c39d1 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -1154,9 +1154,11 @@ static int _gpiod_direction_output_raw(struct gpio_desc *desc, int value)
                return -EIO;
        }

+printk("\t%s\twrite value %d to gpio %d\n",__func__,value,gpio_chip_hwgpio(desc));
        status = chip->direction_output(chip, gpio_chip_hwgpio(desc), value);
        if (status == 0)
                set_bit(FLAG_IS_OUT, &desc->flags);
+printk("\t%s\tread value from gpio %d = %d\n",__func__,gpio_chip_hwgpio(desc),gpiod_get_value(desc));
        trace_gpio_value(desc_to_gpio(desc), 0, value);
        trace_gpio_direction(desc_to_gpio(desc), 0, status);
        return status;
diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
index 5db4515..65e29b4 100644
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -139,9 +140,12 @@ static int create_gpio_led(const struct gpio_led *template,
        if (!template->retain_state_suspended)
                led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME;

+printk("%s\t%s, %s (%s,line%d)\n",__func__,led_dat->cdev.name, (gpiod_is_active_low(led_dat->gpiod)==1)?"ACTIVE_LOW":"ACTIVE_HIGH",__FILE__,__LI
+printk("%s\tset default state = %d,orig direction/value = %s/%d\n",__func__,state,(gpiod_get_direction(led_dat->gpiod)==1)?"Input":"Output",gpio
        ret = gpiod_direction_output(led_dat->gpiod, state);
        if (ret < 0)
                return ret;
+printk("%s\tcurrent direction/value after set = %s/%d\n",__func__,(gpiod_get_direction(led_dat->gpiod)==1)?"Input":"Output",gpiod_get_value(led_

        INIT_WORK(&led_dat->work, gpio_led_work);
create_gpio_led beep, ACTIVE_HIGH (/home/openbmc/build/tmp/work-shared/barreleye/kernel-source/drivers/leds/leds-gpio.c,line143)
create_gpio_led set default state = 1,orig direction/value = Output/1
        _gpiod_direction_output_raw     write value 1 to gpio 111
        _gpiod_direction_output_raw     read value from gpio 111 = 0
create_gpio_led current direction/value after set = Output/0

SCU and GPIO register modify

Please help to change the below setting since there was a GPIO debouce issue.
1E6E20A8 bit24 =1
1E780048 bit0 = 1
1E78004C bit0 = 1
1E780058 = 75300h

kernel unable to access tmp421 and ds1307

@bradbishop commented on Wed Jun 29 2016

Similar to openbmc/u-boot#11, this seems to be a hangup for the kernel due to the move from 2013.07 to 2016.05.

On bmc boot the rtc and tmp421 sensor cannot be accessed:

rtc-ds1307: probe of 0-0068 failed with error -5
tmp421 2-004c: Could not read configuration register (-5)
tmp421: probe of 2-004c failed with error -5


@shenki commented on Thu Jun 30 2016

Thanks for testing. I assume this is on Palmetto as well? Can you reproduce in Qemu?

We want these opened as kernel issues. We need the kernel handle poorly configured hardware.


@legoater commented on Thu Jun 30 2016

The previous u-boot was adding an I2C driver which was doing a reset of the I2C controller.

Should we add such a reset in the machine setup in the kernel ?


@williamspatrick commented on Thu Jul 14 2016

@shenki - Do you want this moved to kernel? You can move it with 'zenhub' (or I can do it for you).


@shenki commented on Tue Jul 19 2016

Yes, lets move this to the kernel

[Barreleye] ftgmac100 1e660000.ethernet eth0

@Kenthliu reported the following issue with tag openbmc tag v1.0:

Test AC cycle fails:
We found a lot of "kernel[]: ftgmac100 1e660000.ethernet eth0: rx crc err" and "kernel []: ftgmac100 1e660000.ethernet eth0: rx frame too long" messages in BMC console.

Here is the AC cycle step

  1. AC on
  2. BMC power on and enter to host
  3. There is a script in Ubuntu system. The script will send command to RMC via LAN.
  4. RMC make system AC off, then AC on.

We found the system stop at step 3.
At that situation, BMC is still alive, but showed many ftgmac error message.
So I suspect the LAN has some problems.
accycle log.txt

Attachment is the console and journalctl log.

NCSI kernel warnings

dev-4.7 7b7b6e8 on a Palmetto

[19919.800000] ftgmac100 1e660000.ethernet eth0: NCSI interface down
[19919.800000] ------------[ cut here ]------------
[19919.800000] WARNING: CPU: 0 PID: 125 at net/ncsi/ncsi-manage.c:221 ncsi_start_channel_monitor+0x48/0x94
[19919.800000] Modules linked in:
[19919.800000] CPU: 0 PID: 125 Comm: kworker/0:1 Not tainted 4.7.2 #2
[19919.800000] Hardware name: ASpeed SoC
[19919.800000] Workqueue: events ncsi_dev_work
[19919.800000] [<c01077b4>] (unwind_backtrace) from [<c010539c>] (show_stack+0x10/0x14)
[19919.800000] [<c010539c>] (show_stack) from [<c010f5f4>] (__warn+0xdc/0xf8)
[19919.800000] [<c010f5f4>] (__warn) from [<c010f704>] (warn_slowpath_null+0x1c/0x24)
[19919.800000] [<c010f704>] (warn_slowpath_null) from [<c03b6254>] (ncsi_start_channel_monitor+0x48/0x94)
[19919.800000] [<c03b6254>] (ncsi_start_channel_monitor) from [<c03b7234>] (ncsi_configure_channel+0x274/0x2b4)
[19919.800000] [<c03b7234>] (ncsi_configure_channel) from [<c03b7990>] (ncsi_dev_work+0x3a8/0x3d8)
[19919.800000] [<c03b7990>] (ncsi_dev_work) from [<c0122bc0>] (process_one_work+0x228/0x404)
[19919.800000] [<c0122bc0>] (process_one_work) from [<c01239cc>] (worker_thread+0x290/0x3e0)
[19919.800000] [<c01239cc>] (worker_thread) from [<c0127ea4>] (kthread+0xd0/0xe4)
[19919.800000] [<c0127ea4>] (kthread) from [<c01024b0>] (ret_from_fork+0x14/0x24)
[19919.800000] ---[ end trace 86be865441a71a89 ]---
[19919.800000] ftgmac100 1e660000.ethernet eth0: NCSI interface up

fib6_walk_continue: Unable to handle kernel paging request at virtual address 12005456

I've seen this panic with 6d93f62 a number of times under qemu's palmetto-bmc machine. Unsure at this stage whether it's the kernel or something qemu is doing wrong and I admit my qemu build is a bit of a mashup, but here's the panic output:

Unable to handle kernel paging request at virtual address 12005456
pgd = c0004000
[12005456] *pgd=00000000
Internal error: Oops: 5 [#1] ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 4.7.1-00053-g6d93f625315a-dirty #579
Hardware name: ASpeed SoC
task: c040c700 ti: c0408000 task.ti: c0408000
PC is at fib6_walk_continue+0x74/0x168
LR is at fib6_clean_node+0xb8/0x160
pc : [<c02991d0>]    lr : [<c029af0c>]    psr: 80000113
sp : c0409d90  ip : 00000001  fp : c8c0f280
r10: c029ae54  r9 : c02992dc  r8 : 00000000
r7 : c0409e34  r6 : 00000633  r5 : 00000002  r4 : c0409dc8
r3 : 12005452  r2 : 00000000  r1 : c8e31b60  r0 : 00000000
Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 00093177  Table: 48da0000  DAC: 00000051
Process swapper (pid: 0, stack limit = 0xc0408190)
Stack: (0xc0409d90 to 0xc040a000)
9d80:                                     c0409dc8 c0422908 c0422d28 c02998b8
9da0: 00000000 c040a028 c0422908 c0299c40 00000000 00000000 c0299b9c 60000193
9dc0: c040ca88 c8c0f28c c0422cd4 c0422cd4 c8c0f2a8 12005452 c8fafaa0 00000000
9de0: c040ca00 00000000 00000004 c029ae54 c0426e50 c0422908 c02992dc 00000000
9e00: c0409e34 dc8ba501 c029785c c0422908 00000bb8 c040a028 c0422ca0 c0422d38
9e20: c0414200 c0422908 00000200 c029b040 00000001 00000bb8 00000000 dc8ba501
9e40: 00000000 c0409e74 ffffe000 c040a028 00000100 00000001 c029b0a8 c004e9c8
9e60: 00000001 00000000 c004e954 60000193 c040ca88 c09b11b4 c0577c10 00000000
9e80: c039fceb dc8ba501 c04139c0 c0414200 c0413dfc c0422ca0 c04139c0 c029b0a8
9ea0: c0422908 c004f150 c040a028 00000000 00000000 dc8ba501 00000000 c0408000
9ec0: 40000001 00200000 00000002 c042d8e0 0000000a c042d904 00000100 c0019b90
9ee0: c040c700 df407100 df40715c ffff9f29 00000002 c0414200 c042d900 00000001
9f00: c041ad24 00000000 c041ad24 00000000 df402200 00000001 dfffce80 c03f9a48
9f20: 00000000 c0019f18 00000000 c0045b10 df405020 00000001 c0409f60 00000000
9f40: 00000020 c00094a8 c000ad14 60000013 ffffffff c0409f94 c040a020 c000de30
9f60: 00000000 00093177 00092177 60000013 c0408000 00000001 ffffffff c040a028
9f80: c040a020 dfffce80 c03f9a48 00000000 600000d3 c0409fb0 c000ad08 c000ad14
9fa0: 60000013 ffffffff 00000053 c005e3e0 c0408000 c003ae58 c042d20c c03dbc4c
9fc0: ffffffff ffffffff 00000000 c03db6a8 c03f9a48 00000000 c042d334 c040a03c
9fe0: c03f9a44 c040dd24 40004000 41069265 403f7c2c 40008048 00000000 00000000
[<c02991d0>] (fib6_walk_continue) from [<c02998b8>] (fib6_walk+0x4c/0x68)
[<c02998b8>] (fib6_walk) from [<c0299c40>] (__fib6_clean_all+0xa4/0xfc)
[<c0299c40>] (__fib6_clean_all) from [<c029b040>] (fib6_run_gc+0x80/0xe8)
[<c029b040>] (fib6_run_gc) from [<c004e9c8>] (call_timer_fn+0x74/0x118)
[<c004e9c8>] (call_timer_fn) from [<c004f150>] (run_timer_softirq+0x1ac/0x1fc)
[<c004f150>] (run_timer_softirq) from [<c0019b90>] (__do_softirq+0xc0/0x1f0)
[<c0019b90>] (__do_softirq) from [<c0019f18>] (irq_exit+0x84/0xe8)
[<c0019f18>] (irq_exit) from [<c0045b10>] (__handle_domain_irq+0x84/0xa0)
[<c0045b10>] (__handle_domain_irq) from [<c00094a8>] (avic_handle_irq+0x68/0x70)
[<c00094a8>] (avic_handle_irq) from [<c000de30>] (__irq_svc+0x50/0x64)
Exception stack(0xc0409f60 to 0xc0409fa8)
9f60: 00000000 00093177 00092177 60000013 c0408000 00000001 ffffffff c040a028
9f80: c040a020 dfffce80 c03f9a48 00000000 600000d3 c0409fb0 c000ad08 c000ad14
9fa0: 60000013 ffffffff
[<c000de30>] (__irq_svc) from [<c000ad14>] (arch_cpu_idle+0x2c/0x34)
[<c000ad14>] (arch_cpu_idle) from [<c003ae58>] (cpu_startup_entry+0x7c/0xd8)
[<c003ae58>] (cpu_startup_entry) from [<c03dbc4c>] (start_kernel+0x354/0x3e0)
Code: c02991d0 c02991e4 c0299208 c0299260 (e5932004) 
---[ end trace 50fcc4bab94a343d ]---
Kernel panic - not syncing: Fatal exception in interrupt
---[ end Kernel panic - not syncing: Fatal exception in interrupt

hwclock displaying error on empty date with kernel openbmc-20151210-1

When AC cycle is applied, the RTC date is empty (issue been tracked separately to find out why the RTC is not persisting the date).
With kernel 201521202, issuing "hwclock" from the BMC command line displays the epoch time.
After updating to kernel openbmc-20151210-1, hwclock displays an error:

root@barreleye:~# hwclock
hwclock: RTC_RD_TIME: Invalid argument

After updating the RTC via "hwclock -w", the "hwclock" command will display the date, so the issue is only when the RTC is empty.

openbmc/qemu does not support segment registers

I'm hitting a kernel panic when running the qemu palmetto-bmc machine.

I'm building qemu from the upstream openbmc/qemu tree, using steps described here.

$ git clone https://github.com/openbmc/qemu.git
$ cd qemu
$ git submodule update --init dtc
$ mkdir build
$ cd build
$ ../configure --target-list=arm-softmmu
$ make

Version looks correct for the newly built QEMU

ubuntu@mjturek-openbmc:~$ qemu/build/arm-softmmu/qemu-system-arm -version
QEMU emulator version 2.6.90 (v2.5.0-4924-g8b4e141-dirty), Copyright (c) 2003-2008 Fabrice Bellard

I build the image with the steps described here.

$ git clone https://github.com/openbmc/openbmc.git
$ cd openbmc
$ TEMPLATECONF=meta-openbmc-machines/meta-openpower/meta-ibm/meta-palmetto/conf . oe-init-build-env
$ bitbake obmc-phosphor-image

This creates the image openbmc/build/tmp/deploy/images/palmetto/flash-palmetto-<datetime>

Finally I run qemu as described here:

qemu-system-arm -m 256 -M palmetto-bmc -nographic \
-drive file=openbmc/build/tmp/deploy/images/palmetto/flash-palmetto-<datetime>,format=raw,if=mtd \
-net nic \
-net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu \

Which eventually fails with this kernel panic

U-Boot 2016.07 (Oct 27 2016 - 14:59:03 +0000)

DRAM:  240 MiB
WARNING: Caches not enabled
Flash: 32 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   aspeednic#0
Error: aspeednic#0 address not set.

Hit any key to stop autoboot:  0 
## Booting kernel from Legacy Image at 20080000 ...
   Image Name:   Phosphor OpenBMC (Phosphor OpenB
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1531599 Bytes = 1.5 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 20300000 ...
   Image Name:   obmc-phosphor-image
   Image Type:   ARM Linux RAMDisk Image (lzma compressed)
   Data Size:    1567532 Bytes = 1.5 MiB
   Load Address: 40800000
   Entry Point:  40800000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.7.10-32ede9ab3deda73c484c4e2d372863bb73d0f7e0 (ubuntu@mjturek-openbmc) (gcc version 5.3.0 (GCC) ) #1 Thu Oct 27 15:04:48 UTC 2016
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00093177
CPU: VIVT data cache, VIVT instruction cache
Machine model: Palmetto BMC
Memory policy: Data cache writeback
SOC Rev: 02000303
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 60960
Kernel command line: console=ttyS4,115200n8 root=/dev/ram rw
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 236556K/245760K available (3173K kernel code, 130K rwdata, 740K rodata, 1024K init, 109K bss, 9204K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xcf800000 - 0xff800000   ( 768 MB)
    lowmem  : 0xc0000000 - 0xcf000000   ( 240 MB)
      .text : 0xc0008000 - 0xc04d252c   (4906 kB)
      .init : 0xc0500000 - 0xc0600000   (1024 kB)
      .data : 0xc0600000 - 0xc0620bc0   ( 131 kB)
       .bss : 0xc0620bc0 - 0xc063c368   ( 110 kB)
NR_IRQS:16 nr_irqs:16 16
clocksource: moxart_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 39817925974 ns
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
Calibrating delay loop... 1007.61 BogoMIPS (lpj=5038080)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x40100000 - 0x4010003c
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
clocksource: Switched to clocksource moxart_timer
NET: Registered protocol family 2
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 1532K (c0800000 - c097f000)
futex hash table entries: 256 (order: -1, 3072 bytes)
workingset: timestamp_bits=29 max_order=16 bucket_order=0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
jffs2: version 2.2. (NAND) (SUMMARY)  ยฉ 2001-2006 Red Hat, Inc.
io scheduler noop registered (default)
GPIO line 340 (func_mode0) hogged as output/low
GPIO line 341 (func_mode1) hogged as output/low
GPIO line 342 (func_mode2) hogged as output/low
GPIO line 320 (A0) hogged as input
GPIO line 321 (A1) hogged as output/high
GPIO line 329 (B1) hogged as output/high
GPIO line 330 (B2) hogged as output/high
GPIO line 335 (B7) hogged as output/high
GPIO line 345 (D1) hogged as output/high
GPIO line 361 (F1) hogged as input
GPIO line 364 (F4) hogged as input
GPIO line 365 (F5) hogged as input
GPIO line 367 (F7) hogged as output/high
GPIO line 371 (G3) hogged as output/high
GPIO line 372 (G4) hogged as input
GPIO line 373 (G5) hogged as input
GPIO line 376 (H0) hogged as input
GPIO line 377 (H1) hogged as input
GPIO line 378 (H2) hogged as output/high
GPIO line 382 (H6) hogged as output/high
GPIO line 383 (H7) hogged as output/high
Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
console [ttyS4] disabled
1e784000.serial: ttyS4 at MMIO 0x1e784000 (irq = 20, base_baud = 1500000) is a 16550A
console [ttyS4] enabled
1e787000.vuart: ttyS0 at MMIO 0x1e787000 (irq = 19, base_baud = 1500000) is a 16550A
brd: module loaded
loop: module loaded
bt-host 1e789140.ibt: Found bt host device
bt-host 1e789140.ibt: Using IRQ 19
aspeed-smc 1e620000.fmc: Using IRQ 22
aspeed-smc 1e620000.fmc: DMA support deactivated.
platform 1e620000.fmc:flash@0: CE segment window closed.
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 805 [#1] ARM
CPU: 0 PID: 1 Comm: swapper Not tainted 4.7.10-32ede9ab3deda73c484c4e2d372863bb73d0f7e0 #1
Hardware name: ASpeed SoC
task: ce8113e0 ti: ce828000 task.ti: ce828000
PC is at aspeed_smc_to_fifo+0x38/0xa8
LR is at aspeed_smc_read_reg+0x40/0x78
pc : [<c02d0fb4>]    lr : [<c02d1aa0>]    psr: 20000153
sp : ce829d88  ip : 60000153  fp : ce88f320
r10: cee1816c  r9 : 00000000  r8 : ce829db6
r7 : 00000006  r6 : ce829d8f  r5 : ce80c438  r4 : ce80c410
r3 : 0000009f  r2 : 00000001  r1 : ce829d90  r0 : 00000000
Flags: nzCv  IRQs on  FIQs off  Mode SVC_32  ISA ARM  Segment none
Control: 00093177  Table: 40004000  DAC: 00000053
Process swapper (pid: 1, stack limit = 0xce828190)
Stack: (0xce829d88 to 0xce82a000)
9d80:                   ce80c438 9f00009f c02d1a60 c060200c 00000000 ce80c438
9da0: c060200c c02cf694 ce9e7f18 c060200c cea6c0f0 cee1816c cea6c0f0 05ed5e46
9dc0: cea6c0f0 ce80c438 cea6c0f0 00000000 ce9e7f10 c02d048c 00000004 c02b1848
9de0: c049a5cc c04a0a4c cea68a40 ce829dfc c060200c c02b1afc ce829e18 05ed5e46
9e00: ce80c410 cea6c0f0 cee1816c ce80c438 c0427024 cea6c0f0 800f0002 c02d18e4
9e20: 00000080 c04a3bd8 cea6c0f0 cea6b410 c0427024 c060200c 00000000 05ed5e46
9e40: c0521840 ce89aa10 c06140bc c0633ea4 00000000 00000000 c0521840 c0620bc0
9e60: 00000000 c02b58f0 ce89aa10 c06140bc c0633ea4 c02b4510 c06140bc ce89aa10
9e80: ce89aa10 ce89aa44 c06140bc c02b473c c061e178 c02b4804 00000000 c060200c
9ea0: c06140bc c02b29a8 c061e178 ce83f4ec ce88fc90 05ed5e46 cea6c140 c06140bc
9ec0: 00000000 cea6c140 c0613518 c02b321c c04a3bd8 c04a3bd9 c06140bc c0514c24
9ee0: c060200c 00000000 c0620bc0 c02b4ed0 00000006 c0514c24 c060200c c0500e4c
9f00: ce8070e0 ce805b00 ce805b00 c04010d8 c060200c 00000000 ceffc6e5 00000000
9f20: c04b826c c01246b0 ce8070e0 ce803260 c0628e00 c04b7d80 00000040 00000006
9f40: 00000006 c04b8280 0000003f c04b8280 00000000 05ed5e46 c0521834 00000006
9f60: c0521838 00000040 c05276d0 c0620bc0 c0521840 c0501010 00000006 00000006
9f80: 00000000 c050068c 00000000 c03e4ef0 00000000 00000000 00000000 00000000
9fa0: 00000000 c03e4ef8 00000000 c0102250 00000000 00000000 00000000 00000000
9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[<c02d0fb4>] (aspeed_smc_to_fifo) from [<c02d1aa0>] (aspeed_smc_read_reg+0x40/0x78)
[<c02d1aa0>] (aspeed_smc_read_reg) from [<c02cf694>] (spi_nor_read_id+0x2c/0xf8)
[<c02cf694>] (spi_nor_read_id) from [<c02d048c>] (spi_nor_scan+0xa8/0x7ec)
[<c02d048c>] (spi_nor_scan) from [<c02d18e4>] (aspeed_smc_probe+0x4d4/0x650)
[<c02d18e4>] (aspeed_smc_probe) from [<c02b58f0>] (platform_drv_probe+0x38/0x6c)
[<c02b58f0>] (platform_drv_probe) from [<c02b4510>] (driver_probe_device+0x1ac/0x3d8)
[<c02b4510>] (driver_probe_device) from [<c02b4804>] (__driver_attach+0xc8/0x108)
[<c02b4804>] (__driver_attach) from [<c02b29a8>] (bus_for_each_dev+0x78/0xb4)
[<c02b29a8>] (bus_for_each_dev) from [<c02b321c>] (bus_add_driver+0x110/0x230)
[<c02b321c>] (bus_add_driver) from [<c02b4ed0>] (driver_register+0x9c/0xe0)
[<c02b4ed0>] (driver_register) from [<c0500e4c>] (do_one_initcall+0xb8/0x17c)
[<c0500e4c>] (do_one_initcall) from [<c0501010>] (kernel_init_freeable+0x100/0x1c4)
[<c0501010>] (kernel_init_freeable) from [<c03e4ef8>] (kernel_init+0x8/0x10c)
[<c03e4ef8>] (kernel_init) from [<c0102250>] (ret_from_fork+0x14/0x24)
Code: e12fff1e e3110001 0a000002 e4d13001 (e5c03000) 
---[ end trace e616f81fa9521a14 ]---
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

I've tried in both Ubuntu 14.04 and Ubuntu 16.04 with the same result.

As far as I can tell, I've followed the steps properly. Am I missing something or am I hitting a bug?

Investigate why we need CONFIG_SHMEM=y

@amboar wrote:

Subject: [PATCH] aspeed_defconfig: Enable SHMEM and TMPFS

Without enabling these options we get strange behaviour under qemu,
where it appears uevents aren't generated to create device nodes for
ttyS{0,4,5}. As a consequence we don't receive a getty on the console.

C=C3=A9dric narrowed down the list of options initially at [1],
and with a patch to the qemu timer model[2] we can retain the
CONFIG_NO_HZ_IDLE=3Dy configuration.

[1] openbmc/qemu#4
[2] https://lists.ozlabs.org/pipermail/openbmc/2016-May/003209.html

The CONFIG_SHMEM Kconfig has this to say:

CONFIG_SHMEM: โ”‚
The shmem is an internal filesystem used to manage shared memory.
It is backed by swap and manages resource limits. It is also exported
to userspace as tmpfs if TMPFS is enabled. Disabling this
option replaces shmem and tmpfs with the much simpler ramfs code,
which may be appropriate on small systems without swap.

This suggests that when we disable SHMEM we should still be okay, and as we're a "small system without swap" this is an appropriate thing to disable. Perhaps there is some breakage upstream?

ftgmac crashing

I am on palm303. I am testing with Sprint 3 Candidate #114

 root@palmetto:~# ------------[ cut here ]------------
 WARNING: CPU: 0 PID: 0 at /home/causten/openbmc-barreleye/build/tmp/work-shared/palmetto> /kernel-source/kernel/softirq.c:150 __local_bh_enable_ip+0x48/0xbc()
 Modules linked in:
 CPU: 0 PID: 0 Comm: swapper Not tainted 4.3.0-openbmc-20151202-1 #1
 Hardware name: ASpeed SoC
 [<c000f28c>] (unwind_backtrace) from [<c000cf0c>] (show_stack+0x10/0x14)
 [<c000cf0c>] (show_stack) from [<c0016734>] (warn_slowpath_common+0x84/0xac)
 [<c0016734>] (warn_slowpath_common) from [<c00167ec>] (warn_slowpath_null+0x18/0x20)
 [<c00167ec>] (warn_slowpath_null) from [<c0018eb4>] (__local_bh_enable_ip+0x48/0xbc)
 [<c0018eb4>] (__local_bh_enable_ip) from [<c02d9fac>] (dst_alloc+0x50/0x84)
 [<c02d9fac>] (dst_alloc) from [<c02f3848>] (rt_dst_alloc+0x4c/0x58)
 [<c02f3848>] (rt_dst_alloc) from [<c02f5118>] (ip_route_input_noref+0x60c/0x7dc)
 [<c02f5118>] (ip_route_input_noref) from [<c0321394>] (arp_process+0x22c/0x668)
 [<c0321394>] (arp_process) from [<c0321b04>] (arp_rcv+0x108/0x17c)
 [<c0321b04>] (arp_rcv) from [<c02cf064>] (__netif_receive_skb_core+0x674/0x7a8)
 [<c02cf064>] (__netif_receive_skb_core) from [<c02d0658>] (netif_receive_skb_internal+0x4c/0x58)
 [<c02d0658>] (netif_receive_skb_internal) from [<c02d0df0>] (napi_gro_receive+0x48/0x9c)
 [<c02d0df0>] (napi_gro_receive) from [<c0239084>] (ftgmac100_poll+0x398/0x594)
 [<c0239084>] (ftgmac100_poll) from [<c02d129c>] (net_rx_action+0xe0/0x290)
 [<c02d129c>] (net_rx_action) from [<c0018ca0>] (__do_softirq+0xc0/0x1ec)
 [<c0018ca0>] (__do_softirq) from [<c003af50>] (__handle_domain_irq+0x84/0xa0)
 [<c003af50>] (__handle_domain_irq) from [<c00093cc>] (avic_handle_irq+0x5c/0x64)
 [<c00093cc>] (avic_handle_irq) from [<c000d970>] (__irq_svc+0x50/0x64)
 Exception stack(0xc04f3f60 to 0xc04f3fa8)
 3f60: 00000000 0005317f 0005217f 60000013 c04f2000 00000001 c04f4068 c04f4000
 3f80: c04e6a28 dbdfcec0 404e5768 00000000 600000d3 c04f3fb0 c000ab98 c000aba4
 3fa0: 60000013 ffffffff
 [<c000d970>] (__irq_svc) from [<c000aba4>] (arch_cpu_idle+0x2c/0x34)
 [<c000aba4>] (arch_cpu_idle) from [<c0034ce0>] (cpu_startup_entry+0x7c/0xd4)
 [<c0034ce0>] (cpu_startup_entry) from [<c04c6bf4>] (start_kernel+0x32c/0x3a0)
 ---[ end trace 9f44e726bf4b59cf ]---

multi sector erase and write broken

When fw_setenv tries to erase the whole 128kB environment with one ioctl call the erase gails and the flash status register shows programming error status. Breaking the erase command into erase blocks should be handled by the spi-nor layer but is not working as of 4.3.

The busybox flash_cp command always uses one erase block per system call and is ok. The workaround is to copy the environment to ram in init and back if different at shutdown in the initramfs layer.

Note this also unifies /etc/fw_env.cfg at the cost of no redundant env support and lack of update on crash.

OCC driver is non-functional

Commit 087feba breaks the OCC hwmon driver. root@barreleye:/sys/bus/i2c/devices/3-0050# echo 1 > online
occ-i2c 3-0050: ERROR: no SENSOR String in response
occ-i2c 3-0050: ERROR: cannot get occ sensor data: -1
-sh: echo: write error: Operation not permitted

If I don't apply this commit, the driver works fine:
uname -r
4.3.4-fe68a785afbaa305506c87c6324f70ed0605385c

ls /sys/class/hwmon
hwmon0 hwmon1 hwmon2 hwmon3 hwmon4

Looks to me like line 582 in drivers/hwmon/power8_occ_i2c.c should not have been removed.

ncsi error on boot

@gwshan, I'm seeing this on boot with my 4.4 based aspeed tree:

ftgmac100: NCSI dev is down

I then did a ifconfig eth0 down and enabled debugging:

# echo "file net/ncsi/* +p" > control 
# echo "file drivers/net/ethernet/faraday/ftgmac100.c +p" > control 
# ifconfig eth0 up

Some time later (at least several seconds, perhaps a minute?) I got this:

ncsi_dev_start: Unrecognized NCSI dev state 0x304
ftgmac100: NCSI dev is up

And the interface was functional.

[i2c_aspeed]: i2c_aspeed reports error when calling "i2c_smbus_read_block_data()"

obmc linux version:

root@barreleye:~# uname -a
Linux barreleye 4.3.6-openbmc-20160222-1 #1 Mon Feb 29 11:07:55 CST 2016 armv5tejl GNU/Linux

When run a short test like bellow:

 u8 block_buffer[I2C_SMBUS_BLOCK_MAX + 1];
 ret = i2c_smbus_read_block_data(client, 0x99, block_buffer);

i2c_aspeed driver will give error:

i2c_aspeed i2c-4: Invalid state (msg cfb1bcac, pending 8)?

ftgmac driver has locking issues

I've booted a kernel with CONFIG_LOCKDEP, but it crashes on DHCP:

root@palmetto:/sys/class/gpio# udhcpc
udhcpc (v1.23.2) started

=================================
[ INFO: inconsistent lock state ]
4.2.0-00056-gd4643a2 #54 Not tainted
---------------------------------
inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
kworker/0:0/810 [HC0[0]:SC1[1]:HE1:SE0] takes:
 (&(&ndp->ndp_req_lock)->rlock){+.?...}, at: [<c03a087c>] ncsi_rcv_rsp+0x3c/0xfc
{SOFTIRQ-ON-W} state was registered at:
  [<c03b0048>] _raw_spin_lock+0x28/0x38
  [<c03a1af4>] ncsi_alloc_req+0x14/0x108
  [<c039f238>] ncsi_xmit_cmd+0x78/0x208
  [<c03a0f54>] ncsi_dev_start+0x84/0x3c0
  [<c03a1a00>] ncsi_dev_work+0x1b8/0x1fc
  [<c002b7c8>] process_one_work+0x22c/0x3d0
  [<c002beb8>] worker_thread+0x2a4/0x3dc
  [<c00301bc>] kthread+0xc4/0xd8
  [<c000a3b0>] ret_from_fork+0x14/0x24
irq event stamp: 112342
hardirqs last  enabled at (112342): [<c00568e8>] ktime_get_with_offset+0x9c/0x178
hardirqs last disabled at (112341): [<c005689c>] ktime_get_with_offset+0x50/0x178
softirqs last  enabled at (112300): [<c0300bec>] __dev_queue_xmit+0x63c/0x6cc
softirqs last disabled at (112301): [<c001981c>] do_softirq+0x48/0x70

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&(&ndp->ndp_req_lock)->rlock);
  <Interrupt>
    lock(&(&ndp->ndp_req_lock)->rlock);

 *** DEADLOCK ***

3 locks held by kworker/0:0/810:
 #0:  ("events"){.+.+.+}, at: [<c002b754>] process_one_work+0x1b8/0x3d0
 #1:  ((&ndp->ndp_work)){+.+...}, at: [<c002b754>] process_one_work+0x1b8/0x3d0
 #2:  (rcu_read_lock){......}, at: [<c02fdba8>] netif_receive_skb_internal+0x48/0x138

stack backtrace:
CPU: 0 PID: 810 Comm: kworker/0:0 Not tainted 4.2.0-00056-gd4643a2 #54
Hardware name: ASpeed SoC
Workqueue: events ncsi_dev_work
[<c000f2a0>] (unwind_backtrace) from [<c000cf48>] (show_stack+0x10/0x14)
[<c000cf48>] (show_stack) from [<c03a9130>] (print_usage_bug.part.31+0x228/0x294)
[<c03a9130>] (print_usage_bug.part.31) from [<c003ebc8>] (mark_lock+0x410/0x64c)
[<c003ebc8>] (mark_lock) from [<c003fa60>] (__lock_acquire+0x7b8/0x1adc)
[<c003fa60>] (__lock_acquire) from [<c0041500>] (lock_acquire+0x70/0x90)
[<c0041500>] (lock_acquire) from [<c03b0048>] (_raw_spin_lock+0x28/0x38)
[<c03b0048>] (_raw_spin_lock) from [<c03a087c>] (ncsi_rcv_rsp+0x3c/0xfc)
[<c03a087c>] (ncsi_rcv_rsp) from [<c02fced0>] (__netif_receive_skb_core+0x6c0/0x7fc)
[<c02fced0>] (__netif_receive_skb_core) from [<c02fdc14>] (netif_receive_skb_internal+0xb4/0x138)
[<c02fdc14>] (netif_receive_skb_internal) from [<c02fe8a4>] (napi_gro_receive+0x48/0x9c)
[<c02fe8a4>] (napi_gro_receive) from [<c0264588>] (ftgmac100_poll+0x38c/0x5b8)
[<c0264588>] (ftgmac100_poll) from [<c02fe0b4>] (net_rx_action+0xe8/0x2a0)
[<c02fe0b4>] (net_rx_action) from [<c0019618>] (__do_softirq+0x108/0x26c)
[<c0019618>] (__do_softirq) from [<c001981c>] (do_softirq+0x48/0x70)
[<c001981c>] (do_softirq) from [<c001990c>] (__local_bh_enable_ip+0xc8/0x104)
[<c001990c>] (__local_bh_enable_ip) from [<c0300c08>] (__dev_queue_xmit+0x658/0x6cc)
[<c0300c08>] (__dev_queue_xmit) from [<c039f36c>] (ncsi_xmit_cmd+0x1ac/0x208)
[<c039f36c>] (ncsi_xmit_cmd) from [<c03a0f54>] (ncsi_dev_start+0x84/0x3c0)
[<c03a0f54>] (ncsi_dev_start) from [<c03a1a00>] (ncsi_dev_work+0x1b8/0x1fc)
[<c03a1a00>] (ncsi_dev_work) from [<c002b7c8>] (process_one_work+0x22c/0x3d0)
[<c002b7c8>] (process_one_work) from [<c002beb8>] (worker_thread+0x2a4/0x3dc)
[<c002beb8>] (worker_thread) from [<c00301bc>] (kthread+0xc4/0xd8)
[<c00301bc>] (kthread) from [<c000a3b0>] (ret_from_fork+0x14/0x24)
Sending discover...
BUG: spinlock lockup suspected on CPU#0, kworker/0:0/810
 lock: 0xcfa00050, .magic: dead4ead, .owner: kworker/0:0/810, .owner_cpu: 0
CPU: 0 PID: 810 Comm: kworker/0:0 Not tainted 4.2.0-00056-gd4643a2 #54
Hardware name: ASpeed SoC
Workqueue: events ncsi_dev_work
[<c000f2a0>] (unwind_backtrace) from [<c000cf48>] (show_stack+0x10/0x14)
[<c000cf48>] (show_stack) from [<c004394c>] (do_raw_spin_lock+0xd4/0x118)
[<c004394c>] (do_raw_spin_lock) from [<c03a1c24>] (ncsi_free_req+0x3c/0xe0)
[<c03a1c24>] (ncsi_free_req) from [<c03a092c>] (ncsi_rcv_rsp+0xec/0xfc)
[<c03a092c>] (ncsi_rcv_rsp) from [<c02fced0>] (__netif_receive_skb_core+0x6c0/0x7fc)
[<c02fced0>] (__netif_receive_skb_core) from [<c02fdc14>] (netif_receive_skb_internal+0xb4/0x138)
[<c02fdc14>] (netif_receive_skb_internal) from [<c02fe8a4>] (napi_gro_receive+0x48/0x9c)
[<c02fe8a4>] (napi_gro_receive) from [<c0264588>] (ftgmac100_poll+0x38c/0x5b8)
[<c0264588>] (ftgmac100_poll) from [<c02fe0b4>] (net_rx_action+0xe8/0x2a0)
[<c02fe0b4>] (net_rx_action) from [<c0019618>] (__do_softirq+0x108/0x26c)
[<c0019618>] (__do_softirq) from [<c0019a40>] (irq_exit+0x80/0xc0)
[<c0019a40>] (irq_exit) from [<c0049320>] (__handle_domain_irq+0x84/0xa0)
[<c0049320>] (__handle_domain_irq) from [<c0009438>] (avic_handle_irq+0x5c/0x64)
[<c0009438>] (avic_handle_irq) from [<c000d9c4>] (__irq_svc+0x44/0x54)
Exception stack(0xc895fdc8 to 0xc895fe10)
fdc0:                   cfa13e60 0000000e cc3cf500 cc3cf502 0000000e 00000000
fde0: 00000010 c895fe3c c1e6a3b4 cc1d2800 00000000 00000001 00000000 c895fe10
fe00: c039f314 c02efbf8 20000013 ffffffff
[<c000d9c4>] (__irq_svc) from [<c02efbf8>] (skb_push+0x38/0x44)
[<c02efbf8>] (skb_push) from [<c039f314>] (ncsi_xmit_cmd+0x154/0x208)
[<c039f314>] (ncsi_xmit_cmd) from [<c03a0fa0>] (ncsi_dev_start+0xd0/0x3c0)
[<c03a0fa0>] (ncsi_dev_start) from [<c03a1a00>] (ncsi_dev_work+0x1b8/0x1fc)
[<c03a1a00>] (ncsi_dev_work) from [<c002b7c8>] (process_one_work+0x22c/0x3d0)
[<c002b7c8>] (process_one_work) from [<c002beb8>] (worker_thread+0x2a4/0x3dc)
[<c002beb8>] (worker_thread) from [<c00301bc>] (kthread+0xc4/0xd8)
[<c00301bc>] (kthread) from [<c000a3b0>] (ret_from_fork+0x14/0x24)

moxa_timer reload issue

I observe an issue in the moxart_clkevt_next_event. Right after the timer has been disabled, the new value for MATCH1 register calculated based up on the current COUNT register. Regarding to the datasheet, after the timer disabled then it's counter's register have to be reloaded with a RELOAD register value. But it seems it is not. Seems like SoC need some cycles to reload. We read current value near the same as MATCH1 (we stops counting a little later). So, each round of clockevent gets a lesser value of MATCH1 (interval grows dramatically). For example, if we did a double read from a COUNT register, everything seems ok. If we disable then enable and disable TIMER1 again it's make a trick too.
I suggest just set negated "cycles" value to the MATCH1 register. It is already known that the RELOAD value is all "ones" right after the one shot round.

ftgmac100 oops with AST2500 EVB

The skbuff associated with the current rxdesc becomes corrupted. Here's the boot log with oops (and some extra printk()s):

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.7.0-rc1-00076-g1ca9cf04fb1f-dirty (andrew@keelia) (gcc version 5.3.1 20160413 (Ubuntu/Linaro 5.3.1-14ubuntu2) ) #532 Wed Jun 1 14:30:23 ACST 2016
CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine model: AST2500 EVB
bootconsole [earlycon0] enabled
Memory policy: Data cache writeback
SOC Rev: 04010303
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 125984
Kernel command line: console=ttyS4,115200 earlyprintk
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 488420K/507904K available (3152K kernel code, 119K rwdata, 812K rodata, 5120K init, 5648K bss, 19484K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xdf800000 - 0xff800000   ( 512 MB)
    lowmem  : 0xc0000000 - 0xdf000000   ( 496 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0xc0008000 - 0xc04df02c   (4957 kB)
      .init : 0xc0500000 - 0xc0a00000   (5120 kB)
      .data : 0xc0a00000 - 0xc0a1dd68   ( 120 kB)
       .bss : 0xc0a1dd68 - 0xc0fa1e64   (5649 kB)
NR_IRQS:16 nr_irqs:16 16
clocksource: moxart_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 77222644334 ns
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES:  8
... MAX_LOCK_DEPTH:          48
... MAX_LOCKDEP_KEYS:        8191
... CLASSHASH_SIZE:          4096
... MAX_LOCKDEP_ENTRIES:     32768
... MAX_LOCKDEP_CHAINS:      65536
... CHAINHASH_SIZE:          32768
 memory used by lock dependency info: 5151 kB
 per task-struct memory footprint: 1536 bytes
Calibrating delay loop... 783.97 BogoMIPS (lpj=3919872)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x80100000 - 0x8010005c
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
clocksource: Switched to clocksource moxart_timer
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 2, 20480 bytes)
UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
NET: Registered protocol family 1
futex hash table entries: 256 (order: 1, 11264 bytes)
workingset: timestamp_bits=29 max_order=17 bucket_order=0
Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
console [ttyS4] disabled
1e784000.serial: ttyS4 at MMIO 0x1e784000 (irq = 20, base_baud = 1500000) is a 16550A
console [ttyS4] enabled
console [ttyS4] enabled
bootconsole [earlycon0] disabled
bootconsole [earlycon0] disabled
ftgmac100 1e660000.ethernet: Read MAC address from chip 00:c0:a8:12:34:56
libphy: ftgmac100_mdio: probed
i2c /dev entries driver
i2c_aspeed 1e78a000.i2c: i2c controller registered, irq 21
i2c_aspeed i2c-0: i2c bus 0 registered, irq 214
i2c_aspeed i2c-1: i2c bus 1 registered, irq 215
i2c_aspeed i2c-2: i2c bus 2 registered, irq 216
i2c_aspeed i2c-3: i2c bus 3 registered, irq 217
i2c_aspeed i2c-4: i2c bus 4 registered, irq 218
i2c_aspeed i2c-5: i2c bus 5 registered, irq 219
i2c_aspeed i2c-6: i2c bus 6 registered, irq 220
i2c_aspeed i2c-7: i2c bus 7 registered, irq 221
i2c_aspeed i2c-8: i2c bus 8 registered, irq 222
i2c_aspeed i2c-9: i2c bus 9 registered, irq 223
i2c_aspeed i2c-10: i2c bus 10 registered, irq 224
i2c_aspeed i2c-11: i2c bus 11 registered, irq 225
i2c_aspeed i2c-12: i2c bus 12 registered, irq 226
i2c_aspeed i2c-13: i2c bus 13 registered, irq 227
NET: Registered protocol family 17
kmemleak: Kernel memory leak detector initialized
kmemleak: Automatic memory scanning thread started
hctosys: unable to open rtc device (rtc0)
Freeing unused kernel memory: 5120K (c0500000 - c0a00000)
Starting logging: OK
Initializing random number generator... random: dd urandom read with 2 bits of entropy available
done.
Starting network...
ftgmac100: Setting rxdes2: rxdes: df849000, page: defb9a60
ftgmac100: Setting rxdes2: rxdes: df849010, page: defb92e0
ftgmac100: Setting rxdes2: rxdes: df849020, page: defb91c0
ftgmac100: Setting rxdes2: rxdes: df849030, page: defb93c0
ftgmac100: Setting rxdes2: rxdes: df849040, page: defb92a0
ftgmac100: Setting rxdes2: rxdes: df849050, page: defb9260
ftgmac100: Setting rxdes2: rxdes: df849060, page: defb94c0
ftgmac100: Setting rxdes2: rxdes: df849070, page: defb91e0
ftgmac100: Setting rxdes2: rxdes: df849080, page: defb9200
ftgmac100: Setting rxdes2: rxdes: df849090, page: defb9240
ftgmac100: Setting rxdes2: rxdes: df8490a0, page: defe8d00
ftgmac100: Setting rxdes2: rxdes: df8490b0, page: defe8d40
ftgmac100: Setting rxdes2: rxdes: df8490c0, page: defe8da0
ftgmac100: Setting rxdes2: rxdes: df8490d0, page: defe8e00
ftgmac100: Setting rxdes2: rxdes: df8490e0, page: defe8e80
ftgmac100: Setting rxdes2: rxdes: df8490f0, page: defe8ea0
ftgmac100: Setting rxdes2: rxdes: df849100, page: defe8ec0
ftgmac100: Setting rxdes2: rxdes: df849110, page: defe8a80
ftgmac100: Setting rxdes2: rxdes: df849120, page: defe8b80
ftgmac100: Setting rxdes2: rxdes: df849130, page: defb9220
ftgmac100: Setting rxdes2: rxdes: df849140, page: defb92c0
ftgmac100: Setting rxdes2: rxdes: df849150, page: defe8e20
ftgmac100: Setting rxdes2: rxdes: df849160, page: defb9180
ftgmac100: Setting rxdes2: rxdes: df849170, page: defe8c20
ftgmac100: Setting rxdes2: rxdes: df849180, page: defb96c0
ftgmac100: Setting rxdes2: rxdes: df849190, page: defb96e0
ftgmac100: Setting rxdes2: rxdes: df8491a0, page: defb9700
ftgmac100: Setting rxdes2: rxdes: df8491b0, page: defb9720
ftgmac100: Setting rxdes2: rxdes: df8491c0, page: defb9740
ftgmac100: Setting rxdes2: rxdes: df8491d0, page: defb9760
ftgmac100: Setting rxdes2: rxdes: df8491e0, page: defb9780
ftgmac100: Setting rxdes2: rxdes: df8491f0, page: defb97a0
ftgmac100: Setting rxdes2: rxdes: df849200, page: defb97c0
ftgmac100: Setting rxdes2: rxdes: df849210, page: defb97e0
ftgmac100: Setting rxdes2: rxdes: df849220, page: defb9800
ftgmac100: Setting rxdes2: rxdes: df849230, page: defb9820
ftgmac100: Setting rxdes2: rxdes: df849240, page: defb9840
ftgmac100: Setting rxdes2: rxdes: df849250, page: defb9860
ftgmac100: Setting rxdes2: rxdes: df849260, page: defb9040
ftgmac100: Setting rxdes2: rxdes: df849270, page: defb9060
ftgmac100: Setting rxdes2: rxdes: df849280, page: defb9b00
ftgmac100: Setting rxdes2: rxdes: df849290, page: defb9b20
ftgmac100: Setting rxdes2: rxdes: df8492a0, page: defb9b40
ftgmac100: Setting rxdes2: rxdes: df8492b0, page: defb9b60
ftgmac100: Setting rxdes2: rxdes: df8492c0, page: defb9b80
ftgmac100: Setting rxdes2: rxdes: df8492d0, page: defb9ba0
ftgmac100: Setting rxdes2: rxdes: df8492e0, page: defb9bc0
ftgmac100: Setting rxdes2: rxdes: df8492f0, page: defb9be0
ftgmac100: Setting rxdes2: rxdes: df849300, page: defb9c00
ftgmac100: Setting rxdes2: rxdes: df849310, page: defb9c20
ftgmac100: Setting rxdes2: rxdes: df849320, page: defb9c40
ftgmac100: Setting rxdes2: rxdes: df849330, page: defb9c60
ftgmac100: Setting rxdes2: rxdes: df849340, page: defb9c80
ftgmac100: Setting rxdes2: rxdes: df849350, page: defb9ca0
ftgmac100: Setting rxdes2: rxdes: df849360, page: defb9cc0
ftgmac100: Setting rxdes2: rxdes: df849370, page: defb9ce0
ftgmac100: Setting rxdes2: rxdes: df849380, page: defb9d00
ftgmac100: Setting rxdes2: rxdes: df849390, page: defb9d20
ftgmac100: Setting rxdes2: rxdes: df8493a0, page: defb9d40
ftgmac100: Setting rxdes2: rxdes: df8493b0, page: defb9d60
ftgmac100: Setting rxdes2: rxdes: df8493c0, page: defb9d80
ftgmac100: Setting rxdes2: rxdes: df8493d0, page: defb9da0
ftgmac100: Setting rxdes2: rxdes: df8493e0, page: defb9dc0
ftgmac100: Setting rxdes2: rxdes: df8493f0, page: defb9de0
ftgmac100: Setting rxdes2: rxdes: df849400, page: defb9e00
ftgmac100: Setting rxdes2: rxdes: df849410, page: defb9e20
ftgmac100: Setting rxdes2: rxdes: df849420, page: defb9e40
ftgmac100: Setting rxdes2: rxdes: df849430, page: defb9e60
ftgmac100: Setting rxdes2: rxdes: df849440, page: defb9e80
ftgmac100: Setting rxdes2: rxdes: df849450, page: defb9ea0
ftgmac100: Setting rxdes2: rxdes: df849460, page: defb9ec0
ftgmac100: Setting rxdes2: rxdes: df849470, page: defb9ee0
ftgmac100: Setting rxdes2: rxdes: df849480, page: defb9f00
ftgmac100: Setting rxdes2: rxdes: df849490, page: defb9f20
ftgmac100: Setting rxdes2: rxdes: df8494a0, page: defb9f40
ftgmac100: Setting rxdes2: rxdes: df8494b0, page: defb9f60
ftgmac100: Setting rxdes2: rxdes: df8494c0, page: defb9f80
ftgmac100: Setting rxdes2: rxdes: df8494d0, page: defb9fa0
ftgmac100: Setting rxdes2: rxdes: df8494e0, page: defb9fc0
ftgmac100: Setting rxdes2: rxdes: df8494f0, page: defb9fe0
ftgmac100: Setting rxdes2: rxdes: df849500, page: defba000
ftgmac100: Setting rxdes2: rxdes: df849510, page: defba020
ftgmac100: Setting rxdes2: rxdes: df849520, page: defba040
ftgmac100: Setting rxdes2: rxdes: df849530, page: defba060
ftgmac100: Setting rxdes2: rxdes: df849540, page: defba080
ftgmac100: Setting rxdes2: rxdes: df849550, page: defba0a0
ftgmac100: Setting rxdes2: rxdes: df849560, page: defba0c0
ftgmac100: Setting rxdes2: rxdes: df849570, page: defba0e0
ftgmac100: Setting rxdes2: rxdes: df849580, page: defba100
ftgmac100: Setting rxdes2: rxdes: df849590, page: defba120
ftgmac100: Setting rxdes2: rxdes: df8495a0, page: defba140
ftgmac100: Setting rxdes2: rxdes: df8495b0, page: defba160
ftgmac100: Setting rxdes2: rxdes: df8495c0, page: defba180
ftgmac100: Setting rxdes2: rxdes: df8495d0, page: defba1a0
ftgmac100: Setting rxdes2: rxdes: df8495e0, page: defba1c0
ftgmac100: Setting rxdes2: rxdes: df8495f0, page: defba1e0
ftgmac100: Setting rxdes2: rxdes: df849600, page: defba200
ftgmac100: Setting rxdes2: rxdes: df849610, page: defba220
ftgmac100: Setting rxdes2: rxdes: df849620, page: defba240
ftgmac100: Setting rxdes2: rxdes: df849630, page: defba260
ftgmac100: Setting rxdes2: rxdes: df849640, page: defba280
ftgmac100: Setting rxdes2: rxdes: df849650, page: defba2a0
ftgmac100: Setting rxdes2: rxdes: df849660, page: defba2c0
ftgmac100: Setting rxdes2: rxdes: df849670, page: defba2e0
ftgmac100: Setting rxdes2: rxdes: df849680, page: defba300
ftgmac100: Setting rxdes2: rxdes: df849690, page: defba320
ftgmac100: Setting rxdes2: rxdes: df8496a0, page: defba340
ftgmac100: Setting rxdes2: rxdes: df8496b0, page: defba360
ftgmac100: Setting rxdes2: rxdes: df8496c0, page: defba380
ftgmac100: Setting rxdes2: rxdes: df8496d0, page: defba3a0
ftgmac100: Setting rxdes2: rxdes: df8496e0, page: defba3c0
ftgmac100: Setting rxdes2: rxdes: df8496f0, page: defba3e0
ftgmac100: Setting rxdes2: rxdes: df849700, page: defba400
ftgmac100: Setting rxdes2: rxdes: df849710, page: defba420
ftgmac100: Setting rxdes2: rxdes: df849720, page: defba440
ftgmac100: Setting rxdes2: rxdes: df849730, page: defba460
ftgmac100: Setting rxdes2: rxdes: df849740, page: defba480
ftgmac100: Setting rxdes2: rxdes: df849750, page: defba4a0
ftgmac100: Setting rxdes2: rxdes: df849760, page: defba4c0
ftgmac100: Setting rxdes2: rxdes: df849770, page: defba4e0
ftgmac100: Setting rxdes2: rxdes: df849780, page: defba500
ftgmac100: Setting rxdes2: rxdes: df849790, page: defba520
ftgmac100: Setting rxdes2: rxdes: df8497a0, page: defba540
ftgmac100: Setting rxdes2: rxdes: df8497b0, page: defba560
ftgmac100: Setting rxdes2: rxdes: df8497c0, page: defba580
ftgmac100: Setting rxdes2: rxdes: df8497d0, page: defba5a0
ftgmac100: Setting rxdes2: rxdes: df8497e0, page: defba5c0
ftgmac100: Setting rxdes2: rxdes: df8497f0, page: defba5e0
ftgmac100: Setting rxdes2: rxdes: df849800, page: defba600
ftgmac100: Setting rxdes2: rxdes: df849810, page: defba620
ftgmac100: Setting rxdes2: rxdes: df849820, page: defba640
ftgmac100: Setting rxdes2: rxdes: df849830, page: defba660
ftgmac100: Setting rxdes2: rxdes: df849840, page: defba680
ftgmac100: Setting rxdes2: rxdes: df849850, page: defba6a0
ftgmac100: Setting rxdes2: rxdes: df849860, page: defba6c0
ftgmac100: Setting rxdes2: rxdes: df849870, page: defba6e0
ftgmac100: Setting rxdes2: rxdes: df849880, page: defba700
ftgmac100: Setting rxdes2: rxdes: df849890, page: defba720
ftgmac100: Setting rxdes2: rxdes: df8498a0, page: defba740
ftgmac100: Setting rxdes2: rxdes: df8498b0, page: defba760
ftgmac100: Setting rxdes2: rxdes: df8498c0, page: defba780
ftgmac100: Setting rxdes2: rxdes: df8498d0, page: defba7a0
ftgmac100: Setting rxdes2: rxdes: df8498e0, page: defba7c0
ftgmac100: Setting rxdes2: rxdes: df8498f0, page: defba7e0
ftgmac100: Setting rxdes2: rxdes: df849900, page: defba800
ftgmac100: Setting rxdes2: rxdes: df849910, page: defba820
ftgmac100: Setting rxdes2: rxdes: df849920, page: defba840
ftgmac100: Setting rxdes2: rxdes: df849930, page: defba860
ftgmac100: Setting rxdes2: rxdes: df849940, page: defba880
ftgmac100: Setting rxdes2: rxdes: df849950, page: defba8a0
ftgmac100: Setting rxdes2: rxdes: df849960, page: defba8c0
ftgmac100: Setting rxdes2: rxdes: df849970, page: defba8e0
ftgmac100: Setting rxdes2: rxdes: df849980, page: defba900
ftgmac100: Setting rxdes2: rxdes: df849990, page: defba920
ftgmac100: Setting rxdes2: rxdes: df8499a0, page: defba940
ftgmac100: Setting rxdes2: rxdes: df8499b0, page: defba960
ftgmac100: Setting rxdes2: rxdes: df8499c0, page: defba980
ftgmac100: Setting rxdes2: rxdes: df8499d0, page: defba9a0
ftgmac100: Setting rxdes2: rxdes: df8499e0, page: defba9c0
ftgmac100: Setting rxdes2: rxdes: df8499f0, page: defba9e0
ftgmac100: Setting rxdes2: rxdes: df849a00, page: defbaa00
ftgmac100: Setting rxdes2: rxdes: df849a10, page: defbaa20
ftgmac100: Setting rxdes2: rxdes: df849a20, page: defbaa40
ftgmac100: Setting rxdes2: rxdes: df849a30, page: defbaa60
ftgmac100: Setting rxdes2: rxdes: df849a40, page: defbaa80
ftgmac100: Setting rxdes2: rxdes: df849a50, page: defbaaa0
ftgmac100: Setting rxdes2: rxdes: df849a60, page: defbaac0
ftgmac100: Setting rxdes2: rxdes: df849a70, page: defbaae0
ftgmac100: Setting rxdes2: rxdes: df849a80, page: defbab00
ftgmac100: Setting rxdes2: rxdes: df849a90, page: defbab20
ftgmac100: Setting rxdes2: rxdes: df849aa0, page: defbab40
ftgmac100: Setting rxdes2: rxdes: df849ab0, page: defbab60
ftgmac100: Setting rxdes2: rxdes: df849ac0, page: defbab80
ftgmac100: Setting rxdes2: rxdes: df849ad0, page: defbaba0
ftgmac100: Setting rxdes2: rxdes: df849ae0, page: defbabc0
ftgmac100: Setting rxdes2: rxdes: df849af0, page: defbabe0
ftgmac100: Setting rxdes2: rxdes: df849b00, page: defbac00
ftgmac100: Setting rxdes2: rxdes: df849b10, page: defbac20
ftgmac100: Setting rxdes2: rxdes: df849b20, page: defbac40
ftgmac100: Setting rxdes2: rxdes: df849b30, page: defbac60
ftgmac100: Setting rxdes2: rxdes: df849b40, page: defbac80
ftgmac100: Setting rxdes2: rxdes: df849b50, page: defbaca0
ftgmac100: Setting rxdes2: rxdes: df849b60, page: defbacc0
ftgmac100: Setting rxdes2: rxdes: df849b70, page: defbace0
ftgmac100: Setting rxdes2: rxdes: df849b80, page: defbad00
ftgmac100: Setting rxdes2: rxdes: df849b90, page: defbad20
ftgmac100: Setting rxdes2: rxdes: df849ba0, page: defbad40
ftgmac100: Setting rxdes2: rxdes: df849bb0, page: defbad60
ftgmac100: Setting rxdes2: rxdes: df849bc0, page: defbad80
ftgmac100: Setting rxdes2: rxdes: df849bd0, page: defbada0
ftgmac100: Setting rxdes2: rxdes: df849be0, page: defbadc0
ftgmac100: Setting rxdes2: rxdes: df849bf0, page: defbade0
ftgmac100: Setting rxdes2: rxdes: df849c00, page: defbae00
ftgmac100: Setting rxdes2: rxdes: df849c10, page: defbae20
ftgmac100: Setting rxdes2: rxdes: df849c20, page: defbae40
ftgmac100: Setting rxdes2: rxdes: df849c30, page: defbae60
ftgmac100: Setting rxdes2: rxdes: df849c40, page: defbae80
ftgmac100: Setting rxdes2: rxdes: df849c50, page: defbaea0
ftgmac100: Setting rxdes2: rxdes: df849c60, page: defbaec0
ftgmac100: Setting rxdes2: rxdes: df849c70, page: defbaee0
ftgmac100: Setting rxdes2: rxdes: df849c80, page: defbaf00
ftgmac100: Setting rxdes2: rxdes: df849c90, page: defbaf20
ftgmac100: Setting rxdes2: rxdes: df849ca0, page: defbaf40
ftgmac100: Setting rxdes2: rxdes: df849cb0, page: defbaf60
ftgmac100: Setting rxdes2: rxdes: df849cc0, page: defbaf80
ftgmac100: Setting rxdes2: rxdes: df849cd0, page: defbafa0
ftgmac100: Setting rxdes2: rxdes: df849ce0, page: defbafc0
ftgmac100: Setting rxdes2: rxdes: df849cf0, page: defbafe0
ftgmac100: Setting rxdes2: rxdes: df849d00, page: defbb000
ftgmac100: Setting rxdes2: rxdes: df849d10, page: defbb020
ftgmac100: Setting rxdes2: rxdes: df849d20, page: defbb040
ftgmac100: Setting rxdes2: rxdes: df849d30, page: defbb060
ftgmac100: Setting rxdes2: rxdes: df849d40, page: defbb080
ftgmac100: Setting rxdes2: rxdes: df849d50, page: defbb0a0
ftgmac100: Setting rxdes2: rxdes: df849d60, page: defbb0c0
ftgmac100: Setting rxdes2: rxdes: df849d70, page: defbb0e0
ftgmac100: Setting rxdes2: rxdes: df849d80, page: defbb100
ftgmac100: Setting rxdes2: rxdes: df849d90, page: defbb120
ftgmac100: Setting rxdes2: rxdes: df849da0, page: defbb140
ftgmac100: Setting rxdes2: rxdes: df849db0, page: defbb160
ftgmac100: Setting rxdes2: rxdes: df849dc0, page: defbb180
ftgmac100: Setting rxdes2: rxdes: df849dd0, page: defbb1a0
ftgmac100: Setting rxdes2: rxdes: df849de0, page: defbb1c0
ftgmac100: Setting rxdes2: rxdes: df849df0, page: defbb1e0
ftgmac100: Setting rxdes2: rxdes: df849e00, page: defbb200
ftgmac100: Setting rxdes2: rxdes: df849e10, page: defbb220
ftgmac100: Setting rxdes2: rxdes: df849e20, page: defbb240
ftgmac100: Setting rxdes2: rxdes: df849e30, page: defbb260
ftgmac100: Setting rxdes2: rxdes: df849e40, page: defbb280
ftgmac100: Setting rxdes2: rxdes: df849e50, page: defbb2a0
ftgmac100: Setting rxdes2: rxdes: df849e60, page: defbb2c0
ftgmac100: Setting rxdes2: rxdes: df849e70, page: defbb2e0
ftgmac100: Setting rxdes2: rxdes: df849e80, page: defbb300
ftgmac100: Setting rxdes2: rxdes: df849e90, page: defbb320
ftgmac100: Setting rxdes2: rxdes: df849ea0, page: defbb340
ftgmac100: Setting rxdes2: rxdes: df849eb0, page: defbb360
ftgmac100: Setting rxdes2: rxdes: df849ec0, page: defbb380
ftgmac100: Setting rxdes2: rxdes: df849ed0, page: defbb3a0
ftgmac100: Setting rxdes2: rxdes: df849ee0, page: defbb3c0
ftgmac100: Setting rxdes2: rxdes: df849ef0, page: defbb3e0
ftgmac100: Setting rxdes2: rxdes: df849f00, page: defbb400
ftgmac100: Setting rxdes2: rxdes: df849f10, page: defbb420
ftgmac100: Setting rxdes2: rxdes: df849f20, page: defbb440
ftgmac100: Setting rxdes2: rxdes: df849f30, page: defbb460
ftgmac100: Setting rxdes2: rxdes: df849f40, page: defbb480
ftgmac100: Setting rxdes2: rxdes: df849f50, page: defbb4a0
ftgmac100: Setting rxdes2: rxdes: df849f60, page: defbb4c0
ftgmac100: Setting rxdes2: rxdes: df849f70, page: defbb4e0
ftgmac100: Setting rxdes2: rxdes: df849f80, page: defbb500
ftgmac100: Setting rxdes2: rxdes: df849f90, page: defbb520
ftgmac100: Setting rxdes2: rxdes: df849fa0, page: defbb540
ftgmac100: Setting rxdes2: rxdes: df849fb0, page: defbb560
ftgmac100: Setting rxdes2: rxdes: df849fc0, page: defbb580
ftgmac100: Setting rxdes2: rxdes: df849fd0, page: defbb5a0
ftgmac100: Setting rxdes2: rxdes: df849fe0, page: defbb5c0
ftgmac100: Setting rxdes2: rxdes: df849ff0, page: defbb5e0
udhcpc (v1.24.1) started
Sending discover...
Sending discoverftgmac100: Have netdev: de702000...

ftgmac100: Received packet or rx buffer unavailableftgmac100: Attempting rx of packet: 0
ftgmac100: In ftgmac100_rx_packet()
ftgmac100: Allocated rxdes df849000
ftgmac100: No packet errors found
ftgmac100: Allocated skb
ftgmac100: Handled multicast stats
ftgmac100: Checksum handled
ftgmac100: Getting rxdes2: rxdes: df849000, rxdes2: 00000806
ftgmac100: Got page 00000806
ftgmac100: Unmapped dma page
ftgmac100: Got rxdes size: 64
ftgmac100: Got nr_frags: 0
ftgmac100: In __skb_fill_page_desc()
ftgmac100: Configured page and offset
ftgmac100: Set frag size
ftgmac100: Calling compound_head(00000806)
Unable to handle kernel NULL pointer dereference at virtual address 0000081a
pgd = dd150000
[0000081a] *pgd=9d135831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] ARM
Modules linked in:
CPU: 0 PID: 255 Comm: udhcpc Not tainted 4.7.0-rc1-00076-g1ca9cf04fb1f-dirty #532
Hardware name: ASpeed SoC
task: de73b440 ti: dd04e000 task.ti: dd04e000
PC is at ftgmac100_poll+0x364/0x7d4
LR is at ftgmac100_poll+0x364/0x7d4
pc : [<c027b238>]    lr : [<c027b238>]    psr: 60000013
sp : dd04fcc0  ip : de73b440  fp : 00000000
r10: 00000001  r9 : 00000040  r8 : 00000806
r7 : de702000  r6 : dd130c20  r5 : df849000  r4 : de7025d0
r3 : 6d7acf3d  r2 : 6d7acf3d  r1 : 00000001  r0 : 0000002a
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 00c5387d  Table: 9d150008  DAC: 00000051
Process udhcpc (pid: 255, stack limit = 0xdd04e188)
Stack: (0xdd04fcc0 to 0xdd050000)
fcc0: 00000000 00000080 00000000 00000253 de702000 de702580 00000040 dd15ff40
fce0: de73b440 c0a1aa60 dd04fd1c dd04fd24 de7025d0 c027aed4 0000012c 00000000
fd00: 00000040 c02ad198 c0a0243c ffff8de7 c0a02028 c0a0bc40 de40755c dd04fd1c
fd20: dd04fd1c dd04fd24 dd04fd24 6d7acf3d de405020 dd04e000 40000003 00400100
fd40: 00000008 c0a1e500 0000000a c0a1e52c 00000101 c0112b94 00000000 c0105dd4
fd60: 00000000 ffff8de6 00000004 c0a0bc40 c0a1e520 00000003 de73b7c8 60000013
fd80: 00000000 de702000 de4d0260 00000000 00000000 de7dd868 00000000 c0112d38
fda0: 00000001 c0112de0 de7dd800 c02afd50 de7dd868 00000001 c02af858 c02a3908
fdc0: 00000000 6d7acf3d dd04fee0 dd130ce0 00000148 de702000 00000000 de4b4740
fde0: c02c9ff4 00000022 dd136800 c032697c 00000000 00000000 00000156 00000000
fe00: de037800 00000010 00000008 dd04ff10 00000000 00000000 00000001 c0324bc8
fe20: 00000000 c0f89874 de73b440 00000000 00000000 00000000 00000000 00000000
fe40: 00000000 00000000 00000000 00000000 c0b50000 00020022 00000000 00110008
fe60: 00000000 00000000 43004400 00000000 ffffffff 00000000 00000000 00000000
fe80: 00000000 00000000 00000000 6d7acf3d c0a02028 dd04ff04 00000000 c0a02028
fea0: de037800 00000014 bea7f3b4 00000000 00000000 c0295c78 dd04ff04 c0297160
fec0: dd04fee0 dd136800 00000000 00000000 bea7f3c8 00000148 dd04ff04 00000014
fee0: 00000001 00000000 00000000 dd04fed8 00000000 00000000 00000000 00000000
ff00: 00000000 00080011 00000002 06000000 ffffffff 0000ffff ffffffff 0000ffff
ff20: 00000000 dd02f020 c0a02028 c01c6dac 00000000 c01c6e68 00000000 00000000
ff40: c01c6d50 00000000 c0a02028 c0294e58 de417730 de03ea10 00000000 6d7acf3d
ff60: c0a1a288 00000006 dd02f020 c0a02028 00000000 de037800 dd04e000 00000000
ff80: 00000000 6d7acf3d de037800 bea7f3b4 00000014 00000006 00000122 c01023a4
ffa0: dd04e000 c01021e0 bea7f3b4 00000014 00000006 bea7f3c8 00000148 00000000
ffc0: bea7f3b4 00000014 00000006 00000122 00000148 00000011 ffffffff 00000000
ffe0: 000b5a90 bea7f398 00032b74 b6f7f4f8 60000010 00000006 9effd861 9effdc61
[<c027b238>] (ftgmac100_poll) from [<c02ad198>] (net_rx_action+0xe4/0x2b4)
[<c02ad198>] (net_rx_action) from [<c0112b94>] (__do_softirq+0xb8/0x1e0)
[<c0112b94>] (__do_softirq) from [<c0112d38>] (do_softirq+0x40/0x50)
[<c0112d38>] (do_softirq) from [<c0112de0>] (__local_bh_enable_ip+0x98/0xc4)
[<c0112de0>] (__local_bh_enable_ip) from [<c02afd50>] (__dev_queue_xmit+0x550/0x5b8)
[<c02afd50>] (__dev_queue_xmit) from [<c032697c>] (packet_sendmsg+0xe48/0xed8)
[<c032697c>] (packet_sendmsg) from [<c0295c78>] (sock_sendmsg+0x14/0x24)
[<c0295c78>] (sock_sendmsg) from [<c0297160>] (SyS_sendto+0xc4/0x100)
[<c0297160>] (SyS_sendto) from [<c01021e0>] (ret_fast_syscall+0x0/0x3c)
Code: ebfbdd08 e1a01008 e59f0408 ebfbdd05 (e5983014)
---[ end trace 1bb3b88638efce10 ]---
Kernel panic - not syncing: Fatal exception in interrupt
---[ end Kernel panic - not syncing: Fatal exception in interrupt

adm1278 driver misses "in2_input" (Vout) sensor

There might be some issue with the upstream adm1278 hwmon driver. I haven't dig into the issue yet.
Some sensors are missing, e.g, "in2_input". This stands for "Vout" register in adm1278. Customer will need this sensor.

Here is the sensors currently available:

root@barreleye:~# cat  /sys/class/hwmon/hwmon3/name 
adm1278

root@barreleye:~# cat /sys/class/hwmon/hwmon3/
curr1_highest         in1_label             power1_alarm
curr1_input           in1_max               power1_input
curr1_label           in1_max_alarm         power1_input_highest
curr1_max             in1_min               power1_label
curr1_max_alarm       in1_min_alarm         power1_max
curr1_reset_history   in1_reset_history     power1_reset_history
device/               name                  subsystem/
in1_highest           of_node/              uevent
in1_input             power/                
root@barreleye:~# cat /sys/class/hwmon/hwmon3/in1_input 
11990
root@barreleye:~# cat /sys/class/hwmon/hwmon3/in1_label  
vin

We will need

/sys/class/hwmon/hwmon3/in2_input

Kernel version:

root@barreleye:~# uname -a
Linux barreleye 4.4.6-openbmc-20160329-2 #1 Wed Apr 20 23:06:07 CST 2016 armv5tejl GNU/Linux
root@barreleye:~# cat /proc/version  
Linux version 4.4.6-openbmc-20160329-2 (adam@ubuntu) (gcc version 4.9.3 (GCC) ) #1 Wed Apr 20 23:06:07 CST 2016

cgroup_pidlist_start: Unable to handle kernel paging request at virtual address 1200544e

Same kernel/qemu configuration as #101, but different backtrace:

Unable to handle kernel paging request at virtual address 1200544e
pgd = c8c3c000
[1200544e] *pgd=00000000
Internal error: Oops: 5 [#1] ARM
Modules linked in:
CPU: 0 PID: 1 Comm: systemd Not tainted 4.7.1-00053-g6d93f625315a #581
Hardware name: ASpeed SoC
task: df443460 ti: df444000 task.ti: df444000
PC is at cgroup_pidlist_start+0xc0/0x44c
LR is at cgroup_pidlist_start+0xa4/0x44c
pc : [<c0166868>]    lr : [<c016684c>]    psr: 00000093
sp : df445e18  ip : 00000000  fp : 00000000
r10: 00000002  r9 : df445f78  r8 : 00000000
r7 : c8f5d1a0  r6 : c8ddc0e0  r5 : c0702028  r4 : c8d6ee00
r3 : 1200544a  r2 : c8d6eea0  r1 : 12005452  r0 : c070d058
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 00093177  Table: 48c3c000  DAC: 00000051
Process systemd (pid: 1, stack limit = 0xdf444190)
Stack: (0xdf445e18 to 0xdf446000)
5e00:                                                       00000001 ffffe000
5e20: 00000000 60000013 df445ea8 c0702028 df445f78 c8cacea0 df445ea8 c013628c
5e40: 00000001 00000000 00000000 c020abc0 00000000 00000000 ffffe000 1aadfd66
5e60: 60000013 df445ea8 c8ddc0e0 c8f5d1a0 00000000 810fa130 df445f78 c8cacea0
5e80: df445ea8 c020abe8 c8ddc0e0 00001000 00000000 c01d38dc 00000001 c8ddc110
5ea0: c0702028 c0702028 00000000 00000000 df444000 00000000 bec887ec 1aadfd66
5ec0: c8cacea0 c020a9b4 c8cacea0 c0702028 df445f78 810fa130 00001000 00000000
5ee0: bec887ec c01b1fd0 00000000 00000000 00000000 00000000 00001000 00000000
5f00: 00000000 00000000 57bfbcd2 1443fd00 57bfbcd2 1443fd00 57bfbcd2 1443fd00
5f20: 0000005f 00000000 00000000 c8cacea0 df445f78 1aadfd66 00001000 c8cacea0
5f40: 810fa130 df445f78 810fa130 c01b2c1c c8cacea0 810fa130 00001000 c8cacea0
5f60: c0702028 c0702028 c8cacea0 810fa130 00001000 c01b38d0 00000000 00000000
5f80: 00001000 1aadfd66 00000000 8109ac70 8109ac70 00000000 00000003 c01025a4
5fa0: df444000 c0102400 8109ac70 8109ac70 00000010 810fa130 00001000 00000040
5fc0: 8109ac70 8109ac70 00000000 00000003 7f74c8a7 00000000 b6dec020 bec887ec
5fe0: 00000000 bec881c0 b6d8e0b4 b6d700b4 80000010 00000010 00000000 00000000
[<c0166868>] (cgroup_pidlist_start) from [<c020abe8>] (kernfs_seq_start+0x4c/0x8c)
[<c020abe8>] (kernfs_seq_start) from [<c01d38dc>] (seq_read+0x194/0x428)
[<c01d38dc>] (seq_read) from [<c01b1fd0>] (__vfs_read+0x28/0x128)
[<c01b1fd0>] (__vfs_read) from [<c01b2c1c>] (vfs_read+0x90/0xfc)
[<c01b2c1c>] (vfs_read) from [<c01b38d0>] (SyS_read+0x50/0xa0)
[<c01b38d0>] (SyS_read) from [<c0102400>] (ret_fast_syscall+0x0/0x38)
Code: e2433008 e2831008 e1510002 0a000005 (e5931004) 
---[ end trace 05cbde247dfcab60 ]---

I2C errors in console

root@palmetto:~# i2cdetect 6
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-6.
I will probe address range 0x03-0x77.
Continue? [Y/n] 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 -- -- -- -- -- -- -- -- -- -- -- -- 
10: 10 systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- -- -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- 
20: systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
20 -- -- -- -- -- -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- 2d systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
2e systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- 
30: -- -- -- -- -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- 
40: -- -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- 48 systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- -- -- -- 
50: -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
55 -- -- -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- -- 
60: systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- 
70: -- -- -- systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.
-- -- -- -- --                 systemd-journald[402]: /dev/kmsg buffer overrun, some messages lost.

lockdep warning with 4.6-rc1

# umount /mnt
[  159.060000] INFO: trying to register non-static key.
[  159.060000] the code is fine but needs lockdep annotation.
[  159.060000] turning off the locking correctness validator.
[  159.060000] CPU: 0 PID: 318 Comm: umount Not tainted 4.6.0-rc1-00031-gd725a4eaaf03 #119
[  159.060000] Hardware name: ASpeed SoC
[  159.060000] [<c0107550>] (unwind_backtrace) from [<c0105128>] (show_stack+0x10/0x14)
[  159.060000] [<c0105128>] (show_stack) from [<c01357c4>] (__lock_acquire+0x67c/0xb6c)
[  159.060000] [<c01357c4>] (__lock_acquire) from [<c0136424>] (lock_acquire+0x70/0x90)
[  159.060000] [<c0136424>] (lock_acquire) from [<c01210e8>] (flush_work+0x48/0x244)
[  159.060000] [<c01210e8>] (flush_work) from [<c0123848>] (__cancel_work_timer+0x10c/0x1a8)
[  159.060000] [<c0123848>] (__cancel_work_timer) from [<c02248c8>] (jffs2_sync_fs+0x14/0x38)
[  159.060000] [<c02248c8>] (jffs2_sync_fs) from [<c01ce2f4>] (sync_filesystem+0x54/0x84)
[  159.060000] [<c01ce2f4>] (sync_filesystem) from [<c01a7c18>] (generic_shutdown_super+0x24/0xdc)
[  159.060000] [<c01a7c18>] (generic_shutdown_super) from [<c029ef18>] (kill_mtd_super+0xc/0x20)
[  159.060000] [<c029ef18>] (kill_mtd_super) from [<c02247bc>] (jffs2_kill_sb+0x28/0x34)
[  159.060000] [<c02247bc>] (jffs2_kill_sb) from [<c01a801c>] (deactivate_locked_super+0x48/0x7c)
[  159.060000] [<c01a801c>] (deactivate_locked_super) from [<c01c1494>] (cleanup_mnt+0x4c/0x70)
[  159.060000] [<c01c1494>] (cleanup_mnt) from [<c01264e0>] (task_work_run+0x7c/0x90)
[  159.060000] [<c01264e0>] (task_work_run) from [<c0104b14>] (do_work_pending+0xa4/0xc0)
[  159.060000] [<c0104b14>] (do_work_pending) from [<c01021b0>] (slow_work_pending+0xc/0x20)

ftgmac100 can't be instantiated twice

On the ast2500-evb we have two Ethernet devices in the device tree:

[    1.030000] ftgmac100 1e660000.ethernet: Generated random MAC address 8a:26:9d:18:62:09
[    1.460000] libphy: ftgmac100_mdio: probed
[    1.550000] ftgmac100 1e680000.ethernet: Generated random MAC address 1a:db:8d:7d:1b:31
[    1.550000] ------------[ cut here ]------------
[    1.550000] WARNING: CPU: 0 PID: 1 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x50/0x70
[    1.550000] sysfs: cannot create duplicate filename '/devices/virtual/mdio_bus/ftgmac100_mii'
[    1.550000] Modules linked in:
[    1.550000] CPU: 0 PID: 1 Comm: swapper Not tainted 4.6.0-10263-g41e19f2632d9 #502
[    1.550000] Hardware name: ASpeed SoC
[    1.550000] [<c000f800>] (unwind_backtrace) from [<c000d360>] (show_stack+0x10/0x14)
[    1.550000] [<c000d360>] (show_stack) from [<c0017dac>] (__warn+0xc8/0xf8)
[    1.550000] [<c0017dac>] (__warn) from [<c0017e20>] (warn_slowpath_fmt+0x44/0x6c)
[    1.550000] [<c0017e20>] (warn_slowpath_fmt) from [<c0101b7c>] (sysfs_warn_dup+0x50/0x70)
[    1.550000] [<c0101b7c>] (sysfs_warn_dup) from [<c0101c58>] (sysfs_create_dir_ns+0x74/0x88)
[    1.550000] [<c0101c58>] (sysfs_create_dir_ns) from [<c0150a38>] (kobject_add_internal+0x124/0x300)
[    1.550000] [<c0150a38>] (kobject_add_internal) from [<c0150c90>] (kobject_add+0x7c/0xb4)
[    1.550000] [<c0150c90>] (kobject_add) from [<c01913c8>] (device_add+0x118/0x554)
[    1.550000] [<c01913c8>] (device_add) from [<c01b8b70>] (__mdiobus_register+0x84/0x194)
[    1.550000] [<c01b8b70>] (__mdiobus_register) from [<c01ba8fc>] (ftgmac100_probe+0x360/0x540)
[    1.550000] [<c01ba8fc>] (ftgmac100_probe) from [<c0195e54>] (platform_drv_probe+0x50/0xa0)
[    1.550000] [<c0195e54>] (platform_drv_probe) from [<c0194284>] (driver_probe_device+0x1c0/0x408)
[    1.550000] [<c0194284>] (driver_probe_device) from [<c019459c>] (__driver_attach+0xd0/0x110)
[    1.550000] [<c019459c>] (__driver_attach) from [<c0192548>] (bus_for_each_dev+0x78/0xb4)
[    1.550000] [<c0192548>] (bus_for_each_dev) from [<c01936a0>] (bus_add_driver+0x110/0x23c)
[    1.550000] [<c01936a0>] (bus_add_driver) from [<c0194eac>] (driver_register+0x9c/0xe0)
[    1.550000] [<c0194eac>] (driver_register) from [<c0009818>] (do_one_initcall+0xb4/0x178)
[    1.550000] [<c0009818>] (do_one_initcall) from [<c0393db4>] (kernel_init_freeable+0x100/0x1bc)
[    1.550000] [<c0393db4>] (kernel_init_freeable) from [<c0291450>] (kernel_init+0x8/0xec)
[    1.550000] [<c0291450>] (kernel_init) from [<c000a298>] (ret_from_fork+0x14/0x3c)
[    1.550000] ---[ end trace 9d18a3c44f80aa8b ]---
[    1.550000] ------------[ cut here ]------------
[    1.550000] WARNING: CPU: 0 PID: 1 at lib/kobject.c:240 kobject_add_internal+0x298/0x300
[    1.550000] kobject_add_internal failed for ftgmac100_mii with -EEXIST, don't try to register things with the same name in the same directory.
[    1.550000] Modules linked in:
[    1.550000] CPU: 0 PID: 1 Comm: swapper Tainted: G        W       4.6.0-10263-g41e19f2632d9 #502
[    1.550000] Hardware name: ASpeed SoC
[    1.550000] [<c000f800>] (unwind_backtrace) from [<c000d360>] (show_stack+0x10/0x14)
[    1.550000] [<c000d360>] (show_stack) from [<c0017dac>] (__warn+0xc8/0xf8)
[    1.550000] [<c0017dac>] (__warn) from [<c0017e20>] (warn_slowpath_fmt+0x44/0x6c)
[    1.550000] [<c0017e20>] (warn_slowpath_fmt) from [<c0150bac>] (kobject_add_internal+0x298/0x300)
[    1.550000] [<c0150bac>] (kobject_add_internal) from [<c0150c90>] (kobject_add+0x7c/0xb4)
[    1.550000] [<c0150c90>] (kobject_add) from [<c01913c8>] (device_add+0x118/0x554)
[    1.550000] [<c01913c8>] (device_add) from [<c01b8b70>] (__mdiobus_register+0x84/0x194)
[    1.570000] [<c01b8b70>] (__mdiobus_register) from [<c01ba8fc>] (ftgmac100_probe+0x360/0x540)
[    1.570000] [<c01ba8fc>] (ftgmac100_probe) from [<c0195e54>] (platform_drv_probe+0x50/0xa0)
[    1.570000] [<c0195e54>] (platform_drv_probe) from [<c0194284>] (driver_probe_device+0x1c0/0x408)
[    1.570000] [<c0194284>] (driver_probe_device) from [<c019459c>] (__driver_attach+0xd0/0x110)
[    1.570000] [<c019459c>] (__driver_attach) from [<c0192548>] (bus_for_each_dev+0x78/0xb4)
[    1.570000] [<c0192548>] (bus_for_each_dev) from [<c01936a0>] (bus_add_driver+0x110/0x23c)
[    1.570000] [<c01936a0>] (bus_add_driver) from [<c0194eac>] (driver_register+0x9c/0xe0)
[    1.570000] [<c0194eac>] (driver_register) from [<c0009818>] (do_one_initcall+0xb4/0x178)
[    1.570000] [<c0009818>] (do_one_initcall) from [<c0393db4>] (kernel_init_freeable+0x100/0x1bc)
[    1.570000] [<c0393db4>] (kernel_init_freeable) from [<c0291450>] (kernel_init+0x8/0xec)
[    1.570000] [<c0291450>] (kernel_init) from [<c000a298>] (ret_from_fork+0x14/0x3c)
[    1.570000] ---[ end trace 9d18a3c44f80aa8c ]---
[    1.570000] libphy: mii_bus ftgmac100_mii failed to register
[    1.570000] ftgmac100 1e680000.ethernet: Cannot register MDIO bus!
[    1.570000] ftgmac100 1e680000.ethernet: Error -22 setting up MDIO
[    1.570000] kmemleak: Cannot insert 0xdf665c00 into the object search tree (overlaps existing)
[    1.570000] CPU: 0 PID: 1 Comm: swapper Tainted: G        W       4.6.0-10263-g41e19f2632d9 #502
[    1.570000] Hardware name: ASpeed SoC
[    1.570000] [<c000f800>] (unwind_backtrace) from [<c000d360>] (show_stack+0x10/0x14)
[    1.570000] [<c000d360>] (show_stack) from [<c00af374>] (create_object+0x178/0x21c)
[    1.570000] [<c00af374>] (create_object) from [<c00ac5f0>] (__kmalloc+0xe0/0xf4)
[    1.570000] [<c00ac5f0>] (__kmalloc) from [<c00fc554>] (__register_sysctl_table+0x44/0x45c)
[    1.570000] [<c00fc554>] (__register_sysctl_table) from [<c024f4d8>] (__devinet_sysctl_register+0x94/0xe8)
[    1.570000] [<c024f4d8>] (__devinet_sysctl_register) from [<c024f6f0>] (devinet_sysctl_register+0x64/0x8c)
[    1.570000] [<c024f6f0>] (devinet_sysctl_register) from [<c024f7e4>] (inetdev_init+0xcc/0x15c)
[    1.570000] [<c024f7e4>] (inetdev_init) from [<c0250390>] (inetdev_event+0x5c/0x4e0)
[    1.570000] [<c0250390>] (inetdev_event) from [<c0031564>] (notifier_call_chain+0x40/0x68)
[    1.570000] [<c0031564>] (notifier_call_chain) from [<c00315e4>] (raw_notifier_call_chain+0x14/0x1c)
[    1.570000] [<c00315e4>] (raw_notifier_call_chain) from [<c01f07c4>] (call_netdevice_notifiers+0x18/0x38)
[    1.570000] [<c01f07c4>] (call_netdevice_notifiers) from [<c01f8690>] (register_netdevice+0x4b4/0x57c)
[    1.570000] [<c01f8690>] (register_netdevice) from [<c01f876c>] (register_netdev+0x14/0x24)
[    1.570000] [<c01f876c>] (register_netdev) from [<c01ba9bc>] (ftgmac100_probe+0x420/0x540)
[    1.570000] [<c01ba9bc>] (ftgmac100_probe) from [<c0195e54>] (platform_drv_probe+0x50/0xa0)
[    1.570000] [<c0195e54>] (platform_drv_probe) from [<c0194284>] (driver_probe_device+0x1c0/0x408)
[    1.570000] [<c0194284>] (driver_probe_device) from [<c019459c>] (__driver_attach+0xd0/0x110)
[    1.570000] [<c019459c>] (__driver_attach) from [<c0192548>] (bus_for_each_dev+0x78/0xb4)
[    1.570000] [<c0192548>] (bus_for_each_dev) from [<c01936a0>] (bus_add_driver+0x110/0x23c)
[    1.570000] [<c01936a0>] (bus_add_driver) from [<c0194eac>] (driver_register+0x9c/0xe0)
[    1.570000] [<c0194eac>] (driver_register) from [<c0009818>] (do_one_initcall+0xb4/0x178)
[    1.570000] [<c0009818>] (do_one_initcall) from [<c0393db4>] (kernel_init_freeable+0x100/0x1bc)
[    1.570000] [<c0393db4>] (kernel_init_freeable) from [<c0291450>] (kernel_init+0x8/0xec)
[    1.570000] [<c0291450>] (kernel_init) from [<c000a298>] (ret_from_fork+0x14/0x3c)
[    1.570000] kmemleak: Kernel memory leak detector disabled
[    1.570000] kmemleak: Object 0xdf665c00 (size 1024):
[    1.570000] kmemleak:   comm "swapper", pid 1, jiffies 4294937453
[    1.570000] kmemleak:   min_count = 1
[    1.570000] kmemleak:   count = 0
[    1.570000] kmemleak:   flags = 0x1
[    1.570000] kmemleak:   checksum = 0
[    1.570000] kmemleak:   backtrace:
[    1.570000]      [<c0091f00>] kmemdup+0x1c/0x38
[    1.570000]      [<c0200a74>] neigh_sysctl_register+0x30/0x180
[    1.570000]      [<c024f6d8>] devinet_sysctl_register+0x4c/0x8c
[    1.570000]      [<c024f7e4>] inetdev_init+0xcc/0x15c
[    1.570000]      [<c0250390>] inetdev_event+0x5c/0x4e0
[    1.570000]      [<c0031564>] notifier_call_chain+0x40/0x68
[    1.570000]      [<c00315e4>] raw_notifier_call_chain+0x14/0x1c
[    1.570000]      [<c01f07c4>] call_netdevice_notifiers+0x18/0x38
[    1.570000]      [<c01f8690>] register_netdevice+0x4b4/0x57c
[    1.570000]      [<c01f876c>] register_netdev+0x14/0x24
[    1.570000]      [<c01ba9bc>] ftgmac100_probe+0x420/0x540
[    1.570000]      [<c0195e54>] platform_drv_probe+0x50/0xa0
[    1.570000]      [<c0194284>] driver_probe_device+0x1c0/0x408
[    1.570000]      [<c019459c>] __driver_attach+0xd0/0x110
[    1.570000]      [<c0192548>] bus_for_each_dev+0x78/0xb4
[    1.570000]      [<c01936a0>] bus_add_driver+0x110/0x23c

Bad page map after continue AC cycle

We use 0.6.1 stable pure code to run AC cycle by power cycle fixture.
This fixture can automatic AC on the system and then AC off after 3 minutes, and AC on again after 1 minutes.
Do this test continually and get the bad page map issue as attachment.
0426_104918_061_FAIL

GPIO interrupt crashes kernel

Kernel crashes when power button is pushed which is on gpio352. This probably was introduced with 4.3 kernel.

root@barreleye:~# ls /sys/class/gpio
export       gpio326      gpio343      gpio353      gpiochip320
gpio324      gpio333      gpio344      gpio378      unexport
gpio325      gpio334      gpio352      gpio461
root@barreleye:~# cat /sys/class/gpio/gpio324/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio324/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio325/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio326/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio333/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio334/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio343/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio344/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio352/edge
both
root@barreleye:~# cat /sys/class/gpio/gpio353/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio378/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio461/edge
none
root@barreleye:~# cat /sys/class/gpio/gpio352/direction
in

root@barreleye:~# Unable to handle kernel paging request at virtual address 0f0e0d24
pgd = c0004000
[0f0e0d24] *pgd=00000000
Internal error: Oops: 5 [#1] ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 4.3.0-openbmc-20151123-1 #1
Hardware name: ASpeed SoC
task: c04f5fb8 ti: c04f2000 task.ti: c04f2000
PC is at aspeed_gpio_irq_handler+0x70/0xe8
LR is at 0xf00c00a8
pc : [<c01bdb20>]    lr : [<f00c00a8>]    psr: 60000093
sp : c04f3f08  ip : cf8030c0  fp : 00000000
r10: 404e47f4  r9 : c0383a58  r8 : cf8030c0
r7 : cf802200  r6 : 00000000  r5 : c04ff960  r4 : cf86baa0
r3 : 0f0e0d24  r2 : 00000018  r1 : f00c0080  r0 : 01870000
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 0005317f  Table: 48b08000  DAC: 00000053
Process swapper (pid: 0, stack limit = 0xc04f2190)
Stack: (0xc04f3f08 to 0xc04f4000)
3f00:                   cf86baa0 00000016 00000016 c04ff728 00000000 cf802200
3f20: 00000001 cfffc680 404e47f4 c003ad48 000000ea c003af8c cf8030c0 c04f3f60
3f40: ffffffff c04f3f94 c04e5a28 c00093cc c000ab98 c000aba4 60000013 c000d970
3f60: 00000000 0005317f 0005217f 60000013 c04f2000 00000001 c04f4068 c04f4000
3f80: c04e5a28 cfffc680 404e47f4 00000000 600000d3 c04f3fb0 c000ab98 c000aba4
3fa0: 60000013 ffffffff 00000053 c03647c0 00000000 c0034d24 00000001 c04c5bf4
3fc0: ffffffff ffffffff 00000000 c04c5684 00000000 c04e5a28 00000000 c051cd34
3fe0: c04f4018 c04e5a24 c04f6d30 40004000 41069265 40008048 00000000 00000000
[<c01bdb20>] (aspeed_gpio_irq_handler) from [<c003ad48>] (generic_handle_irq+0x18/0x28)
[<c003ad48>] (generic_handle_irq) from [<c003af8c>] (__handle_domain_irq+0x7c/0xa0)
[<c003af8c>] (__handle_domain_irq) from [<c00093cc>] (avic_handle_irq+0x5c/0x64)
[<c00093cc>] (avic_handle_irq) from [<c000d970>] (__irq_svc+0x50/0x64)
Exception stack(0xc04f3f60 to 0xc04f3fa8)
3f60: 00000000 0005317f 0005217f 60000013 c04f2000 00000001 c04f4068 c04f4000
3f80: c04e5a28 cfffc680 404e47f4 00000000 600000d3 c04f3fb0 c000ab98 c000aba4
3fa0: 60000013 ffffffff
[<c000d970>] (__irq_svc) from [<c000aba4>] (arch_cpu_idle+0x2c/0x34)
[<c000aba4>] (arch_cpu_idle) from [<c0034d24>] (cpu_startup_entry+0x7c/0xd4)
[<c0034d24>] (cpu_startup_entry) from [<c04c5bf4>] (start_kernel+0x32c/0x3a0)
Code: e1d330b2 e2832010 e598306c e0833002 (e5933000) 
---[ end trace c800b08928a1dd92 ]---
Kernel panic - not syncing: Fatal exception in interrupt
---[ end Kernel panic - not syncing: Fatal exception in interrupt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.