diff options
author | Bing Zhao <bzhao@marvell.com> | 2010-03-03 17:37:35 -0500 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2010-05-10 03:34:03 -0400 |
commit | 903c843773a18e061817dd7a1a5c28dd41a3bf97 (patch) | |
tree | 272455f8b72e47f65645b555aa4f8ab948220347 /drivers | |
parent | 31f085fea891d5972e994dfb423231a3d4d60a8a (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')
-rw-r--r-- | drivers/bluetooth/btmrvl_drv.h | 5 | ||||
-rw-r--r-- | drivers/bluetooth/btmrvl_main.c | 6 |
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]) ? |