[no subject]

From: Peter W. Morreale
Date: Tue Mar 08 2005 - 11:34:02 EST


In a driver I am reviewing I found the following locking constructs.
Notice how 'foo" is being called while we have suspended interrupts.

This seems wrong since we've mixed locking primitives.

Is it?

Thanks in advance.

-PWM

---------------------snip--------------------------------------
spin_lock_irqsave(global_lock, &flags);
....
foo()
{
unsigned long lflags;

spin_unlock(global_lock);
...
{
spin_lock_irqsave(global_lock, &lflags);
.
.
spin_unlock_irqrestore(global_lock, &lflags);
}

spin_lock_irq(global_lock);
}

spin_unlock_irqrestore(global_lock, &flags);


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