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

From: Alan Cox
Date: Mon Sep 10 2012 - 07:08:55 EST



> + 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/