1. 01 7月, 2011 1 次提交
    • P
      Bluetooth: Fix hidp disconnect deadlocks and lost wakeup · 7bb59df8
      Peter Hurley 提交于
      Partial revert of commit aabf6f89. When the hidp session thread
      was converted from kernel_thread to kthread, the atomic/wakeups
      were replaced with kthread_stop. kthread_stop has blocking semantics
      which are inappropriate for the hidp session kthread. In addition,
      the kthread signals itself to terminate in hidp_process_hid_control()
      - it cannot do this with kthread_stop().
      
      Lastly, a wakeup can be lost if the wakeup happens between checking
      for the loop exit condition and setting the current state to
      TASK_INTERRUPTIBLE. (Without appropriate synchronization mechanisms,
      the task state should not be changed between the condition test and
      the yield - via schedule() - as this creates a race between the
      wakeup and resetting the state back to interruptible.)
      Signed-off-by: NPeter Hurley <peter@hurleysoftware.com>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      7bb59df8
  2. 29 6月, 2011 1 次提交
  3. 21 6月, 2011 2 次提交
  4. 16 6月, 2011 1 次提交
  5. 15 6月, 2011 3 次提交
  6. 14 6月, 2011 1 次提交
  7. 11 6月, 2011 4 次提交
  8. 10 6月, 2011 1 次提交
  9. 09 6月, 2011 3 次提交
  10. 08 6月, 2011 4 次提交
  11. 07 6月, 2011 4 次提交
  12. 04 6月, 2011 5 次提交
  13. 02 6月, 2011 4 次提交
  14. 01 6月, 2011 6 次提交