| 127 | } |
| 128 | |
| 129 | static void |
| 130 | rssadapt_init(struct ieee80211vap *vap) |
| 131 | { |
| 132 | struct ieee80211_rssadapt *rs; |
| 133 | |
| 134 | KASSERT(vap->iv_rs == NULL, ("%s: iv_rs already initialized", |
| 135 | __func__)); |
| 136 | |
| 137 | nrefs++; /* XXX locking */ |
| 138 | vap->iv_rs = rs = IEEE80211_MALLOC(sizeof(struct ieee80211_rssadapt), |
| 139 | M_80211_RATECTL, IEEE80211_M_NOWAIT | IEEE80211_M_ZERO); |
| 140 | if (rs == NULL) { |
| 141 | if_printf(vap->iv_ifp, "couldn't alloc ratectl structure\n"); |
| 142 | return; |
| 143 | } |
| 144 | rs->vap = vap; |
| 145 | rssadapt_setinterval(vap, 500 /* msecs */); |
| 146 | rssadapt_sysctlattach(vap, vap->iv_sysctl, vap->iv_oid); |
| 147 | } |
| 148 | |
| 149 | static void |
| 150 | rssadapt_deinit(struct ieee80211vap *vap) |
nothing calls this directly
no test coverage detected