commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=d14837e291030ad4fb834402328b453d57142790 branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/2012R1
use schedule_timeout() to wakeup icc thread periodicly drop timeout tx messages when close session Signed-off-by: Steven Miao <[email protected]> --- drivers/staging/icc/core/protocol.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/drivers/staging/icc/core/protocol.c b/drivers/staging/icc/core/protocol.c index 669e42e..c2791d4 100644 --- a/drivers/staging/icc/core/protocol.c +++ b/drivers/staging/icc/core/protocol.c @@ -812,6 +812,10 @@ static int sm_destroy_session(uint32_t session_idx) sm_debug("drain tx list1\n"); set_current_state(TASK_RUNNING); mutex_lock(&table->lock); + message = list_first_entry(&session->tx_messages, + struct sm_message, next); + list_del(&message->next); + kfree(message); } mutex_unlock(&table->lock); @@ -1391,7 +1395,7 @@ static int message_queue_thread(void *d) set_current_state(TASK_RUNNING); break; } - schedule(); + schedule_timeout(HZ); continue; } set_current_state(TASK_RUNNING);
_______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
