|
@@ -252,7 +252,6 @@ static void rfcomm_session_timeout(unsigned long arg)
|
|
BT_DBG("session %p state %ld", s, s->state);
|
|
BT_DBG("session %p state %ld", s, s->state);
|
|
|
|
|
|
set_bit(RFCOMM_TIMED_OUT, &s->flags);
|
|
set_bit(RFCOMM_TIMED_OUT, &s->flags);
|
|
- rfcomm_session_put(s);
|
|
|
|
rfcomm_schedule(RFCOMM_SCHED_TIMEO);
|
|
rfcomm_schedule(RFCOMM_SCHED_TIMEO);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1920,6 +1919,7 @@ static inline void rfcomm_process_sessions(void)
|
|
if (test_and_clear_bit(RFCOMM_TIMED_OUT, &s->flags)) {
|
|
if (test_and_clear_bit(RFCOMM_TIMED_OUT, &s->flags)) {
|
|
s->state = BT_DISCONN;
|
|
s->state = BT_DISCONN;
|
|
rfcomm_send_disc(s, 0);
|
|
rfcomm_send_disc(s, 0);
|
|
|
|
+ rfcomm_session_put(s);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|