Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/ic Do not set IEEE80211_F_IBSSON in hostap mode. Tre...



details:   https://anonhg.NetBSD.org/src/rev/61d703019c66
branches:  trunk
changeset: 557485:61d703019c66
user:      dyoung <dyoung%NetBSD.org@localhost>
date:      Sat Jan 10 07:47:02 2004 +0000

description:
Do not set IEEE80211_F_IBSSON in hostap mode. Treat hostap-mode
when the link condition changes by returning.

Note that hostap mode still does not work in atw, and ADMtek has
told me that the hardware will not support it, but I remain hopeful.

diffstat:

 sys/dev/ic/atw.c |  11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diffs (46 lines):

diff -r d28ae1772ae1 -r 61d703019c66 sys/dev/ic/atw.c
--- a/sys/dev/ic/atw.c  Sat Jan 10 07:41:18 2004 +0000
+++ b/sys/dev/ic/atw.c  Sat Jan 10 07:47:02 2004 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: atw.c,v 1.15 2004/01/10 07:41:18 dyoung Exp $  */
+/*     $NetBSD: atw.c,v 1.16 2004/01/10 07:47:02 dyoung Exp $  */
 
 /*-
  * Copyright (c) 1998, 1999, 2000, 2002, 2003, 2004 The NetBSD Foundation, Inc.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: atw.c,v 1.15 2004/01/10 07:41:18 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: atw.c,v 1.16 2004/01/10 07:47:02 dyoung Exp $");
 
 #include "bpfilter.h"
 
@@ -1204,15 +1204,16 @@
        /* common 802.11 configuration */
        ic->ic_flags &= ~IEEE80211_F_IBSSON;
        switch (ic->ic_opmode) {
-       case IEEE80211_M_HOSTAP: /* XXX */
        case IEEE80211_M_STA:
                sc->sc_opmode &= ~ATW_NAR_EA;
                break;
        case IEEE80211_M_AHDEMO: /* XXX */
        case IEEE80211_M_IBSS:
+               ic->ic_flags |= IEEE80211_F_IBSSON;
+               /*FALLTHROUGH*/
+       case IEEE80211_M_HOSTAP: /* XXX */
                /* EA bit seems important for ad hoc reception. */
                sc->sc_opmode |= ATW_NAR_EA;
-               ic->ic_flags |= IEEE80211_F_IBSSON;
                break;
        case IEEE80211_M_MONITOR: /* XXX */
                break;
@@ -2932,6 +2933,8 @@
        } else if (linkstatus & ATW_INTR_LINKOFF) {
                DPRINTF(sc, ("%s: link off\n", sc->sc_dev.dv_xname));
                switch (ic->ic_opmode) {
+               case IEEE80211_M_HOSTAP:
+                       return;
                case IEEE80211_M_IBSS:
                        if (ic->ic_flags & IEEE80211_F_SIBSS)
                                return;



Home | Main Index | Thread Index | Old Index