Another dangerous scenario is the following, from here the usage of
ide__sti becomes questionable.
queue_commands() {
ide__sti();
start_request();
}
...
start_request() {
spin_unlock_irq();
frob_ide();
spin_lock_irq();
}
and also;
if (ch->unmask)
ide__sti(); /* local CPU only */
/* service this interrupt, may set handler for next interrupt */
startstop = handler(drive, drive->rq);
spin_lock_irq(ch->lock);
If someone can explain to me what ide__sti really is trying to achieve
i'd greatly appreciate it.
Regards,
Zwane Mwaikambo
-- function.linuxpower.ca- 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/