⬢ DragonFlyBSD Kernel Audit
DF-3969 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/netif/ral/rt2560.c
+++ b/sys/dev/netif/ral/rt2560.c
@@ -2278,6 +2278,9 @@
 	uint16_t logcwmin, preload;
 	uint32_t tmp;
 
+	if (vap == NULL)	/* no vaps left */
+		return;
+
 	/* first, disable TSF synchronization */
 	RAL_WRITE(sc, RT2560_CSR14, 0);
 
@@ -2568,6 +2571,9 @@
 	struct rt2560_softc *sc = ic->ic_softc;
 	struct ieee80211vap *vap = ic->ic_scan->ss_vap;
 
+	if (vap == NULL)	/* last vap destroyed under us */
+		return;
+
 	rt2560_enable_tsf_sync(sc);
 	/* XXX keep local copy */
 	rt2560_set_bssid(sc, vap->iv_bss->ni_bssid);