aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/btmrvl_sdio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/bluetooth/btmrvl_sdio.c')
-rw-r--r--drivers/bluetooth/btmrvl_sdio.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c
index 5b33b85790f2..0dba76aa2232 100644
--- a/drivers/bluetooth/btmrvl_sdio.c
+++ b/drivers/bluetooth/btmrvl_sdio.c
@@ -19,6 +19,7 @@
19 **/ 19 **/
20 20
21#include <linux/firmware.h> 21#include <linux/firmware.h>
22#include <linux/slab.h>
22 23
23#include <linux/mmc/sdio_ids.h> 24#include <linux/mmc/sdio_ids.h>
24#include <linux/mmc/sdio_func.h> 25#include <linux/mmc/sdio_func.h>
@@ -535,7 +536,7 @@ static int btmrvl_sdio_card_to_host(struct btmrvl_private *priv)
535 break; 536 break;
536 537
537 default: 538 default:
538 BT_ERR("Unknow packet type:%d", type); 539 BT_ERR("Unknown packet type:%d", type);
539 print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, payload, 540 print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, payload,
540 blksz * buf_block_len); 541 blksz * buf_block_len);
541 542
@@ -808,6 +809,7 @@ static int btmrvl_sdio_host_to_card(struct btmrvl_private *priv,
808 809
809exit: 810exit:
810 sdio_release_host(card->func); 811 sdio_release_host(card->func);
812 kfree(tmpbuf);
811 813
812 return ret; 814 return ret;
813} 815}
@@ -930,6 +932,8 @@ static int btmrvl_sdio_probe(struct sdio_func *func,
930 priv->hw_wakeup_firmware = btmrvl_sdio_wakeup_fw; 932 priv->hw_wakeup_firmware = btmrvl_sdio_wakeup_fw;
931 933
932 btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ); 934 btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ);
935 priv->btmrvl_dev.psmode = 1;
936 btmrvl_enable_ps(priv);
933 937
934 return 0; 938 return 0;
935 939
@@ -973,7 +977,7 @@ static struct sdio_driver bt_mrvl_sdio = {
973 .remove = btmrvl_sdio_remove, 977 .remove = btmrvl_sdio_remove,
974}; 978};
975 979
976static int btmrvl_sdio_init_module(void) 980static int __init btmrvl_sdio_init_module(void)
977{ 981{
978 if (sdio_register_driver(&bt_mrvl_sdio) != 0) { 982 if (sdio_register_driver(&bt_mrvl_sdio) != 0) {
979 BT_ERR("SDIO Driver Registration Failed"); 983 BT_ERR("SDIO Driver Registration Failed");
@@ -986,7 +990,7 @@ static int btmrvl_sdio_init_module(void)
986 return 0; 990 return 0;
987} 991}
988 992
989static void btmrvl_sdio_exit_module(void) 993static void __exit btmrvl_sdio_exit_module(void)
990{ 994{
991 /* Set the flag as user is removing this module. */ 995 /* Set the flag as user is removing this module. */
992 user_rmmod = 1; 996 user_rmmod = 1;
@@ -1001,3 +1005,5 @@ MODULE_AUTHOR("Marvell International Ltd.");
1001MODULE_DESCRIPTION("Marvell BT-over-SDIO driver ver " VERSION); 1005MODULE_DESCRIPTION("Marvell BT-over-SDIO driver ver " VERSION);
1002MODULE_VERSION(VERSION); 1006MODULE_VERSION(VERSION);
1003MODULE_LICENSE("GPL v2"); 1007MODULE_LICENSE("GPL v2");
1008MODULE_FIRMWARE("sd8688_helper.bin");
1009MODULE_FIRMWARE("sd8688.bin");