mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
camera: vi5: scheduling while atomic bug fix
"scheduling while atomic" bug is causing v4l2-test-app Latency*StreamMmap test to fail. This is seen because wait_event_interruptible is called inside spin_lock. This was introduced in below gerrit. https://git-master.nvidia.com/r/3262275 Bug 4449673 Jira L4T-6439 Change-Id: I9ffc65c95bbfce0907d1174639d0ec4a6cbd691a Signed-off-by: Ankur Pawar <ankurp@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3291319 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
@@ -762,12 +762,10 @@ static int tegra_channel_kthread_capture_dequeue(void *data)
|
||||
while (1) {
|
||||
try_to_freeze();
|
||||
|
||||
spin_lock_irqsave(&chan->capture_state_lock, flags);
|
||||
wait_event_interruptible(chan->dequeue_wait,
|
||||
(kthread_should_stop()
|
||||
|| !list_empty(&chan->dequeue)
|
||||
|| (chan->capture_state == CAPTURE_ERROR)));
|
||||
spin_unlock_irqrestore(&chan->capture_state_lock, flags);
|
||||
|
||||
while (!(kthread_should_stop() || list_empty(&chan->dequeue)
|
||||
|| (chan->capture_state == CAPTURE_ERROR))) {
|
||||
|
||||
Reference in New Issue
Block a user