aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth
diff options
context:
space:
mode:
authorBing Zhao <bzhao@marvell.com>2010-03-03 17:37:35 -0500
committerMarcel Holtmann <marcel@holtmann.org>2010-05-10 03:34:03 -0400
commit903c843773a18e061817dd7a1a5c28dd41a3bf97 (patch)
tree272455f8b72e47f65645b555aa4f8ab948220347 /drivers/bluetooth
parent31f085fea891d5972e994dfb423231a3d4d60a8a (diff)
Bluetooth: Decode btmrvl MODULE_BRINGUP_REG response correctly
The MODULE_BRINGUP_REQ command response returns success with either 0x00 or 0x0c. Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r--drivers/bluetooth/btmrvl_drv.h5
-rw-r--r--drivers/bluetooth/btmrvl_main.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/bluetooth/btmrvl_drv.h b/drivers/bluetooth/btmrvl_drv.h
index 204727586ee9..da68c62a22cc 100644
--- a/drivers/bluetooth/btmrvl_drv.h
+++ b/drivers/bluetooth/btmrvl_drv.h
@@ -88,8 +88,11 @@ struct btmrvl_private {
88#define BT_CMD_HOST_SLEEP_ENABLE 0x5A 88#define BT_CMD_HOST_SLEEP_ENABLE 0x5A
89#define BT_CMD_MODULE_CFG_REQ 0x5B 89#define BT_CMD_MODULE_CFG_REQ 0x5B
90 90
91/* Sub-commands: Module Bringup/Shutdown Request */ 91/* Sub-commands: Module Bringup/Shutdown Request/Response */
92#define MODULE_BRINGUP_REQ 0xF1 92#define MODULE_BRINGUP_REQ 0xF1
93#define MODULE_BROUGHT_UP 0x00
94#define MODULE_ALREADY_UP 0x0C
95
93#define MODULE_SHUTDOWN_REQ 0xF2 96#define MODULE_SHUTDOWN_REQ 0xF2
94 97
95#define BT_EVENT_POWER_STATE 0x20 98#define BT_EVENT_POWER_STATE 0x20
diff --git a/drivers/bluetooth/btmrvl_main.c b/drivers/bluetooth/btmrvl_main.c
index 49ec89cd354c..87d0d3d5ae54 100644
--- a/drivers/bluetooth/btmrvl_main.c
+++ b/drivers/bluetooth/btmrvl_main.c
@@ -112,8 +112,10 @@ int btmrvl_process_event(struct btmrvl_private *priv, struct sk_buff *skb)
112 case BT_CMD_MODULE_CFG_REQ: 112 case BT_CMD_MODULE_CFG_REQ:
113 if (priv->btmrvl_dev.sendcmdflag && 113 if (priv->btmrvl_dev.sendcmdflag &&
114 event->data[1] == MODULE_BRINGUP_REQ) { 114 event->data[1] == MODULE_BRINGUP_REQ) {
115 BT_DBG("EVENT:%s", (event->data[2]) ? 115 BT_DBG("EVENT:%s",
116 "Bring-up failed" : "Bring-up succeed"); 116 ((event->data[2] == MODULE_BROUGHT_UP) ||
117 (event->data[2] == MODULE_ALREADY_UP)) ?
118 "Bring-up succeed" : "Bring-up failed");
117 } else if (priv->btmrvl_dev.sendcmdflag && 119 } else if (priv->btmrvl_dev.sendcmdflag &&
118 event->data[1] == MODULE_SHUTDOWN_REQ) { 120 event->data[1] == MODULE_SHUTDOWN_REQ) {
119 BT_DBG("EVENT:%s", (event->data[2]) ? 121 BT_DBG("EVENT:%s", (event->data[2]) ?