1. 07 Oct, 2011 1 commit
    • David Herrmann's avatar
      Bluetooth: hidp: Stop I/O on shutdown · 794d1756
      David Herrmann authored
      Current hidp driver purges the in/out queue on HID shutdown, but does
      not prevent further I/O. If a driver uses hidp_output_raw_report or
      hidp_get_raw_report during shutdown, the driver hangs for 5 or 10
      seconds per call until it gets a timeout.
      That is, if the output queue of an HID driver has 10 messages pending,
      it will take 50s until hid_destroy_device() will return. The
      hidp_session_sem semaphore is held during shutdown so no other HID
      device may be added/removed during this time.
      
      This patch makes hidp_output_raw_report and hidp_get_raw_report fail if
      session->terminate is true. Also hidp_session will wakeup all current
      calls to these functions to cancel the current operations.
      
      We already purge the current I/O queues on hidp_stop(), so this data loss
      does not change the behaviour of the HID drivers.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@googlemail.com>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      794d1756
  2. 06 Oct, 2011 2 commits
  3. 29 Sep, 2011 3 commits
  4. 27 Sep, 2011 6 commits
  5. 21 Sep, 2011 24 commits
  6. 20 Sep, 2011 4 commits