Bluetooth: Fix calls to __hci_cmd_sync()
authorFrederic Danis <frederic.danis@linux.intel.com>
Fri, 15 May 2015 09:58:39 +0000 (11:58 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 15 May 2015 14:04:49 +0000 (16:04 +0200)
Remove test of command reply status as it is already performed by
__hci_cmd_sync().

__hci_cmd_sync_ev() function already returns an error if it got a
non-zero status either through a Command Complete or a Command
Status event.

For both of these events the status is collected up in the event
handlers called by hci_event_packet() and then passed as the second
parameter to req_complete_skb(). The req_complete_skb() callback in
turn is hci_req_sync_complete() for __hci_cmd_sync_ev() which stores
the status in hdev->req_result. The hdev->req_result is then further
converted through bt_to_errno() back in __hci_cmd_sync_ev().

Signed-off-by: Frederic Danis <frederic.danis@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_core.c

index 4663c3dad3f5f676e913cbc9f6a79d5efcecde4e..db11b9d728b379192dda69a6f1bd11ce8c6c9e92 100644 (file)
@@ -94,7 +94,6 @@ static ssize_t dut_mode_write(struct file *file, const char __user *user_buf,
        char buf[32];
        size_t buf_size = min(count, (sizeof(buf)-1));
        bool enable;
-       int err;
 
        if (!test_bit(HCI_UP, &hdev->flags))
                return -ENETDOWN;
@@ -121,12 +120,8 @@ static ssize_t dut_mode_write(struct file *file, const char __user *user_buf,
        if (IS_ERR(skb))
                return PTR_ERR(skb);
 
-       err = -bt_to_errno(skb->data[0]);
        kfree_skb(skb);
 
-       if (err < 0)
-               return err;
-
        hci_dev_change_flag(hdev, HCI_DUT_MODE);
 
        return count;