aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Greenman <dg@FreeBSD.org>1995-05-12 22:39:40 +0000
committerDavid Greenman <dg@FreeBSD.org>1995-05-12 22:39:40 +0000
commit404abd2138bfaadbf2fb9a8270a5b4d9019fde86 (patch)
treee00c7663815c196ae3dd1146e6af0e46187b262c
parentc4cf09ffe6c9b6b3f52e7e20c1dcb9da1ccb5cfa (diff)
downloadsrc-404abd2138bfaadbf2fb9a8270a5b4d9019fde86.tar.gz
src-404abd2138bfaadbf2fb9a8270a5b4d9019fde86.zip
Only use card's soft-configured irq if no irq was specified in the kernel
config file. This should fix a number of complaints regarding the auto detection behavior.
Notes
Notes: svn path=/head/; revision=8486
-rw-r--r--sys/dev/ed/if_ed.c12
-rw-r--r--sys/i386/isa/if_ed.c12
2 files changed, 14 insertions, 10 deletions
diff --git a/sys/dev/ed/if_ed.c b/sys/dev/ed/if_ed.c
index 50dab237d64b..6898dfd433a4 100644
--- a/sys/dev/ed/if_ed.c
+++ b/sys/dev/ed/if_ed.c
@@ -13,7 +13,7 @@
* the SMC Elite Ultra (8216), the 3Com 3c503, the NE1000 and NE2000,
* and a variety of similar clones.
*
- * $Id: if_ed.c,v 1.69 1995/04/12 20:47:45 wollman Exp $
+ * $Id: if_ed.c,v 1.70 1995/05/04 07:56:23 davidg Exp $
*/
#include "ed.h"
@@ -503,9 +503,10 @@ ed_probe_WD80x3(isa_dev)
(ED_WD_IRR_IR0 | ED_WD_IRR_IR1)) >> 5);
/*
- * Use what the board tells us.
+ * If no interrupt specified (or "?"), use what the board tells us.
*/
- isa_dev->id_irq = ed_intr_mask[iptr];
+ if (isa_dev->id_irq <= 0)
+ isa_dev->id_irq = ed_intr_mask[iptr];
/*
* Enable the interrupt.
@@ -523,9 +524,10 @@ ed_probe_WD80x3(isa_dev)
inb(isa_dev->id_iobase + ED_WD790_HWR) & ~ED_WD790_HWR_SWH);
/*
- * Use what the board tells us.
+ * If no interrupt specified (or "?"), use what the board tells us.
*/
- isa_dev->id_irq = ed_790_intr_mask[iptr];
+ if (isa_dev->id_irq <= 0)
+ isa_dev->id_irq = ed_790_intr_mask[iptr];
/*
* Enable interrupts.
diff --git a/sys/i386/isa/if_ed.c b/sys/i386/isa/if_ed.c
index 50dab237d64b..6898dfd433a4 100644
--- a/sys/i386/isa/if_ed.c
+++ b/sys/i386/isa/if_ed.c
@@ -13,7 +13,7 @@
* the SMC Elite Ultra (8216), the 3Com 3c503, the NE1000 and NE2000,
* and a variety of similar clones.
*
- * $Id: if_ed.c,v 1.69 1995/04/12 20:47:45 wollman Exp $
+ * $Id: if_ed.c,v 1.70 1995/05/04 07:56:23 davidg Exp $
*/
#include "ed.h"
@@ -503,9 +503,10 @@ ed_probe_WD80x3(isa_dev)
(ED_WD_IRR_IR0 | ED_WD_IRR_IR1)) >> 5);
/*
- * Use what the board tells us.
+ * If no interrupt specified (or "?"), use what the board tells us.
*/
- isa_dev->id_irq = ed_intr_mask[iptr];
+ if (isa_dev->id_irq <= 0)
+ isa_dev->id_irq = ed_intr_mask[iptr];
/*
* Enable the interrupt.
@@ -523,9 +524,10 @@ ed_probe_WD80x3(isa_dev)
inb(isa_dev->id_iobase + ED_WD790_HWR) & ~ED_WD790_HWR_SWH);
/*
- * Use what the board tells us.
+ * If no interrupt specified (or "?"), use what the board tells us.
*/
- isa_dev->id_irq = ed_790_intr_mask[iptr];
+ if (isa_dev->id_irq <= 0)
+ isa_dev->id_irq = ed_790_intr_mask[iptr];
/*
* Enable interrupts.