summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/shared/irq/idt.c
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2009-10-16 22:14:01 +0000
committerChris Johns <chrisj@rtems.org>2009-10-16 22:14:01 +0000
commit069ed6c5b49999866b5b30a732ba2e09301240c0 (patch)
tree9a3ad0fd4fff08d865774f52d3408d1f55798374 /c/src/lib/libbsp/i386/shared/irq/idt.c
parent2009-10-16 Jennifer Averett <jennifer@OARcorp.com> (diff)
downloadrtems-069ed6c5b49999866b5b30a732ba2e09301240c0.tar.bz2
2009-10-17 Chris Johns <chrisj@rtems.org>
* 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.
Diffstat (limited to 'c/src/lib/libbsp/i386/shared/irq/idt.c')
-rw-r--r--c/src/lib/libbsp/i386/shared/irq/idt.c6
1 files changed, 4 insertions, 2 deletions
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;