Merge "msm: vidc: Fix accessing invalid instance"

This commit is contained in:
Linux Build Service Account 2018-06-26 04:31:23 -07:00 committed by Gerrit - the friendly Code Review server
commit a0209303bb

View file

@ -2614,6 +2614,7 @@ int msm_comm_check_core_init(struct msm_vidc_core *core)
int rc = 0;
struct hfi_device *hdev;
struct msm_vidc_inst *inst = NULL;
int dref = 0;
mutex_lock(&core->lock);
if (core->state >= VIDC_CORE_INIT_DONE) {
@ -2637,11 +2638,16 @@ int msm_comm_check_core_init(struct msm_vidc_core *core)
* Just grab one of the inst from instances list and
* use it.
*/
inst = list_first_entry(&core->instances,
inst = list_first_entry_or_null(&core->instances,
struct msm_vidc_inst, list);
if (inst)
dref = kref_get_unless_zero(&inst->kref);
mutex_unlock(&core->lock);
msm_comm_print_debug_info(inst);
if (dref) {
msm_comm_print_debug_info(inst);
put_inst(inst);
}
mutex_lock(&core->lock);
BUG_ON(msm_vidc_debug_timeout);