diff options
author | nate <nate@FreeBSD.org> | 1998-04-20 15:15:20 +0000 |
---|---|---|
committer | nate <nate@FreeBSD.org> | 1998-04-20 15:15:20 +0000 |
commit | 26ef0a3053225f5a76aec92b63eeec20d22d5eaf (patch) | |
tree | e82faef78ce22349ba903d47d80713ce9564cb2d /sys/pccard | |
parent | d8a676d94eac455890ffebe9cead1d9842c71fbf (diff) | |
download | FreeBSD-src-26ef0a3053225f5a76aec92b63eeec20d22d5eaf.zip FreeBSD-src-26ef0a3053225f5a76aec92b63eeec20d22d5eaf.tar.gz |
- Only poll the PCIC controller for insertion/removal events if the
controller hasn't been assigned an IRQ.
Diffstat (limited to 'sys/pccard')
-rw-r--r-- | sys/pccard/pcic.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/pccard/pcic.c b/sys/pccard/pcic.c index 04efe59..584a375 100644 --- a/sys/pccard/pcic.c +++ b/sys/pccard/pcic.c @@ -795,7 +795,7 @@ pcic_probe(void) pcic98_probe_end: } #endif /* PC98 */ - if (validslots) + if (validslots && pcic_irq <= 0) pcictimeout_ch = timeout(pcictimeout, 0, hz/2); return(validslots); } @@ -1051,8 +1051,9 @@ pcic_disable(struct slot *slt) } /* - * PCIC timer, it seems that we lose interrupts sometimes - * so poll just in case... + * PCIC timer. If the controller doesn't have a free IRQ to use + * or if interrupt steering doesn't work, poll the controller for + * insertion/removal events. */ static void pcictimeout(void *chan) |