summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2007-05-10 17:41:50 +0000
committerkettenis <kettenis@openbsd.org>2007-05-10 17:41:50 +0000
commit7522fb198eae4ff036ff04ef379da0a9de0d22d6 (patch)
treeb03e9f6bc7a41b8911d59c131c89879275c085b0
parentThe road to supporting bigendian openpic starts. (diff)
downloadwireguard-openbsd-7522fb198eae4ff036ff04ef379da0a9de0d22d6.tar.xz
wireguard-openbsd-7522fb198eae4ff036ff04ef379da0a9de0d22d6.zip
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.c5
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;