Commit a0d030fc authored by Sergey Senozhatsky's avatar Sergey Senozhatsky Committed by Tomasz Nowicki
Browse files

CHROMIUM: camx: fix circular locking at __cam_req_mgr_unlink()



Move cam_req_mgr_workq_destroy() outside of link->lock
scope.  cam_req_mgr_workq_destroy() takes WORKQ_LOCK to
reset workq->job, so we don't race with anything here,
after that we flush and drain WQ (waiting for it to become
empty) before we proceed with WQ destruction.  It seems
that we don't really need link->lock for any of these
steps.

UPSTREAM-TASK=b:274966069
BUG=b:361678530
TEST=camera.HAL3Preview on coachz with lockdep enabled
TEST=camera.HAL3StillCapture on coachz with lockdep

Change-Id: I3a5e67b42a3b9d3b3e970db9c661037203f3ee86
Signed-off-by: default avatarSergey Senozhatsky <senozhatsky@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5811182


Reviewed-by: default avatarRicardo Ribalda <ribalda@chromium.org>
(cherry picked from commit 606b6e8408932395bc3ed79c038c5cd8e444d1b0)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5826171


Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Signed-off-by: default avatarHubert Mazur <hmazur@google.com>
parent be69823b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment