Bluetooth: btmrvl: avoid sending data to firmware after hs_activated
authorChin-Ran Lo <crlo@marvell.com>
Tue, 15 Jul 2014 04:05:37 +0000 (21:05 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 15 Jul 2014 06:01:19 +0000 (08:01 +0200)
commit5bf8a7481d21a669dd9dd874c00f7815a878111a
tree7ed1828deea12066a24ed7516bf9509351c5a182
parent4d042654afb342386cb5c33e29843b76d598ab61
Bluetooth: btmrvl: avoid sending data to firmware after hs_activated

We should suspend hci device and purge remaining data in tx queue
before enabling host sleep in firmware. If any data is sent to
firmware after host sleep is activated, firmware may end up
sending a TX_DONE interrupt to driver. If this interrupt gets
delivered to host while the SDIO host controller is suspending,
it may crash the system.

Conversely, in resume handler, we should resume hci device after
host sleep is de-activated.

Signed-off-by: Chin-Ran Lo <crlo@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btmrvl_sdio.c