|
@@ -1851,18 +1851,18 @@ static void rfcomm_worker(void)
|
|
BT_DBG("");
|
|
BT_DBG("");
|
|
|
|
|
|
while (!atomic_read(&terminate)) {
|
|
while (!atomic_read(&terminate)) {
|
|
|
|
+ set_current_state(TASK_INTERRUPTIBLE);
|
|
if (!test_bit(RFCOMM_SCHED_WAKEUP, &rfcomm_event)) {
|
|
if (!test_bit(RFCOMM_SCHED_WAKEUP, &rfcomm_event)) {
|
|
/* No pending events. Let's sleep.
|
|
/* No pending events. Let's sleep.
|
|
* Incoming connections and data will wake us up. */
|
|
* Incoming connections and data will wake us up. */
|
|
- set_current_state(TASK_INTERRUPTIBLE);
|
|
|
|
schedule();
|
|
schedule();
|
|
}
|
|
}
|
|
|
|
+ set_current_state(TASK_RUNNING);
|
|
|
|
|
|
/* Process stuff */
|
|
/* Process stuff */
|
|
clear_bit(RFCOMM_SCHED_WAKEUP, &rfcomm_event);
|
|
clear_bit(RFCOMM_SCHED_WAKEUP, &rfcomm_event);
|
|
rfcomm_process_sessions();
|
|
rfcomm_process_sessions();
|
|
}
|
|
}
|
|
- set_current_state(TASK_RUNNING);
|
|
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|