Date: Tue, 20 Feb 2007 09:48:38 -0800 From: Sam Leffler <sam@errno.com> To: Luigi Rizzo <rizzo@icir.org> Cc: cvs-src@FreeBSD.org, Luigi Rizzo <luigi@FreeBSD.org>, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/iwi if_iwi.c if_iwivar.h Message-ID: <45DB3476.1050300@errno.com> In-Reply-To: <20070220094131.A76388@xorpc.icir.org> References: <200702201545.l1KFjxF8052100@repoman.freebsd.org> <45DB2A80.1060404@errno.com> <20070220094131.A76388@xorpc.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Luigi Rizzo wrote: > On Tue, Feb 20, 2007 at 09:06:08AM -0800, Sam Leffler wrote: >> 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. > > done, thanks for pointing it out. > >>> + 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 > > Also replaced with better code to address the problem. Thank you for both. > >> privately. This driver has been in use for many months w/o complaints >> of the sort you are seeing. > > The fact that I am the only one seeing (or reporting) the problem > does not mean that there is no bug (or i wouldn't spend so much > time trying to fix it :). I'm not arguing this; I just don't like to see changes back-merged w/o a chance to settle. I've used this driver for a lot and not hit the same issue you have. Clearly fixing the cause of the lockup is important but it's also important to get to the root cause which appears to be elsewhere and likely related to an unstable signal quality. I recall in your original comparison of HEAD against RELENG_6 you found some other changes that hadn't been backported related to setting the receive sensitivity and bluetooth coexistence. You would do well to look at the latest linux code (at sourceforge which leads code going into the kernel). The handling of bluetooth coexistence in particular has gone back and forth. I assume you are operating in 2.4G and not 5G? Sam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45DB3476.1050300>