patrykk / linux-udoo

Udoo Linux Kernel
Other
29 stars 6 forks source link

NULL pointer dereference in fec_enet_open #19

Closed chrta closed 8 years ago

chrta commented 8 years ago

I use revision 59ca38f080630ffcfeadc32b08c2bbdbe21dae56 of branch 4.2. In my kernel config i activated CONFIG_FEC.

When trying to set the ip address, i get an error.

root@udoo-quad:~# ifconfig eth0 192.168.1.202

[  157.355577] Unable to handle kernel NULL pointer dereference at virtual address 000001d5
[  157.363696] pgd = ae868000
[  157.370892] [000001d5] *pgd=3d95e831, *pte=00000000, *ppte=00000000
[  157.377415] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
[  157.382831] Modules linked in:
[  157.385931] CPU: 0 PID: 2722 Comm: ifconfig Tainted: G        W       4.2.0-4.2-udoo+g59ca38f #1
[  157.394731] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[  157.401278] task: adbda140 ti: ad95a000 task.ti: ad95a000
[  157.406704] PC is at fec_enet_open+0x34c/0x578
[  157.411175] LR is at genphy_suspend+0x44/0x4c
[  157.415551] pc : [<803ba3cc>]    lr : [<803b0ff4>]    psr: 00000013
[  157.415551] sp : ad95be10  ip : 00000000  fp : ae9d9000
[  157.427044] r10: ae931500  r9 : 809f8494  r8 : 00000001
[  157.432284] r7 : ae8fc000  r6 : ad95be23  r5 : 00000006  r4 : ae931000
[  157.438825] r3 : 000010f9  r2 : 809cc978  r1 : 809cca30  r0 : 00000001
[  157.445370] Flags: nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[  157.452522] Control: 10c5387d  Table: 3e86804a  DAC: 00000015
[  157.458282] Process ifconfig (pid: 2722, stack limit = 0xad95a210)
[  157.464477] Stack: (0xad95be10 to 0xad95c000)
[  157.468856] be00:                                     00000006 805ee5d8 805ee52c 00000001
[  157.477058] be20: 325311cc 30383831 652e3030 72656874 0074656e 38383132 2e303030 65687465
[  157.485257] be40: 74656e72 0036303a 00000001 ae931000 00000000 807254b8 ae931030 00000000
[  157.493457] be60: ae44c100 00008914 ae694d00 8052b428 00000201 ae931000 ae694d00 ae931000
[  157.501656] be80: 00000001 00001043 00001002 8052b6ac ae931000 ae931140 00001002 00000000
[  157.509855] bea0: 00000000 8052b774 ae44c10c 7e926c18 00000000 00000000 ca01a8c0 8058c974
[  157.518054] bec0: af136500 ae931000 7e926c18 ae931000 ae44c10c ae694d00 30687465 00000000
[  157.526252] bee0: 00000000 00000000 00001043 ca01a8c0 ffffffff 00091160 00000000 00008914
[  157.534451] bf00: 7e926c18 aec6a780 809e37c0 00000003 ad95a000 00000000 00000000 8050f530
[  157.542650] bf20: 8050f364 aec6a7a0 7e926c18 ad018840 00008914 800f49c4 ae61d370 00100073
[  157.550848] bf40: ae645c00 800c9aa8 00100073 00000000 00000000 00000094 00000000 aed684c8
[  157.559048] bf60: 00000000 00000094 00000003 000b5000 ae645c00 ad018840 7e926c18 ad018840
[  157.567247] bf80: 00008914 00000003 ad95a000 800f4be8 0007b6e0 7e926dfc 000000c3 00000036
[  157.575446] bfa0: 8000f544 8000f3c0 0007b6e0 7e926dfc 00000003 00008914 7e926c18 0007b6e0
[  157.583646] bfc0: 0007b6e0 7e926dfc 000000c3 00000036 7e926c18 0007b688 7e926dfc 00000000
[  157.591844] bfe0: 000912d8 7e926bb4 0001149c 76e33cbc 60070010 00000003 00000000 00000000
[  157.600063] [<803ba3cc>] (fec_enet_open) from [<8052b428>] (__dev_open+0xa8/0x10c)
[  157.607664] [<8052b428>] (__dev_open) from [<8052b6ac>] (__dev_change_flags+0x94/0x144)
[  157.615695] [<8052b6ac>] (__dev_change_flags) from [<8052b774>] (dev_change_flags+0x18/0x48)
[  157.624162] [<8052b774>] (dev_change_flags) from [<8058c974>] (devinet_ioctl+0x654/0x728)
[  157.632381] [<8058c974>] (devinet_ioctl) from [<8050f530>] (sock_ioctl+0x1cc/0x298)
[  157.640076] [<8050f530>] (sock_ioctl) from [<800f49c4>] (do_vfs_ioctl+0x408/0x5f8)
[  157.647675] [<800f49c4>] (do_vfs_ioctl) from [<800f4be8>] (SyS_ioctl+0x34/0x5c)
[  157.655019] [<800f4be8>] (SyS_ioctl) from [<8000f3c0>] (ret_fast_syscall+0x0/0x3c)
[  157.662614] Code: 0a00008b e3780a01 8a000073 e5943588 (e59821d4) 
[  157.668950] ---[ end trace 2fb124d3c2e80ce3 ]---
Segmentation fault
patrykk commented 8 years ago

Hi, Did you crosscompile kernel, if yes, which toolset? which version of udoo you have, quad or dual?

patrykk commented 8 years ago

btw. Could you test vanilla kernel?

chrta commented 8 years ago

Hardware: Udoo quad Compiled within yocto 1.8, using gcc 4.9.2.

The devicetree is used as is, with the addition of one spi port and two spidev devices.

The kernel bootup messages (the spidev warning messages and stack traces are only warnings...):

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.2.0-4.2-udoo+g59ca38f (ctae@localhost.localdomain) (gcc version 4.9.2 (GCC) ) #1 SMP PREEMPT Mon Sep 14 16:00:14 CEST 2015
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Udoo i.MX6 Quad Board
[    0.000000] cma: Reserved 256 MiB at 0x40000000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] PERCPU: Embedded 11 pages/cpu @af72f000 s14400 r8192 d22464 u45056
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096
[    0.000000] Kernel command line: console=ttymxc1,115200 root=/dev/mmcblk0p2 rootwait rw
[    0.000000] log_buf_len individual max cpu contribution: 4096 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 12288 bytes
[    0.000000] log_buf_len min size: 16384 bytes
[    0.000000] log_buf_len: 32768 bytes
[    0.000000] early log buf free: 14972(91%)
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 766168K/1048576K available (7135K kernel code, 323K rwdata, 2432K rodata, 236K init, 236K bss, 20264K reserved, 262144K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc0800000 - 0xff000000   (1000 MB)
[    0.000000]     lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
[    0.000000]     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
[    0.000000]     modules : 0x7f000000 - 0x7fe00000   (  14 MB)
[    0.000000]       .text : 0x80008000 - 0x80960084   (9569 kB)
[    0.000000]       .init : 0x80961000 - 0x8099c000   ( 236 kB)
[    0.000000]       .data : 0x8099c000 - 0x809ecfa0   ( 324 kB)
[    0.000000]        .bss : 0x809ecfa0 - 0x80a2829c   ( 237 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 ID prefetch enabled, offset 1 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 16 ways, 1024 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c7, AUX_CTRL 0x76470001
[    0.000000] Switching to timer-based delay loop, resolution 333ns
[    0.000007] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
[    0.000026] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
[    0.000941] Console: colour dummy device 80x30
[    0.000959] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
[    0.000973] pid_max: default: 32768 minimum: 301
[    0.001079] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.001092] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.001642] CPU: Testing write buffer coherency: ok
[    0.001917] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.002005] Setting up static identity map for 0x10008200 - 0x10008258
[    0.030191] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.040186] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.050188] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.050251] Brought up 4 CPUs
[    0.050274] SMP: Total of 4 processors activated (24.00 BogoMIPS).
[    0.050283] CPU: All CPU(s) started in SVC mode.
[    0.050877] devtmpfs: initialized
[    0.060071] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.060625] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.073492] pinctrl core: initialized pinctrl subsystem
[    0.074863] NET: Registered protocol family 16
[    0.077261] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.099667] cpuidle: using governor ladder
[    0.129662] cpuidle: using governor menu
[    0.129777] CPU identified as i.MX6Q, silicon rev 1.2
[    0.160238] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.160253] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.160543] imx6q-pinctrl 20e0000.iomuxc: no fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6q-udoo/pwm4grp
[    0.160560] imx6q-pinctrl 20e0000.iomuxc: no fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6q-udoo/pwm3grp
[    0.160962] imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
[    0.213902] mxs-dma 110000.dma-apbh: initialized
[    0.217714] vgaarb: loaded
[    0.220526] SCSI subsystem initialized
[    0.221582] usbcore: registered new interface driver usbfs
[    0.221713] usbcore: registered new interface driver hub
[    0.221862] usbcore: registered new device driver usb
[    0.222998] i2c i2c-0: IMX I2C adapter registered
[    0.223018] i2c i2c-0: can't use DMA
[    0.223629] i2c i2c-1: IMX I2C adapter registered
[    0.223648] i2c i2c-1: can't use DMA
[    0.224446] i2c i2c-2: IMX I2C adapter registered
[    0.224464] i2c i2c-2: can't use DMA
[    0.224753] pps_core: LinuxPPS API ver. 1 registered
[    0.224763] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.224857] PTP clock support registered
[    0.239731] imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
[    0.259724] imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
[    0.260698] mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 driver probed
[    0.260712] mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 dphy version is 0x3130302a
[    0.260862] MIPI CSI2 driver module loaded
[    0.261098] Advanced Linux Sound Architecture Driver Initialized.
[    0.262446] Bluetooth: Core ver 2.20
[    0.262547] NET: Registered protocol family 31
[    0.262558] Bluetooth: HCI device and connection manager initialized
[    0.262577] Bluetooth: HCI socket layer initialized
[    0.262592] Bluetooth: L2CAP socket layer initialized
[    0.262630] Bluetooth: SCO socket layer initialized
[    0.264074] clocksource: Switched to clocksource mxc_timer1
[    0.279947] NET: Registered protocol family 2
[    0.280574] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.280666] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.280792] TCP: Hash tables configured (established 8192 bind 8192)
[    0.280885] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.280943] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.281169] NET: Registered protocol family 1
[    0.281529] RPC: Registered named UNIX socket transport module.
[    0.281540] RPC: Registered udp transport module.
[    0.281548] RPC: Registered tcp transport module.
[    0.281556] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.281917] hw perfevents: Failed to parse /soc/pmu/interrupt-affinity[0]
[    0.281966] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    0.282846] imx6_busfreq: probe of soc:busfreq failed with error 12
[    0.282986] Bus freq driver module loaded
[    0.284824] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.300427] jffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
[    0.313049] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    0.313078] io scheduler noop registered
[    0.313096] io scheduler deadline registered
[    0.313145] io scheduler cfq registered (default)
[    0.314287] MIPI DSI driver module loaded
[    0.316322] mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0xa:0xa0:0xc1
[    0.316546] mxc_sdc_fb fb@0: registered mxc display driver hdmi
[    0.390320] Console: switching to colour frame buffer device 80x30
[    0.426436] imx-sdma 20ec000.sdma: no iram assigned, using external mem
[    0.426799] imx-sdma 20ec000.sdma: loaded firmware 1.1
[    0.431440] imx-sdma 20ec000.sdma: initialized
[    0.526967] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 297, base_baud = 5000000) is a IMX
[    1.294857] console [ttymxc1] enabled
[    1.299211] 21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 298, base_baud = 5000000) is a IMX
[    1.309108] [drm] Initialized drm 1.1.0 20060810
[    1.314361] [drm] Initialized vivante 1.0.4 20120216 on minor 0
[    1.327209] loop: module loaded
[    1.330771] [bossac] Registering IRQ 207 for BOSSAC Arduino erase/reset operation
[    1.338662] [bossac] Created device file /dev/udoo_ard
[    1.345493] ahci-imx 2200000.sata: fsl,transmit-level-mV not specified, using 00000024
[    1.353429] ahci-imx 2200000.sata: fsl,transmit-boost-mdB not specified, using 00000480
[    1.361475] ahci-imx 2200000.sata: fsl,transmit-atten-16ths not specified, using 00002000
[    1.369689] ahci-imx 2200000.sata: fsl,receive-eq-mdB not specified, using 05000000
[    1.380220] ahci-imx 2200000.sata: SSS flag set, parallel bus scan disabled
[    1.387241] ahci-imx 2200000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
[    1.396102] ahci-imx 2200000.sata: flags: ncq sntf stag pm led clo only pmp pio slum part ccc apst 
[    1.406795] scsi host0: ahci-imx
[    1.410481] ata1: SATA max UDMA/133 mmio [mem 0x02200000-0x02203fff] port 0x100 irq 308
[    1.420669] spidev spi1.0: buggy DT: spidev listed directly in DT
[    1.426801] ------------[ cut here ]------------
[    1.431441] WARNING: CPU: 0 PID: 1 at /home/ctae/projects/udoo/vogon/fsl-community-bsp-test/build-udoo/tmp/work-shared/udoo-quad/kernel-source/drivers/spi/spidev.c:718 spi)
[    1.448761] Modules linked in:
[    1.451850] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.2.0-4.2-udoo+g59ca38f #1
[    1.459270] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[    1.465853] [<80016278>] (unwind_backtrace) from [<80012630>] (show_stack+0x10/0x14)
[    1.473622] [<80012630>] (show_stack) from [<806c40b8>] (dump_stack+0x84/0xc4)
[    1.480887] [<806c40b8>] (dump_stack) from [<80027818>] (warn_slowpath_common+0x84/0xb4)
[    1.489010] [<80027818>] (warn_slowpath_common) from [<800278e4>] (warn_slowpath_null+0x1c/0x24)
[    1.497828] [<800278e4>] (warn_slowpath_null) from [<803abd14>] (spidev_probe+0x1a0/0x1bc)
[    1.506133] [<803abd14>] (spidev_probe) from [<803a997c>] (spi_drv_probe+0x50/0x74)
[    1.513818] [<803a997c>] (spi_drv_probe) from [<8032ccfc>] (driver_probe_device+0x174/0x2b4)
[    1.522292] [<8032ccfc>] (driver_probe_device) from [<8032b328>] (bus_for_each_drv+0x64/0x98)
[    1.530847] [<8032b328>] (bus_for_each_drv) from [<8032cb18>] (__device_attach+0x8c/0xd8)
[    1.539059] [<8032cb18>] (__device_attach) from [<8032c264>] (bus_probe_device+0x84/0x8c)
[    1.547274] [<8032c264>] (bus_probe_device) from [<8032a628>] (device_add+0x3e4/0x56c)
[    1.555224] [<8032a628>] (device_add) from [<803a9ef0>] (spi_add_device+0x94/0x130)
[    1.562895] [<803a9ef0>] (spi_add_device) from [<803ab564>] (spi_register_master+0x4a4/0x714)
[    1.571450] [<803ab564>] (spi_register_master) from [<803acdc4>] (spi_bitbang_start+0x9c/0x108)
[    1.580181] [<803acdc4>] (spi_bitbang_start) from [<803ae234>] (spi_imx_probe+0x410/0x6d4)
[    1.588479] [<803ae234>] (spi_imx_probe) from [<8032e610>] (platform_drv_probe+0x44/0xa4)
[    1.596700] [<8032e610>] (platform_drv_probe) from [<8032ccfc>] (driver_probe_device+0x174/0x2b4)
[    1.605606] [<8032ccfc>] (driver_probe_device) from [<8032cec8>] (__driver_attach+0x8c/0x90)
[    1.614059] [<8032cec8>] (__driver_attach) from [<8032b27c>] (bus_for_each_dev+0x6c/0xa0)
[    1.622269] [<8032b27c>] (bus_for_each_dev) from [<8032c510>] (bus_add_driver+0x19c/0x214)
[    1.630565] [<8032c510>] (bus_add_driver) from [<8032d6bc>] (driver_register+0x78/0xf8)
[    1.638602] [<8032d6bc>] (driver_register) from [<80009690>] (do_one_initcall+0x8c/0x1d4)
[    1.646821] [<80009690>] (do_one_initcall) from [<80961d74>] (kernel_init_freeable+0x158/0x1f8)
[    1.655556] [<80961d74>] (kernel_init_freeable) from [<806c1278>] (kernel_init+0x8/0xe8)
[    1.663663] [<806c1278>] (kernel_init) from [<8000f468>] (ret_from_fork+0x14/0x2c)
[    1.671296] ---[ end trace 2fb124d3c2e80ce0 ]---
[    1.676431] spidev spi1.1: buggy DT: spidev listed directly in DT
[    1.682536] ------------[ cut here ]------------
[    1.687196] WARNING: CPU: 0 PID: 1 at /home/ctae/projects/udoo/vogon/fsl-community-bsp-test/build-udoo/tmp/work-shared/udoo-quad/kernel-source/drivers/spi/spidev.c:718 spi)
[    1.704515] Modules linked in:
[    1.707602] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W       4.2.0-4.2-udoo+g59ca38f #1
[    1.716233] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[    1.722788] [<80016278>] (unwind_backtrace) from [<80012630>] (show_stack+0x10/0x14)
[    1.730569] [<80012630>] (show_stack) from [<806c40b8>] (dump_stack+0x84/0xc4)
[    1.737826] [<806c40b8>] (dump_stack) from [<80027818>] (warn_slowpath_common+0x84/0xb4)
[    1.745952] [<80027818>] (warn_slowpath_common) from [<800278e4>] (warn_slowpath_null+0x1c/0x24)
[    1.754765] [<800278e4>] (warn_slowpath_null) from [<803abd14>] (spidev_probe+0x1a0/0x1bc)
[    1.763052] [<803abd14>] (spidev_probe) from [<803a997c>] (spi_drv_probe+0x50/0x74)
[    1.764108] ata1: SATA link down (SStatus 0 SControl 300)
[    1.764145] ahci-imx 2200000.sata: no device found, disabling link.
[    1.764152] ahci-imx 2200000.sata: pass ahci_imx..hotplug=1 to enable hotplug
[    1.789589] [<803a997c>] (spi_drv_probe) from [<8032ccfc>] (driver_probe_device+0x174/0x2b4)
[    1.798070] [<8032ccfc>] (driver_probe_device) from [<8032b328>] (bus_for_each_drv+0x64/0x98)
[    1.806630] [<8032b328>] (bus_for_each_drv) from [<8032cb18>] (__device_attach+0x8c/0xd8)
[    1.814845] [<8032cb18>] (__device_attach) from [<8032c264>] (bus_probe_device+0x84/0x8c)
[    1.823038] [<8032c264>] (bus_probe_device) from [<8032a628>] (device_add+0x3e4/0x56c)
[    1.830984] [<8032a628>] (device_add) from [<803a9ef0>] (spi_add_device+0x94/0x130)
[    1.838671] [<803a9ef0>] (spi_add_device) from [<803ab564>] (spi_register_master+0x4a4/0x714)
[    1.847225] [<803ab564>] (spi_register_master) from [<803acdc4>] (spi_bitbang_start+0x9c/0x108)
[    1.855954] [<803acdc4>] (spi_bitbang_start) from [<803ae234>] (spi_imx_probe+0x410/0x6d4)
[    1.864251] [<803ae234>] (spi_imx_probe) from [<8032e610>] (platform_drv_probe+0x44/0xa4)
[    1.872443] [<8032e610>] (platform_drv_probe) from [<8032ccfc>] (driver_probe_device+0x174/0x2b4)
[    1.881346] [<8032ccfc>] (driver_probe_device) from [<8032cec8>] (__driver_attach+0x8c/0x90)
[    1.889814] [<8032cec8>] (__driver_attach) from [<8032b27c>] (bus_for_each_dev+0x6c/0xa0)
[    1.898023] [<8032b27c>] (bus_for_each_dev) from [<8032c510>] (bus_add_driver+0x19c/0x214)
[    1.906318] [<8032c510>] (bus_add_driver) from [<8032d6bc>] (driver_register+0x78/0xf8)
[    1.914354] [<8032d6bc>] (driver_register) from [<80009690>] (do_one_initcall+0x8c/0x1d4)
[    1.922551] [<80009690>] (do_one_initcall) from [<80961d74>] (kernel_init_freeable+0x158/0x1f8)
[    1.931282] [<80961d74>] (kernel_init_freeable) from [<806c1278>] (kernel_init+0x8/0xe8)
[    1.939405] [<806c1278>] (kernel_init) from [<8000f468>] (ret_from_fork+0x14/0x2c)
[    1.947025] ---[ end trace 2fb124d3c2e80ce1 ]---
[    1.951748] spi_imx 200c000.ecspi: probed
[    1.956863] vcan: Virtual CAN interface driver
[    1.961330] CAN device driver interface
[    1.966290] flexcan 2090000.flexcan: device registered (reg_base=c0a38000, irq=31)
[    1.975384] 2188000.ethernet supply phy not found, using dummy regulator
[    1.982591] pps pps0: new PPS source ptp0
[    1.991120] libphy: fec_enet_mii_bus: probed
[    1.996024] fec 2188000.ethernet eth0: registered PHC device 0
[    2.002462] usbcore: registered new interface driver rt2800usb
[    2.008336] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.014899] ehci-pci: EHCI PCI platform driver
[    2.019520] usbcore: registered new interface driver usb-storage
[    2.025779] usbcore: registered new interface driver usbserial
[    2.031674] usbcore: registered new interface driver usbserial_generic
[    2.038283] usbserial: USB Serial support registered for generic
[    2.044419] usbcore: registered new interface driver usb_debug
[    2.050311] usbserial: USB Serial support registered for debug
[    2.056662] mousedev: PS/2 mouse device common for all mice
[    2.063372] snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0
[    2.071832] i2c /dev entries driver
[    2.076129] udoo_power_off_probe: ok
[    2.080417] imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=1)
[    2.086449] Bluetooth: Virtual HCI driver ver 1.5
[    2.091310] Bluetooth: HCI UART driver ver 2.3
[    2.095818] Bluetooth: HCI UART protocol H4 registered
[    2.100966] Bluetooth: HCI UART protocol ATH3K registered
[    2.106486] usbcore: registered new interface driver btusb
[    2.112208] sdhci: Secure Digital Host Controller Interface driver
[    2.118422] sdhci: Copyright(c) Pierre Ossman
[    2.122798] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.129200] /soc/aips-bus@02100000/usdhc@02198000: voltage-ranges unspecified
[    2.136375] sdhci-esdhc-imx 2198000.usdhc: could not get ultra high speed state, work on normal mode
[    2.145727] sdhci-esdhc-imx 2198000.usdhc: No vmmc regulator found
[    2.151922] sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found
[    2.204103] mmc0: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
[    2.216038] Galcore version 5.0.11.25762
[    2.262091] mmc0: host does not support reading read-only switch, assuming write-enable
[    2.277172] mmc0: new high speed SDHC card at address aaaa
[    2.283472] mmcblk0: mmc0:aaaa SE16G 14.8 GiB 
[    2.295022]  mmcblk0: p1 p2
[    2.584803] mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
[    2.593734] mxc_vpu 2040000.vpu: VPU initialized
[    2.599495] hidraw: raw HID events driver (C) Jiri Kosina
[    2.607082] usbcore: registered new interface driver usbhid
[    2.612666] usbhid: USB HID core driver
[    2.616994] usbcore: registered new interface driver snd-usb-audio
[    2.629846] imx-audio-hdmi sound-hdmi: hdmi-hifi <-> soc:hdmi_audio@00120000 mapping ok
[    2.638963] NET: Registered protocol family 26
[    2.644806] NET: Registered protocol family 10
[    2.650134] sit: IPv6 over IPv4 tunneling driver
[    2.655746] NET: Registered protocol family 17
[    2.660222] can: controller area network core (rev 20120528 abi 9)
[    2.666510] NET: Registered protocol family 29
[    2.670992] can: raw protocol (rev 20120528)
[    2.675299] can: broadcast manager protocol (rev 20120528 t)
[    2.680981] can: netlink gateway (rev 20130117) max_hops=1
[    2.686853] Bluetooth: RFCOMM TTY layer initialized
[    2.691753] Bluetooth: RFCOMM socket layer initialized
[    2.696941] Bluetooth: RFCOMM ver 1.11
[    2.700722] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.706063] Bluetooth: BNEP filters: protocol multicast
[    2.711307] Bluetooth: BNEP socket layer initialized
[    2.716304] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    2.722241] Bluetooth: HIDP socket layer initialized
[    2.727240] lib80211: common routines for IEEE802.11 drivers
[    2.735206] Registering SWP/SWPB emulation handler
[    2.741945] snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)
[    2.761311] 2P8V: disabling
[    2.764192] sensor-SUPPLY: disabling
[    2.767777] 8962-SUPPLY: disabling
[    2.771185] usb_otg_vbus: disabling
[    2.774703] usb_h1_vbus: disabling
[    2.778340] ALSA device list:
[    2.781316]   #0: imx-hdmi-soc
[    2.815279] kjournald starting.  Commit interval 5 seconds
[    2.820846] EXT3-fs (mmcblk0p2): using internal journal
[    2.827200] EXT3-fs (mmcblk0p2): recovery complete
[    2.831998] EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
[    2.839110] VFS: Mounted root (ext3 filesystem) on device 179:2.
[    2.846291] devtmpfs: mounted
[    2.849473] Freeing unused kernel memory: 236K (80961000 - 8099c000)
[    3.054373] random: systemd urandom read with 5 bits of entropy available
chrta commented 8 years ago

btw. Could you test vanilla kernel?

Can do that in the next days

patrykk commented 8 years ago

Hi, Did you change something in dtsi file for SPI or something else?

chrta commented 8 years ago

This is the change of the dtsi. When i try the vanilla kernel i will check with the unchanged dtsi.

 arch/arm/boot/dts/imx6qdl-udoo.dtsi | 37 +++++++++++++++++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/imx6qdl-udoo.dtsi b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
index acdc252..58af56b 100644
--- a/arch/arm/boot/dts/imx6qdl-udoo.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
@@ -428,13 +428,13 @@
                         MX6QDL_PAD_GPIO_19__GPIO4_IO05                  0x80000000  // pin 44 KEY_VOL_DOWN
                         MX6QDL_PAD_DISP0_DAT22__GPIO5_IO16              0x80000000  // pin 45
                         MX6QDL_PAD_DISP0_DAT23__GPIO5_IO17              0x80000000  // pin 46
-                        MX6QDL_PAD_EIM_D25__GPIO3_IO25                  0x80000000  // pin 47
+                        // MX6QDL_PAD_EIM_D25__GPIO3_IO25                  0x80000000  // pin 47
                         MX6QDL_PAD_KEY_ROW1__GPIO4_IO09                 0x80000000  // pin 48
                         MX6QDL_PAD_KEY_COL1__GPIO4_IO08                 0x80000000  // pin 49
                         MX6QDL_PAD_EIM_OE__GPIO2_IO25                   0x80000000  // pin 50
                         MX6QDL_PAD_EIM_CS1__GPIO2_IO24                  0x80000000  // pin 51
                         MX6QDL_PAD_EIM_CS0__GPIO2_IO23                  0x80000000  // pin 52
-                        MX6QDL_PAD_EIM_D24__GPIO3_IO24                  0x80000000  // pin 53
+                        // MX6QDL_PAD_EIM_D24__GPIO3_IO24                  0x80000000  // pin 53
                         >;
                 };*/

@@ -489,6 +489,16 @@
                         >;
                 };

+       pinctrl_ecspi2: ecspi2grp {
+           fsl,pins = <
+               MX6QDL_PAD_EIM_OE__ECSPI2_MISO      0x100b1
+               MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI     0x100b1
+               MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK     0x100b1
+               MX6QDL_PAD_EIM_D24__GPIO3_IO24  0x000b1 /* CS SS2 */
+               MX6QDL_PAD_EIM_D25__GPIO3_IO25  0x000b1 /* CS SS3 */
+           >;
+       };
+
        pinctrl_uart2: uart2grp {
            fsl,pins = <
                MX6QDL_PAD_EIM_D26__UART2_TX_DATA   0x1b0b1
@@ -687,3 +697,26 @@
         pinctrl-0 = <&pinctrl_spdif_1>;
         status = "disabled";
 };
+
+&ecspi2 {
+   pinctrl-names = "default";
+   pinctrl-0 = <&pinctrl_ecspi2>;
+   fsl,spi-num-chipselects = <2>;
+   cs-gpios = <
+        &gpio3 24 GPIO_ACTIVE_HIGH
+        &gpio3 25 GPIO_ACTIVE_HIGH
+        >;
+   status = "okay";
+
+   spidev0: spi@0 {
+       compatible = "spidev";
+       reg = <0>;
+       spi-max-frequency = <54000000>;
+   };
+
+   spidev1: spi@1 {
+       compatible = "spidev";
+       reg = <1>;
+       spi-max-frequency = <54000000>;
+   };
+};
-- 
2.4.3
chrta commented 8 years ago

Btw: With your kernel 4.0.8 it worked.

igorpecovnik commented 8 years ago

I (CC) compiled 4.2 and via DHCP works normally. I'll check manually later.

patrykk commented 8 years ago

I couldnt reproduce this problem. Could you remove your changes related to spi and test it again? I have some idea.

patrykk commented 8 years ago

btw. could you move " MX6QDL_PAD_EIM_EB3__GPIO2_IO31 0x80000000 /* ethernet power */" from enetgrp to hoggrp and test again?

chrta commented 8 years ago

Could you remove your changes related to spi and test it again?

Even without the spidev patch, i get the same error.

I moved the line starting with "MX6QDL_PAD_EIM_EB3__GPIO2_IO31" from enetgrp to the end of hoggrp -> no change, the error is still present.

patrykk commented 8 years ago

could you supply your config file via some pastebin page or could you test configfile: http://kowalczyk.ws/imx/kernel/config-4.2

patrykk commented 8 years ago

I couldn't reproduce this problem with my config file and spi driver only for imx. Probably you compiled in some other driver which generate problem.

chrta commented 8 years ago

Thank you for your test. I use the following kernel config: https://paste.fedoraproject.org/268449/

I will try to test the mainline kernel tomorrow

patrykk commented 8 years ago

Hi, I reproducerd error:

[   10.623822] spidev spi1.0: buggy DT: spidev listed directly in DT
[   10.628637] ------------[ cut here ]------------
[   10.631968] WARNING: CPU: 3 PID: 264 at drivers/spi/spidev.c:718 spidev_probe+0x1a4/0x1c0 [spidev]()
[   10.639853] Modules linked in: spidev(+) gpio_backlight cryptodev(O) snd_soc_imx_ac97_vt1613 st1232 binfmt_misc v4l2loopback(O) ip_tables
[   10.651053] CPU: 3 PID: 264 Comm: systemd-udevd Tainted: G           O    4.2.0 #21
[   10.657436] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)

We couldnt configure spidev directly in a dtsi file. You have to configure them via /sys or /proc

patrykk commented 8 years ago

related to spi DT problem please check:

 spidev0: spi@0 {
                compatible = "rohm,dh2228fv";
                reg = <0>;
                spi-max-frequency = <54000000>;
        };
        spidev1: spi@1 {
                compatible = "rohm,dh2228fv";
                reg = <1>;
                spi-max-frequency = <54000000>;
        };

and then test SPI again and later ethernet.

patrykk commented 8 years ago

https://github.com/patrykk/linux-udoo/commit/82937850f376cb0a22d0eb1cee3219aa0b1fc1b1

chrta commented 8 years ago

The mainline kernel 4.2 with my configuration produces the same error as mentioned in my first post. The mainline kernel 4.2 with your configuration http://kowalczyk.ws/imx/kernel/config-4.2 does not boot, see https://paste.fedoraproject.org/269610/ for a log.

For now i will continue to use 4.0.8. When i have some spare time i will try to find the reason for my crash.

patrykk commented 8 years ago

Hi, Your log file for booted kernel looks like a log for vanilla kernel. Unfortunately we couldn't boot udoo with vanilla kernel because of bug in usb driver. Please compile a last udoo 4.2 branch with my config file and then make a test.

chrta commented 8 years ago

The configuration from http://kowalczyk.ws/imx/kernel/config-4.2 works within yocto and with your kernel 4.2. So it is an issue with my configuration...

patrykk commented 8 years ago

Could you test your config with last changes from 4.2 branch and new config file from that same location? I updated config http://kowalczyk.ws/imx/kernel/config-4.2.

chrta commented 8 years ago

So i found the problem in my configuration:

CONFIG_MICREL_PHY=y

When removing this, it works. I will test your SPIdev configuration next.

chrta commented 8 years ago

Spidev work with the current version of the 4.2 branch.

-> My issue is resolved. This issue can be closed.