diff options
author | Alexander Yurchenko <grange@cvs.openbsd.org> | 2003-04-20 21:09:29 +0000 |
---|---|---|
committer | Alexander Yurchenko <grange@cvs.openbsd.org> | 2003-04-20 21:09:29 +0000 |
commit | a8f87f3d373a7a43ae94aa6cf2a823925e149a56 (patch) | |
tree | a3222b52c79bdc6cdfb9ad8d5dbf8448006c0b3f /sys/dev/pci | |
parent | c625bc5c9c12e3d43afb2d5852ffd8a21435b2fd (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.c | 5 |
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; |