From owner-freebsd-current@FreeBSD.ORG Mon Oct 3 21:40:46 2005 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 839F516A420 for ; Mon, 3 Oct 2005 21:40:46 +0000 (GMT) (envelope-from fli+freebsd-current@shapeshifter.se) Received: from mx1.h3q.net (manticore.shapeshifter.se [212.37.5.30]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0DD2B43D45 for ; Mon, 3 Oct 2005 21:40:45 +0000 (GMT) (envelope-from fli+freebsd-current@shapeshifter.se) Received: from localhost (localhost [127.0.0.1]) by mx1.h3q.net (Postfix) with ESMTP id C1DDA1A744; Mon, 3 Oct 2005 23:40:42 +0200 (CEST) Received: from mx1.h3q.net ([127.0.0.1]) by localhost (manticore.shapeshifter.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 70789-13; Mon, 3 Oct 2005 23:40:41 +0200 (CEST) Received: from [192.168.0.94] (h4n2fls31o270.telia.com [217.208.199.4]) by mx1.h3q.net (Postfix) with ESMTP id 8B9AD1A743; Mon, 3 Oct 2005 23:40:41 +0200 (CEST) Message-ID: <4341A55B.1070209@shapeshifter.se> Date: Mon, 03 Oct 2005 23:40:43 +0200 From: Fredrik Lindberg User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050928) X-Accept-Language: en-us, en MIME-Version: 1.0 To: "M. Warner Losh" References: <433F6018.2050900@datacomm.ch> <433F976F.6090501@samsco.org> <433FB9B9.9020207@shapeshifter.se> <20051003.132634.20912224.imp@bsdimp.com> In-Reply-To: <20051003.132634.20912224.imp@bsdimp.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: at mail.hamnpolare.net Cc: benlutz@datacomm.ch, current@freebsd.org Subject: Re: Linksys EG1032 rev. 3 patch X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Oct 2005 21:40:46 -0000 M. Warner Losh wrote: > Is rev the right thing to filter based on, or is the subvendor id and > subvendor device? if a vendor sets the vendor id/vendor device fields > wrong, who is to say that we can know based on the pci revision field > if this device is right or not. The revision field tends to change a > lot and having a sample size of 1 or 2 (or even 5) likely is > insufficient to know if it can be relied upon to not cause problems > with the next container load of the cards arrives... > > I know that the re vs rl decision is made based on the revision in the > device's I/O space right now: > > while (t->rl_name != NULL) { > if ((pci_get_vendor(dev) == t->rl_vid) && > (pci_get_device(dev) == t->rl_did)) { > ... map I/O > hwrev = CSR_READ_4(sc, RL_TXCFG) & RL_TXCFG_HWREV; > ... unmap I/O > if (t->rl_basetype == hwrev) { > device_set_desc(dev, t->rl_name); > return (BUS_PROBE_DEFAULT); > } > } > t++; > } > return (ENXIO); > > Checking for 0x10 vs 0x15 for a card that has gone from rev 2 to rev 3 > just strikes me as unwise. > > Warner Filtering on subvendor/subdevice might be better, I didn't even think of that and revision filtering seemed to be quite popular among exsisting drivers. The subdevice id for a rev.3 card seems to be 0x0024 (subvendor 0x1737). I don't own a rev. 2 card but google says that the rev.2 card has subdevice id 0x0015 (subvendor 0x1737). Fredrik