Fri Oct 16 14:22:25 2015 UTC ()
Avoid a divide by 0 when unplugging a sd card.


(bouyer)
diff -r1.21 -r1.22 src/sys/arch/arm/allwinner/awin_mmc.c

cvs diff -r1.21 -r1.22 src/sys/arch/arm/allwinner/Attic/awin_mmc.c (expand / switch to context diff)
--- src/sys/arch/arm/allwinner/Attic/awin_mmc.c 2015/08/08 17:21:19 1.21
+++ src/sys/arch/arm/allwinner/Attic/awin_mmc.c 2015/10/16 14:22:25 1.22
@@ -1,4 +1,4 @@
-/* $NetBSD: awin_mmc.c,v 1.21 2015/08/08 17:21:19 jmcneill Exp $ */
+/* $NetBSD: awin_mmc.c,v 1.22 2015/10/16 14:22:25 bouyer Exp $ */
 
 /*-
  * Copyright (c) 2014 Jared D. McNeill <jmcneill@invisible.ca>
@@ -29,7 +29,7 @@
 #include "locators.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: awin_mmc.c,v 1.21 2015/08/08 17:21:19 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: awin_mmc.c,v 1.22 2015/10/16 14:22:25 bouyer Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -346,7 +346,10 @@
 		sdly = 0;
 		clksrc = AWIN_SD_CLK_SRC_SEL_OSC24M;
 		n = 2;
-		m = ((osc24m_freq / (1 << n)) / freq) - 1;
+		if (freq > 0)
+			m = ((osc24m_freq / (1 << n)) / freq) - 1;
+		else
+			m = 15;
 	} else if (freq <= 25000) {
 		odly = 0;
 		sdly = 5;