On Fri, 2015-07-10 at 13:12 +0530, vijay.kil...@gmail.com wrote:
> +    case GITS_CWRITER:
> +        if ( dabt.size == DABT_BYTE ) goto bad_width;
> +        /* XXX: Validate val */
> +        vits_spin_lock(vits);
> +        vits->cmd_write = *r & 0xfffe0;
> +        if ( !(vits->ctrl & GITS_CTLR_ENABLE) )
> +            return 1;

You are returning with the lock held here.

I suggest
        if ( vits->ctrl & GITS_CTLR_ENABLE )
            ret = vits_its_process_cmd(...)
        else
            return 1;
        unlock
        return ret;

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to