Module Name: src Committed By: christos Date: Wed Feb 17 20:00:16 UTC 2016
Modified Files: src/sys/dev/pci: pccbb.c Log Message: PR/50820: David Binderman: Fail when !(edge|pulse) instead of !edge && edge To generate a diff of this commit: cvs rdiff -u -r1.208 -r1.209 src/sys/dev/pci/pccbb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/pccbb.c diff -u src/sys/dev/pci/pccbb.c:1.208 src/sys/dev/pci/pccbb.c:1.209 --- src/sys/dev/pci/pccbb.c:1.208 Thu Mar 26 16:13:28 2015 +++ src/sys/dev/pci/pccbb.c Wed Feb 17 15:00:15 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: pccbb.c,v 1.208 2015/03/26 20:13:28 nakayama Exp $ */ +/* $NetBSD: pccbb.c,v 1.209 2016/02/17 20:00:15 christos Exp $ */ /* * Copyright (c) 1998, 1999 and 2000 @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pccbb.c,v 1.208 2015/03/26 20:13:28 nakayama Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pccbb.c,v 1.209 2016/02/17 20:00:15 christos Exp $"); /* #define CBB_DEBUG @@ -2766,17 +2766,14 @@ pccbb_pcmcia_intr_establish(pcmcia_chips { struct pccbb_softc *sc = (struct pccbb_softc *)pch; - if (!(pf->cfe->flags & PCMCIA_CFE_IRQLEVEL)) { - /* what should I do? */ - if ((pf->cfe->flags & PCMCIA_CFE_IRQLEVEL)) { - DPRINTF(("%s does not provide edge nor pulse " - "interrupt\n", device_xname(sc->sc_dev))); - return NULL; - } + if (!(pf->cfe->flags & (PCMCIA_CFE_IRQLEVEL|PCMCIA_CFE_IRQPULSE))) { /* * XXX Noooooo! The interrupt flag must set properly!! * dumb pcmcia driver!! */ + DPRINTF(("%s does not provide edge nor pulse interrupt\n", + device_xname(sc->sc_dev))); + return NULL; } return pccbb_intr_establish(sc, ipl, func, arg);