summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNachiket Kukade <kukaden@marvell.com>2015-09-18 06:40:40 -0700
committerMarcel Holtmann <marcel@holtmann.org>2015-09-22 11:51:19 +0200
commit475b9eacc5543eea922431bb8ac4ec761de0e415 (patch)
tree28ae0e34b72389b219471740bf529ebb7157d36b
parent97170ea1823bf00cf6ed0f503129e9053a66c53a (diff)
downloadlinux-475b9eacc5543eea922431bb8ac4ec761de0e415.tar.bz2
Bluetooth: btmrvl: fix firmware dump issue
First firmware dump attempt from user works fine, but firmware goes into bad state after this. Subsequent attempts fails. As required by the firmware dump implementation, this change writes FW_DUMP_READ_DONE value to dump ctrl register to address this issue. Signed-off-by: Nachiket Kukade <kukaden@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r--drivers/bluetooth/btmrvl_sdio.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c
index b9978a7ba0cc..5f7c9be779b8 100644
--- a/drivers/bluetooth/btmrvl_sdio.c
+++ b/drivers/bluetooth/btmrvl_sdio.c
@@ -1278,6 +1278,12 @@ static void btmrvl_sdio_dump_firmware(struct btmrvl_private *priv)
if (memory_size == 0) {
BT_INFO("Firmware dump finished!");
+ sdio_writeb(card->func, FW_DUMP_READ_DONE,
+ card->reg->fw_dump_ctrl, &ret);
+ if (ret) {
+ BT_ERR("SDIO Write MEMDUMP_FINISH ERR");
+ goto done;
+ }
break;
}