Module Name:    src
Committed By:   rin
Date:           Fri Aug  4 14:04:44 UTC 2023

Modified Files:
        src/sys/dev/vme: sc_vme.c

Log Message:
sc(4) at vme(4): Fix panic due to false ENOMEM for DMA buffer

Similar fix to "sc(4) at mbmem(4)" one; make sure flags are correctly
initialized.

sun3 is not affected.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/vme/sc_vme.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/vme/sc_vme.c
diff -u src/sys/dev/vme/sc_vme.c:1.18 src/sys/dev/vme/sc_vme.c:1.19
--- src/sys/dev/vme/sc_vme.c:1.18	Sun Nov 10 21:16:38 2019
+++ src/sys/dev/vme/sc_vme.c	Fri Aug  4 14:04:44 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: sc_vme.c,v 1.18 2019/11/10 21:16:38 chs Exp $	*/
+/*	$NetBSD: sc_vme.c,v 1.19 2023/08/04 14:04:44 rin Exp $	*/
 
 /*-
  * Copyright (c) 1996,2000,2001 The NetBSD Foundation, Inc.
@@ -62,14 +62,14 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sc_vme.c,v 1.18 2019/11/10 21:16:38 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sc_vme.c,v 1.19 2023/08/04 14:04:44 rin Exp $");
 
 #include "opt_ddb.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
-#include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/errno.h>
 #include <sys/device.h>
 #include <sys/buf.h>
@@ -188,7 +188,7 @@ sc_vme_attach(device_t parent, device_t 
 	 * Allocate DMA handles.
 	 */
 	i = SUNSCPAL_OPENINGS * sizeof(struct sunscpal_dma_handle);
-	sc->sc_dma_handles = malloc(i, M_DEVBUF, M_WAITOK);
+	sc->sc_dma_handles = kmem_zalloc(i, KM_SLEEP);
 	for (i = 0; i < SUNSCPAL_OPENINGS; i++) {
 		sc->sc_dma_handles[i].dh_flags = 0;
 

Reply via email to