From owner-cvs-src@FreeBSD.ORG Tue Feb 20 17:06:09 2007 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 54AD016A417; Tue, 20 Feb 2007 17:06:09 +0000 (UTC) (envelope-from sam@errno.com) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 2855913C471; Tue, 20 Feb 2007 17:06:09 +0000 (UTC) (envelope-from sam@errno.com) Received: from [10.0.0.178] ([10.0.0.178]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id l1KH68Iu051448 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 20 Feb 2007 09:06:08 -0800 (PST) (envelope-from sam@errno.com) Message-ID: <45DB2A80.1060404@errno.com> Date: Tue, 20 Feb 2007 09:06:08 -0800 From: Sam Leffler Organization: Errno Consulting User-Agent: Thunderbird 1.5.0.9 (Macintosh/20061207) MIME-Version: 1.0 To: Luigi Rizzo References: <200702201545.l1KFjxF8052100@repoman.freebsd.org> In-Reply-To: <200702201545.l1KFjxF8052100@repoman.freebsd.org> X-Enigmail-Version: 0.94.2.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/iwi if_iwi.c if_iwivar.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Feb 2007 17:06:09 -0000 Luigi Rizzo wrote: > + add debugging code IWI_LOCK_ASSERT() to detect missing locks. > These only do a printf, and should go away once we figure out why > the driver sometimes freezes the system due to a (yet unidentified) > race condition. LOCK_ASSERT should do a mtx_assert and not printf. If you want to diverge from existing convention in all other drivers please use a different name; e.g. IWI_LOCK_CHECK. > > + add a device_printf() in iwi_ioctl() in certain conditions > (see comment in the code). This helps preventing the race condition > mentioned above, and makes the system survive. This printf will > also go away once fixing this bug is completed. Please don't commit debug stuff like this; we've discussed this privately. This driver has been in use for many months w/o complaints of the sort you are seeing. > > + change iwi_getfw() to return 0 on success, 1 on error, consistently > with other functions. > > + fix the argument of a sizeof() in iwi_get_firmware() > > + use le32toh() to access little-endian fields > > + simplify error handling in iwi_load_firmware() and iwi_init_locked() > > The bugs fixed by this commit (the freezing one especially) are serious > enough to call for a quick MFC See above. Don't pollute stable w/ debug stuff. Fix the problem first in HEAD. Sam