PERFORCE change 110667 for review
Pawel Jakub Dawidek
pjd at FreeBSD.org
Thu Nov 30 14:30:13 PST 2006
On Wed, Nov 29, 2006 at 08:26:41AM +0000, Scott Long wrote:
> http://perforce.freebsd.org/chv.cgi?CH=110667
>
> Change 110667 by scottl at scottl-x64 on 2006/11/29 08:26:07
>
> 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.
>
> Affected files ...
>
> .. //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
>
> Differences ...
>
> ==== //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#45 (text+ko) ====
>
> @@ -2684,9 +2684,11 @@
> next_bus = TAILQ_NEXT(bus, links);
>
> mtx_unlock(&xsoftc.xpt_lock);
> + mtx_lock(bus->sim->mtx);
> retval = tr_func(bus, arg);
> if (retval == 0)
> return(retval);
> + mtx_unlock(bus->sim->mtx);
Don't you leak a lock here on return?
--
Pawel Jakub Dawidek http://www.wheel.pl
pjd at FreeBSD.org http://www.FreeBSD.org
FreeBSD committer Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/p4-projects/attachments/20061130/f562966c/attachment.pgp
More information about the p4-projects
mailing list