Skip to content

Commit

Permalink
v4l: xilinx: m2m: Fix kernel crash for async notifier
Browse files Browse the repository at this point in the history
This patch fixes the below kernel crash by initializing the notifier.

[    8.921633] Unable to handle kernel paging request at virtual address
ffffffffffffffd8
[    8.929552] Mem abort info:
[    8.932335]   ESR = 0x96000005
[    8.935380]   EC = 0x25: DABT (current EL), IL = 32 bits
[    8.940686]   SET = 0, FnV = 0
[    8.943739]   EA = 0, S1PTW = 0
[    8.946871] Data abort info:
[    8.949745]   ISV = 0, ISS = 0x00000005
[    8.953574]   CM = 0, WnR = 0
[    8.956530] swapper pgtable: 4k pages, 39-bit VAs,
pgdp=0000000000f3b000
[    8.963229] [ffffffffffffffd8] pgd=0000000000000000,
pud=0000000000000000
[    8.970020] Internal error: Oops: 96000005 [#1] SMP
[    8.974889] Modules linked in:
[    8.977939] CPU: 3 PID: 58 Comm: kworker/3:1 Not tainted
5.4.0-00190-g32df9bde2d74 #84
[    8.985847] Hardware name: ZynqMP ZCU102 Rev1.0 (DT)
[    8.990810] Workqueue: events deferred_probe_work_func
[    8.995942] pstate: a0000005 (NzCv daif -PAN -UAO)
[    9.000730] pc : v4l2_async_notifier_asd_valid+0x88/0x1d8
[    9.006117] lr : v4l2_async_notifier_add_subdev+0x38/0x78
[    9.011504] sp : ffffffc0112bbad0
[    9.014811] x29: ffffffc0112bbad0 x28: 0000000000000438
[    9.020116] x27: 0000000000000001 x26: 0000000000000001
[    9.025420] x25: ffffff80068369a8 x24: 0000000000000003
[    9.030724] x23: 00000000ffffffff x22: ffffff80068369a0
[    9.036028] x21: 0000000000000000 x20: ffffff80068393b8
[    9.041332] x19: ffffffffffffffd8 x18: 0000000000000000
[    9.046636] x17: ffffff806d401508 x16: ffffff806d401528
[    9.051940] x15: ffffffffffffffff x14: ffffff0000000000
[    9.057244] x13: ffffffffffffffff x12: 0000000000000028
[    9.062548] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f
[    9.067852] x9 : 7f7f7f7f7f7f7f7f x8 : fefeff7273716e6f
[    9.073156] x7 : 0000000000ffffff x6 : 0000000000000000
[    9.078460] x5 : 0000000000000000 x4 : 0000000000000000
[    9.083764] x3 : ffffffffffffffd8 x2 : 00000000ffffffff
[    9.089068] x1 : ffffff80068369a8 x0 : 0000000000000003
[    9.094372] Call trace:
[    9.096814]  v4l2_async_notifier_asd_valid+0x88/0x1d8
[    9.101858]  v4l2_async_notifier_add_subdev+0x38/0x78
[    9.106902]  xvip_m2m_probe+0x338/0x548
[    9.110729]  platform_drv_probe+0x50/0xa0
[    9.114730]  really_probe+0xd8/0x2f8
[    9.118297]  driver_probe_device+0x54/0xe8
[    9.122386]  __device_attach_driver+0x80/0xb8
[    9.126738]  bus_for_each_drv+0x74/0xc0
[    9.130564]  __device_attach+0xdc/0x138
[    9.134392]  device_initial_probe+0x10/0x18
[    9.138567]  bus_probe_device+0x90/0x98
[    9.142396]  deferred_probe_work_func+0x6c/0xa0
[    9.146920]  process_one_work+0x1c4/0x338
[    9.150920]  worker_thread+0x260/0x488
[    9.154663]  kthread+0x120/0x128
[    9.157883]  ret_from_fork+0x10/0x18
[    9.161454] Code: 37f80097 6b1502ff 110006b5 5400018d (b8408462)
[    9.167537] ---[ end trace 1ec282f3f6f1bd3f ]---

Signed-off-by: Vishal Sagar <vishal.sagar@xilinx.com>
Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
State: pending
  • Loading branch information
vishals-xlnx authored and Michal Simek committed Oct 29, 2020
1 parent aaf416e commit 8be19a5
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions drivers/media/platform/xilinx/xilinx-m2m.c
Original file line number Diff line number Diff line change
Expand Up @@ -2041,6 +2041,7 @@ static int xvip_m2m_probe(struct platform_device *pdev)

xdev->dev = &pdev->dev;
INIT_LIST_HEAD(&xdev->entities);
v4l2_async_notifier_init(&xdev->notifier);

ret = xvip_composite_v4l2_init(xdev);
if (ret)
Expand Down

0 comments on commit 8be19a5

Please sign in to comment.