Skip to content

Commit

Permalink
Bluetooth: mgmt: Fix Start Discovery return parameters
Browse files Browse the repository at this point in the history
The same address type that was passed to the Start Discovery command
should also be returned in the response message.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
  • Loading branch information
Johan Hedberg committed Feb 19, 2012
1 parent e211326 commit f808e16
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions net/bluetooth/mgmt.c
Original file line number Diff line number Diff line change
Expand Up @@ -3325,6 +3325,7 @@ int mgmt_remote_name(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
int mgmt_start_discovery_failed(struct hci_dev *hdev, u8 status)
{
struct pending_cmd *cmd;
u8 type;
int err;

hci_discovery_set_state(hdev, DISCOVERY_STOPPED);
Expand All @@ -3333,7 +3334,10 @@ int mgmt_start_discovery_failed(struct hci_dev *hdev, u8 status)
if (!cmd)
return -ENOENT;

err = cmd_status(cmd->sk, hdev->id, cmd->opcode, mgmt_status(status));
type = hdev->discovery.type;

err = cmd_complete(cmd->sk, hdev->id, cmd->opcode, mgmt_status(status),
&type, sizeof(type));
mgmt_pending_remove(cmd);

return err;
Expand Down Expand Up @@ -3366,7 +3370,14 @@ int mgmt_discovering(struct hci_dev *hdev, u8 discovering)
cmd = mgmt_pending_find(MGMT_OP_STOP_DISCOVERY, hdev);

if (cmd != NULL) {
cmd_complete(cmd->sk, hdev->id, cmd->opcode, 0, NULL, 0);
u8 type = hdev->discovery.type;

if (discovering)
cmd_complete(cmd->sk, hdev->id, cmd->opcode, 0,
&type, sizeof(type));
else
cmd_complete(cmd->sk, hdev->id, cmd->opcode, 0,
NULL, 0);
mgmt_pending_remove(cmd);
}

Expand Down

0 comments on commit f808e16

Please sign in to comment.