summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-15 23:21:55 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-15 23:21:55 +0000
commit991a1ab400b4c3a9af609b360197934398fc5202 (patch)
treec706f76ea95d03d60bf5fe0011235d32900ab351 /c/src
parentAdded interrupt mask and interrupt status register bit constants. (diff)
downloadrtems-991a1ab400b4c3a9af609b360197934398fc5202.tar.bz2
Added check for proper deviceType to interrupt processing code.
Diffstat (limited to 'c/src')
-rw-r--r--c/src/lib/libchip/serial/ns16550.c3
-rw-r--r--c/src/lib/libchip/serial/z85c30.c3
-rw-r--r--c/src/libchip/serial/ns16550.c3
-rw-r--r--c/src/libchip/serial/z85c30.c3
4 files changed, 8 insertions, 4 deletions
diff --git a/c/src/lib/libchip/serial/ns16550.c b/c/src/lib/libchip/serial/ns16550.c
index 1867ae3929..8b962b9844 100644
--- a/c/src/lib/libchip/serial/ns16550.c
+++ b/c/src/lib/libchip/serial/ns16550.c
@@ -402,7 +402,8 @@ NS16550_STATIC rtems_isr ns16550_isr(
int minor;
for(minor=0;minor<Console_Port_Count;minor++) {
- if(vector==Console_Port_Tbl[minor].ulIntVector) {
+ if(Console_Port_Tbl[minor].ulIntVector == vector &&
+ Console_Port_Tbl[minor].deviceType == SERIAL_NS16550 ) {
ns16550_process(minor);
}
}
diff --git a/c/src/lib/libchip/serial/z85c30.c b/c/src/lib/libchip/serial/z85c30.c
index 7c028e676a..709e39057e 100644
--- a/c/src/lib/libchip/serial/z85c30.c
+++ b/c/src/lib/libchip/serial/z85c30.c
@@ -692,7 +692,8 @@ Z85C30_STATIC rtems_isr z85c30_isr(
getRegister_f getReg;
for (minor=0;minor<Console_Port_Count;minor++) {
- if (vector==Console_Port_Tbl[minor].ulIntVector) {
+ if(Console_Port_Tbl[minor].ulIntVector == vector &&
+ Console_Port_Tbl[minor].deviceType == SERIAL_Z85C30 ) {
ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort2;
getReg = Console_Port_Tbl[minor].getRegister;
do {
diff --git a/c/src/libchip/serial/ns16550.c b/c/src/libchip/serial/ns16550.c
index 1867ae3929..8b962b9844 100644
--- a/c/src/libchip/serial/ns16550.c
+++ b/c/src/libchip/serial/ns16550.c
@@ -402,7 +402,8 @@ NS16550_STATIC rtems_isr ns16550_isr(
int minor;
for(minor=0;minor<Console_Port_Count;minor++) {
- if(vector==Console_Port_Tbl[minor].ulIntVector) {
+ if(Console_Port_Tbl[minor].ulIntVector == vector &&
+ Console_Port_Tbl[minor].deviceType == SERIAL_NS16550 ) {
ns16550_process(minor);
}
}
diff --git a/c/src/libchip/serial/z85c30.c b/c/src/libchip/serial/z85c30.c
index 7c028e676a..709e39057e 100644
--- a/c/src/libchip/serial/z85c30.c
+++ b/c/src/libchip/serial/z85c30.c
@@ -692,7 +692,8 @@ Z85C30_STATIC rtems_isr z85c30_isr(
getRegister_f getReg;
for (minor=0;minor<Console_Port_Count;minor++) {
- if (vector==Console_Port_Tbl[minor].ulIntVector) {
+ if(Console_Port_Tbl[minor].ulIntVector == vector &&
+ Console_Port_Tbl[minor].deviceType == SERIAL_Z85C30 ) {
ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort2;
getReg = Console_Port_Tbl[minor].getRegister;
do {