From owner-freebsd-hackers Wed Jul 24 13:26:44 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D407E37B400 for ; Wed, 24 Jul 2002 13:26:41 -0700 (PDT) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F66E43E75 for ; Wed, 24 Jul 2002 13:26:40 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.3/8.12.3) with ESMTP id g6OKQUYx018475; Wed, 24 Jul 2002 14:26:37 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Wed, 24 Jul 2002 14:26:26 -0600 (MDT) Message-Id: <20020724.142626.132443392.imp@bsdimp.com> To: rb@gid.co.uk Cc: hackers@FreeBSD.ORG Subject: Re: 3Com Airconnect - new variant? From: "M. Warner Losh" In-Reply-To: <4.3.2.7.2.20020723230525.02056a48@gid.co.uk> References: <4.3.2.7.2.20020723164234.0204ff78@gid.co.uk> <20020723.104436.123640280.imp@bsdimp.com> <4.3.2.7.2.20020723230525.02056a48@gid.co.uk> X-Mailer: Mew version 2.1 on Emacs 21.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message: <4.3.2.7.2.20020723230525.02056a48@gid.co.uk> Bob Bishop writes: : At 17:44 23/7/02, M. Warner Losh wrote: : >In message: <4.3.2.7.2.20020723164234.0204ff78@gid.co.uk> : > Bob Bishop writes: : >: [...] : >: none2@pci0:11:0: class=0x028000 card=0x777010b7 chip=0x777010b7 : >: rev=0x02 hdr=0x00 : >: vendor = '3COM Corp, Networking Division' : >: class = network : > : >Maybe this is the droid that you are looking for :-) : : OK, OK. Here's a less nutty patch which gets the card probed every time. : : diff -u -r1.8.2.3 if_wi_pci.c : --- if_wi_pci.c 2002/06/16 18:07:18 1.8.2.3 : +++ if_wi_pci.c 2002/07/23 22:01:33 : @@ -113,6 +113,7 @@ : int i; : : sc = device_get_softc(dev); : + DELAY(100000); : for(i=0; pci_ids[i].vendor != 0; i++) { : if ((pci_get_vendor(dev) == pci_ids[i].vendor) && : (pci_get_device(dev) == pci_ids[i].device)) { So if you have a saner delay value, does it probe? 100ms is a very long time to delay before getting the vendor info (which should already be present before the call to pci_get_vendor due to caching, iirc). Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message