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) ...@@ -283,4 +283,10 @@ static inline int irlap_is_primary(struct irlap_cb *self)
return(ret); return(ret);
} }
/* Clear a pending IrLAP disconnect. - Jean II */
static inline void irlap_clear_disconnect(struct irlap_cb *self)
{
self->disconnect_pending = FALSE;
}
#endif #endif
...@@ -390,6 +390,14 @@ static void irlmp_state_active(struct lap_cb *self, IRLMP_EVENT event, ...@@ -390,6 +390,14 @@ static void irlmp_state_active(struct lap_cb *self, IRLMP_EVENT event,
case LM_LAP_CONNECT_REQUEST: case LM_LAP_CONNECT_REQUEST:
IRDA_DEBUG(4, "%s(), LS_CONNECT_REQUEST\n", __FUNCTION__); 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 * LAP connection already active, just bounce back! Since we
* don't know which LSAP that tried to do this, we have to * 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