mutex ATAPICAM lock owned at /usr/src/sys/cam/cam_periph.c:316
Scott Long
scottl at samsco.org
Sun Dec 21 06:20:58 UTC 2008
Ganbold wrote:
> Ganbold wrote:
>> Hi,
>>
>> I got panic today with recent CURRENT.
>>
>> All relevant infos are here:
>>
>> http://people.freebsd.org/~ganbold/ddb.txt
>> http://people.freebsd.org/~ganbold/msgbuf.txt
>> http://people.freebsd.org/~ganbold/panic.txt
>> http://people.freebsd.org/~ganbold/version.txt
>>
>
> Replying myself, I guess there should be unlock before releasing the
> periph at scsi_pass.c:
>
> --- /var/current/src/sys/cam/scsi/scsi_pass.c 2008-11-22 16:58:50.000000000 +0800
> +++ /usr/src/sys/cam/scsi/scsi_pass.c 2008-12-21 12:59:36.000000000 +0800
> @@ -347,8 +347,10 @@
> if ((softc->flags & PASS_FLAG_OPEN) == 0) {
> softc->flags |= PASS_FLAG_OPEN;
> } else {
> - /* Device closes aren't symmertical, so fix up the refcount */
> + /* Device closes aren't symmetrical, so fix up the refcount */
> + cam_periph_unlock(periph);
> cam_periph_release(periph);
> + return(EINVAL);
> }
>
>
> cam_periph_unlock(periph);
>
Already started fixing it before I started this. I believe that I've
caught all of the problems, please let me know if anything else comes
up.
Scott
More information about the freebsd-current
mailing list