Skip site navigation (1)Skip section navigation (2)
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>