lkml.org 
[lkml]   [2004]   [Oct]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH] SCSI: Replace semaphore with completion
From
Date

Use completion instead of semaphore

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
---

2.6.9-bk-041020-thomas/drivers/scsi/sym53c8xx_2/sym_glue.c | 8
++++----
1 files changed, 4 insertions(+), 4 deletions(-)

diff -puN drivers/scsi/sym53c8xx_2/sym_glue.c~sym53c8xx
drivers/scsi/sym53c8xx_2/sym_glue.c
---
2.6.9-bk-041020/drivers/scsi/sym53c8xx_2/sym_glue.c~sym53c8xx 2004-10-20
16:04:34.000000000 +0200
+++
2.6.9-bk-041020-thomas/drivers/scsi/sym53c8xx_2/sym_glue.c 2004-10-20
16:04:50.000000000 +0200
@@ -135,7 +135,7 @@ m_addr_t __vtobus(m_pool_ident_t dev_dma
* It is allocated on the eh thread stack.
*/
struct sym_eh_wait {
- struct semaphore sem;
+ struct completion done;
struct timer_list timer;
void (*old_done)(struct scsi_cmnd *);
int to_do;
@@ -798,7 +798,7 @@ static void __sym_eh_done(struct scsi_cm

/* Wake up the eh thread if it wants to sleep */
if (ep->to_do == SYM_EH_DO_WAIT)
- up(&ep->sem);
+ complete(&ep->done);
}

/*
@@ -858,7 +858,7 @@ prepare:
case SYM_EH_DO_IGNORE:
break;
case SYM_EH_DO_WAIT:
- init_MUTEX_LOCKED(&ep->sem);
+ init_completion(&ep->done);
/* fall through */
case SYM_EH_DO_COMPLETE:
ep->old_done = cmd->scsi_done;
@@ -909,7 +909,7 @@ prepare:
ep->timed_out = 1; /* Be pessimistic for once :) */
add_timer(&ep->timer);
spin_unlock_irq(np->s.host->host_lock);
- down(&ep->sem);
+ wait_for_completion(&ep->done);
spin_lock_irq(np->s.host->host_lock);
if (ep->timed_out)
sts = -2;
_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.834 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site