Si el código es la siguientespin_lock_irqsave anidada
void test(void)
{
spin_lock_irqsave(&lock1, flag);
...
func1();
...
spin_unlock_irqrestore(&lock1, flag);
}
void func1(void)
{
spin_lock_irqsave(&lock2, flag);
...
spin_unlock_irqrestore(&lock2, flag);
}
Habrá algún problema con el código? cuando se llama al spin_unlock_irqrestore
en func1, ¿la interrupción ya estará habilitada? Lo que quiero lograr es test()
La rutina se puede ejecutar sin ninguna interrupción por programador o interrupciones. Muchas gracias
En realidad, ese es el punto de tener 'spin_lock_irqsave()/spin_unlock_irq_restore()' además de 'spin_lock_irq()/spin_unlock_irq()'. – ninjalj