summaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorAlexander Yurchenko <grange@cvs.openbsd.org>2003-04-20 21:09:29 +0000
committerAlexander Yurchenko <grange@cvs.openbsd.org>2003-04-20 21:09:29 +0000
commita8f87f3d373a7a43ae94aa6cf2a823925e149a56 (patch)
treea3222b52c79bdc6cdfb9ad8d5dbf8448006c0b3f /sys/dev/pci
parentc625bc5c9c12e3d43afb2d5852ffd8a21435b2fd (diff)
In pdc20265_pci_intr() perform shared irq check only if channel is
enabled since it reqires accessing channel's bus space. Problem reported by Armin Wolfermann <aw@osn.de>.
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/pciide.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/pci/pciide.c b/sys/dev/pci/pciide.c
index 5677f915121..30d9630229b 100644
--- a/sys/dev/pci/pciide.c
+++ b/sys/dev/pci/pciide.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pciide.c,v 1.120 2003/03/29 11:02:09 grange Exp $ */
+/* $OpenBSD: pciide.c,v 1.121 2003/04/20 21:09:28 grange Exp $ */
/* $NetBSD: pciide.c,v 1.127 2001/08/03 01:31:08 tsutsui Exp $ */
/*
@@ -4452,8 +4452,9 @@ pdc20265_pci_intr(arg)
/*
* In case of shared IRQ check that the interrupt
* was actually generated by this channel.
+ * Only check the channel that is enabled.
*/
- if (PDC_IS_268(sc)) {
+ if (cp->hw_ok && PDC_IS_268(sc)) {
if ((pdc268_config_read(wdc_cp,
0x0b) & PDC268_INTR) == 0)
continue;