aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorDavid Herrmann <[email protected]>2011-08-26 14:06:02 +0200
committerGustavo F. Padovan <[email protected]>2011-10-06 22:15:48 -0300
commit794d175698f0e78be7f2e3f4bdbe0e7cd3f2d6ae (patch)
treee96dcec6fc0ee32252ef51214348fa0066b1f637 /tools/perf/scripts/python
parenta5fd6f300433ef7458c6d934f81f47ebd7c7e805 (diff)
Bluetooth: hidp: Stop I/O on shutdown
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: David Herrmann <[email protected]> Signed-off-by: Gustavo F. Padovan <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions