Always allocate intrhand with M_WAITOK.
authorpatrick <patrick@openbsd.org>
Sat, 6 Aug 2016 18:21:34 +0000 (18:21 +0000)
committerpatrick <patrick@openbsd.org>
Sat, 6 Aug 2016 18:21:34 +0000 (18:21 +0000)
Requested by and ok kettenis@

sys/arch/armv7/omap/intc.c
sys/arch/armv7/omap/omgpio.c
sys/arch/armv7/sunxi/sxiintc.c

index 6fb5632..a68a5be 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: intc.c,v 1.6 2016/08/06 10:07:45 jsg Exp $ */
+/* $OpenBSD: intc.c,v 1.7 2016/08/06 18:21:34 patrick Exp $ */
 /*
  * Copyright (c) 2007,2009 Dale Rahn <drahn@openbsd.org>
  *
@@ -364,11 +364,7 @@ intc_intr_establish(int irqno, int level, int (*func)(void *),
                     irqno, name);
        psw = disable_interrupts(PSR_I);
 
-       /* no point in sleeping unless someone can free memory. */
-       ih = (struct intrhand *)malloc (sizeof *ih, M_DEVBUF,
-           cold ? M_NOWAIT : M_WAITOK);
-       if (ih == NULL)
-               panic("intr_establish: can't malloc handler info");
+       ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK);
        ih->ih_func = func;
        ih->ih_arg = arg;
        ih->ih_ipl = level;
index 700e253..c964553 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: omgpio.c,v 1.7 2016/07/17 00:25:21 jsg Exp $ */
+/* $OpenBSD: omgpio.c,v 1.8 2016/08/06 18:21:34 patrick Exp $ */
 /*
  * Copyright (c) 2007,2009 Dale Rahn <drahn@openbsd.org>
  *
@@ -616,11 +616,7 @@ omgpio_intr_establish(struct omgpio_softc *sc, unsigned int gpio, int level, int
 
        psw = disable_interrupts(PSR_I);
 
-       /* no point in sleeping unless someone can free memory. */
-       ih = (struct intrhand *)malloc( sizeof *ih, M_DEVBUF,
-           cold ? M_NOWAIT : M_WAITOK);
-       if (ih == NULL)
-               panic("intr_establish: can't malloc handler info");
+       ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK);
        ih->ih_func = func;
        ih->ih_arg = arg;
        ih->ih_ipl = level;
index 452361e..e593997 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: sxiintc.c,v 1.1 2016/08/05 20:38:17 kettenis Exp $    */
+/*     $OpenBSD: sxiintc.c,v 1.2 2016/08/06 18:21:34 patrick Exp $     */
 /*
  * Copyright (c) 2007,2009 Dale Rahn <drahn@openbsd.org>
  * Copyright (c) 2013 Artturi Alm
@@ -388,11 +388,7 @@ sxiintc_intr_establish(int irq, int level, int (*func)(void *),
 
        psw = disable_interrupts(PSR_I);
 
-       /* no point in sleeping unless someone can free memory. */
-       ih = (struct intrhand *)malloc (sizeof *ih, M_DEVBUF,
-           cold ? M_NOWAIT : M_WAITOK);
-       if (ih == NULL)
-               panic("intr_establish: can't malloc handler info\n");
+       ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK);
        ih->ih_func = func;
        ih->ih_arg = arg;
        ih->ih_ipl = level;