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

Reply via email to