Date: Sun, 19 Mar 2000 01:35:47 -0500 (EST) From: Robert Watson <robert@cyrus.watson.org> To: Warner Losh <imp@village.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/net bpf.c bpf.h Message-ID: <Pine.NEB.3.96L.1000319012008.1270K-100000@fledge.watson.org> In-Reply-To: <200003190607.XAA05471@harmony.village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 18 Mar 2000, Warner Losh wrote: > In message <Pine.NEB.3.96L.1000319005828.1270I-100000@fledge.watson.org> Robert Watson writes: > : My statement about if_detach not being invoked by all drivers may have > : been a result of an incorrect reading if if_ep_pccard. If also appears to > : call if_detach, and also crash. :-) I have no other pccard ethernet > : cards, so can't test any further drivers. > : > : Given that I can reproduce the crash with if_ep, I think I'll go ahead and > : commit the fix to that one also, once I've had a chance to test it. > > I have ed, sn, ep (kinda) that I can test. I also have a fe card, but > haven't newbusified if_fe yet. > > I'm waiting to get the bpf changes from cvsup so I can test them. > > The missing part was the tcpdump... I seem to be able to more reliably generate a crash using if_ep if I: 1) Insert the card 2) Start tcpdump on the interface, then suspend tcpdump 3) Eject the card 4) Insert the card 5) foreground tcpdump A sad thing to note, however, on testing the patch with if_ep (i.e., adding bpfdetach() before if_detach()) is that I still get a hang on ejecting the card :-(. It seems to happen after the disabling of promiscuous mode by bpf_detachd() called from bpfdetach(). I won't have access to a serial debugger/etc until I get back to Massachusetts, tomorrow afternoon. Based on my understanding of the bpf code, it is necessary to call bpfdetach before if_detach. BTW, a couple of other (unrelated) things I have observed with if_ep and the pccard driver: If I eject my if_ep (3Com 3c589C) and reinsert it in the same slot several times in the row, sometimes it will seem not to enable the interface, although the kernel does report that a card was inserted. I waited about 10-20 seconds and saw no pccardd output, etc. Also, on occasion when inserting multiple cards, I see ``wi0: No irq?'' or ``ep0: No irq?''. The first card seems to get the resources it needs fine, but the second does not. Removing/ejecting the first card sometimes reslts the same error, but with regard to a different resource (memory, etc). Robert N M Watson robert@fledge.watson.org http://www.watson.org/~robert/ PGP key fingerprint: AF B5 5F FF A6 4A 79 37 ED 5F 55 E9 58 04 6A B1 TIS Labs at Network Associates, Safeport Network Services To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1000319012008.1270K-100000>