diff options
author | Naushir Patuck <naush@raspberrypi.com> | 2021-07-21 10:28:00 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-07-28 09:55:24 +0300 |
commit | e87fb20f8f5db9d54b9ca0bb0fdd8a1a9d30a8bd (patch) | |
tree | acaa890eab4c264ea2ae3268b6120ed4c65fa535 /src/v4l2/v4l2_compat_manager.cpp | |
parent | f573198d3e4200cc8e203ecf638c20f8ed41547a (diff) |
pipeline: raspberrypi: Fix a bug when clearing out Request buffers on stop
When RPiCameraData::clearIncompleteRequests() clears out the request
queue during a stop condition, it unconditionally calls completeBuffer()
on all buffers in each request. This is wrong, as a buffer could have
already been completed as part of the current request, but the request
itself may not yet have completed.
Fix this by checking if the buffers in the request have been completed
before cancelling them.
Fixes: d372aaa10ddb ("pipeline: raspberrypi: Simplify RPiCameraData::clearIncompleteRequests()")
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Tested-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/v4l2/v4l2_compat_manager.cpp')
0 files changed, 0 insertions, 0 deletions