From: Willem Riede <wrlk@riede.org>

It should reenable local interrupts before sleeping.


---

 drivers/ide/ide-tape.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/ide/ide-tape.c~ide-tape-locking-fix drivers/ide/ide-tape.c
--- 25/drivers/ide/ide-tape.c~ide-tape-locking-fix	2004-02-15 17:27:55.000000000 -0800
+++ 25-akpm/drivers/ide/ide-tape.c	2004-02-15 17:27:55.000000000 -0800
@@ -3212,7 +3212,7 @@ static void idetape_wait_for_request (id
 #endif /* IDETAPE_DEBUG_BUGS */
 	rq->waiting = &wait;
 	tape->waiting = &wait;
-	spin_unlock(&tape->spinlock);
+	spin_unlock_irq(&tape->spinlock);
 	wait_for_completion(&wait);
 	/* The stage and its struct request have been deallocated */
 	tape->waiting = NULL;

_