Date: Thu, 05 Oct 2000 11:00:46 +0900 From: Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> To: freebsd-bugs@freebsd.org Cc: ohki@gssm.otsuka.tsukuba.ac.jp Subject: if_wi.c of FreeBSD Message-ID: <200010050200.LAA02927@smr00.gssm.otsuka.tsukuba.ac.jp>
next in thread | raw e-mail | index | archive | help
Hi, I found a small problem with if_wi.c in FreeBSD(3.3-RELEASE and later, probably 4.1.1 too) After using WaveLan PCMCIA card, other PCMCIA cards do not work properly. (they work for a while but become inoperable sometime.) This problem is due to the timeout route in if_wi.c, wi_inquire(). I'm afraid that untimeout() should be call for it when a WaveLan PCMCIA card is just unloaded, like following context diff (based on FreeBSD 3.3-RELEASE). --- if_wi.c-ORIG Mon Aug 30 01:07:24 1999 +++ if_wi.c Wed Oct 4 17:08:06 2000 @@ -246,6 +246,8 @@ sc->wi_gone = 1; printf("wi%d: unloaded\n", sc_p->isahd.id_unit); + untimeout(wi_inquire, sc, sc->wi_stat_ch); /* XXX */ + return; } @@ -509,6 +511,8 @@ struct ifnet *ifp; sc = xsc; + if (sc->wi_gone) return; /* XXX paranoia ? */ + ifp = &sc->arpcom.ac_if; sc->wi_stat_ch = timeout(wi_inquire, sc, hz * 60); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010050200.LAA02927>