Re: Interrupt/Sleep deadlock

From: Linus Torvalds (
Date: Tue Oct 10 2000 - 13:17:48 EST

In article <>,
Ivan Passos <> wrote:
>"You could use a semaphore for this. Initialize it to 0, then call
>down() from the ioctl, and up() from the interrupt handler. If the
>up() happens before the down(), the down() won't go to sleep."
>Initializing it to 0 means:
> cfg_sem = MUTEX_LOCKED;
>It's the simplest to understand, and it works great!!
>Does anybody see a problem with this implementation??


This is in fact how the SCSI layer has handled similar issues for a
_loong_ time now, so it had better work - and it does.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:15 EST