drm/imx: Crash in drm_mode_config_cleanup
Stefan Agner
stefan at agner.ch
Thu Sep 13 00:31:12 UTC 2018
On 12.09.2018 15:26, Stefan Agner wrote:
> Hi,
>
> While working on Apalis iMX6 with four displays, I encountered the
> following crash:
>
> ...
> [ 2.978166] imx-drm display-subsystem: trying to bring up master
> [ 2.984368] imx-drm display-subsystem: Looking for component 0
> [ 2.990236] imx-drm display-subsystem: master has incomplete components
> [ 2.998774] imx-parallel-display parallel-display-controller0: adding component (ops imx_pd_ops)
> [ 3.007697] imx-drm display-subsystem: trying to bring up master
> [ 3.013812] imx-drm display-subsystem: Looking for component 0
> [ 3.019679] imx-drm display-subsystem: master has incomplete components
> [ 3.027117] imx-parallel-display parallel-display-controller1: adding component (ops imx_pd_ops)
> [ 3.036016] imx-drm display-subsystem: trying to bring up master
> [ 3.042128] imx-drm display-subsystem: Looking for component 0
> [ 3.047990] imx-drm display-subsystem: master has incomplete components
> [ 3.055667] imx_ldb_probe
> [ 3.058336] imx-ldb ldb: adding component (ops imx_ldb_ops)
> [ 3.064021] imx-drm display-subsystem: trying to bring up master
> [ 3.070061] imx-drm display-subsystem: Looking for component 0
> [ 3.075996] imx-drm display-subsystem: master has incomplete components
> [ 3.083712] dwhdmi-imx 120000.hdmi: adding component (ops dw_hdmi_imx_ops)
> [ 3.090709] imx-drm display-subsystem: trying to bring up master
> [ 3.096747] imx-drm display-subsystem: Looking for component 0
> [ 3.102682] imx-drm display-subsystem: master has incomplete components
> [ 3.115134] panel-simple panel: Linked as a consumer to regulator.13
> [ 3.123207] etnaviv-gpu 130000.gpu: adding component (ops gpu_ops)
> [ 3.129424] imx-drm display-subsystem: trying to bring up master
> [ 3.135550] imx-drm display-subsystem: Looking for component 0
> [ 3.141491] imx-drm display-subsystem: master has incomplete components
> [ 3.149460] etnaviv-gpu 134000.gpu: adding component (ops gpu_ops)
> [ 3.155772] imx-drm display-subsystem: trying to bring up master
> [ 3.161886] imx-drm display-subsystem: Looking for component 0
> [ 3.167751] imx-drm display-subsystem: master has incomplete components
> [ 3.175988] etnaviv-gpu 2204000.gpu: adding component (ops gpu_ops)
> [ 3.182386] imx-drm display-subsystem: trying to bring up master
> [ 3.188426] imx-drm display-subsystem: Looking for component 0
> [ 3.194367] imx-drm display-subsystem: master has incomplete components
> [ 3.202629] etnaviv etnaviv: trying to bring up master
> [ 3.207806] etnaviv etnaviv: Looking for component 0
> [ 3.212887] etnaviv etnaviv: found component 130000.gpu, duplicate 0
> [ 3.219275] etnaviv etnaviv: Looking for component 1
> [ 3.224345] etnaviv etnaviv: found component 134000.gpu, duplicate 0
> [ 3.230796] etnaviv etnaviv: Looking for component 2
> [ 3.235791] etnaviv etnaviv: found component 2204000.gpu, duplicate 0
> [ 3.243093] etnaviv etnaviv: binding 130000.gpu (ops gpu_ops)
> [ 3.250918] etnaviv etnaviv: bound 130000.gpu (ops gpu_ops)
> [ 3.256547] etnaviv etnaviv: binding 134000.gpu (ops gpu_ops)
> [ 3.263052] etnaviv etnaviv: bound 134000.gpu (ops gpu_ops)
> [ 3.268678] etnaviv etnaviv: binding 2204000.gpu (ops gpu_ops)
> [ 3.275268] etnaviv etnaviv: bound 2204000.gpu (ops gpu_ops)
> [ 3.281064] etnaviv-gpu 130000.gpu: model: GC2000, revision: 5108
> [ 3.299883] etnaviv-gpu 134000.gpu: model: GC320, revision: 5007
> [ 3.319255] etnaviv-gpu 2204000.gpu: model: GC355, revision: 1215
> [ 3.325491] etnaviv-gpu 2204000.gpu: Ignoring GPU with VG and FE2.0
> [ 3.334102] [drm] Initialized etnaviv 1.2.0 20151214 for etnaviv on minor 0
> [ 3.346005] imx-ipuv3-crtc imx-ipuv3-crtc.2: adding component (ops ipu_crtc_ops)
> [ 3.353520] imx-drm display-subsystem: trying to bring up master
> [ 3.359596] imx-drm display-subsystem: Looking for component 0
> [ 3.365518] imx-drm display-subsystem: found component imx-ipuv3-crtc.2, duplicate 0
> [ 3.373342] imx-drm display-subsystem: Looking for component 1
> [ 3.379206] imx-drm display-subsystem: master has incomplete components
> [ 3.386415] imx-ipuv3-crtc imx-ipuv3-crtc.3: adding component (ops ipu_crtc_ops)
> [ 3.393901] imx-drm display-subsystem: trying to bring up master
> [ 3.399939] imx-drm display-subsystem: Looking for component 0
> [ 3.405852] imx-drm display-subsystem: Looking for component 1
> [ 3.411770] imx-drm display-subsystem: found component imx-ipuv3-crtc.3, duplicate 0
> [ 3.419542] imx-drm display-subsystem: Looking for component 2
> [ 3.425456] imx-drm display-subsystem: master has incomplete components
> [ 3.432224] imx-ipuv3 2400000.ipu: IPUv3H probed
> [ 3.438945] imx-ipuv3-crtc imx-ipuv3-crtc.6: adding component (ops ipu_crtc_ops)
> [ 3.446435] imx-drm display-subsystem: trying to bring up master
> [ 3.452526] imx-drm display-subsystem: Looking for component 0
> [ 3.458389] imx-drm display-subsystem: Looking for component 1
> [ 3.464336] imx-drm display-subsystem: Looking for component 2
> [ 3.470202] imx-drm display-subsystem: found component imx-ipuv3-crtc.6, duplicate 0
> [ 3.478040] imx-drm display-subsystem: Looking for component 3
> [ 3.483969] imx-drm display-subsystem: master has incomplete components
> [ 3.491183] imx-ipuv3-crtc imx-ipuv3-crtc.7: adding component (ops ipu_crtc_ops)
> [ 3.498612] imx-drm display-subsystem: trying to bring up master
> [ 3.504758] imx-drm display-subsystem: Looking for component 0
> [ 3.510679] imx-drm display-subsystem: Looking for component 1
> [ 3.516541] imx-drm display-subsystem: Looking for component 2
> [ 3.522470] imx-drm display-subsystem: Looking for component 3
> [ 3.528336] imx-drm display-subsystem: found component imx-ipuv3-crtc.7, duplicate 0
> [ 3.536169] imx-drm display-subsystem: Looking for component 4
> [ 3.542110] imx-drm display-subsystem: found component 120000.hdmi, duplicate 0
> [ 3.549449] imx-drm display-subsystem: Looking for component 5
> [ 3.555430] imx-drm display-subsystem: found component ldb, duplicate 0
> [ 3.562134] imx-drm display-subsystem: Looking for component 6
> [ 3.567999] imx-drm display-subsystem: found component parallel-display-controller1, duplicate 0
> [ 3.576873] imx-drm display-subsystem: Looking for component 7
> [ 3.582788] imx-drm display-subsystem: found component 120000.hdmi, duplicate 1
> [ 3.590126] imx-drm display-subsystem: Looking for component 8
> [ 3.596057] imx-drm display-subsystem: found component ldb, duplicate 1
> [ 3.602752] imx-drm display-subsystem: Looking for component 9
> [ 3.608615] imx-drm display-subsystem: found component parallel-display-controller0, duplicate 0
> [ 3.617487] imx-drm display-subsystem: Looking for component 10
> [ 3.623488] imx-drm display-subsystem: found component 120000.hdmi, duplicate 1
> [ 3.630884] imx-drm display-subsystem: Looking for component 11
> [ 3.636843] imx-drm display-subsystem: found component ldb, duplicate 1
> [ 3.643537] imx-drm display-subsystem: Looking for component 12
> [ 3.649486] imx-drm display-subsystem: found component 120000.hdmi, duplicate 1
> [ 3.656881] imx-drm display-subsystem: Looking for component 13
> [ 3.662891] imx-drm display-subsystem: found component ldb, duplicate 1
> [ 3.670184] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [ 3.676937] [drm] No driver support for vblank timestamp query.
> [ 3.682982] imx-drm display-subsystem: binding imx-ipuv3-crtc.2 (ops ipu_crtc_ops)
> [ 3.691707] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops ipu_crtc_ops)
> [ 3.699155] imx-drm display-subsystem: binding imx-ipuv3-crtc.3 (ops ipu_crtc_ops)
> [ 3.707122] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops ipu_crtc_ops)
> [ 3.714637] imx-drm display-subsystem: binding imx-ipuv3-crtc.6 (ops ipu_crtc_ops)
> [ 3.722667] imx-drm display-subsystem: bound imx-ipuv3-crtc.6 (ops ipu_crtc_ops)
> [ 3.730111] imx-drm display-subsystem: binding imx-ipuv3-crtc.7 (ops ipu_crtc_ops)
> [ 3.738068] imx-drm display-subsystem: bound imx-ipuv3-crtc.7 (ops ipu_crtc_ops)
> [ 3.745580] imx-drm display-subsystem: binding 120000.hdmi (ops dw_hdmi_imx_ops)
> [ 3.753241] drm_encoder_init, encoder ec861894
> [ 3.758489] dwhdmi-imx 120000.hdmi: Detected HDMI TX controller v1.30a with HDCP (DWC HDMI 3D TX PHY)
> [ 3.769712] dwhdmi-imx 120000.hdmi: registered DesignWare HDMI I2C bus driver
> [ 3.781163] imx-drm display-subsystem: bound 120000.hdmi (ops dw_hdmi_imx_ops)
> [ 3.788441] imx-drm display-subsystem: binding ldb (ops imx_ldb_ops)
> [ 3.794902] imx_ldb_bind, imx_ldb ec0da010
> [ 3.799818] drm_encoder_init, encoder ec0da388
> [ 3.804363] drm_encoder_init, ret 0
> [ 3.807908] imx_ldb_register, encoder ec0da388
> [ 3.812432] imx_ldb_register, ret 0
> [ 3.815951] imx_ldb_bind encoder LVDS-46, ec0da388 ->func c0e6371c
> [ 3.822227] imx_ldb_bind, done
> [ 3.825331] imx-drm display-subsystem: bound ldb (ops imx_ldb_ops)
> [ 3.831614] imx-drm display-subsystem: binding parallel-display-controller1 (ops imx_pd_ops)
> [ 3.840285] drm_encoder_init, encoder ec8a2b78
> [ 3.844931] imx-drm display-subsystem: Linked as a consumer to panel
> [ 3.851472] imx-drm display-subsystem: bound parallel-display-controller1 (ops imx_pd_ops)
> [ 3.859785] imx-drm display-subsystem: binding parallel-display-controller0 (ops imx_pd_ops)
> [ 3.868561] imx-drm display-subsystem: failed to bind parallel-display-controller0 (ops imx_pd_ops): -517
> [ 3.878225] imx-drm display-subsystem: Dropping the link to panel
> [ 3.884679] imx_ldb_unbind
> [ 3.887421] imx_ldb_unbind, encoder LVDS-46, ec0da388 ->func c0e6371c
> [ 3.893950] imx_ldb_unbind, encoder (null), ec0da838 ->func 0
> [ 3.899723] imx_ldb_unbind, done
> [ 3.908345] imx_drm_bind, component_bind_all, ret -517
> [ 3.913638] drm_mode_config_cleanup, encoder TMDS-44, ec861894 ->funcs c0e63a18
> [ 3.921260] drm_mode_config_cleanup, calling encoder->funcs->destroy!
> [ 3.927897] drm_encoder_cleanup, encoder ec861894
> [ 3.932717] drm_mode_config_cleanup, encoder (null), ec0da388 ->funcs 0
> [ 3.939356] drm_mode_config_cleanup, calling encoder->funcs->destroy!
> [ 3.946050] Unable to handle kernel NULL pointer dereference at virtual address 00000004
> [ 3.954238] pgd = (ptrval)
> [ 3.956973] [00000004] *pgd=00000000
> [ 3.960650] Internal error: Oops: 5 [#1] SMP ARM
> [ 3.965283] Modules linked in:
> [ 3.968364] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.0-rc3+ #314
> [ 3.974901] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [ 3.981455] PC is at drm_mode_config_cleanup+0x304/0x364
> [ 3.986787] LR is at vprintk_emit+0xd8/0x258
> [ 3.991070] pc : [<c066f544>] lr : [<c01a7c64>] psr: 60000013
> [ 3.997347] sp : ec0d5a10 ip : ec0d5960 fp : ec0d5a6c
> [ 4.002583] r10: c112d4c4 r9 : c112d490 r8 : c112d464
> [ 4.007819] r7 : fffffffc r6 : ec446000 r5 : fffffffc r4 : ec4464d4
> [ 4.014357] r3 : 00000000 r2 : f411825b r1 : ffffff30 r0 : ec0da388
> [ 4.020898] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
> [ 4.028046] Control: 10c5387d Table: 1000404a DAC: 00000051
> [ 4.033802] Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
> [ 4.039820] Stack: (0xec0d5a10 to 0xec0d6000)
> [ 4.044192] 5a00: c01a8bb0 c01a7f8c ffffffec 00000000
> [ 4.052386] 5a20: c1408908 fffffdfb c147bd78 ec2e5c10 ec0d5a5c ec0d5a40 c01a8404 f411825b
> [ 4.060578] 5a40: ec0d5a64 ec446000 fffffdfb c147bd78 ec2e5c10 0000000e ec800990 c147cc24
> [ 4.068770] 5a60: ec0d5a8c ec0d5a70 c067ae74 c066f24c ec805ac0 00000118 ec8009c0 ef6d5d98
> [ 4.076962] 5a80: ec0d5acc ec0d5a90 c06a17a8 c067ae00 00000001 ec830400 ec830400 00000104
> [ 4.085154] 5aa0: c147bee0 ec8009c0 00000000 ec830400 c147cc1c 00000000 c147bee0 00000000
> [ 4.093345] 5ac0: ec0d5aec ec0d5ad0 c06a18d0 c06a157c ec83fde0 ec83fc10 c147bee0 00000000
> [ 4.101536] 5ae0: ec0d5b04 ec0d5af0 c067bbbc c06a1820 ec83fc10 00000000 ec0d5b24 ec0d5b08
> [ 4.109728] 5b00: c06aa8d8 c067bb54 ec83fc10 c1c752cc c1c752d0 00000000 ec0d5b5c ec0d5b28
> [ 4.117921] 5b20: c06a8204 c06aa894 ec83fc10 ec83fd88 ec0d5b5c ec83fc10 c147bee0 ec83fc10
> [ 4.126112] 5b40: ec0d5be4 00000001 c1c75288 00000000 ec0d5b8c ec0d5b60 c06a85c0 c06a7fe0
> [ 4.134304] 5b60: ec0d5b8c ec0d5b70 c147bee0 00000001 ec83fc10 ec0d5be4 00000001 c1c75288
> [ 4.142495] 5b80: ec0d5bac ec0d5b90 c06a88ec c06a8558 00000000 ec0d5be4 c06a8848 c1408908
> [ 4.150687] 5ba0: ec0d5bdc ec0d5bb0 c06a6010 c06a8854 ec0d5bdc ec1582d4 ec7b2fd4 f411825b
> [ 4.158879] 5bc0: ec83fc10 ec83fc44 c1408908 ec83fc10 ec0d5c14 ec0d5be0 c06a7f20 c06a5fc0
> [ 4.167070] 5be0: c1c75288 ec83fc10 00000001 f411825b ec2e5410 ec83fc18 c147d410 ec83fc10
> [ 4.175262] 5c00: ec83fc10 c1408908 ec0d5c24 ec0d5c18 c06a89d0 c06a7e58 ec0d5c44 ec0d5c28
> [ 4.183453] 5c20: c06a7094 c06a89c8 ec83fc18 ec2e5410 00000000 ec83fc10 ec0d5c94 ec0d5c48
> [ 4.191644] 5c40: c06a389c c06a7010 c0d0af58 00000000 c1408908 00000007 ec83fc00 ec83fc10
> [ 4.199836] 5c60: ec0d5c88 f411825b c06a2358 00000000 00000007 ec83fc00 ec83fc10 ec83fc00
> [ 4.208027] 5c80: ec2e5410 c147c8b8 ec0d5cbc ec0d5c98 c06aa6a4 c06a3498 ef6f2818 00000007
> [ 4.216218] 5ca0: 00000003 ec2e5410 ec83fc00 ec2e5410 ec0d5d4c ec0d5cc0 c06957fc c06aa598
> [ 4.224409] 5cc0: 00000080 ec84f300 00000000 00000000 ec80e610 00000000 c147c938 00000004
> [ 4.232601] 5ce0: 400100d0 ffe000fd 400100d0 ffe000fd 400100d0 ffe000fd 4077ffff ffe7e1fd
> [ 4.240794] 5d00: 23fffffe 8880fff0 f98fe7d0 fff81fff 400100d0 ffe000fd 00000000 f411825b
> [ 4.248986] 5d20: c06c0260 ec2e5410 00000000 c147c8ec 00000000 00000000 c147c8ec 00000000
> [ 4.257179] 5d40: ec0d5d6c ec0d5d50 c06aa8d8 c0694d9c ec2e5410 c1c752cc c1c752d0 00000000
> [ 4.265371] 5d60: ec0d5da4 ec0d5d70 c06a8204 c06aa894 ec2e5410 ec2e5588 ec0d5da4 ec2e5410
> [ 4.273564] 5d80: c147c8ec c147c8ec c1408908 00000000 c06aa888 c147d410 ec0d5dd4 ec0d5da8
> [ 4.281757] 5da0: c06a85c0 c06a7fe0 c06aa888 c147d410 ec2e5410 ec2e5444 c147c8ec c1408908
> [ 4.289948] 5dc0: 00000000 c06aa888 ec0d5df4 ec0d5dd8 c06a8820 c06a8558 00000000 c147c8ec
> [ 4.298140] 5de0: c06a8708 c1408908 ec0d5e24 ec0d5df8 c06a5f4c c06a8714 ec0d5e1c ec1582a4
> [ 4.306333] 5e00: ec2b8ad0 f411825b c147c8ec ec839100 c147d410 c14f5310 ec0d5e34 ec0d5e28
> [ 4.314524] 5e20: c06a7a40 c06a5ee0 ec0d5e64 ec0d5e38 c06a738c c06a7a2c c1131978 00000003
> [ 4.322717] 5e40: ec0d5e64 c147c8ec 00000002 c14f5610 00000003 00000000 ec0d5e7c ec0d5e68
> [ 4.330908] 5e60: c06a96fc c06a71ec c0e6e380 00000002 ec0d5eb4 ec0d5e80 c06aaa04 c06a968c
> [ 4.339101] 5e80: c0e6e374 c0e6e37c c0196b58 c1408930 c1408908 00000000 c135e474 c14e9f60
> [ 4.347293] 5ea0: c14e8bfc ffffe000 ec0d5ec4 ec0d5eb8 c135e490 c06aa9b4 ec0d5f44 ec0d5ec8
> [ 4.355485] 5ec0: c0103194 c135e480 0000011b 00000000 ec0d5f44 ec0d5e00 c0155dcc c13006d0
> [ 4.363676] 5ee0: 00000000 f411825b ffffe000 00000000 60000013 c14e9f60 c139884c c1408930
> [ 4.371868] 5f00: ec0d5f2c ec0d5f10 c0196b58 c0196a4c c1465094 f411825b 00000007 c13b2aa0
> [ 4.380059] 5f20: c1507200 00000007 c14e9f60 c1398850 c1408930 ffffe000 ec0d5f94 ec0d5f48
> [ 4.388250] 5f40: c1301354 c0103118 00000006 00000006 00000000 c13006c4 c0d232b0 c0224304
> [ 4.396442] 5f60: c122e548 0000011b ec0d5f8c 00000000 c0d1b4d8 00000000 00000000 00000000
> [ 4.404633] 5f80: 00000000 00000000 ec0d5fac ec0d5f98 c0d1b4e8 c1300f8c 00000000 c0d1b4d8
> [ 4.412824] 5fa0: 00000000 ec0d5fb0 c01010b4 c0d1b4e4 00000000 00000000 00000000 00000000
> [ 4.421015] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> [ 4.429205] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
> [ 4.437389] Backtrace:
> [ 4.439868] [<c066f240>] (drm_mode_config_cleanup) from [<c067ae74>] (imx_drm_bind+0x80/0x14c)
> [ 4.448496] r10:c147cc24 r9:ec800990 r8:0000000e r7:ec2e5c10 r6:c147bd78 r5:fffffdfb
> [ 4.456335] r4:ec446000
> [ 4.458893] [<c067adf4>] (imx_drm_bind) from [<c06a17a8>] (try_to_bring_up_master+0x238/0x2a4)
> [ 4.467517] r7:ef6d5d98 r6:ec8009c0 r5:00000118 r4:ec805ac0
> [ 4.473195] [<c06a1570>] (try_to_bring_up_master) from [<c06a18d0>] (component_add+0xbc/0x174)
> [ 4.481820] r10:00000000 r9:c147bee0 r8:00000000 r7:c147cc1c r6:ec830400 r5:00000000
> [ 4.489659] r4:ec8009c0
> [ 4.492211] [<c06a1814>] (component_add) from [<c067bbbc>] (ipu_drm_probe+0x74/0x9c)
> [ 4.499966] r7:00000000 r6:c147bee0 r5:ec83fc10 r4:ec83fde0
> [ 4.505648] [<c067bb48>] (ipu_drm_probe) from [<c06aa8d8>] (platform_drv_probe+0x50/0xa0)
> [ 4.513836] r5:00000000 r4:ec83fc10
> [ 4.517430] [<c06aa888>] (platform_drv_probe) from [<c06a8204>] (really_probe+0x230/0x408)
> [ 4.525706] r7:00000000 r6:c1c752d0 r5:c1c752cc r4:ec83fc10
> [ 4.531380] [<c06a7fd4>] (really_probe) from [<c06a85c0>] (driver_probe_device+0x74/0x1bc)
> [ 4.539658] r10:00000000 r9:c1c75288 r8:00000001 r7:ec0d5be4 r6:ec83fc10 r5:c147bee0
> [ 4.547496] r4:ec83fc10
> [ 4.550047] [<c06a854c>] (driver_probe_device) from [<c06a88ec>] (__device_attach_driver+0xa4/0x13c)
> [ 4.559195] r9:c1c75288 r8:00000001 r7:ec0d5be4 r6:ec83fc10 r5:00000001 r4:c147bee0
> [ 4.566954] [<c06a8848>] (__device_attach_driver) from [<c06a6010>] (bus_for_each_drv+0x5c/0xc0)
> [ 4.575751] r7:c1408908 r6:c06a8848 r5:ec0d5be4 r4:00000000
> [ 4.581425] [<c06a5fb4>] (bus_for_each_drv) from [<c06a7f20>] (__device_attach+0xd4/0x170)
> [ 4.589702] r7:ec83fc10 r6:c1408908 r5:ec83fc44 r4:ec83fc10
> [ 4.595378] [<c06a7e4c>] (__device_attach) from [<c06a89d0>] (device_initial_probe+0x14/0x18)
> [ 4.603916] r8:c1408908 r7:ec83fc10 r6:ec83fc10 r5:c147d410 r4:ec83fc18
> [ 4.610634] [<c06a89bc>] (device_initial_probe) from [<c06a7094>] (bus_probe_device+0x90/0x98)
> [ 4.619266] [<c06a7004>] (bus_probe_device) from [<c06a389c>] (device_add+0x410/0x654)
> [ 4.627196] r7:ec83fc10 r6:00000000 r5:ec2e5410 r4:ec83fc18
> [ 4.632873] [<c06a348c>] (device_add) from [<c06aa6a4>] (platform_device_add+0x118/0x26c)
> [ 4.641066] r10:c147c8b8 r9:ec2e5410 r8:ec83fc00 r7:ec83fc10 r6:ec83fc00 r5:00000007
> [ 4.648904] r4:00000000
> [ 4.651463] [<c06aa58c>] (platform_device_add) from [<c06957fc>] (ipu_probe+0xa6c/0xc94)
> [ 4.659569] r9:ec2e5410 r8:ec83fc00 r7:ec2e5410 r6:00000003 r5:00000007 r4:ef6f2818
> [ 4.667329] [<c0694d90>] (ipu_probe) from [<c06aa8d8>] (platform_drv_probe+0x50/0xa0)
> [ 4.675174] r10:00000000 r9:c147c8ec r8:00000000 r7:00000000 r6:c147c8ec r5:00000000
> [ 4.683012] r4:ec2e5410
> [ 4.685563] [<c06aa888>] (platform_drv_probe) from [<c06a8204>] (really_probe+0x230/0x408)
> [ 4.693840] r7:00000000 r6:c1c752d0 r5:c1c752cc r4:ec2e5410
> [ 4.699514] [<c06a7fd4>] (really_probe) from [<c06a85c0>] (driver_probe_device+0x74/0x1bc)
> [ 4.707793] r10:c147d410 r9:c06aa888 r8:00000000 r7:c1408908 r6:c147c8ec r5:c147c8ec
> [ 4.715631] r4:ec2e5410
> [ 4.718181] [<c06a854c>] (driver_probe_device) from [<c06a8820>] (__driver_attach+0x118/0x140)
> [ 4.726806] r9:c06aa888 r8:00000000 r7:c1408908 r6:c147c8ec r5:ec2e5444 r4:ec2e5410
> [ 4.734564] [<c06a8708>] (__driver_attach) from [<c06a5f4c>] (bus_for_each_dev+0x78/0xbc)
> [ 4.742753] r7:c1408908 r6:c06a8708 r5:c147c8ec r4:00000000
> [ 4.748428] [<c06a5ed4>] (bus_for_each_dev) from [<c06a7a40>] (driver_attach+0x20/0x28)
> [ 4.756444] r7:c14f5310 r6:c147d410 r5:ec839100 r4:c147c8ec
> [ 4.762119] [<c06a7a20>] (driver_attach) from [<c06a738c>] (bus_add_driver+0x1ac/0x26c)
> [ 4.770137] [<c06a71e0>] (bus_add_driver) from [<c06a96fc>] (driver_register+0x7c/0x110)
> [ 4.778240] r8:00000000 r7:00000003 r6:c14f5610 r5:00000002 r4:c147c8ec
> [ 4.784958] [<c06a9680>] (driver_register) from [<c06aaa04>] (__platform_register_drivers+0x5c/0x144)
> [ 4.794186] r5:00000002 r4:c0e6e380
> [ 4.797784] [<c06aa9a8>] (__platform_register_drivers) from [<c135e490>] (imx_ipu_init+0x1c/0x24)
> [ 4.806672] r10:ffffe000 r9:c14e8bfc r8:c14e9f60 r7:c135e474 r6:00000000 r5:c1408908
> [ 4.814510] r4:c1408930
> [ 4.817064] [<c135e474>] (imx_ipu_init) from [<c0103194>] (do_one_initcall+0x88/0x318)
> [ 4.825005] [<c010310c>] (do_one_initcall) from [<c1301354>] (kernel_init_freeable+0x3d4/0x4b8)
> [ 4.833720] r10:ffffe000 r9:c1408930 r8:c1398850 r7:c14e9f60 r6:00000007 r5:c1507200
> [ 4.841558] r4:c13b2aa0
> [ 4.844115] [<c1300f80>] (kernel_init_freeable) from [<c0d1b4e8>] (kernel_init+0x10/0x11c)
> [ 4.852394] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0d1b4d8
> [ 4.860232] r4:00000000
> [ 4.862783] [<c0d1b4d8>] (kernel_init) from [<c01010b4>] (ret_from_fork+0x14/0x20)
> [ 4.870362] Exception stack(0xec0d5fb0 to 0xec0d5ff8)
> [ 4.875426] 5fa0: 00000000 00000000 00000000 00000000
> [ 4.883618] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> [ 4.891808] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
> [ 4.898432] r5:c0d1b4d8 r4:00000000
> [ 4.902025] Code: ebece3a5 e595303c e1a00005 e1a05007 (e5933004)
> [ 4.908239] ---[ end trace 839be2ff59e9785c ]---
> [ 4.913020] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
> [ 4.913020]
> [ 4.922186] CPU1: stopping
> [ 4.924914] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G D 4.19.0-rc3+ #314
> [ 4.932844] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [ 4.939381] Backtrace:
> [ 4.941857] [<c010ebc8>] (dump_backtrace) from [<c010ee98>] (show_stack+0x18/0x1c)
> [ 4.949443] r7:00000000 r6:60000193 r5:00000000 r4:c14e19ac
> [ 4.955121] [<c010ee80>] (show_stack) from [<c0d05978>] (dump_stack+0xb4/0xec)
> [ 4.962364] [<c0d058c4>] (dump_stack) from [<c0112eb8>] (handle_IPI+0x358/0x3a0)
> [ 4.969777] r10:ffffe000 r9:c14e9fc4 r8:00000000 r7:00000001 r6:00000004 r5:c1408d64
> [ 4.977619] r4:c13bd3e8 r3:f411825b
> [ 4.981217] [<c0112b60>] (handle_IPI) from [<c057a56c>] (gic_handle_irq+0xb0/0xc4)
> [ 4.988803] r10:c14653a8 r9:ec117f20 r8:c1409044 r7:f4000100 r6:000003ff r5:000003eb
> [ 4.996644] r4:f400010c
> [ 4.999197] [<c057a4bc>] (gic_handle_irq) from [<c0101a30>] (__irq_svc+0x70/0x98)
> [ 5.006692] Exception stack(0xec117f20 to 0xec117f68)
> [ 5.011761] 7f20: c010a850 00000000 60000093 c011fc40 ffffe000 c1408930 00000002 c1408978
> [ 5.019954] 7f40: 00000000 00000000 c1408908 ec117f7c ec117f40 ec117f70 c0224380 c010a854
> [ 5.028142] 7f60: 60000013 ffffffff
> [ 5.031646] r10:c1408908 r9:ec116000 r8:00000000 r7:ec117f54 r6:ffffffff r5:60000013
> [ 5.039485] r4:c010a854
> [ 5.042047] [<c010a82c>] (arch_cpu_idle) from [<c0d22fa8>] (default_idle_call+0x28/0x38)
> [ 5.050161] [<c0d22f80>] (default_idle_call) from [<c016ac38>] (do_idle+0x1c0/0x2c8)
> [ 5.057922] [<c016aa78>] (do_idle) from [<c016b0f4>] (cpu_startup_entry+0x20/0x24)
> [ 5.065507] r10:00000000 r9:412fc09a r8:1000406a r7:c1507560 r6:10c0387d r5:00000001
> [ 5.073346] r4:00000086
> [ 5.075899] [<c016b0d4>] (cpu_startup_entry) from [<c01128c8>] (secondary_start_kernel+0x15c/0x1a4)
> [ 5.084961] [<c011276c>] (secondary_start_kernel) from [<1010278c>] (0x1010278c)
> [ 5.092368] r5:00000051 r4:3c10406a
> [ 5.095956] CPU3: stopping
> [ 5.098686] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G D 4.19.0-rc3+ #314
> [ 5.106613] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [ 5.113149] Backtrace:
> [ 5.115622] [<c010ebc8>] (dump_backtrace) from [<c010ee98>] (show_stack+0x18/0x1c)
> [ 5.123207] r7:00000000 r6:60000193 r5:00000000 r4:c14e19ac
> [ 5.128883] [<c010ee80>] (show_stack) from [<c0d05978>] (dump_stack+0xb4/0xec)
> [ 5.136123] [<c0d058c4>] (dump_stack) from [<c0112eb8>] (handle_IPI+0x358/0x3a0)
> [ 5.143534] r10:ffffe000 r9:c14e9fc4 r8:00000000 r7:00000003 r6:00000004 r5:c1408d64
> [ 5.151374] r4:c13bd3e8 r3:f411825b
> [ 5.154969] [<c0112b60>] (handle_IPI) from [<c057a56c>] (gic_handle_irq+0xb0/0xc4)
> [ 5.162554] r10:c14653a8 r9:ec11bf20 r8:c1409044 r7:f4000100 r6:000003ff r5:000003eb
> [ 5.170393] r4:f400010c
> [ 5.172944] [<c057a4bc>] (gic_handle_irq) from [<c0101a30>] (__irq_svc+0x70/0x98)
> [ 5.180437] Exception stack(0xec11bf20 to 0xec11bf68)
> [ 5.185505] bf20: c010a850 00000000 60000093 c011fc40 ffffe000 c1408930 00000008 c1408978
> [ 5.193698] bf40: 00000000 00000000 c1408908 ec11bf7c ec11bf40 ec11bf70 c0224380 c010a854
> [ 5.201886] bf60: 60000013 ffffffff
> [ 5.205390] r10:c1408908 r9:ec11a000 r8:00000000 r7:ec11bf54 r6:ffffffff r5:60000013
> [ 5.213229] r4:c010a854
> [ 5.215785] [<c010a82c>] (arch_cpu_idle) from [<c0d22fa8>] (default_idle_call+0x28/0x38)
> [ 5.223893] [<c0d22f80>] (default_idle_call) from [<c016ac38>] (do_idle+0x1c0/0x2c8)
> [ 5.231651] [<c016aa78>] (do_idle) from [<c016b0f4>] (cpu_startup_entry+0x20/0x24)
> [ 5.239237] r10:00000000 r9:412fc09a r8:1000406a r7:c1507560 r6:10c0387d r5:00000003
> [ 5.247075] r4:00000086
> [ 5.249626] [<c016b0d4>] (cpu_startup_entry) from [<c01128c8>] (secondary_start_kernel+0x15c/0x1a4)
> [ 5.258687] [<c011276c>] (secondary_start_kernel) from [<1010278c>] (0x1010278c)
> [ 5.266094] r5:00000051 r4:3c10406a
> [ 5.269682] CPU2: stopping
> [ 5.272412] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G D 4.19.0-rc3+ #314
> [ 5.280342] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
> [ 5.286878] Backtrace:
> [ 5.289350] [<c010ebc8>] (dump_backtrace) from [<c010ee98>] (show_stack+0x18/0x1c)
> [ 5.296933] r7:00000000 r6:60000193 r5:00000000 r4:c14e19ac
> [ 5.302609] [<c010ee80>] (show_stack) from [<c0d05978>] (dump_stack+0xb4/0xec)
> [ 5.309849] [<c0d058c4>] (dump_stack) from [<c0112eb8>] (handle_IPI+0x358/0x3a0)
> [ 5.317261] r10:ffffe000 r9:c14e9fc4 r8:00000000 r7:00000002 r6:00000004 r5:c1408d64
> [ 5.325103] r4:c13bd3e8 r3:f411825b
> [ 5.328698] [<c0112b60>] (handle_IPI) from [<c057a56c>] (gic_handle_irq+0xb0/0xc4)
> [ 5.336284] r10:c14653a8 r9:ec119f20 r8:c1409044 r7:f4000100 r6:000003ff r5:000003eb
> [ 5.344123] r4:f400010c
> [ 5.346675] [<c057a4bc>] (gic_handle_irq) from [<c0101a30>] (__irq_svc+0x70/0x98)
> [ 5.354169] Exception stack(0xec119f20 to 0xec119f68)
> [ 5.359237] 9f20: c010a850 00000000 60000093 c011fc40 ffffe000 c1408930 00000004 c1408978
> [ 5.367430] 9f40: 00000000 00000000 c1408908 ec119f7c ec119f40 ec119f70 c0224380 c010a854
> [ 5.375618] 9f60: 60000013 ffffffff
> [ 5.379123] r10:c1408908 r9:ec118000 r8:00000000 r7:ec119f54 r6:ffffffff r5:60000013
> [ 5.386962] r4:c010a854
> [ 5.389517] [<c010a82c>] (arch_cpu_idle) from [<c0d22fa8>] (default_idle_call+0x28/0x38)
> [ 5.397626] [<c0d22f80>] (default_idle_call) from [<c016ac38>] (do_idle+0x1c0/0x2c8)
> [ 5.405385] [<c016aa78>] (do_idle) from [<c016b0f4>] (cpu_startup_entry+0x20/0x24)
> [ 5.412970] r10:00000000 r9:412fc09a r8:1000406a r7:c1507560 r6:10c0387d r5:00000002
> [ 5.420809] r4:00000086
> [ 5.423360] [<c016b0d4>] (cpu_startup_entry) from [<c01128c8>] (secondary_start_kernel+0x15c/0x1a4)
> [ 5.432421] [<c011276c>] (secondary_start_kernel) from [<1010278c>] (0x1010278c)
> [ 5.439827] r5:00000051 r4:3c10406a
> [ 5.443435] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
> [ 5.443435] ]---
>
FWIW, I also get a warning when enabling list debugging:
[ 3.938454] drm_mode_config_cleanup, encoder TMDS-44, ec549814 ->funcs c0e63a18
[ 3.946064] drm_mode_config_cleanup, calling encoder->funcs->destroy!
[ 3.952764] ------------[ cut here ]------------
[ 3.957433] WARNING: CPU: 0 PID: 1 at lib/list_debug.c:56 __list_del_entry_valid+0xc0/0xdc
[ 3.965823] list_del corruption. next->prev should be ec549818, but was 00000000
...
Not sure, but is this expected when using list_for_each_entry_safe?
--
Stefan
> The Apalis iMX6 device tree I work with uses a dumb VGA bridge and a LVDS
> display directly specified in the ldb node. In the case above I did not
> compile in the dumb VGA bridge driver, that is the reason why binding
> parallel-display-controller0 fails.
>
> The LVDS encoder (0xec1a0388 in that case) is somehow already cleaned up
> when calling drm_mode_config_cleanup(), which leads to a null pointer
> deference when trying to call destroy.
>
> I was unable to figure out why the DRM encoder in the second
> drm_mode_config_cleanup() call is already zeroed out. The component
> framework calls imx_ldb_unbind() first, but that should not free
> up the encoder afaict. Any idea?
>
> I was also wondering in the deferred probing case, functions like
> imx_ldb_bind() call devm_kzalloc on every try. Since the underlying
> device is not removed, doesn't this leads to multiple active allocations?
>
> --
> Stefan
More information about the dri-devel
mailing list