aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390
diff options
context:
space:
mode:
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>2009-06-22 06:08:09 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-06-22 06:08:19 -0400
commitf3dfa86caa4a54aceb2b235bf28a6f6ad73b2716 (patch)
treecff505c68093e1bb1569c8151cd34782c5b7957f /drivers/s390
parent66d51f3e81b1067bdc836b3aba609eec957c693c (diff)
[S390] Use del_timer instead of del_timer_sync
When syncing the sclp console queue, we call del_timer_sync() while holding the "sclp_con_lock" spinlock. This lock is also taken in the timer function "sclp_console_timeout". Therefore the sync version of del_timer() cannot be used here. Because the synchronous deletion of the timer is only needed in the suspend callback and in that case only one CPU is remaining and therefore it is not possible that the timer function is running in parallel, we can safely use del_timer() instead of del_timer_sync(). Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r--drivers/s390/char/sclp_con.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/char/sclp_con.c b/drivers/s390/char/sclp_con.c
index fb54e7e47e59..ad698d30cb3b 100644
--- a/drivers/s390/char/sclp_con.c
+++ b/drivers/s390/char/sclp_con.c
@@ -109,7 +109,7 @@ static void sclp_console_sync_queue(void)
109 109
110 spin_lock_irqsave(&sclp_con_lock, flags); 110 spin_lock_irqsave(&sclp_con_lock, flags);
111 if (timer_pending(&sclp_con_timer)) 111 if (timer_pending(&sclp_con_timer))
112 del_timer_sync(&sclp_con_timer); 112 del_timer(&sclp_con_timer);
113 while (sclp_con_queue_running) { 113 while (sclp_con_queue_running) {
114 spin_unlock_irqrestore(&sclp_con_lock, flags); 114 spin_unlock_irqrestore(&sclp_con_lock, flags);
115 sclp_sync_wait(); 115 sclp_sync_wait();