[PATCH 06/14] tty/serial/core: Introduce poll_init callback

Alan Cox alan at lxorguk.ukuu.org.uk
Mon Sep 10 07:13:20 EDT 2012


> +	tport = &state->port;
> +	if (!(tport->flags & ASYNC_INITIALIZED) && port->ops->poll_init) {
> +		mutex_lock(&tport->mutex);
> +		ret = port->ops->poll_init(port);
> +		/*
> +		 * We don't set ASYNCB_INITIALIZED as we only initialized the
> +		 * hw, e.g. state->xmit is still uninitialized.
> +		 */
> +		mutex_unlock(&tport->mutex);
> +		if (ret)
> +			return ret;
> +	}

What stops a parallel open or close changing ASYNC_INITIALIZED after you
test and before you lock ?

Alan



More information about the linux-arm-kernel mailing list