diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2007-05-10 17:41:51 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2007-05-10 17:41:51 +0000 |
commit | 796638b2971697dc09865edef3662108b9376553 (patch) | |
tree | d9653f9a9f1722920122007efb8529138583c802 | |
parent | da1a35721bbb934b270bbaa87984c780eee066f5 (diff) |
Don't skip channels that don't have the WDCF_IRQ_WAIT flag set. Apparently
some chips generate interrupts we don't expect, but we need to ack those.
Fixes the cdrom hangs on various sparc64 systems.
tested by some, ok deraadt@
-rw-r--r-- | sys/dev/pci/pciide.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/dev/pci/pciide.c b/sys/dev/pci/pciide.c index ed48ba97073..4f5548d13e8 100644 --- a/sys/dev/pci/pciide.c +++ b/sys/dev/pci/pciide.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pciide.c,v 1.266 2007/05/02 00:53:25 jsg Exp $ */ +/* $OpenBSD: pciide.c,v 1.267 2007/05/10 17:41:50 kettenis Exp $ */ /* $NetBSD: pciide.c,v 1.127 2001/08/03 01:31:08 tsutsui Exp $ */ /* @@ -1494,9 +1494,6 @@ pciide_pci_intr(void *arg) /* If a compat channel skip. */ if (cp->compat) continue; - /* if this channel not waiting for intr, skip */ - if ((wdc_cp->ch_flags & WDCF_IRQ_WAIT) == 0) - continue; if (pciide_intr_flag(cp) == 0) continue; |