--- a/ath/if_ath.c
+++ b/ath/if_ath.c
@@ -539,8 +539,8 @@ ath_attach(u_int16_t devid, struct net_d
 
 	/* Allocate space for dynamically determined maximum VAP count */
 	sc->sc_bslot = 
-		kmalloc(ath_maxvaps * sizeof(struct ieee80211vap), GFP_KERNEL);
-	memset(sc->sc_bslot, 0, ath_maxvaps * sizeof(struct ieee80211vap));
+		kmalloc(ath_maxvaps * sizeof(struct ieee80211vap*), GFP_KERNEL);
+	memset(sc->sc_bslot, 0, ath_maxvaps * sizeof(struct ieee80211vap*));
 
 	/*
 	 * Cache line size is used to size and align various