Subject: kern/4291: Incomplete IRQs allows in sb
To: None <gnats-bugs@gnats.netbsd.org>
From: None <darcy@druid.net>
List: netbsd-bugs
Date: 10/18/1997 21:29:37
>Number: 4291
>Category: kern
>Synopsis: The Soundblaster allows IRQ 15 to be selected but driver doesn't.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people (Kernel Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Oct 18 18:35:01 1997
>Last-Modified:
>Originator: D'Arcy J.M. Cain
>Organization:
D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves
http://www.druid.net/darcy/ | and a sheep voting on
+1 416 424 2871 (DoD#0082) (eNTP) | what's for dinner.
>Release: NetBSD-19971018
>Environment:
System: NetBSD druid.net 1.2G NetBSD 1.2G (DRUID) #0: Sat Oct 18 13:12:37 EDT 1997 darcy@druid.net:/usr/src/sys/arch/i386/compile/DRUID i386
>Description:
The Soundblaster card allows IRQ 15 to be selected but the code limits
one to IRQs 5, 7, 9 and 10. In fact, my manual shows IRQ 15 to be
the default. This is a clone card but it did work before.
>How-To-Repeat:
Set SB card and configuration file to 15, make kernel and boot.
>Fix:
Apply following patch. I don't know if SB_IRQ_VALID also has to be
changed but I suspect not.
*** ../src.original/sys/dev/isa/sbreg.h Sat Oct 18 21:24:12 1997
--- ../src.changed/sys/dev/isa/sbreg.h Sat Oct 18 21:25:11 1997
***************
*** 276,282 ****
/*
* Macros to detect valid hardware configuration data.
*/
! #define SBP_IRQ_VALID(irq) ((irq) == 5 || (irq) == 7 || (irq) == 9 || (irq) == 10)
#define SB_IRQ_VALID(irq) ((irq) == 3 || (irq) == 5 || (irq) == 7 || (irq) == 9)
#define SB16_DRQ_VALID(chan) ((chan) == 0 || (chan) == 1 || (chan) == 3 || \
--- 276,282 ----
/*
* Macros to detect valid hardware configuration data.
*/
! #define SBP_IRQ_VALID(irq) ((irq) == 5 || (irq) == 7 || (irq) == 9 || (irq) == 10 || (irq) == 15)
#define SB_IRQ_VALID(irq) ((irq) == 3 || (irq) == 5 || (irq) == 7 || (irq) == 9)
#define SB16_DRQ_VALID(chan) ((chan) == 0 || (chan) == 1 || (chan) == 3 || \
>Audit-Trail:
>Unformatted: