- 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