video: driver: add fix to return all buffers back to client
If client attempts streamoff and msm_vidc_close sequence concurrently, then all buffers not returned back to client, i.e leading to warnon at vb2_queue_cancel at vb2 layer. So added change to send vb2_buffer_done at driver fd close sequence. Change-Id: I43d779000501907d12d5ba8e90e007bdf5b8b801 Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
This commit is contained in:
@@ -4167,6 +4167,8 @@ void msm_vidc_destroy_buffers(struct msm_vidc_inst *inst)
|
||||
|
||||
list_for_each_entry_safe(buf, dummy, &buffers->list, list) {
|
||||
print_vidc_buffer(VIDC_ERR, "err ", "destroying ", inst, buf);
|
||||
if (!(buf->attr & MSM_VIDC_ATTR_BUFFER_DONE))
|
||||
msm_vidc_vb2_buffer_done(inst, buf);
|
||||
msm_vidc_put_driver_buf(inst, buf);
|
||||
}
|
||||
msm_vidc_unmap_buffers(inst, ext_buf_types[i]);
|
||||
|
Reference in New Issue
Block a user