From owner-cvs-all Sat Mar 18 22:36: 1 2000 Delivered-To: cvs-all@freebsd.org Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by hub.freebsd.org (Postfix) with ESMTP id 933F537BF4F; Sat, 18 Mar 2000 22:35:51 -0800 (PST) (envelope-from robert@cyrus.watson.org) Received: from fledge.watson.org (robert@fledge.pr.watson.org [192.0.2.3]) by fledge.watson.org (8.9.3/8.9.3) with SMTP id BAA04911; Sun, 19 Mar 2000 01:35:47 -0500 (EST) (envelope-from robert@cyrus.watson.org) Date: Sun, 19 Mar 2000 01:35:47 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org Reply-To: Robert Watson To: Warner Losh Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/net bpf.c bpf.h In-Reply-To: <200003190607.XAA05471@harmony.village.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sat, 18 Mar 2000, Warner Losh wrote: > In message 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