Skip site navigation (1)Skip section navigation (2)
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>