Module Name:    src
Committed By:   jdolecek
Date:           Mon Dec 10 06:23:54 UTC 2018

Modified Files:
        src/sys/dev/pci: ichsmb.c

Log Message:
call pci_intr_release() when pci_intr_establish_xname() fails; I got confused
by the opposite conditionals compared to other drivers

found by Masanobu SAITOH


To generate a diff of this commit:
cvs rdiff -u -r1.59 -r1.60 src/sys/dev/pci/ichsmb.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/ichsmb.c
diff -u src/sys/dev/pci/ichsmb.c:1.59 src/sys/dev/pci/ichsmb.c:1.60
--- src/sys/dev/pci/ichsmb.c:1.59	Sun Dec  9 19:21:17 2018
+++ src/sys/dev/pci/ichsmb.c	Mon Dec 10 06:23:54 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ichsmb.c,v 1.59 2018/12/09 19:21:17 jdolecek Exp $	*/
+/*	$NetBSD: ichsmb.c,v 1.60 2018/12/10 06:23:54 jdolecek Exp $	*/
 /*	$OpenBSD: ichiic.c,v 1.18 2007/05/03 09:36:26 dlg Exp $	*/
 
 /*
@@ -22,7 +22,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ichsmb.c,v 1.59 2018/12/09 19:21:17 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ichsmb.c,v 1.60 2018/12/10 06:23:54 jdolecek Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -194,10 +194,12 @@ ichsmb_attach(device_t parent, device_t 
 			    sc->sc_pihp[0], IPL_BIO, ichsmb_intr, sc,
 			    device_xname(sc->sc_dev));
 			if (sc->sc_ih != NULL) {
-				pci_intr_release(pa->pa_pc, sc->sc_pihp, 1);
 				aprint_normal_dev(self, "interrupting at %s\n",
 				    intrstr);
 				sc->sc_poll = 0;
+			} else {
+				pci_intr_release(pa->pa_pc, sc->sc_pihp, 1);
+				sc->sc_pihp = NULL;
 			}
 		}
 		if (sc->sc_poll)

Reply via email to