mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
staging: vchiq_core: Free kthreads in error case
We need to free the kthreads in error case before leaving vchiq_init_state() otherwise we leak resources. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8dd60f7dc7
commit
a69b41e90a
1 changed files with 9 additions and 2 deletions
|
|
@ -2562,7 +2562,7 @@ vchiq_init_state(VCHIQ_STATE_T *state, VCHIQ_SLOT_ZERO_T *slot_zero,
|
|||
vchiq_loud_error_header();
|
||||
vchiq_loud_error("couldn't create thread %s", threadname);
|
||||
vchiq_loud_error_footer();
|
||||
return VCHIQ_ERROR;
|
||||
goto fail_free_handler_thread;
|
||||
}
|
||||
set_user_nice(state->recycle_thread, -19);
|
||||
|
||||
|
|
@ -2574,7 +2574,7 @@ vchiq_init_state(VCHIQ_STATE_T *state, VCHIQ_SLOT_ZERO_T *slot_zero,
|
|||
vchiq_loud_error_header();
|
||||
vchiq_loud_error("couldn't create thread %s", threadname);
|
||||
vchiq_loud_error_footer();
|
||||
return VCHIQ_ERROR;
|
||||
goto fail_free_recycle_thread;
|
||||
}
|
||||
set_user_nice(state->sync_thread, -20);
|
||||
|
||||
|
|
@ -2588,6 +2588,13 @@ vchiq_init_state(VCHIQ_STATE_T *state, VCHIQ_SLOT_ZERO_T *slot_zero,
|
|||
local->initialised = 1;
|
||||
|
||||
return status;
|
||||
|
||||
fail_free_recycle_thread:
|
||||
kthread_stop(state->recycle_thread);
|
||||
fail_free_handler_thread:
|
||||
kthread_stop(state->slot_handler_thread);
|
||||
|
||||
return VCHIQ_ERROR;
|
||||
}
|
||||
|
||||
/* Called from application thread when a client or server service is created. */
|
||||
|
|
|
|||
Loading…
Reference in a new issue