summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/wlan/if_rsu.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/wlan/if_rsu.c')
-rw-r--r--sys/dev/usb/wlan/if_rsu.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/usb/wlan/if_rsu.c b/sys/dev/usb/wlan/if_rsu.c
index 30cdbe9..ab1cfa0 100644
--- a/sys/dev/usb/wlan/if_rsu.c
+++ b/sys/dev/usb/wlan/if_rsu.c
@@ -480,8 +480,13 @@ rsu_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit,
if (uvp == NULL)
return (NULL);
vap = &uvp->vap;
- ieee80211_vap_setup(ic, vap, name, unit, opmode,
- flags, bssid, mac);
+
+ if (ieee80211_vap_setup(ic, vap, name, unit, opmode,
+ flags, bssid, mac) != 0) {
+ /* out of memory */
+ free(uvp, M_80211_VAP);
+ return (NULL);
+ }
/* override state transition machine */
uvp->newstate = vap->iv_newstate;
@@ -1153,7 +1158,7 @@ rsu_event_survey(struct rsu_softc *sc, uint8_t *buf, int len)
wh->i_fc[0] = IEEE80211_FC0_VERSION_0 | IEEE80211_FC0_TYPE_MGT |
IEEE80211_FC0_SUBTYPE_BEACON;
wh->i_fc[1] = IEEE80211_FC1_DIR_NODS;
- *(uint16_t *)wh->i_dur = 0;
+ USETW(wh->i_dur, 0);
IEEE80211_ADDR_COPY(wh->i_addr1, ifp->if_broadcastaddr);
IEEE80211_ADDR_COPY(wh->i_addr2, bss->macaddr);
IEEE80211_ADDR_COPY(wh->i_addr3, bss->macaddr);
OpenPOWER on IntegriCloud