Public bug reported:

...
[    4.334281] [drm] Initialized drm 1.1.0 20060810
[    4.463211] usbcore: registered new interface driver brcmfmac
[    4.492438] vc4-drm soc:gpu: bound 3f902000.hdmi (ops vc4_hdmi_ops [vc4])
[    4.492469] vc4_dsi 3f700000.dsi: DSI not set up by firmware.
[    4.492502] vc4-drm soc:gpu: bound 3f700000.dsi (ops vc4_dsi_ops [vc4])
[    4.492548] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_hvs_ops [vc4])
[    4.492677] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops vc4_crtc_ops 
[vc4])
[    4.492757] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops vc4_crtc_ops 
[vc4])
[    4.492834] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops vc4_crtc_ops 
[vc4])
[    4.492870] vc4-drm soc:gpu: failed to bind 3fc00000.v3d (ops vc4_v3d_ops 
[vc4]): -22
[    4.501101] Unable to handle kernel NULL pointer dereference at virtual 
address 00000010
[    4.509408] pgd = 99df0000
[    4.512171] [00000010] *pgd=00000000
[    4.515830] Internal error: Oops: 5 [#1] SMP ARM
[    4.520516] Modules linked in: vc4(+) drm_mipi_dsi brcmfmac drm_kms_helper 
brcmutil cfg80211 drm sr9700 fb_sys_fops syscopyarea dm9601 sysfillrect sy
simgblt i2c_bcm2708 bcm2835_gpiomem uio_pdrv_genirq uio
[    4.539021] CPU: 0 PID: 190 Comm: systemd-udevd Not tainted 
4.4.0-1101-raspi2 #109~vc4dbg
[    4.547326] Hardware name: BCM2709
[    4.550776] task: 9b5c2f40 ti: 99f8c000 task.ti: 99f8c000
[    4.556292] PC is at vc4_dsi_unbind+0x78/0x164 [vc4]
[    4.561336] LR is at irq_work_queue+0x14/0x90
[    4.565756] pc : [<7f4ab878>]    lr : [<80228a18>]    psr: 60070013
               sp : 99f8db38  ip : 00000007  fp : 99f8db54
[    4.577413] r10: 80b05a34  r9 : 80e81ff8  r8 : 98d45c00
[    4.582715] r7 : 024000c0  r6 : 98c7bc10  r5 : 98d45c00  r4 : 00000000
[    4.589339] r3 : dc8ba6a2  r2 : dc8ba6a2  r1 : 00000000  r0 : 00000014
[    4.595965] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    4.603207] Control: 10c5383d  Table: 19df006a  DAC: 00000051
[    4.609038] Process systemd-udevd (pid: 190, stack limit = 0x99f8c218)
[    4.615662] Stack: (0x99f8db38 to 0x99f8e000)
[    4.620083] db20:                                                       
99db1280 99db16c0
[    4.628391] db40: ffffffea 024000c0 99f8db74 99f8db58 805827c0 7f4ab80c 
99db18c0 99f8dbb4                                                    [29/415]
[    4.636699] db60: 99db1280 99db16c0 99f8dbb4 99f8db78 80582b40 8058278c 
ffffffea ffffffe0
[    4.645007] db80: 98d45c00 80b05a1c 99f8dbb4 98c7bc10 98d45c00 99db16c0 
9b6b6410 00000000
[    4.653314] dba0: 9b6b6410 00000000 99f8dbdc 99f8dbb8 7f4aabb4 80582984 
9aaf44c8 00000007
[    4.661622] dbc0: 99db16c0 9aaf4490 00000000 9b6b6410 99f8dc04 99f8dbe0 
80582c98 7f4aab24
[    4.669930] dbe0: 99db16c0 00000000 80e4f358 7f4ba450 9b6b6410 9b6b6410 
99f8dc2c 99f8dc08
[    4.678238] dc00: 80582d9c 80582bc8 9b6b5810 7f4c24ec 80e4f698 80e4f698 
7f4aa888 9b6b6410
[    4.686546] dc20: 99f8dc6c 99f8dc30 7f4aad78 80582ce4 80e0354c 7f4ba488 
99ca5d90 dc8ba6a2
[    4.694854] dc40: 00000000 80f265c4 9b6b6410 7f4c2184 fffffdfb 7f4c2184 
00000012 7f4c2600
[    4.703162] dc60: 99f8dc8c 99f8dc70 8058af58 7f4aacb0 80f265c4 9b6b6410 
80e82208 00000000
[    4.711470] dc80: 99f8dcbc 99f8dc90 80588b78 8058af08 99f8dcbc 808988b8 
9b6b6410 7f4c2184
[    4.719778] dca0: 9b6b6444 80588dc0 00000000 98295000 99f8dcdc 99f8dcc0 
80588e5c 80588954
[    4.728086] dcc0: 00000000 7f4c2184 80e0354c 80588dc0 99f8dd0c 99f8dce0 
80586770 80588dcc
[    4.736394] dce0: 99f8dd18 9b49df5c 9b69bc34 dc8ba6a2 7f4c2184 9aaf4500 
80e4f698 80e82130
[    4.744702] dd00: 99f8dd1c 99f8dd10 805882d0 805866f0 99f8dd4c 99f8dd20 
80587dd0 805882b0
[    4.753010] dd20: 7f4bce20 7f4ba470 99f8dd4c 7f4c2184 00000000 7f4c2600 
7f4ba470 7f4ba470
[    4.761317] dd40: 99f8dd64 99f8dd50 80589944 80587bfc 00000007 00000000 
99f8dd74 99f8dd68
[    4.769625] dd60: 8058ae68 805898c8 99f8dd9c 99f8dd78 7f4ca06c 8058ae24 
80e0354c 80e07520
[    4.777933] dd80: 7f4ca000 00000000 80e07520 98295000 99f8de1c 99f8dda0 
80101904 7f4ca00c
[    4.786241] dda0: 80e76dc0 80e76dc0 99f8ddf4 dc8ba6a2 8024fdbc 00006d6f 
80288624 99dcce80
[    4.794549] ddc0: 1ae39000 7f4c260c 80e0354c 8029c948 99f8de1c 99f8dde0 
8029c948 80896dc0
[    4.802857] dde0: 00000001 80288624 00006d6f 98295000 9d1c4000 dc8ba6a2 
7f4c2600 99f8df40
[    4.811165] de00: 98295040 7f4c272c 7f4c260c 80e0354c 99f8de44 99f8de20 
80246ee0 80101838
[    4.819472] de20: 99f8de44 99f8de30 80288720 00000000 99f8df40 7f4c2700 
99f8df34 99f8de48
[    4.827780] de40: 801bbda8 80246e78 ffff8000 00007fff 7f4c2600 801b9248 
7f000000 80e0354c
[    4.836088] de60: 80aba450 80aba408 80905fd4 00000000 7f4c260c 80e035cc 
7f4c2710 7f4c3000
[    4.844395] de80: 99f8dea0 99f8df40 80e0354c 00000000 99c35180 99c35180 
99f8df34 99f8dea8
[    4.852702] dea0: 00000000 00000000 00000000 00000000 00000000 00000000 
00000000 00000000
[    4.861010] dec0: 00000000 00000000 6e72656b 00006c65 00000000 00000000 
00000000 00000000
[    4.869317] dee0: 00000000 00000000 00000000 00000000 00000000 00000000 
00000000 00000000
[    4.877624] df00: 00000000 dc8ba6a2 99f8df24 80e0354c 00000000 76eca65c 
00000015 80108fe4
[    4.885932] df20: 99f8c000 00000000 99f8dfa4 99f8df38 801bc1c8 801ba9bc 
00000000 99f8df40
[    4.894240] df40: 9d1c4000 0002e1b4 9d1f1994 9d1f1784 9d1e65b8 0001b000 
0001e7d0 00000000
[    4.902548] df60: 00000000 00000001 00008d84 00000032 00000033 0000002b 
0000001f 00000015
[    4.910856] df80: 00000000 dc8ba6a2 023fd410 00000000 50626300 0000017b 
00000000 99f8dfa8
[    4.919163] dfa0: 80108e20 801bc10c 023fd410 00000000 00000015 76eca65c 
00000000 76ecb82c
[    4.927471] dfc0: 023fd410 00000000 50626300 0000017b 00020000 004a07cc 
023fd298 00000000
[    4.935779] dfe0: 7ee2b938 7ee2b928 76ec48ff 76e16712 60070030 00000015 
00000000 00000000
[    4.944131] [<7f4ab878>] (vc4_dsi_unbind [vc4]) from [<805827c0>] 
(component_unbind+0x40/0x78)
[    4.952885] [<805827c0>] (component_unbind) from [<80582b40>] 
(component_bind_all+0x1c8/0x244)
[    4.961657] [<80582b40>] (component_bind_all) from [<7f4aabb4>] 
(vc4_drm_bind+0x9c/0x18c [vc4])
[    4.970519] [<7f4aabb4>] (vc4_drm_bind [vc4]) from [<80582c98>] 
(try_to_bring_up_master.part.0+0xdc/0x11c)
[    4.980329] [<80582c98>] (try_to_bring_up_master.part.0) from [<80582d9c>] 
(component_master_add_with_match+0xc4/0x138)
[    4.991306] [<80582d9c>] (component_master_add_with_match) from [<7f4aad78>] 
(vc4_platform_drm_probe+0xd4/0xfc [vc4])
[    5.002109] [<7f4aad78>] (vc4_platform_drm_probe [vc4]) from [<8058af58>] 
(platform_drv_probe+0x5c/0xc0)
[    5.011745] [<8058af58>] (platform_drv_probe) from [<80588b78>] 
(driver_probe_device+0x230/0x478)
[    5.020762] [<80588b78>] (driver_probe_device) from [<80588e5c>] 
(__driver_attach+0x9c/0xa0)
[    5.029336] [<80588e5c>] (__driver_attach) from [<80586770>] 
(bus_for_each_dev+0x8c/0xd0)
[    5.037647] [<80586770>] (bus_for_each_dev) from [<805882d0>] 
(driver_attach+0x2c/0x30)
[    5.045780] [<805882d0>] (driver_attach) from [<80587dd0>] 
(bus_add_driver+0x1e0/0x278)
[    5.053915] [<80587dd0>] (bus_add_driver) from [<80589944>] 
(driver_register+0x88/0x108)
[    5.062136] [<80589944>] (driver_register) from [<8058ae68>] 
(__platform_driver_register+0x50/0x58)
[    5.071350] [<8058ae68>] (__platform_driver_register) from [<7f4ca06c>] 
(vc4_drm_register+0x6c/0x78 [vc4])
[    5.081187] [<7f4ca06c>] (vc4_drm_register [vc4]) from [<80101904>] 
(do_one_initcall+0xd8/0x230)
[    5.090115] [<80101904>] (do_one_initcall) from [<80246ee0>] 
(do_init_module+0x74/0x39c)
[    5.098339] [<80246ee0>] (do_init_module) from [<801bbda8>] 
(load_module+0x13f8/0x1574)
[    5.106473] [<801bbda8>] (load_module) from [<801bc1c8>] 
(SyS_finit_module+0xc8/0xf8)
[    5.114430] [<801bc1c8>] (SyS_finit_module) from [<80108e20>] 
(ret_fast_syscall+0x0/0x1c)
[    5.122739] Code: e59f10f0 e30d0074 e3470f4b eb366bbc (e5945010)
[    5.128976] ---[ end trace a3b1e5ef83fc7548 ]---
...

The reason for the OOPS are obvious: the DSI side of the vc4 driver fail
to attach on the RaspberryPi 3A+ borad (still under investigation):

...
[    4.492469] vc4_dsi 3f700000.dsi: DSI not set up by firmware.
...
[    4.492870] vc4-drm soc:gpu: failed to bind 3fc00000.v3d (ops vc4_v3d_ops 
[vc4]): -22
...

drivers/gpu/drm/vc4/vc4_dsi.c::vc4_dsi_unbind():

...
        if (DSI_PORT_READ(CTRL) == 0) {
                dev_info(dev, "DSI not set up by firmware.\n");
                return 0;
        }
...

the DSI_PORT_READ() call fails and immediately return, so it doesn't
have a chance to reach the end of vc4_dsi_bind() and register the dsi
struct in the driver data:

...
dev_set_drvdata(dev, dsi);
...

and since the vc4 has failed to bind, vc4_dsi_unbind() is called to
cleanup:

...
struct vc4_dsi *dsi = dev_get_drvdata(dev);

vc4_dsi_connector_destroy(dsi->connector);
...

but it extracts the dsi struct from the driver data and then dereference
a field, tripping over a NULL ptr and producing the above OOPS.

** Affects: linux-raspi2 (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

  ...
  [    4.334281] [drm] Initialized drm 1.1.0 20060810
  [    4.463211] usbcore: registered new interface driver brcmfmac
  [    4.492438] vc4-drm soc:gpu: bound 3f902000.hdmi (ops vc4_hdmi_ops [vc4])
  [    4.492469] vc4_dsi 3f700000.dsi: DSI not set up by firmware.
  [    4.492502] vc4-drm soc:gpu: bound 3f700000.dsi (ops vc4_dsi_ops [vc4])
  [    4.492548] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_hvs_ops [vc4])
  [    4.492677] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops vc4_crtc_ops 
[vc4])
  [    4.492757] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops vc4_crtc_ops 
[vc4])
  [    4.492834] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops vc4_crtc_ops 
[vc4])
  [    4.492870] vc4-drm soc:gpu: failed to bind 3fc00000.v3d (ops vc4_v3d_ops 
[vc4]): -22
  [    4.501101] Unable to handle kernel NULL pointer dereference at virtual 
address 00000010
  [    4.509408] pgd = 99df0000
  [    4.512171] [00000010] *pgd=00000000
  [    4.515830] Internal error: Oops: 5 [#1] SMP ARM
  [    4.520516] Modules linked in: vc4(+) drm_mipi_dsi brcmfmac drm_kms_helper 
brcmutil cfg80211 drm sr9700 fb_sys_fops syscopyarea dm9601 sysfillrect sy
  simgblt i2c_bcm2708 bcm2835_gpiomem uio_pdrv_genirq uio
  [    4.539021] CPU: 0 PID: 190 Comm: systemd-udevd Not tainted 
4.4.0-1101-raspi2 #109~vc4dbg
  [    4.547326] Hardware name: BCM2709
  [    4.550776] task: 9b5c2f40 ti: 99f8c000 task.ti: 99f8c000
  [    4.556292] PC is at vc4_dsi_unbind+0x78/0x164 [vc4]
  [    4.561336] LR is at irq_work_queue+0x14/0x90
  [    4.565756] pc : [<7f4ab878>]    lr : [<80228a18>]    psr: 60070013
-                sp : 99f8db38  ip : 00000007  fp : 99f8db54
+                sp : 99f8db38  ip : 00000007  fp : 99f8db54
  [    4.577413] r10: 80b05a34  r9 : 80e81ff8  r8 : 98d45c00
  [    4.582715] r7 : 024000c0  r6 : 98c7bc10  r5 : 98d45c00  r4 : 00000000
  [    4.589339] r3 : dc8ba6a2  r2 : dc8ba6a2  r1 : 00000000  r0 : 00000014
  [    4.595965] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment 
none
  [    4.603207] Control: 10c5383d  Table: 19df006a  DAC: 00000051
  [    4.609038] Process systemd-udevd (pid: 190, stack limit = 0x99f8c218)
  [    4.615662] Stack: (0x99f8db38 to 0x99f8e000)
  [    4.620083] db20:                                                       
99db1280 99db16c0
  [    4.628391] db40: ffffffea 024000c0 99f8db74 99f8db58 805827c0 7f4ab80c 
99db18c0 99f8dbb4                                                    [29/415]
  [    4.636699] db60: 99db1280 99db16c0 99f8dbb4 99f8db78 80582b40 8058278c 
ffffffea ffffffe0
  [    4.645007] db80: 98d45c00 80b05a1c 99f8dbb4 98c7bc10 98d45c00 99db16c0 
9b6b6410 00000000
  [    4.653314] dba0: 9b6b6410 00000000 99f8dbdc 99f8dbb8 7f4aabb4 80582984 
9aaf44c8 00000007
  [    4.661622] dbc0: 99db16c0 9aaf4490 00000000 9b6b6410 99f8dc04 99f8dbe0 
80582c98 7f4aab24
  [    4.669930] dbe0: 99db16c0 00000000 80e4f358 7f4ba450 9b6b6410 9b6b6410 
99f8dc2c 99f8dc08
  [    4.678238] dc00: 80582d9c 80582bc8 9b6b5810 7f4c24ec 80e4f698 80e4f698 
7f4aa888 9b6b6410
  [    4.686546] dc20: 99f8dc6c 99f8dc30 7f4aad78 80582ce4 80e0354c 7f4ba488 
99ca5d90 dc8ba6a2
  [    4.694854] dc40: 00000000 80f265c4 9b6b6410 7f4c2184 fffffdfb 7f4c2184 
00000012 7f4c2600
  [    4.703162] dc60: 99f8dc8c 99f8dc70 8058af58 7f4aacb0 80f265c4 9b6b6410 
80e82208 00000000
  [    4.711470] dc80: 99f8dcbc 99f8dc90 80588b78 8058af08 99f8dcbc 808988b8 
9b6b6410 7f4c2184
  [    4.719778] dca0: 9b6b6444 80588dc0 00000000 98295000 99f8dcdc 99f8dcc0 
80588e5c 80588954
  [    4.728086] dcc0: 00000000 7f4c2184 80e0354c 80588dc0 99f8dd0c 99f8dce0 
80586770 80588dcc
  [    4.736394] dce0: 99f8dd18 9b49df5c 9b69bc34 dc8ba6a2 7f4c2184 9aaf4500 
80e4f698 80e82130
  [    4.744702] dd00: 99f8dd1c 99f8dd10 805882d0 805866f0 99f8dd4c 99f8dd20 
80587dd0 805882b0
  [    4.753010] dd20: 7f4bce20 7f4ba470 99f8dd4c 7f4c2184 00000000 7f4c2600 
7f4ba470 7f4ba470
  [    4.761317] dd40: 99f8dd64 99f8dd50 80589944 80587bfc 00000007 00000000 
99f8dd74 99f8dd68
  [    4.769625] dd60: 8058ae68 805898c8 99f8dd9c 99f8dd78 7f4ca06c 8058ae24 
80e0354c 80e07520
  [    4.777933] dd80: 7f4ca000 00000000 80e07520 98295000 99f8de1c 99f8dda0 
80101904 7f4ca00c
  [    4.786241] dda0: 80e76dc0 80e76dc0 99f8ddf4 dc8ba6a2 8024fdbc 00006d6f 
80288624 99dcce80
  [    4.794549] ddc0: 1ae39000 7f4c260c 80e0354c 8029c948 99f8de1c 99f8dde0 
8029c948 80896dc0
  [    4.802857] dde0: 00000001 80288624 00006d6f 98295000 9d1c4000 dc8ba6a2 
7f4c2600 99f8df40
  [    4.811165] de00: 98295040 7f4c272c 7f4c260c 80e0354c 99f8de44 99f8de20 
80246ee0 80101838
  [    4.819472] de20: 99f8de44 99f8de30 80288720 00000000 99f8df40 7f4c2700 
99f8df34 99f8de48
  [    4.827780] de40: 801bbda8 80246e78 ffff8000 00007fff 7f4c2600 801b9248 
7f000000 80e0354c
  [    4.836088] de60: 80aba450 80aba408 80905fd4 00000000 7f4c260c 80e035cc 
7f4c2710 7f4c3000
  [    4.844395] de80: 99f8dea0 99f8df40 80e0354c 00000000 99c35180 99c35180 
99f8df34 99f8dea8
  [    4.852702] dea0: 00000000 00000000 00000000 00000000 00000000 00000000 
00000000 00000000
  [    4.861010] dec0: 00000000 00000000 6e72656b 00006c65 00000000 00000000 
00000000 00000000
  [    4.869317] dee0: 00000000 00000000 00000000 00000000 00000000 00000000 
00000000 00000000
  [    4.877624] df00: 00000000 dc8ba6a2 99f8df24 80e0354c 00000000 76eca65c 
00000015 80108fe4
  [    4.885932] df20: 99f8c000 00000000 99f8dfa4 99f8df38 801bc1c8 801ba9bc 
00000000 99f8df40
  [    4.894240] df40: 9d1c4000 0002e1b4 9d1f1994 9d1f1784 9d1e65b8 0001b000 
0001e7d0 00000000
  [    4.902548] df60: 00000000 00000001 00008d84 00000032 00000033 0000002b 
0000001f 00000015
  [    4.910856] df80: 00000000 dc8ba6a2 023fd410 00000000 50626300 0000017b 
00000000 99f8dfa8
  [    4.919163] dfa0: 80108e20 801bc10c 023fd410 00000000 00000015 76eca65c 
00000000 76ecb82c
  [    4.927471] dfc0: 023fd410 00000000 50626300 0000017b 00020000 004a07cc 
023fd298 00000000
  [    4.935779] dfe0: 7ee2b938 7ee2b928 76ec48ff 76e16712 60070030 00000015 
00000000 00000000
  [    4.944131] [<7f4ab878>] (vc4_dsi_unbind [vc4]) from [<805827c0>] 
(component_unbind+0x40/0x78)
  [    4.952885] [<805827c0>] (component_unbind) from [<80582b40>] 
(component_bind_all+0x1c8/0x244)
  [    4.961657] [<80582b40>] (component_bind_all) from [<7f4aabb4>] 
(vc4_drm_bind+0x9c/0x18c [vc4])
  [    4.970519] [<7f4aabb4>] (vc4_drm_bind [vc4]) from [<80582c98>] 
(try_to_bring_up_master.part.0+0xdc/0x11c)
  [    4.980329] [<80582c98>] (try_to_bring_up_master.part.0) from [<80582d9c>] 
(component_master_add_with_match+0xc4/0x138)
  [    4.991306] [<80582d9c>] (component_master_add_with_match) from 
[<7f4aad78>] (vc4_platform_drm_probe+0xd4/0xfc [vc4])
  [    5.002109] [<7f4aad78>] (vc4_platform_drm_probe [vc4]) from [<8058af58>] 
(platform_drv_probe+0x5c/0xc0)
  [    5.011745] [<8058af58>] (platform_drv_probe) from [<80588b78>] 
(driver_probe_device+0x230/0x478)
  [    5.020762] [<80588b78>] (driver_probe_device) from [<80588e5c>] 
(__driver_attach+0x9c/0xa0)
  [    5.029336] [<80588e5c>] (__driver_attach) from [<80586770>] 
(bus_for_each_dev+0x8c/0xd0)
  [    5.037647] [<80586770>] (bus_for_each_dev) from [<805882d0>] 
(driver_attach+0x2c/0x30)
  [    5.045780] [<805882d0>] (driver_attach) from [<80587dd0>] 
(bus_add_driver+0x1e0/0x278)
  [    5.053915] [<80587dd0>] (bus_add_driver) from [<80589944>] 
(driver_register+0x88/0x108)
  [    5.062136] [<80589944>] (driver_register) from [<8058ae68>] 
(__platform_driver_register+0x50/0x58)
  [    5.071350] [<8058ae68>] (__platform_driver_register) from [<7f4ca06c>] 
(vc4_drm_register+0x6c/0x78 [vc4])
  [    5.081187] [<7f4ca06c>] (vc4_drm_register [vc4]) from [<80101904>] 
(do_one_initcall+0xd8/0x230)
  [    5.090115] [<80101904>] (do_one_initcall) from [<80246ee0>] 
(do_init_module+0x74/0x39c)
  [    5.098339] [<80246ee0>] (do_init_module) from [<801bbda8>] 
(load_module+0x13f8/0x1574)
  [    5.106473] [<801bbda8>] (load_module) from [<801bc1c8>] 
(SyS_finit_module+0xc8/0xf8)
  [    5.114430] [<801bc1c8>] (SyS_finit_module) from [<80108e20>] 
(ret_fast_syscall+0x0/0x1c)
- [    5.122739] Code: e59f10f0 e30d0074 e3470f4b eb366bbc (e5945010) 
+ [    5.122739] Code: e59f10f0 e30d0074 e3470f4b eb366bbc (e5945010)
  [    5.128976] ---[ end trace a3b1e5ef83fc7548 ]---
  ...
  
- The reason of the OOPS are pretty clear: for some reason (still under
- investigation) the DSI side of the vc4 driver in Xenial fail to attach
- on the RaspberryPi 3A+ borad:
+ The reason for the OOPS are ovious: for some reason (still under
+ investigation) the DSI side of the vc4 driver fail to attach on the
+ RaspberryPi 3A+ borad:
  
  ...
  [    4.492469] vc4_dsi 3f700000.dsi: DSI not set up by firmware.
  ...
  [    4.492870] vc4-drm soc:gpu: failed to bind 3fc00000.v3d (ops vc4_v3d_ops 
[vc4]): -22
  ...
  
  drivers/gpu/drm/vc4/vc4_dsi.c::vc4_dsi_unbind():
  
  ...
-         if (DSI_PORT_READ(CTRL) == 0) {
-                 dev_info(dev, "DSI not set up by firmware.\n");
-                 return 0;
-         }
+         if (DSI_PORT_READ(CTRL) == 0) {
+                 dev_info(dev, "DSI not set up by firmware.\n");
+                 return 0;
+         }
  ...
  
  the DSI_PORT_READ() call fails and immediately return, so we don't have
  a chance to reach the end of vc4_dsi_bind() where the dsi struct is
  registered in the driver data:
  
  ...
  dev_set_drvdata(dev, dsi);
  ...
  
  and since the vc4 has failed to bind, vc4_dsi_unbind() is called to
  cleanup:
  
  ...
  struct vc4_dsi *dsi = dev_get_drvdata(dev);
  
  vc4_dsi_connector_destroy(dsi->connector);
  ...
  
  but it extracts the dsi struct from the driver data and then dereference
  a field, tripping over a NULL ptr and producing the above OOPS.

** Description changed:

  ...
  [    4.334281] [drm] Initialized drm 1.1.0 20060810
  [    4.463211] usbcore: registered new interface driver brcmfmac
  [    4.492438] vc4-drm soc:gpu: bound 3f902000.hdmi (ops vc4_hdmi_ops [vc4])
  [    4.492469] vc4_dsi 3f700000.dsi: DSI not set up by firmware.
  [    4.492502] vc4-drm soc:gpu: bound 3f700000.dsi (ops vc4_dsi_ops [vc4])
  [    4.492548] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_hvs_ops [vc4])
  [    4.492677] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops vc4_crtc_ops 
[vc4])
  [    4.492757] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops vc4_crtc_ops 
[vc4])
  [    4.492834] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops vc4_crtc_ops 
[vc4])
  [    4.492870] vc4-drm soc:gpu: failed to bind 3fc00000.v3d (ops vc4_v3d_ops 
[vc4]): -22
  [    4.501101] Unable to handle kernel NULL pointer dereference at virtual 
address 00000010
  [    4.509408] pgd = 99df0000
  [    4.512171] [00000010] *pgd=00000000
  [    4.515830] Internal error: Oops: 5 [#1] SMP ARM
  [    4.520516] Modules linked in: vc4(+) drm_mipi_dsi brcmfmac drm_kms_helper 
brcmutil cfg80211 drm sr9700 fb_sys_fops syscopyarea dm9601 sysfillrect sy
  simgblt i2c_bcm2708 bcm2835_gpiomem uio_pdrv_genirq uio
  [    4.539021] CPU: 0 PID: 190 Comm: systemd-udevd Not tainted 
4.4.0-1101-raspi2 #109~vc4dbg
  [    4.547326] Hardware name: BCM2709
  [    4.550776] task: 9b5c2f40 ti: 99f8c000 task.ti: 99f8c000
  [    4.556292] PC is at vc4_dsi_unbind+0x78/0x164 [vc4]
  [    4.561336] LR is at irq_work_queue+0x14/0x90
  [    4.565756] pc : [<7f4ab878>]    lr : [<80228a18>]    psr: 60070013
                 sp : 99f8db38  ip : 00000007  fp : 99f8db54
  [    4.577413] r10: 80b05a34  r9 : 80e81ff8  r8 : 98d45c00
  [    4.582715] r7 : 024000c0  r6 : 98c7bc10  r5 : 98d45c00  r4 : 00000000
  [    4.589339] r3 : dc8ba6a2  r2 : dc8ba6a2  r1 : 00000000  r0 : 00000014
  [    4.595965] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment 
none
  [    4.603207] Control: 10c5383d  Table: 19df006a  DAC: 00000051
  [    4.609038] Process systemd-udevd (pid: 190, stack limit = 0x99f8c218)
  [    4.615662] Stack: (0x99f8db38 to 0x99f8e000)
  [    4.620083] db20:                                                       
99db1280 99db16c0
  [    4.628391] db40: ffffffea 024000c0 99f8db74 99f8db58 805827c0 7f4ab80c 
99db18c0 99f8dbb4                                                    [29/415]
  [    4.636699] db60: 99db1280 99db16c0 99f8dbb4 99f8db78 80582b40 8058278c 
ffffffea ffffffe0
  [    4.645007] db80: 98d45c00 80b05a1c 99f8dbb4 98c7bc10 98d45c00 99db16c0 
9b6b6410 00000000
  [    4.653314] dba0: 9b6b6410 00000000 99f8dbdc 99f8dbb8 7f4aabb4 80582984 
9aaf44c8 00000007
  [    4.661622] dbc0: 99db16c0 9aaf4490 00000000 9b6b6410 99f8dc04 99f8dbe0 
80582c98 7f4aab24
  [    4.669930] dbe0: 99db16c0 00000000 80e4f358 7f4ba450 9b6b6410 9b6b6410 
99f8dc2c 99f8dc08
  [    4.678238] dc00: 80582d9c 80582bc8 9b6b5810 7f4c24ec 80e4f698 80e4f698 
7f4aa888 9b6b6410
  [    4.686546] dc20: 99f8dc6c 99f8dc30 7f4aad78 80582ce4 80e0354c 7f4ba488 
99ca5d90 dc8ba6a2
  [    4.694854] dc40: 00000000 80f265c4 9b6b6410 7f4c2184 fffffdfb 7f4c2184 
00000012 7f4c2600
  [    4.703162] dc60: 99f8dc8c 99f8dc70 8058af58 7f4aacb0 80f265c4 9b6b6410 
80e82208 00000000
  [    4.711470] dc80: 99f8dcbc 99f8dc90 80588b78 8058af08 99f8dcbc 808988b8 
9b6b6410 7f4c2184
  [    4.719778] dca0: 9b6b6444 80588dc0 00000000 98295000 99f8dcdc 99f8dcc0 
80588e5c 80588954
  [    4.728086] dcc0: 00000000 7f4c2184 80e0354c 80588dc0 99f8dd0c 99f8dce0 
80586770 80588dcc
  [    4.736394] dce0: 99f8dd18 9b49df5c 9b69bc34 dc8ba6a2 7f4c2184 9aaf4500 
80e4f698 80e82130
  [    4.744702] dd00: 99f8dd1c 99f8dd10 805882d0 805866f0 99f8dd4c 99f8dd20 
80587dd0 805882b0
  [    4.753010] dd20: 7f4bce20 7f4ba470 99f8dd4c 7f4c2184 00000000 7f4c2600 
7f4ba470 7f4ba470
  [    4.761317] dd40: 99f8dd64 99f8dd50 80589944 80587bfc 00000007 00000000 
99f8dd74 99f8dd68
  [    4.769625] dd60: 8058ae68 805898c8 99f8dd9c 99f8dd78 7f4ca06c 8058ae24 
80e0354c 80e07520
  [    4.777933] dd80: 7f4ca000 00000000 80e07520 98295000 99f8de1c 99f8dda0 
80101904 7f4ca00c
  [    4.786241] dda0: 80e76dc0 80e76dc0 99f8ddf4 dc8ba6a2 8024fdbc 00006d6f 
80288624 99dcce80
  [    4.794549] ddc0: 1ae39000 7f4c260c 80e0354c 8029c948 99f8de1c 99f8dde0 
8029c948 80896dc0
  [    4.802857] dde0: 00000001 80288624 00006d6f 98295000 9d1c4000 dc8ba6a2 
7f4c2600 99f8df40
  [    4.811165] de00: 98295040 7f4c272c 7f4c260c 80e0354c 99f8de44 99f8de20 
80246ee0 80101838
  [    4.819472] de20: 99f8de44 99f8de30 80288720 00000000 99f8df40 7f4c2700 
99f8df34 99f8de48
  [    4.827780] de40: 801bbda8 80246e78 ffff8000 00007fff 7f4c2600 801b9248 
7f000000 80e0354c
  [    4.836088] de60: 80aba450 80aba408 80905fd4 00000000 7f4c260c 80e035cc 
7f4c2710 7f4c3000
  [    4.844395] de80: 99f8dea0 99f8df40 80e0354c 00000000 99c35180 99c35180 
99f8df34 99f8dea8
  [    4.852702] dea0: 00000000 00000000 00000000 00000000 00000000 00000000 
00000000 00000000
  [    4.861010] dec0: 00000000 00000000 6e72656b 00006c65 00000000 00000000 
00000000 00000000
  [    4.869317] dee0: 00000000 00000000 00000000 00000000 00000000 00000000 
00000000 00000000
  [    4.877624] df00: 00000000 dc8ba6a2 99f8df24 80e0354c 00000000 76eca65c 
00000015 80108fe4
  [    4.885932] df20: 99f8c000 00000000 99f8dfa4 99f8df38 801bc1c8 801ba9bc 
00000000 99f8df40
  [    4.894240] df40: 9d1c4000 0002e1b4 9d1f1994 9d1f1784 9d1e65b8 0001b000 
0001e7d0 00000000
  [    4.902548] df60: 00000000 00000001 00008d84 00000032 00000033 0000002b 
0000001f 00000015
  [    4.910856] df80: 00000000 dc8ba6a2 023fd410 00000000 50626300 0000017b 
00000000 99f8dfa8
  [    4.919163] dfa0: 80108e20 801bc10c 023fd410 00000000 00000015 76eca65c 
00000000 76ecb82c
  [    4.927471] dfc0: 023fd410 00000000 50626300 0000017b 00020000 004a07cc 
023fd298 00000000
  [    4.935779] dfe0: 7ee2b938 7ee2b928 76ec48ff 76e16712 60070030 00000015 
00000000 00000000
  [    4.944131] [<7f4ab878>] (vc4_dsi_unbind [vc4]) from [<805827c0>] 
(component_unbind+0x40/0x78)
  [    4.952885] [<805827c0>] (component_unbind) from [<80582b40>] 
(component_bind_all+0x1c8/0x244)
  [    4.961657] [<80582b40>] (component_bind_all) from [<7f4aabb4>] 
(vc4_drm_bind+0x9c/0x18c [vc4])
  [    4.970519] [<7f4aabb4>] (vc4_drm_bind [vc4]) from [<80582c98>] 
(try_to_bring_up_master.part.0+0xdc/0x11c)
  [    4.980329] [<80582c98>] (try_to_bring_up_master.part.0) from [<80582d9c>] 
(component_master_add_with_match+0xc4/0x138)
  [    4.991306] [<80582d9c>] (component_master_add_with_match) from 
[<7f4aad78>] (vc4_platform_drm_probe+0xd4/0xfc [vc4])
  [    5.002109] [<7f4aad78>] (vc4_platform_drm_probe [vc4]) from [<8058af58>] 
(platform_drv_probe+0x5c/0xc0)
  [    5.011745] [<8058af58>] (platform_drv_probe) from [<80588b78>] 
(driver_probe_device+0x230/0x478)
  [    5.020762] [<80588b78>] (driver_probe_device) from [<80588e5c>] 
(__driver_attach+0x9c/0xa0)
  [    5.029336] [<80588e5c>] (__driver_attach) from [<80586770>] 
(bus_for_each_dev+0x8c/0xd0)
  [    5.037647] [<80586770>] (bus_for_each_dev) from [<805882d0>] 
(driver_attach+0x2c/0x30)
  [    5.045780] [<805882d0>] (driver_attach) from [<80587dd0>] 
(bus_add_driver+0x1e0/0x278)
  [    5.053915] [<80587dd0>] (bus_add_driver) from [<80589944>] 
(driver_register+0x88/0x108)
  [    5.062136] [<80589944>] (driver_register) from [<8058ae68>] 
(__platform_driver_register+0x50/0x58)
  [    5.071350] [<8058ae68>] (__platform_driver_register) from [<7f4ca06c>] 
(vc4_drm_register+0x6c/0x78 [vc4])
  [    5.081187] [<7f4ca06c>] (vc4_drm_register [vc4]) from [<80101904>] 
(do_one_initcall+0xd8/0x230)
  [    5.090115] [<80101904>] (do_one_initcall) from [<80246ee0>] 
(do_init_module+0x74/0x39c)
  [    5.098339] [<80246ee0>] (do_init_module) from [<801bbda8>] 
(load_module+0x13f8/0x1574)
  [    5.106473] [<801bbda8>] (load_module) from [<801bc1c8>] 
(SyS_finit_module+0xc8/0xf8)
  [    5.114430] [<801bc1c8>] (SyS_finit_module) from [<80108e20>] 
(ret_fast_syscall+0x0/0x1c)
  [    5.122739] Code: e59f10f0 e30d0074 e3470f4b eb366bbc (e5945010)
  [    5.128976] ---[ end trace a3b1e5ef83fc7548 ]---
  ...
  
- The reason for the OOPS are ovious: for some reason (still under
- investigation) the DSI side of the vc4 driver fail to attach on the
- RaspberryPi 3A+ borad:
+ The reason for the OOPS are obvious: the DSI side of the vc4 driver fail
+ to attach on the RaspberryPi 3A+ borad (still under investigation):
  
  ...
  [    4.492469] vc4_dsi 3f700000.dsi: DSI not set up by firmware.
  ...
  [    4.492870] vc4-drm soc:gpu: failed to bind 3fc00000.v3d (ops vc4_v3d_ops 
[vc4]): -22
  ...
  
  drivers/gpu/drm/vc4/vc4_dsi.c::vc4_dsi_unbind():
  
  ...
          if (DSI_PORT_READ(CTRL) == 0) {
                  dev_info(dev, "DSI not set up by firmware.\n");
                  return 0;
          }
  ...
  
- the DSI_PORT_READ() call fails and immediately return, so we don't have
- a chance to reach the end of vc4_dsi_bind() where the dsi struct is
- registered in the driver data:
+ the DSI_PORT_READ() call fails and immediately return, so it doesn't
+ have a chance to reach the end of vc4_dsi_bind() and register the dsi
+ struct in the driver data:
  
  ...
  dev_set_drvdata(dev, dsi);
  ...
  
  and since the vc4 has failed to bind, vc4_dsi_unbind() is called to
  cleanup:
  
  ...
  struct vc4_dsi *dsi = dev_get_drvdata(dev);
  
  vc4_dsi_connector_destroy(dsi->connector);
  ...
  
  but it extracts the dsi struct from the driver data and then dereference
  a field, tripping over a NULL ptr and producing the above OOPS.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1805117

Title:
  Xenial/raspi and rpi3a+: OOPS during boot

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1805117/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to