summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1995-05-12 22:39:40 +0000
committerdg <dg@FreeBSD.org>1995-05-12 22:39:40 +0000
commite6b57c33e6a9fb351159f1716b81f1a2cbc3102e (patch)
treee00c7663815c196ae3dd1146e6af0e46187b262c /sys/i386/isa
parent5e587399a6444989a8f3daa1c9e76a9cc0e0486a (diff)
downloadFreeBSD-src-e6b57c33e6a9fb351159f1716b81f1a2cbc3102e.zip
FreeBSD-src-e6b57c33e6a9fb351159f1716b81f1a2cbc3102e.tar.gz
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.
Diffstat (limited to 'sys/i386/isa')
-rw-r--r--sys/i386/isa/if_ed.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/i386/isa/if_ed.c b/sys/i386/isa/if_ed.c
index 50dab23..6898dfd 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.
OpenPOWER on IntegriCloud