- 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