Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Aug 2008 18:09:40 +0200
From:      Hans Petter Selasky <hselasky@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 144415 for review
Message-ID:  <200808071809.41042.hselasky@freebsd.org>
In-Reply-To: <200808071016.43108.jhb@freebsd.org>
References:  <200807011103.m61B3x2b079270@repoman.freebsd.org> <200808071016.43108.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 07 August 2008, John Baldwin wrote:
> On Tuesday 01 July 2008 07:03:59 am Hans Petter Selasky wrote:
> > http://perforce.freebsd.org/chv.cgi?CH=144415
> >
> > Change 144415 by hselasky@hselasky_laptop001 on 2008/07/01 11:03:31
> >
> >
> > 	To allow USB drivers using the Giant mutex, like ukbd
> > 	and the tty layer (ucom), condition variable functions
> > 	like mtx_sleep() and cv_wait() needs to support the Giant
> > 	mutex. Previously using the Giant mutex with these functions
> > 	resulted in a panic due to an unlock race between the
> > 	GIANT_DROP macro and the internal mutex unlock in the
> > 	condition variable function. This patch will try to
> > 	resolve that race.
>
> I'd rather that the sleep and condition variable code just explicitly
> handle this case rather than changing DROP_GIANT().
>

Hi,

I have implemented a set of wrappers for these functions that handle this.

See "src/sys/dev/usb2/core/usb2_util.h" in the USB P4 tree.

The files that were changed regarding this issue will not be integrated, 
though they currently remain in the P4 repository.

--HPS



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