Subject: kern/30592: wi(4) doesn't work
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <yamt@mwd.biglobe.ne.jp>
List: netbsd-bugs
Date: 06/24/2005 17:31:00
>Number: 30592
>Category: kern
>Synopsis: wi(4) doesn't work
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Jun 24 17:31:00 +0000 2005
>Originator: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
>Release: NetBSD 3.99.7
>Organization:
>Environment:
System: NetBSD kaeru 3.99.7 NetBSD 3.99.7 (build.kaeru.nodebug) #74: Sat Jun 25 02:11:12 JST 2005 takashi@kaeru:/home/takashi/work/kernel/build.kaeru.nodebug i386
Architecture: i386
Machine: i386
>Description:
after updating kernel, wi(4) stops working for me.
the same hardware used to work fine with a kernel around 20050614.
i'm not using wep.
all received packets will be dropped on "is_rx_unauth".
to me, it seems that IEEE80211_NODE_AUTH is never set as
wi_newstate doesn't call ieee80211_newstate.
wi0 at pcmcia0 function 0: <ZyXEL, ZyAIR/100, >
wi0: 802.11 address 00:a0:c5:15:14:05
wi0: using RF:PRISM2 MAC:HFA3841 CARD:HWB3163 rev.A
wi0: Intersil Firmware: Primary (0.3.0), Station (0.7.6)
>How-To-Repeat:
>Fix:
the following patch works for me.
i'm not sure if it's right, though.
Index: wi.c
===================================================================
--- wi.c (revision 1222)
+++ wi.c (working copy)
@@ -2953,9 +2953,8 @@ wi_newstate(struct ieee80211com *ic, enu
rt_ifmsg(ifp);
splx(s);
}
- ic->ic_state = nstate;
- /* skip standard ieee80211 handling */
- return 0;
+
+ return (*sc->sc_newstate)(ic, nstate, arg);
}
STATIC void
>Unformatted: