Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Dec 2009 04:24:57 +0200
From:      Giorgos Keramidas <keramida@ceid.upatras.gr>
To:        Brooks Davis <brooks@freebsd.org>
Cc:        jfv@freebsd.org, pluknet <pluknet@gmail.com>, freebsd-current@freebsd.org
Subject:   Re: panic with em(4) in current
Message-ID:  <87y6l99beu.fsf@kobe.laptop>
In-Reply-To: <20091211172945.GC33467@lor.one-eyed-alien.net> (Brooks Davis's message of "Fri, 11 Dec 2009 11:29:45 -0600")
References:  <20091210210901.GA23550@lor.one-eyed-alien.net> <a31046fc0912101420v2ef8ec17gf9b9105c8128b79@mail.gmail.com> <20091211172945.GC33467@lor.one-eyed-alien.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-=

On Fri, 11 Dec 2009 11:29:45 -0600, Brooks Davis <brooks@freebsd.org> wrote:
> On Fri, Dec 11, 2009 at 01:20:08AM +0300, pluknet wrote:
>> 2009/12/11 Brooks Davis <brooks@one-eyed-alien.net>:
>> > Something with the latest e1000 update in current causes a panic during
>> > attach on my laptop. ?Rolling sys/dev/e1000 back to the previous version
>> > fixes the problem. ?Here's the hand transcribed panic:
>> >
>> > panic: mtx_lock() of spin mutex &dev_spec->swflag_mutex @ ../../../dev/e1000/e1000_ich8lan.c:651
>> >
>> > The back trace places me at: e1000_acquire_swflag_ich8lan()+0x30
>>
>> Hi, I see bug there:
>> +#define E1000_MUTEX_INIT(mutex)         mtx_init((mutex), #mutex, \
>> +                                        MTX_NETWORK_LOCK, \
>> +                                        MTX_DEF | MTX_SPIN)
>>
>> mtx_init() first looks for MTX_SPIN flag and assign
>> lock_class_mtx_spin class to mutex.
>> Then mtx_lock() on spin mutex called.
>
> I can confirm that removing MTX_SPIN fixes the panic.  This is invalid
> code because MTX_DEF and MTX_SPIN are exclusive flags.  Unfortunately,
> MTX_DEF is 0x0 so there's no way to check for that error at runtime.

FWIW, I see the same panic, and will be building a kernel without
MTX_SPIN in a few minutes.


--=-=-=
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (FreeBSD)

iEYEARECAAYFAksi/wEACgkQ1g+UGjGGA7Y5AgCfTw60DDydLRB67jBAXuQNmA/9
cBAAnA5QMBuKVd3ni+o/PSDqg/ZawcQr
=+AOm
-----END PGP SIGNATURE-----
--=-=-=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87y6l99beu.fsf>