Messages in this thread | | | Date | Sun, 7 Jul 2002 12:54:28 +0200 (SAST) | From | Zwane Mwaikambo <> | Subject | ide__sti usage |
| |
Hi Bart, Martin I'm seeing a number of deadlocks, most of them due to ide__sti enabling interrupts in a critical section which needs to be protected against interrupts too.
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/
| |