Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Nov 2009 22:17:44 +0000 (GMT)
From:      Gavin Atkinson <gavin@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-net@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: [PATCH] Remove if_watchdog use
Message-ID:  <20091110221339.Y61601@ury.york.ac.uk>
In-Reply-To: <200911101702.57525.jhb@freebsd.org>
References:  <200911061508.22482.jhb@freebsd.org> <20091110194048.D61601@ury.york.ac.uk> <200911101702.57525.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 10 Nov 2009, John Baldwin wrote:
> On Tuesday 10 November 2009 4:45:03 pm Gavin Atkinson wrote:
>> I managed to get a panic when running wpa_supplicant:
>>
>> System call ioctl returning with the following locks held:
>> exclusive sleep mutex an0 (network driver) r=0 (0xc58fc180) locked @
>> /usr/src/sys/dev/an/if_an.c:2341
>> panic: witness_warn
>>
>> This seems to fix that:
>>
>> --- /usr/src/sys/dev/an/if_an.c.orig	2009-11-10 19:26:21.000000000
>> +0000
>> +++ /usr/src/sys/dev/an/if_an.c	2009-11-10 19:27:24.000000000 +0000
>> @@ -2570,6 +2570,9 @@
>>   			an_setdef(sc, &sc->areq);
>>   			AN_UNLOCK(sc);
>>   			break;
>> +		default:
>> +			AN_UNLOCK(sc);
>> +			break;
>>   		}
>>
>>   		/*
>
> Ok, thanks.  Sadly the ioctl handling probably needs a bit more work since it
> calls copyin() while holding the an(4) mutex, but I will leave that for
> another day.

It actually appears that the above panic is not something that has been 
introduced with your patch - I can reproduce it on a vanilla system. 
The above patch fixes it in the original code too.

Gavin



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