Regression: 442ec4c04d1: PCI: dwc: all: Split struct pcie_port into host-only and core structures

Joao Pinto Joao.Pinto at synopsys.com
Mon May 8 08:31:06 PDT 2017


Às 4:20 PM de 5/8/2017, Kishon Vijay Abraham I escreveu:
> Hi Joao,
> 
> On Monday 08 May 2017 08:43 PM, Joao Pinto wrote:
>>
>> Hi Peter,
>>
>> Às 4:02 PM de 5/8/2017, Peter Senna Tschudin escreveu:
>>> Hello Kishon,
>>>
>>> Our iMX6 hardware (imx6q-b850v3.dts) is not booting with latest
>>> linux-next and I could bisect until:
>>>
>>> commit 442ec4c04d1235f8c664a74004dae54a7a574d18
>>> Author: Kishon Vijay Abraham I <kishon at ti.com>
>>> Date:   Wed Feb 15 18:48:14 2017 +0530
>>>
>>>     PCI: dwc: all: Split struct pcie_port into host-only and core structures
>>>
>>> Which seem to be causing our issues. Our device (imx6q-b850v3.dts) boots
>>> fine with 4.10, and also boots if we disable pcie with:
>>>
>>> diff --git a/arch/arm/boot/dts/imx6q-b850v3.dts b/arch/arm/boot/dts/imx6q-b850v3.dts
>>> index 2c1e98e..e655fd7 100644
>>> --- a/arch/arm/boot/dts/imx6q-b850v3.dts
>>> +++ b/arch/arm/boot/dts/imx6q-b850v3.dts
>>> @@ -212,3 +212,8 @@
>>>                 };
>>>         };
>>>  };
>>> +
>>> +&pcie {
>>> +        status = "disabled";
>>> +};
>>>
>>> But otherwise our system freezes while initializing PCI, see dmesg with
>>> some more information. Is this something specific of our system/dt or
>>> can this be a bug that is affecting others as well?
>>>
>>> Kind Regards,
>>>
>>> Peter
>>>
>>> Starting kernel ...
>>>
>>> Uncompressing Linux... done, booting the kernel.
>>> [    0.000000] Booting Linux on physical CPU 0x0
>>> [    0.000000] Linux version 4.11.0-next-20170508-dirty (peter at lenovo-peter.home) (gcc version 6.1.1 20160621 (Red Hat Cross 6.1.1-2) (GCC) 7
>>> [    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] OF: fdt: Machine model: General Electric B850v3
>>> [    0.000000] earlycon: ec_imx21 at MMIO 0x021ec000 (options '')
>>> [    0.000000] bootconsole [ec_imx21] enabled
>>> [    0.000000] Memory policy: Data cache writealloc
>>> [    0.000000] cma: Reserved 128 MiB at 0x88000000
>>> [    0.000000] On node 0 totalpages: 524288
>>> [    0.000000] free_area_init_node: node 0, pgdat 80d74fc0, node_mem_map eeff7000
>>> [    0.000000]   Normal zone: 3584 pages used for memmap
>>> [    0.000000]   Normal zone: 0 pages reserved
>>> [    0.000000]   Normal zone: 458752 pages, LIFO batch:31
>>> [    0.000000]   HighMem zone: 65536 pages, LIFO batch:15
>>> [    0.000000] percpu: Embedded 17 pages/cpu @eefb3000 s37900 r8192 d23540 u69632
>>> [    0.000000] pcpu-alloc: s37900 r8192 d23540 u69632 alloc=17*4096
>>> [    0.000000] pcpu-alloc: [0] 0 [0] 1
>>> [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 520704
>>> [    0.000000] Kernel command line: root=/dev/mmcblk0p2 ro rootwait cma=128M video=DP-1:1024x768 at 60 video=HDMI-A-1:1024x768 at 60 earlycon logl0
>>> [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
>>> [    0.000000] Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)
>>> [    0.000000] Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)
>>> [    0.000000] Memory: 1934676K/2097152K available (8192K kernel code, 502K rwdata, 2220K rodata, 1024K init, 309K bss, 31404K reserved, 131)
>>> [    0.000000] Virtual kernel memory layout:
>>> [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
>>> [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
>>> [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
>>> [    0.000000]     lowmem  : 0x80000000 - 0xf0000000   (1792 MB)
>>> [    0.000000]     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
>>> [    0.000000]     modules : 0x7f000000 - 0x7fe00000   (  14 MB)
>>> [    0.000000]       .text : 0x80008000 - 0x80900000   (9184 kB)
>>> [    0.000000]       .init : 0x80c00000 - 0x80d00000   (1024 kB)
>>> [    0.000000]       .data : 0x80d00000 - 0x80d7d874   ( 503 kB)
>>> [    0.000000]        .bss : 0x80d7f000 - 0x80dcc6c0   ( 310 kB)
>>> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
>>> [    0.000000] ftrace: allocating 28081 entries in 83 pages
>>> [    0.000000] Hierarchical RCU implementation.
>>> [    0.000000]  RCU debugfs-based tracing is enabled.
>>> [    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
>>> [    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
>>> [    0.000000] NR_IRQS:16 nr_irqs:16 16
>>> [    0.000000] L2C-310 errata 752271 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 16 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.008183] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
>>> [    0.019149] Console: colour dummy device 80x30
>>> [    0.022277] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
>>> [    0.032459] pid_max: default: 32768 minimum: 301
>>> [    0.037145] Mount-cache hash table entries: 4096 (order: 2, 16384 bytes)
>>> [    0.043765] Mountpoint-cache hash table entries: 4096 (order: 2, 16384 bytes)
>>> [    0.051388] CPU: Testing write buffer coherency: ok
>>> [    0.056014] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
>>> [    0.061774] Setting up static identity map for 0x10100000 - 0x10100054
>>> [    0.068619] smp: Bringing up secondary CPUs ...
>>> [    0.073110] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
>>> [    0.073195] smp: Brought up 1 node, 2 CPUs
>>> [    0.082212] SMP: Total of 2 processors activated (12.00 BogoMIPS).
>>> [    0.088397] CPU: All CPU(s) started in SVC mode.
>>> [    0.093925] devtmpfs: initialized
>>> [    0.106030] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
>>> [    0.110962] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
>>> [    0.120713] futex hash table entries: 512 (order: 3, 32768 bytes)
>>> [    0.132529] pinctrl core: initialized pinctrl subsystem
>>> [    0.135868] NET: Registered protocol family 16
>>> [    0.141371] DMA: preallocated 256 KiB pool for atomic coherent allocations
>>> [    0.147347] CPU identified as i.MX6Q, silicon rev 1.5
>>> [    0.157099] vdd1p1: supplied by regulator-dummy
>>> [    0.159154] vdd3p0: supplied by regulator-dummy
>>> [    0.163643] vdd2p5: supplied by regulator-dummy
>>> [    0.168222] vddarm: supplied by regulator-dummy
>>> [    0.172734] vddpu: supplied by regulator-dummy
>>> [    0.177183] vddsoc: supplied by regulator-dummy
>>> [    0.188863] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
>>> [    0.194018] hw-breakpoint: maximum watchpoint size is 4 bytes.
>>> [    0.200687] imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
>>> [    0.225818] mxs-dma 110000.dma-apbh: initialized
>>> [    0.229977] vgaarb: loaded
>>> [    0.230724] SCSI subsystem initialized
>>> [    0.234208] libata version 3.00 loaded.
>>> [    0.238082] usbcore: registered new interface driver usbfs
>>> [    0.243402] usbcore: registered new interface driver hub
>>> [    0.248696] usbcore: registered new device driver usb
>>> [    0.254761] i2c i2c-0: IMX I2C adapter registered
>>> [    0.258390] i2c i2c-0: can't use DMA, using PIO instead.
>>> [    0.264098] i2c i2c-1: IMX I2C adapter registered
>>> [    0.268390] i2c i2c-1: can't use DMA, using PIO instead.
>>> [    0.274206] i2c i2c-2: IMX I2C adapter registered
>>> [    0.278396] i2c i2c-2: can't use DMA, using PIO instead.
>>> [    0.283829] pps_core: LinuxPPS API ver. 1 registered
>>> [    0.288657] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti at linux.it>
>>> [    0.297822] PTP clock support registered
>>> [    0.301979] Advanced Linux Sound Architecture Driver Initialized.
>>> [    0.309622] clocksource: Switched to clocksource mxc_timer1
>>> [    0.370378] NET: Registered protocol family 2
>>> [    0.372439] TCP established hash table entries: 16384 (order: 4, 65536 bytes)
>>> [    0.379153] TCP bind hash table entries: 16384 (order: 5, 131072 bytes)
>>> [    0.385901] TCP: Hash tables configured (established 16384 bind 16384)
>>> [    0.392300] UDP hash table entries: 1024 (order: 3, 32768 bytes)
>>> [    0.398227] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
>>> [    0.404824] NET: Registered protocol family 1
>>> [    0.408971] PCI: CLS 0 bytes, default 64
>>> [    0.413582] hw perfevents: no interrupt-affinity property for /soc/pmu, guessing.
>>> [    0.420576] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
>>> [    0.429443] audit: initializing netlink subsys (disabled)
>>> [    0.434049] audit: type=2000 audit(0.424:1): state=initialized audit_enabled=0 res=1
>>> [    0.434655] workingset: timestamp_bits=30 max_order=19 bucket_order=0
>>> [    0.445347] bounce: pool size: 64 pages
>>> [    0.445354] io scheduler noop registered
>>> [    0.445358] io scheduler deadline registered
>>> [    0.445392] io scheduler cfq registered (default)
>>> [    0.445396] io scheduler mq-deadline registered
>>> [    0.445400] io scheduler kyber registered
>>> [    0.501998] OF: PCI: host bridge /soc/pcie at 1ffc000 ranges:
>>> [    0.507275] OF: PCI:    IO 0x01f80000..0x01f8ffff -> 0x00000000
>>> [    0.513202] OF: PCI:   MEM 0x01000000..0x01efffff -> 0x01000000
>>> [    0.739697] imx6q-pcie 1ffc000.pcie: link up
>>> [    0.741115] imx6q-pcie 1ffc000.pcie: Link: Gen2 disabled
>>> [    0.746421] imx6q-pcie 1ffc000.pcie: Link up, Gen1
>>> [    0.751343] imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00
>>> [    0.757475] pci_bus 0000:00: root bus resource [bus 00-ff]
>>> [    0.762974] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>>> [    0.769128] pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]
>>> [    0.776052] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
>>> [    0.782044] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
>>> [    0.788279] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
>>> [    0.795041] pci 0000:00:00.0: supports D1
>>> [    0.798971] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
>>> [    0.805503] PCI: bus0: Fast back to back transfers disabled
>>> [    0.811079] pci 0000:01:00.0: [10b5:8605] type 01 class 0x060400
>>> [    0.817034] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff]
>>> [    0.823778] pci 0000:01:00.0: supports D1 D2
>>> [    0.827418] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
>>> [    0.859773] PCI: bus1: Fast back to back transfers disabled
>>> [    0.862502] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
>>> [    0.870810] pci_bus 0000:02: busn_res: can not insert [bus 02-ff] under [bus 01] (conflicts with (null) [bus 01])
>>> [    0.880800] Unhandled fault: external abort on non-linefetch (0x1008) at 0xf0a40000
>>> [    0.888416] pgd = 80004000
>>> [    0.891112] [f0a40000] *pgd=7e01d811, *pte=01f40243, *ppte=01f40013
>>> [    0.897384] Internal error: : 1008 [#1] SMP ARM
>>> [    0.901903] Modules linked in:
>>> [    0.904951] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.11.0-next-20170508-dirty #106
>>> [    0.912775] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
>>> [    0.919302] task: ee908000 task.stack: ee906000
>>> [    0.923836] PC is at dw_pcie_read+0x60/0x8c
>>> [    0.928005] LR is at dw_pcie_rd_conf+0x188/0x1e0
>>> [    0.932616] pc : [<804125b8>]    lr : [<80413308>]    psr: 60000093
>>> [    0.932616] sp : ee907af0  ip : ee907b00  fp : ee907afc
>>> [    0.944096] r10: 00000000  r9 : eea28b10  r8 : 00000000
>>> [    0.949317] r7 : 00000000  r6 : 00000000  r5 : f0a40000  r4 : eea28b28
>>> [    0.955840] r3 : 00000000  r2 : ee907b6c  r1 : 00000004  r0 : f0a40000
>>> [    0.962368] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
>>> [    0.969589] Control: 10c5387d  Table: 1000404a  DAC: 00000051
>>> [    0.975330] Process swapper/0 (pid: 1, stack limit = 0xee906210)
>>> [    0.981333] Stack: (0xee907af0 to 0xee908000)
>>> [    0.985686] 7ae0:                                     ee907b54 ee907b00 80413308 80412564
>>> [    0.993864] 7b00: 01f40000 00000000 02000000 00000000 00040000 804126ec 01f40000 00000000
>>> [    1.002041] 7b20: 804126ec 00000004 ee907b44 80413180 ee907bd4 60000013 00000000 00000002
>>> [    1.010220] 7b40: 00000000 eeb1be00 ee907b8c ee907b58 803f3eac 8041318c ee907b6c 80412564
>>> [    1.018397] 7b60: 00000000 00000000 ee907b84 00000000 00000000 00000000 ee907bd4 0000ea60
>>> [    1.026577] 7b80: ee907bcc ee907b90 803f6598 803f3e40 eea28b10 00000000 ee907bfc 80400974
>>> [    1.034754] 7ba0: 00000000 00000000 eeb1be00 00000000 00000000 00000002 00000000 00000001
>>> [    1.042932] 7bc0: ee907bf4 ee907bd0 803f7f08 803f6570 ee907bfc 80db80b4 00000008 eeb1be00
>>> [    1.051109] 7be0: eea16000 00000000 ee907c14 ee907bf8 803f7fec 803f7ec4 00000008 eeb1be00
>>> [    1.059287] 7c00: eea16000 00000002 ee907c3c ee907c18 803f902c 803f7f88 eeb1bc00 eeb1be00
>>> [    1.067466] 7c20: eea16000 00000001 00000002 00000000 ee907c94 ee907c40 803f8d58 803f9008
>>> [    1.075643] 7c40: 8010e080 802097c8 80a57698 00000001 00000000 00000000 00000000 00000000
>>> [    1.083821] 7c60: 00000001 00ff0201 ee907c94 eea16000 eeb1bc00 eeb1bc14 00000001 00000001
>>> [    1.091999] 7c80: 00000001 00000001 ee907cbc ee907c98 803f9088 803f8ab4 eeb1ba00 eeb1bc00
>>> [    1.100177] 7ca0: eea15c00 00000000 00000001 00000001 ee907d14 ee907cc0 803f8ca0 803f9008
>>> [    1.108355] 7cc0: 8010e080 802097c8 80a57698 00000000 00000000 00000000 00000000 00000000
>>> [    1.116533] 7ce0: 00000001 00010100 ee907d14 eea15c00 eeb1ba00 eeb1ba14 00000000 00000000
>>> [    1.124712] 7d00: ee803e10 00000000 ee907d3c ee907d18 803f9088 803f8ab4 00000000 eeb1ba00
>>> [    1.132890] 7d20: 80d308b4 ee907d70 ee907d70 ee803e10 ee907d5c ee907d40 803f92d4 803f9008
>>> [    1.141069] 7d40: ee907d70 80d308b4 eea28b28 80d3082c ee907da4 ee907d60 80413d20 803f9274
>>> [    1.149247] 7d60: ee907d70 80d308b4 8016f3bc eefd9ef8 ee907d70 ee907d70 ee803e00 00000000
>>> [    1.157425] 7d80: eea28b10 ee803e10 ee01a490 ee803e00 eefd9ef8 80c00660 ee907ddc ee907da8
>>> [    1.165603] 7da0: 8041479c 80413adc 00010080 80a886e4 ee01a490 ee803e10 ee803e10 80d308fc
>>> [    1.173781] 7dc0: 00000000 00000000 80d308fc 00000000 ee907df4 ee907de0 804e10e8 8041441c
>>> [    1.181959] 7de0: 80dc0d30 ee803e10 ee907e1c ee907df8 804df498 804e10b0 ee803e10 80d308fc
>>> [    1.190136] 7e00: ee803e44 00000000 00000000 80c6a83c ee907e3c ee907e20 804df610 804df2b4
>>> [    1.198313] 7e20: 00000000 80d308fc 804df53c 00000000 ee907e64 ee907e40 804dd74c 804df548
>>> [    1.206493] 7e40: ee947058 ee8f8434 ee94706c 80d308fc ee01a380 80d40850 ee907e74 ee907e68
>>> [    1.214669] 7e60: 804def1c 804dd6dc ee907e9c ee907e78 804dea5c 804def00 80a88880 ee907e88
>>> [    1.222848] 7e80: 80d308fc ffffe000 80c6a834 80b29414 ee907eb4 ee907ea0 804dfe9c 804de958
>>> [    1.231026] 7ea0: 80c2c07c ffffe000 ee907ec4 ee907eb8 804e1090 804dfe20 ee907edc ee907ec8
>>> [    1.239204] 7ec0: 80c2c0bc 804e105c 80a58f90 ffffe000 ee907f4c ee907ee0 80101c78 80c2c088
>>> [    1.247383] 7ee0: 80c00684 803b9664 80b2a200 000000b9 ee907f4c ee907f00 80142b54 80c0066c
>>> [    1.255559] 7f00: 8015ddd4 00000006 00000006 00000000 80b29414 80ab8644 efffea30 efffea38
>>> [    1.263739] 7f20: 00000000 00000006 80d7f000 80c99e94 80d7f000 80c6a834 80b29414 000000b9
>>> [    1.271916] 7f40: ee907f94 ee907f50 80c00eb0 80101c38 00000006 00000006 00000000 80c00660
>>> [    1.280093] 7f60: 00000000 00000007 8088ee80 00000000 8088ee80 00000000 00000000 00000000
>>> [    1.288272] 7f80: 00000000 00000000 ee907fac ee907f98 8088ee98 80c00d88 00000000 8088ee80
>>> [    1.296450] 7fa0: 00000000 ee907fb0 801080f8 8088ee8c 00000000 00000000 00000000 00000000
>>> [    1.304627] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>>> [    1.312805] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffffffff ffffffff
>>> [    1.320978] Backtrace:
>>> [    1.323425] [<80412558>] (dw_pcie_read) from [<80413308>] (dw_pcie_rd_conf+0x188/0x1e0)
>>> [    1.331433] [<80413180>] (dw_pcie_rd_conf) from [<803f3eac>] (pci_bus_read_config_dword+0x78/0xa0)
>>> [    1.340387]  r10:eeb1be00 r9:00000000 r8:00000002 r7:00000000 r6:60000013 r5:ee907bd4
>>> [    1.348210]  r4:80413180
>>> [    1.350744] [<803f3e34>] (pci_bus_read_config_dword) from [<803f6598>] (pci_bus_read_dev_vendor_id+0x34/0x104)
>>> [    1.360740]  r6:0000ea60 r5:ee907bd4 r4:00000000
>>> [    1.365358] [<803f6564>] (pci_bus_read_dev_vendor_id) from [<803f7f08>] (pci_scan_single_device+0x50/0xc4)
>>> [    1.375011]  r10:00000001 r9:00000000 r8:00000002 r7:00000000 r6:00000000 r5:eeb1be00
>>> [    1.382835]  r4:00000000
>>> [    1.385366] [<803f7eb8>] (pci_scan_single_device) from [<803f7fec>] (pci_scan_slot+0x70/0x118)
>>> [    1.393975]  r7:00000000 r6:eea16000 r5:eeb1be00 r4:00000008
>>> [    1.399634] [<803f7f7c>] (pci_scan_slot) from [<803f902c>] (pci_scan_child_bus+0x30/0x108)
>>> [    1.407895]  r7:00000002 r6:eea16000 r5:eeb1be00 r4:00000008
>>> [    1.413551] [<803f8ffc>] (pci_scan_child_bus) from [<803f8d58>] (pci_scan_bridge+0x2b0/0x554)
>>> [    1.422078]  r9:00000000 r8:00000002 r7:00000001 r6:eea16000 r5:eeb1be00 r4:eeb1bc00
>>> [    1.429820] [<803f8aa8>] (pci_scan_bridge) from [<803f9088>] (pci_scan_child_bus+0x8c/0x108)
>>> [    1.438261]  r10:00000001 r9:00000001 r8:00000001 r7:00000001 r6:eeb1bc14 r5:eeb1bc00
>>> [    1.446085]  r4:eea16000
>>> [    1.448612] [<803f8ffc>] (pci_scan_child_bus) from [<803f8ca0>] (pci_scan_bridge+0x1f8/0x554)
>>> [    1.457138]  r9:00000001 r8:00000001 r7:00000000 r6:eea15c00 r5:eeb1bc00 r4:eeb1ba00
>>> [    1.464881] [<803f8aa8>] (pci_scan_bridge) from [<803f9088>] (pci_scan_child_bus+0x8c/0x108)
>>> [    1.473321]  r10:00000000 r9:ee803e10 r8:00000000 r7:00000000 r6:eeb1ba14 r5:eeb1ba00
>>> [    1.481145]  r4:eea15c00
>>> [    1.483675] [<803f8ffc>] (pci_scan_child_bus) from [<803f92d4>] (pci_scan_root_bus_msi+0x6c/0xd4)
>>> [    1.492549]  r9:ee803e10 r8:ee907d70 r7:ee907d70 r6:80d308b4 r5:eeb1ba00 r4:00000000
>>> [    1.500292] [<803f9268>] (pci_scan_root_bus_msi) from [<80413d20>] (dw_pcie_host_init+0x250/0x4f8)
>>> [    1.509249]  r5:80d3082c r4:eea28b28
>>> [    1.512822] [<80413ad0>] (dw_pcie_host_init) from [<8041479c>] (imx6_pcie_probe+0x38c/0x540)
>>> [    1.521259]  r10:80c00660 r9:eefd9ef8 r8:ee803e00 r7:ee01a490 r6:ee803e10 r5:eea28b10
>>> [    1.529083]  r4:00000000
>>> [    1.531619] [<80414410>] (imx6_pcie_probe) from [<804e10e8>] (platform_drv_probe+0x44/0x7c)
>>> [    1.539963]  r9:00000000 r8:80d308fc r7:00000000 r6:00000000 r5:80d308fc r4:ee803e10
>>> [    1.547709] [<804e10a4>] (platform_drv_probe) from [<804df498>] (really_probe+0x1f0/0x294)
>>> [    1.555967]  r5:ee803e10 r4:80dc0d30
>>> [    1.559540] [<804df2a8>] (really_probe) from [<804df610>] (__driver_attach+0xd4/0xd8)
>>> [    1.567367]  r9:80c6a83c r8:00000000 r7:00000000 r6:ee803e44 r5:80d308fc r4:ee803e10
>>> [    1.575113] [<804df53c>] (__driver_attach) from [<804dd74c>] (bus_for_each_dev+0x7c/0xb0)
>>> [    1.583286]  r7:00000000 r6:804df53c r5:80d308fc r4:00000000
>>> [    1.588945] [<804dd6d0>] (bus_for_each_dev) from [<804def1c>] (driver_attach+0x28/0x30)
>>> [    1.596945]  r6:80d40850 r5:ee01a380 r4:80d308fc
>>> [    1.601560] [<804deef4>] (driver_attach) from [<804dea5c>] (bus_add_driver+0x110/0x220)
>>> [    1.609564] [<804de94c>] (bus_add_driver) from [<804dfe9c>] (driver_register+0x88/0x104)
>>> [    1.617652]  r7:80b29414 r6:80c6a834 r5:ffffe000 r4:80d308fc
>>> [    1.623311] [<804dfe14>] (driver_register) from [<804e1090>] (__platform_driver_register+0x40/0x54)
>>> [    1.632353]  r5:ffffe000 r4:80c2c07c
>>> [    1.635931] [<804e1050>] (__platform_driver_register) from [<80c2c0bc>] (imx6_pcie_init+0x40/0x54)
>>> [    1.644890] [<80c2c07c>] (imx6_pcie_init) from [<80101c78>] (do_one_initcall+0x4c/0x17c)
>>> [    1.652983] [<80101c2c>] (do_one_initcall) from [<80c00eb0>] (kernel_init_freeable+0x134/0x1f4)
>>> [    1.661675]  r8:000000b9 r7:80b29414 r6:80c6a834 r5:80d7f000 r4:80c99e94
>>> [    1.668385] [<80c00d7c>] (kernel_init_freeable) from [<8088ee98>] (kernel_init+0x18/0x124)
>>> [    1.676641]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:8088ee80
>>> [    1.684464]  r4:00000000
>>> [    1.687000] [<8088ee80>] (kernel_init) from [<801080f8>] (ret_from_fork+0x14/0x3c)
>>> [    1.694558]  r5:8088ee80 r4:00000000
>>> [    1.698131] Code: ee073f9a e1a00003 e5821000 e89da800 (e5901000)
>>> [    1.704224] ---[ end trace dc8f87ab88f61701 ]---
>>> [    1.708894] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
>>> [    1.708894]
>>> [    1.717974] CPU1: stopping
>>> [    1.720663] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D         4.11.0-next-20170508-dirty #106
>>> [    1.729705] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
>>> [    1.736230] Backtrace:
>>> [    1.738676] [<8010c7d0>] (dump_backtrace) from [<8010cad4>] (show_stack+0x20/0x24)
>>> [    1.746239]  r7:00000001 r6:60000193 r5:00000000 r4:80d2f200
>>> [    1.751902] [<8010cab4>] (show_stack) from [<803b1970>] (dump_stack+0x94/0xb0)
>>> [    1.759120] [<803b18dc>] (dump_stack) from [<8010f708>] (handle_IPI+0x28c/0x334)
>>> [    1.766510]  r7:00000001 r6:80ca1e0c r5:ee92df38 r4:80d7f310
>>> [    1.772167] [<8010f47c>] (handle_IPI) from [<801015a4>] (gic_handle_irq+0xa8/0xc4)
>>> [    1.779735]  r10:80d0432c r9:f4000100 r8:80d2f648 r7:ee92df38 r6:000003ff r5:000003eb
>>> [    1.787561]  r4:f400010c r3:00000000
>>> [    1.791134] [<801014fc>] (gic_handle_irq) from [<80894a6c>] (__irq_svc+0x6c/0x90)
>>> [    1.798609] Exception stack(0xee92df38 to 0xee92df80)
>>> [    1.803657] df20:                                                       0000062c 6e329000
>>> [    1.811839] df40: 00000000 8011bd60 ee92c000 00000000 80d03cf8 80d03cac 80d16f9f 80a5d91c
>>> [    1.820016] df60: 00000000 ee92df94 ee92df98 ee92df88 80108a00 80108a04 60000013 ffffffff
>>> [    1.828194]  r10:00000000 r9:ee92c000 r8:80d16f9f r7:ee92df6c r6:ffffffff r5:60000013
>>> [    1.836019]  r4:80108a04
>>> [    1.838552] [<801089c4>] (arch_cpu_idle) from [<8089424c>] (default_idle_call+0x30/0x3c)
>>> [    1.846647] [<8089421c>] (default_idle_call) from [<8015ed88>] (do_idle+0xc4/0x14c)
>>> [    1.854296] [<8015ecc4>] (do_idle) from [<8015f09c>] (cpu_startup_entry+0x28/0x2c)
>>> [    1.861864]  r9:412fc09a r8:1000406a r7:80d7f320 r6:10c0387d r5:00000001 r4:00000087
>>> [    1.869609] [<8015f074>] (cpu_startup_entry) from [<8010f1ec>] (secondary_start_kernel+0x148/0x174)
>>> [    1.878656] [<8010f0a4>] (secondary_start_kernel) from [<1010196c>] (0x1010196c)
>>> [    1.886046]  r5:00000051 r4:7e92006a
>>> [    1.889619] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
>>> [    1.889619]
>>>
>>
>> Could you please check if you specific SoC driver is implementing the
>> dw_pcie_ops structure? You can see an example here:
>>
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__git.kernel.org_pub_scm_linux_kernel_git_helgaas_pci.git_tree_drivers_pci_dwc_pcie-2Ddesignware-2Dplat.c-3Fh-3Dnext-23n89&d=DwID-g&c=DPL6_X_6JkXFx7AXWqB0tg&r=s2fO0hii0OGNOv9qQy_HRXy-xAJUD1NNoEcc3io_kx0&m=W1o6gVTGVGc3xn2ju9_MIEp82TgHJFpOKbls4-qJyB4&s=e_EFnyFiqJ8foA366Hd97K4NpVoswMHhAxvsJ0bagVw&e= 
>>
>> The hang in the boot could be achieved by not declaring this op's structure.
> 
> just checked pci-imx6.c has both dw_pcie_ops and dw_pcie_host_ops.

Ok, so from the dmesg we can see that it crashes when trying to read a register.
Do you think that maybe the size parameter might not be well defined for this
driver?

> 
> Thanks
> Kishon
> 




More information about the linux-arm-kernel mailing list