summaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/btmrvl_drv.h
diff options
context:
space:
mode:
authorChin-Ran Lo <crlo@marvell.com>2014-07-01 23:00:14 +0200
committerMarcel Holtmann <marcel@holtmann.org>2014-07-03 17:42:54 +0200
commit396e04f4bb9afefb0744715dc76d9abe18ee5fb0 (patch)
tree0492fff5438d6a4b094489e8faa4536cb5d46689 /drivers/bluetooth/btmrvl_drv.h
parentBluetooth: btmrvl: indicate pscan scheduling instant in a debug event (diff)
downloadlinux-396e04f4bb9afefb0744715dc76d9abe18ee5fb0.tar.xz
linux-396e04f4bb9afefb0744715dc76d9abe18ee5fb0.zip
Bluetooth: btmrvl: wait for HOST_SLEEP_ENABLE event in suspend
After BT_CMD_HOST_SLEEP_ENABLE command finishes, driver should wait until getting BT_EVENT_HOST_SLEEP_ENABLE event to complete suspend procedure. Without this patch the suspend handler would return success earlier. By the time when the BT_EVENT_HOST_SLEEP_ENABLE event comes in the controller driver could have already turned off the bus clock. This causes kernel crash or system reboot eventually. Cc: <stable@vger.kernel.org> # 3.13+ Signed-off-by: Chin-Ran Lo <crlo@marvell.com> Signed-off-by: Jeff CF Chen <jeffc@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth/btmrvl_drv.h')
-rw-r--r--drivers/bluetooth/btmrvl_drv.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/bluetooth/btmrvl_drv.h b/drivers/bluetooth/btmrvl_drv.h
index 4c313e73df83..a8a9d3380e59 100644
--- a/drivers/bluetooth/btmrvl_drv.h
+++ b/drivers/bluetooth/btmrvl_drv.h
@@ -68,6 +68,7 @@ struct btmrvl_adapter {
u8 hs_state;
u8 wakeup_tries;
wait_queue_head_t cmd_wait_q;
+ wait_queue_head_t event_hs_wait_q;
u8 cmd_complete;
bool is_suspended;
};