Bluetooth: Fix calls to __hci_cmd_sync()
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>
This commit is contained in:
parent
db33c77ddd
commit
cffd2eedf9
@ -94,7 +94,6 @@ static ssize_t dut_mode_write(struct file *file, const char __user *user_buf,
|
|||||||
char buf[32];
|
char buf[32];
|
||||||
size_t buf_size = min(count, (sizeof(buf)-1));
|
size_t buf_size = min(count, (sizeof(buf)-1));
|
||||||
bool enable;
|
bool enable;
|
||||||
int err;
|
|
||||||
|
|
||||||
if (!test_bit(HCI_UP, &hdev->flags))
|
if (!test_bit(HCI_UP, &hdev->flags))
|
||||||
return -ENETDOWN;
|
return -ENETDOWN;
|
||||||
@ -121,12 +120,8 @@ static ssize_t dut_mode_write(struct file *file, const char __user *user_buf,
|
|||||||
if (IS_ERR(skb))
|
if (IS_ERR(skb))
|
||||||
return PTR_ERR(skb);
|
return PTR_ERR(skb);
|
||||||
|
|
||||||
err = -bt_to_errno(skb->data[0]);
|
|
||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
|
|
||||||
if (err < 0)
|
|
||||||
return err;
|
|
||||||
|
|
||||||
hci_dev_change_flag(hdev, HCI_DUT_MODE);
|
hci_dev_change_flag(hdev, HCI_DUT_MODE);
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
|
Loading…
Reference in New Issue
Block a user