From owner-freebsd-current Mon Dec 30 20:38:55 2002 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 10FF837B401 for ; Mon, 30 Dec 2002 20:38:54 -0800 (PST) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 50F5943EB2 for ; Mon, 30 Dec 2002 20:38:53 -0800 (PST) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.6/8.12.3) with ESMTP id gBV4cl1e014429; Mon, 30 Dec 2002 21:38:48 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Mon, 30 Dec 2002 22:38:35 -0600 (CST) Message-Id: <20021230.223835.69319274.imp@bsdimp.com> To: mranner@inode.at Cc: freebsd-current@FreeBSD.ORG Subject: Re: My wi(4) ate itself (or Fun with no memory). From: "M. Warner Losh" In-Reply-To: <200212302328.46783.mranner@inode.at> References: <200212302210.gBUMAKZc068550@castle.org> <200212302328.46783.mranner@inode.at> X-Mailer: Mew version 2.1 on Emacs 21.2 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message: <200212302328.46783.mranner@inode.at> Michael Ranner writes: : Am Montag, 30. Dezember 2002 23:10 schrieb Lee Damon: : > I have the same problems on an IBM T30 with integrated wi running : > 4.7-STABLE. In fact, I've had this problem since 4.5 (which is where I : > started on this system.) : : I think the "wi0: timeout in wi_cmd 0x0000; event status 0x8000" : messages started around 4.4, 4.5 or so. With my old FreeBSD 4 I had no : "visible" problems, but after upgrading to 4.7 I have tons of wi_timeout's : : I fixed it with: : : 1359c1359 : < DELAY(WI_DELAY); : --- : > /*DELAY(WI_DELAY);*/ This delay is needed on far too many cards to just delete it. : 1363,1364c1363,1364 : < device_printf(sc->dev, "timeout in wi_seek to %x/%x; last : status %x\n", : < id, off, status); : --- : > /*device_printf(sc->dev, "timeout in wi_seek to %x/%x; last : status %x\n", : > id, off, status);*/ this isn't a fix. : The big problem was the "DELAY", because this call freezes the system and that : was not acceptable for a router, but I also increased the value of the : surrounding loop. The big problem is that we have a horrible reset policy in the wi driver. When it gets into this state, we're screwing the system into the ground in the driver. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message