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:Sergey Senozhatsky <senozhatsky@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5811182 Reviewed-by:
Ricardo 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:
Hubert Mazur <hmazur@google.com>
Loading
Please sign in to comment