Commit 52bd2e75 authored by Jean Tourrilhes's avatar Jean Tourrilhes Committed by Linus Torvalds

[IRDA]: IrLAP disconnection pending race.

o [FEATURE] Don't drop IrLAP connection is we *just* received an
	incomming IrLMP connection request.
parent 56c6dd27
......@@ -283,4 +283,10 @@ static inline int irlap_is_primary(struct irlap_cb *self)
return(ret);
}
/* Clear a pending IrLAP disconnect. - Jean II */
static inline void irlap_clear_disconnect(struct irlap_cb *self)
{
self->disconnect_pending = FALSE;
}
#endif
......@@ -390,6 +390,14 @@ static void irlmp_state_active(struct lap_cb *self, IRLMP_EVENT event,
case LM_LAP_CONNECT_REQUEST:
IRDA_DEBUG(4, "%s(), LS_CONNECT_REQUEST\n", __FUNCTION__);
/*
* IrLAP may have a pending disconnect. We tried to close
* IrLAP, but it was postponed because the link was
* busy or we were still sending packets. As we now
* need it, make sure it stays on. Jean II
*/
irlap_clear_disconnect(self->irlap);
/*
* LAP connection already active, just bounce back! Since we
* don't know which LSAP that tried to do this, we have to
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment