aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth
diff options
context:
space:
mode:
authorBing Zhao <bzhao@marvell.com>2010-03-03 17:37:37 -0500
committerMarcel Holtmann <marcel@holtmann.org>2010-05-10 03:34:04 -0400
commitf120c6b635a62d414876b517aec0468628acfc60 (patch)
tree3fbfcbd85a296f46f56e45dfc416a20bf22e13de /drivers/bluetooth
parent64061607eab7cb146115927cb596de123c542d45 (diff)
Bluetooth: Set hdev->dev_type based on Marvell device type
Get the device type from MODULE_BRINGUP_REQ command response. 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.h2
-rw-r--r--drivers/bluetooth/btmrvl_main.c9
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/bluetooth/btmrvl_drv.h b/drivers/bluetooth/btmrvl_drv.h
index bf6d54fcbeaf..bed0ba630235 100644
--- a/drivers/bluetooth/btmrvl_drv.h
+++ b/drivers/bluetooth/btmrvl_drv.h
@@ -42,6 +42,8 @@ struct btmrvl_device {
42 void *card; 42 void *card;
43 struct hci_dev *hcidev; 43 struct hci_dev *hcidev;
44 44
45 u8 dev_type;
46
45 u8 tx_dnld_rdy; 47 u8 tx_dnld_rdy;
46 48
47 u8 psmode; 49 u8 psmode;
diff --git a/drivers/bluetooth/btmrvl_main.c b/drivers/bluetooth/btmrvl_main.c
index ec48bfe9e279..ee37ef0caee2 100644
--- a/drivers/bluetooth/btmrvl_main.c
+++ b/drivers/bluetooth/btmrvl_main.c
@@ -116,6 +116,13 @@ int btmrvl_process_event(struct btmrvl_private *priv, struct sk_buff *skb)
116 ((event->data[2] == MODULE_BROUGHT_UP) || 116 ((event->data[2] == MODULE_BROUGHT_UP) ||
117 (event->data[2] == MODULE_ALREADY_UP)) ? 117 (event->data[2] == MODULE_ALREADY_UP)) ?
118 "Bring-up succeed" : "Bring-up failed"); 118 "Bring-up succeed" : "Bring-up failed");
119
120 if (event->length > 3)
121 priv->btmrvl_dev.dev_type = event->data[3];
122 else
123 priv->btmrvl_dev.dev_type = HCI_BREDR;
124
125 BT_DBG("dev_type: %d", priv->btmrvl_dev.dev_type);
119 } else if (priv->btmrvl_dev.sendcmdflag && 126 } else if (priv->btmrvl_dev.sendcmdflag &&
120 event->data[1] == MODULE_SHUTDOWN_REQ) { 127 event->data[1] == MODULE_SHUTDOWN_REQ) {
121 BT_DBG("EVENT:%s", (event->data[2]) ? 128 BT_DBG("EVENT:%s", (event->data[2]) ?
@@ -549,6 +556,8 @@ int btmrvl_register_hdev(struct btmrvl_private *priv)
549 556
550 btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ); 557 btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ);
551 558
559 hdev->dev_type = priv->btmrvl_dev.dev_type;
560
552 ret = hci_register_dev(hdev); 561 ret = hci_register_dev(hdev);
553 if (ret < 0) { 562 if (ret < 0) {
554 BT_ERR("Can not register HCI device"); 563 BT_ERR("Can not register HCI device");