the atw(4) man page says:
authordamien <damien@openbsd.org>
Fri, 29 Aug 2008 09:30:23 +0000 (09:30 +0000)
committerdamien <damien@openbsd.org>
Fri, 29 Aug 2008 09:30:23 +0000 (09:30 +0000)
   "The driver lets you change to Host AP mode, but it does not work
    and it probably never will."

so just remove the HOSTAP capability bit in the code and remove this
sentence.

share/man/man4/atw.4
sys/dev/ic/atw.c

index bd91b05..ba85fa7 100644 (file)
@@ -1,4 +1,4 @@
-.\"     $OpenBSD: atw.4,v 1.28 2008/07/29 17:03:35 jmc Exp $
+.\"     $OpenBSD: atw.4,v 1.29 2008/08/29 09:30:23 damien Exp $
 .\"    $NetBSD: atw.4,v 1.8 2004/06/06 04:05:49 wiz Exp $
 .\"
 .\" Copyright (c) 2003
@@ -28,7 +28,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 .\" THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd $Mdocdate: July 29 2008 $
+.Dd $Mdocdate: August 29 2008 $
 .Dt ATW 4
 .Os
 .Sh NAME
@@ -222,9 +222,6 @@ network performance may suffer.
 The driver does not provide rate control when the media type is
 set to autoselect.
 .Pp
-The driver lets you change to Host AP mode, but it does not work
-and it probably never will.
-.Pp
 The driver will sometimes complain that it cannot re-tune the radio
 because the transmit process has not gone idle.
 The author is investigating.
index e1487a8..dbb2ad3 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: atw.c,v 1.61 2008/08/27 09:05:03 damien Exp $ */
+/*     $OpenBSD: atw.c,v 1.62 2008/08/29 09:30:23 damien Exp $ */
 /*     $NetBSD: atw.c,v 1.69 2004/07/23 07:07:55 dyoung Exp $  */
 
 /*-
@@ -816,7 +816,7 @@ atw_attach(struct atw_softc *sc)
        ic->ic_opmode = IEEE80211_M_STA;
        ic->ic_caps = IEEE80211_C_PMGT | IEEE80211_C_MONITOR | IEEE80211_C_WEP;
 #ifndef IEEE80211_STA_ONLY
-       ic->ic_caps |= IEEE80211_C_IBSS | IEEE80211_C_HOSTAP;
+       ic->ic_caps |= IEEE80211_C_IBSS;
 #endif
        ic->ic_sup_rates[IEEE80211_MODE_11B] = ieee80211_std_rateset_11b;       
 
@@ -1429,8 +1429,6 @@ atw_init(struct ifnet *ifp)
        case IEEE80211_M_IBSS:
                ic->ic_flags |= IEEE80211_F_IBSSON;
                /*FALLTHROUGH*/
-       case IEEE80211_M_HOSTAP: /* XXX */
-               break;
 #endif
        default: /* XXX */
                break;
@@ -1439,7 +1437,6 @@ atw_init(struct ifnet *ifp)
 #ifndef IEEE80211_STA_ONLY
        switch (ic->ic_opmode) {
        case IEEE80211_M_AHDEMO:
-       case IEEE80211_M_HOSTAP:
                ic->ic_bss->ni_intval = ic->ic_lintval;
                ic->ic_bss->ni_rssi = 0;
                ic->ic_bss->ni_rstamp = 0;
@@ -2392,11 +2389,6 @@ atw_start_beacon(struct atw_softc *sc, int start)
                len += 4; /* IBSS parameters */
                capinfo |= IEEE80211_CAPINFO_IBSS;
                break;
-       case IEEE80211_M_HOSTAP:
-               /* XXX 6-byte minimum TIM */
-               len += atw_beacon_len_adjust;
-               capinfo |= IEEE80211_CAPINFO_ESS;
-               break;
        default:
                return;
        }
@@ -2479,9 +2471,8 @@ atw_predict_beacon(struct atw_softc *sc)
        } u;
 
 #ifndef IEEE80211_STA_ONLY
-       if ((ic->ic_opmode == IEEE80211_M_HOSTAP) ||
-           ((ic->ic_opmode == IEEE80211_M_IBSS) &&
-            (ic->ic_flags & IEEE80211_F_SIBSS))) {
+       if ((ic->ic_opmode == IEEE80211_M_IBSS) &&
+           (ic->ic_flags & IEEE80211_F_SIBSS)) {
                tsft = atw_get_tsft(sc);
                u.word = htole64(tsft);
                (void)memcpy(&ic->ic_bss->ni_tstamp[0], &u.tstamp[0],
@@ -2595,8 +2586,7 @@ atw_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg)
 
 #ifndef IEEE80211_STA_ONLY
        if (nstate == IEEE80211_S_RUN &&
-           (ic->ic_opmode == IEEE80211_M_HOSTAP ||
-            ic->ic_opmode == IEEE80211_M_IBSS))
+           ic->ic_opmode == IEEE80211_M_IBSS)
                atw_start_beacon(sc, 1);
        else
 #endif