diff options
author | David Greenman <dg@FreeBSD.org> | 1995-05-12 22:39:40 +0000 |
---|---|---|
committer | David Greenman <dg@FreeBSD.org> | 1995-05-12 22:39:40 +0000 |
commit | 404abd2138bfaadbf2fb9a8270a5b4d9019fde86 (patch) | |
tree | e00c7663815c196ae3dd1146e6af0e46187b262c /sys/i386/isa/if_ed.c | |
parent | c4cf09ffe6c9b6b3f52e7e20c1dcb9da1ccb5cfa (diff) | |
download | src-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
Diffstat (limited to 'sys/i386/isa/if_ed.c')
-rw-r--r-- | sys/i386/isa/if_ed.c | 12 |
1 files changed, 7 insertions, 5 deletions
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. |