patch-2.4.6 linux/arch/alpha/kernel/irq.c
Next file: linux/arch/alpha/kernel/irq_alpha.c
Previous file: linux/arch/alpha/kernel/entry.S
Back to the patch index
Back to the overall index
- Lines: 60
- Date:
Wed Jun 20 11:10:27 2001
- Orig file:
v2.4.5/linux/arch/alpha/kernel/irq.c
- Orig date:
Fri Feb 9 11:29:44 2001
diff -u --recursive --new-file v2.4.5/linux/arch/alpha/kernel/irq.c linux/arch/alpha/kernel/irq.c
@@ -359,7 +359,9 @@
static void
register_irq_proc (unsigned int irq)
{
+#ifdef CONFIG_SMP
struct proc_dir_entry *entry;
+#endif
char name [MAX_NAMELEN];
if (!root_irq_dir || (irq_desc[irq].handler == &no_irq_type))
@@ -389,7 +391,9 @@
void
init_irq_proc (void)
{
+#ifdef CONFIG_SMP
struct proc_dir_entry *entry;
+#endif
int i;
/* create /proc/irq */
@@ -512,7 +516,10 @@
int
get_irq_list(char *buf)
{
- int i, j;
+#ifdef CONFIG_SMP
+ int j;
+#endif
+ int i;
struct irqaction * action;
char *p = buf;
@@ -569,7 +576,7 @@
/*
- * do_IRQ handles all normal device IRQ's (the special
+ * handle_irq handles all normal device IRQ's (the special
* SMP cross-CPU interrupts have their own specific
* handlers).
*/
@@ -632,7 +639,7 @@
/*
* Edge triggered interrupts need to remember pending events.
* This applies to any hw interrupts that allow a second
- * instance of the same irq to arrive while we are in do_IRQ
+ * instance of the same irq to arrive while we are in handle_irq
* or in the handler. But the code here only handles the _second_
* instance of the irq, not the third or fourth. So it is mostly
* useful for irq hardware that does not mask cleanly in an
@@ -656,6 +663,9 @@
*/
desc->handler->end(irq);
spin_unlock(&desc->lock);
+
+ if (softirq_pending(cpu))
+ do_softirq();
}
/*
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)