DF-3969 / fix.diff
--- 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); |