From 069ed6c5b49999866b5b30a732ba2e09301240c0 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Fri, 16 Oct 2009 22:14:01 +0000 Subject: 2009-10-17 Chris Johns * shared/irq/idt.c: Check is the irq handlers are present before calling. * shared/comm/i386-stub-glue.c: Revert the change of 2009-05-06 as the handlers need to be present. Fixed the warnings. --- c/src/lib/libbsp/i386/shared/irq/idt.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'c/src/lib/libbsp/i386/shared/irq/idt.c') diff --git a/c/src/lib/libbsp/i386/shared/irq/idt.c b/c/src/lib/libbsp/i386/shared/irq/idt.c index 07c748bf44..ca3b949443 100644 --- a/c/src/lib/libbsp/i386/shared/irq/idt.c +++ b/c/src/lib/libbsp/i386/shared/irq/idt.c @@ -87,7 +87,8 @@ int i386_set_idt_entry (const rtems_raw_irq_connect_data* irq) raw_irq_table [irq->idtIndex] = *irq; create_interrupt_gate_descriptor (&idt_entry_tbl[irq->idtIndex], irq->hdl); - irq->on(irq); + if (irq->on) + irq->on(irq); rtems_interrupt_enable(level); return 1; @@ -168,7 +169,8 @@ int i386_delete_idt_entry (const rtems_raw_irq_connect_data* irq) idt_entry_tbl[irq->idtIndex] = default_idt_entry; - irq->off(irq); + if (irq->off) + irq->off(irq); raw_irq_table[irq->idtIndex] = default_raw_irq_entry; raw_irq_table[irq->idtIndex].idtIndex = irq->idtIndex; -- cgit v1.2.3