Index: sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
===================================================================
--- sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
+++ sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
@@ -32,6 +32,7 @@
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
+#include <sys/conf.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
 #include <sys/malloc.h>
@@ -762,6 +763,13 @@
 	struct bcm_sdhci_softc *sc = device_get_softc(slot->bus);
 #endif
 
+	/*
+	 * We don't want to perform DMA in this context -- interrupts are
+	 * disabled, and a transaction may already be in progress.
+	 */
+	if (dumping)
+		return (0);
+
 	/*
 	 * This indicates that we somehow let a data interrupt slip by into the
 	 * SDHCI framework, when it should not have.  This really needs to be