Commit f383f275 authored by Marcel Holtmann's avatar Marcel Holtmann

[Bluetooth] Some cleanups for HCI event handling

Some minor cosmetic cleanups to the HCI event handling to make the
code easier to read and understand.
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent e4e8e37c
...@@ -198,12 +198,14 @@ static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb) ...@@ -198,12 +198,14 @@ static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb)
BT_DBG("%s status 0x%x", hdev->name, status); BT_DBG("%s status 0x%x", hdev->name, status);
if (status)
return;
sent = hci_sent_cmd_data(hdev, HCI_OP_WRITE_LOCAL_NAME); sent = hci_sent_cmd_data(hdev, HCI_OP_WRITE_LOCAL_NAME);
if (!sent) if (!sent)
return; return;
if (!status) memcpy(hdev->dev_name, sent, 248);
memcpy(hdev->dev_name, sent, 248);
} }
static void hci_cc_read_local_name(struct hci_dev *hdev, struct sk_buff *skb) static void hci_cc_read_local_name(struct hci_dev *hdev, struct sk_buff *skb)
...@@ -313,12 +315,14 @@ static void hci_cc_write_class_of_dev(struct hci_dev *hdev, struct sk_buff *skb) ...@@ -313,12 +315,14 @@ static void hci_cc_write_class_of_dev(struct hci_dev *hdev, struct sk_buff *skb)
BT_DBG("%s status 0x%x", hdev->name, status); BT_DBG("%s status 0x%x", hdev->name, status);
if (status)
return;
sent = hci_sent_cmd_data(hdev, HCI_OP_WRITE_CLASS_OF_DEV); sent = hci_sent_cmd_data(hdev, HCI_OP_WRITE_CLASS_OF_DEV);
if (!sent) if (!sent)
return; return;
if (!status) memcpy(hdev->dev_class, sent, 3);
memcpy(hdev->dev_class, sent, 3);
} }
static void hci_cc_read_voice_setting(struct hci_dev *hdev, struct sk_buff *skb) static void hci_cc_read_voice_setting(struct hci_dev *hdev, struct sk_buff *skb)
...@@ -333,7 +337,7 @@ static void hci_cc_read_voice_setting(struct hci_dev *hdev, struct sk_buff *skb) ...@@ -333,7 +337,7 @@ static void hci_cc_read_voice_setting(struct hci_dev *hdev, struct sk_buff *skb)
setting = __le16_to_cpu(rp->voice_setting); setting = __le16_to_cpu(rp->voice_setting);
if (hdev->voice_setting == setting ) if (hdev->voice_setting == setting)
return; return;
hdev->voice_setting = setting; hdev->voice_setting = setting;
...@@ -350,28 +354,31 @@ static void hci_cc_read_voice_setting(struct hci_dev *hdev, struct sk_buff *skb) ...@@ -350,28 +354,31 @@ static void hci_cc_read_voice_setting(struct hci_dev *hdev, struct sk_buff *skb)
static void hci_cc_write_voice_setting(struct hci_dev *hdev, struct sk_buff *skb) static void hci_cc_write_voice_setting(struct hci_dev *hdev, struct sk_buff *skb)
{ {
__u8 status = *((__u8 *) skb->data); __u8 status = *((__u8 *) skb->data);
__u16 setting;
void *sent; void *sent;
BT_DBG("%s status 0x%x", hdev->name, status); BT_DBG("%s status 0x%x", hdev->name, status);
if (status)
return;
sent = hci_sent_cmd_data(hdev, HCI_OP_WRITE_VOICE_SETTING); sent = hci_sent_cmd_data(hdev, HCI_OP_WRITE_VOICE_SETTING);
if (!sent) if (!sent)
return; return;
if (!status) { setting = get_unaligned_le16(sent);
__u16 setting = get_unaligned_le16(sent);
if (hdev->voice_setting != setting) { if (hdev->voice_setting == setting)
hdev->voice_setting = setting; return;
BT_DBG("%s voice setting 0x%04x", hdev->name, setting); hdev->voice_setting = setting;
if (hdev->notify) { BT_DBG("%s voice setting 0x%04x", hdev->name, setting);
tasklet_disable(&hdev->tx_task);
hdev->notify(hdev, HCI_NOTIFY_VOICE_SETTING); if (hdev->notify) {
tasklet_enable(&hdev->tx_task); tasklet_disable(&hdev->tx_task);
} hdev->notify(hdev, HCI_NOTIFY_VOICE_SETTING);
} tasklet_enable(&hdev->tx_task);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment