Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Nov 2006 23:29:45 +0100
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        Scott Long <scottl@FreeBSD.org>
Cc:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 110667 for review
Message-ID:  <20061130222945.GB28271@garage.freebsd.pl>
In-Reply-To: <200611290826.kAT8Qf13036044@repoman.freebsd.org>
References:  <200611290826.kAT8Qf13036044@repoman.freebsd.org>

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

--SkvwRMAIpAhPCcCJ
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 29, 2006 at 08:26:41AM +0000, Scott Long wrote:
> http://perforce.freebsd.org/chv.cgi?CH=3D110667
>=20
> Change 110667 by scottl@scottl-x64 on 2006/11/29 08:26:07
>=20
> 	When traversing buses and devices, grab the sim lock at the highest
> 	point, i.e. xptbustraverse(), instead of doing it in disjointed ways
> 	in the lower layers.  One side effect of this is that async callbacks
> 	will be called with the sim/bus lock held already.  Another side
> 	effect is that pass device enumeration that originated in
> 	xpt_finishedconfig() is now decoupled into a taskqueue.
>=20
> Affected files ...
>=20
> .. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#45 edit
> .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#17 edit
> .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_pass.c#14 edit
>=20
> Differences ...
>=20
> =3D=3D=3D=3D //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#45 (te=
xt+ko) =3D=3D=3D=3D
>=20
> @@ -2684,9 +2684,11 @@
>  		next_bus =3D TAILQ_NEXT(bus, links);
> =20
>  		mtx_unlock(&xsoftc.xpt_lock);
> +		mtx_lock(bus->sim->mtx);
>  		retval =3D tr_func(bus, arg);
>  		if (retval =3D=3D 0)
>  			return(retval);
> +		mtx_unlock(bus->sim->mtx);

Don't you leak a lock here on return?

--=20
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--SkvwRMAIpAhPCcCJ
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (FreeBSD)

iD8DBQFFb1tZForvXbEpPzQRAtBIAKDNEWYuGytl/YfhxvbS6WEUK7lu6QCfdrUi
7eP410avTfg14XMvByhecOE=
=TaXE
-----END PGP SIGNATURE-----

--SkvwRMAIpAhPCcCJ--



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