PERFORCE change 115413 for review
Sepherosa Ziehau
sephe at FreeBSD.org
Tue Mar 6 13:13:51 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=115413
Change 115413 by sephe at sephe_zealot:sam_wifi on 2007/03/06 13:13:25
- ic_bss is in STA table now.
- Set ic_des_chan, even if the channel to be set to ic_des_chan is same
as ic_bsschan.
Reviewed by: sam@
Affected files ...
.. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#69 edit
Differences ...
==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#69 (text+ko) ====
@@ -230,12 +230,8 @@
if (error != 0)
return error;
ni = ieee80211_find_node(&ic->ic_sta, macaddr);
- if (ni == NULL) {
- /* XXX special-case sta-mode until bss is node in ic_sta */
- if (ic->ic_opmode != IEEE80211_M_STA)
- return ENOENT;
- ni = ieee80211_ref_node(ic->ic_bss);
- }
+ if (ni == NULL)
+ return EINVAL;
if (ireq->i_len > sizeof(struct ieee80211req_sta_stats))
ireq->i_len = sizeof(struct ieee80211req_sta_stats);
/* NB: copy out only the statistics */
@@ -682,12 +678,8 @@
ni = NULL;
} else {
ni = ieee80211_find_node(&ic->ic_sta, macaddr);
- if (ni == NULL) {
- /* XXX special-case sta-mode until bss is in ic_sta */
- if (ic->ic_opmode != IEEE80211_M_STA)
- return EINVAL; /* XXX */
- ni = ieee80211_ref_node(ic->ic_bss);
- }
+ if (ni == NULL)
+ return EINVAL;
}
return getstainfo_common(ic, ireq, ni, off);
}
@@ -1736,9 +1728,9 @@
if (ic->ic_opmode == IEEE80211_M_HOSTAP &&
!check_mode_consistency(c, ic->ic_des_mode))
return EINVAL;
+ ic->ic_des_chan = c;
if (ic->ic_state == IEEE80211_S_RUN && c == ic->ic_bsschan)
return 0; /* NB: nothing to do */
- ic->ic_des_chan = c;
}
error = 0;
if ((ic->ic_opmode == IEEE80211_M_MONITOR ||
@@ -1787,9 +1779,9 @@
if (ic->ic_opmode == IEEE80211_M_HOSTAP &&
!check_mode_consistency(c, ic->ic_des_mode))
return EINVAL;
+ ic->ic_des_chan = c;
if (ic->ic_state == IEEE80211_S_RUN && c == ic->ic_bsschan)
return 0; /* NB: nothing to do */
- ic->ic_des_chan = c;
}
error = 0;
if ((ic->ic_opmode == IEEE80211_M_MONITOR ||
More information about the p4-projects
mailing list