mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
20ea6adbf1
Build system: x86_64 Build-tested: bcm2708, bcm2709, bcm2710, bcm2711 Run-tested: bcm2708/RPiB+, bcm2709/RPi3B, bcm2710/RPi3B, bcm2711/RPi4B Signed-off-by: Marty Jones <mj8263788@gmail.com> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
52 lines
2.0 KiB
Diff
52 lines
2.0 KiB
Diff
From b1656894eef29ecd73ee239571c7ff3449bdedf2 Mon Sep 17 00:00:00 2001
|
|
From: Padmanabha Srinivasaiah <treasure4paddy@gmail.com>
|
|
Date: Thu, 30 Dec 2021 21:45:10 +0100
|
|
Subject: [PATCH] bcm2835-v4l2-isp: Add missing lock initialization
|
|
|
|
ISP device allocation is dynamic hence the locks too.
|
|
struct mutex queue_lock is not initialized which result in bug.
|
|
|
|
Fixing same by initializing it.
|
|
|
|
[ 29.847138] INFO: trying to register non-static key.
|
|
[ 29.847156] The code is fine but needs lockdep annotation, or maybe
|
|
[ 29.847159] you didn't initialize this object before use?
|
|
[ 29.847161] turning off the locking correctness validator.
|
|
[ 29.847167] CPU: 1 PID: 343 Comm: v4l_id Tainted: G C 5.15.11-rt24-v8+ #8
|
|
[ 29.847187] Hardware name: Raspberry Pi 4 Model B Rev 1.4 (DT)
|
|
[ 29.847194] Call trace:
|
|
[ 29.847197] dump_backtrace+0x0/0x1b8
|
|
[ 29.847227] show_stack+0x20/0x30
|
|
[ 29.847240] dump_stack_lvl+0x8c/0xb8
|
|
[ 29.847254] dump_stack+0x18/0x34
|
|
[ 29.847263] register_lock_class+0x494/0x4a0
|
|
[ 29.847278] __lock_acquire+0x80/0x1680
|
|
[ 29.847289] lock_acquire+0x214/0x3a0
|
|
[ 29.847300] mutex_lock_nested+0x70/0xc8
|
|
[ 29.847312] _vb2_fop_release+0x3c/0xa8 [videobuf2_v4l2]
|
|
[ 29.847346] vb2_fop_release+0x34/0x60 [videobuf2_v4l2]
|
|
[ 29.847367] v4l2_release+0xc8/0x108 [videodev]
|
|
[ 29.847453] __fput+0x8c/0x258
|
|
[ 29.847476] ____fput+0x18/0x28
|
|
[ 29.847487] task_work_run+0x98/0x180
|
|
[ 29.847502] do_notify_resume+0x228/0x3f8
|
|
[ 29.847515] el0_svc+0xec/0xf0
|
|
[ 29.847523] el0t_64_sync_handler+0x90/0xb8
|
|
[ 29.847531] el0t_64_sync+0x180/0x184
|
|
|
|
Signed-off-by: Padmanabha Srinivasaiah <treasure4paddy@gmail.com>
|
|
---
|
|
drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
--- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c
|
|
+++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c
|
|
@@ -1294,6 +1294,7 @@ static int register_node(struct bcm2835_
|
|
int ret;
|
|
|
|
mutex_init(&node->lock);
|
|
+ mutex_init(&node->queue_lock);
|
|
|
|
node->dev = dev;
|
|
vfd = &node->vfd;
|