Hi Niklas,

On Tue, Jul 2, 2019 at 3:25 AM Niklas Söderlund
<niklas.soderlund+rene...@ragnatech.se> wrote:
> When adding the v4l2_async_notifier_cleanup() callas the wrong notifier
> was cleaned up if the parallel notifier registration failed. Fix this by
> cleaning up the correct one.
>
> Fixes: 9863bc8695bc36e3 ("media: rcar-vin: Cleanup notifier in error path")
> Signed-off-by: Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se>

Thank you, this fixes the following boot regression on koelsch:

Unable to handle kernel NULL pointer dereference at virtual address 000001d8
pgd = (ptrval)
[000001d8] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
CPU: 1 PID: 1 Comm: swapper/0 Not tainted
5.2.0-rc7-shmobile-07178-g1a639e48dea73e76 #280
Hardware name: Generic R-Car Gen2 (Flattened Device Tree)
PC is at __v4l2_async_notifier_cleanup+0xc/0x70
LR is at v4l2_async_notifier_cleanup+0x1c/0x2c
pc : [<c0556580>]    lr : [<c0556c78>]    psr: 20000013
sp : eb08ddc8  ip : 00000000  fp : 00000018
r10: 00000000  r9 : eb1a5410  r8 : c0c04c08
r7 : eb1a5400  r6 : ffffffea  r5 : 000001c8  r4 : c0c61854
r3 : eb08b740  r2 : 00000000  r1 : 00000000  r0 : 000001c8
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 10c5387d  Table: 4000406a  DAC: 00000051
Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
Stack: (0xeb08ddc8 to 0xeb08e000)
ddc0:                   c0c61854 000001c8 ffffffea eb1a5400 c0c04c08 c0556c78
dde0: ea940040 ffffffea ffffffea c057661c c0575c9c c0ff7148 00000001 0286d9e6
de00: 00000000 eb1a5410 00000000 c0c637bc c0cbe13c 00000000 c0c637bc 00000000
de20: 00000018 c04408b4 eb1a5410 00000000 c0cbe24c c043ef0c eb1a5410 c0c637bc
de40: c0c637bc c043f4f8 00000000 c0b54844 c0b6f4b0 c043f354 c0c637bc eb1a5410
de60: 00000000 00000000 eb1a5410 c0c637bc c043f4f8 00000000 c0b54844 c043f4e0
de80: 00000000 eb1a5410 c0c637bc c043f5a4 eb1a5410 c0c04c08 c0c637bc c043d6c4
dea0: c0b6f4b0 eb150f58 eb1aefb4 0286d9e6 00000000 c0c637bc ea956f80 00000000
dec0: c0c51c50 c043ddf4 c09c6620 c09c6621 00000072 c0c637bc c0c7c840 c0c04c08
dee0: c0b34c88 c043ffc0 ffffe000 c0c7c840 c0c04c08 c0b01050 00000000 c09fa420
df00: 00000000 c013ad00 00000000 c0b0078c c09f93a4 000000d4 00000006 00000006
df20: 00000000 c09fa434 000000d3 c09fa434 c0b54820 ebfffbe9 ebfffbf1 0286d9e6
df40: 00000000 0286d9e6 c0c7c840 00000007 c0c7c840 c0c83f00 c0b5483c c0c83f00
df60: c0b54844 c0b013ec 00000006 00000006 00000000 c0b0078c c074a3d0 000000d4
df80: 00000000 00000000 c074a3d0 00000000 00000000 00000000 00000000 00000000
dfa0: 00000000 c074a3d8 00000000 c01010e8 00000000 00000000 00000000 00000000
dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[<c0556580>] (__v4l2_async_notifier_cleanup) from [<c0556c78>]
(v4l2_async_notifier_cleanup+0x1c/0x2c)
[<c0556c78>] (v4l2_async_notifier_cleanup) from [<c057661c>]
(rcar_vin_probe+0x4f8/0x5a4)
[<c057661c>] (rcar_vin_probe) from [<c04408b4>] (platform_drv_probe+0x48/0x94)
[<c04408b4>] (platform_drv_probe) from [<c043ef0c>] (really_probe+0x1f0/0x2b8)
[<c043ef0c>] (really_probe) from [<c043f354>] (driver_probe_device+0x140/0x15c)
[<c043f354>] (driver_probe_device) from [<c043f4e0>]
(device_driver_attach+0x44/0x5c)
[<c043f4e0>] (device_driver_attach) from [<c043f5a4>]
(__driver_attach+0xac/0xb4)
[<c043f5a4>] (__driver_attach) from [<c043d6c4>] (bus_for_each_dev+0x64/0xa0)
[<c043d6c4>] (bus_for_each_dev) from [<c043ddf4>] (bus_add_driver+0x148/0x1a8)
[<c043ddf4>] (bus_add_driver) from [<c043ffc0>] (driver_register+0xac/0xf0)
[<c043ffc0>] (driver_register) from [<c0b01050>] (do_one_initcall+0xa8/0x1d4)
[<c0b01050>] (do_one_initcall) from [<c0b013ec>]
(kernel_init_freeable+0x270/0x2cc)
[<c0b013ec>] (kernel_init_freeable) from [<c074a3d8>] (kernel_init+0x8/0x10c)
[<c074a3d8>] (kernel_init) from [<c01010e8>] (ret_from_fork+0x14/0x2c)

Tested-by: Geert Uytterhoeven <geert+rene...@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

Reply via email to