Re: [PATCH v2 03/10] emulator: Add inquiry cancel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lukasz,

On Mon, Mar 10, 2014, Lukasz Rymanowski wrote:
> With this patch, scheduled inquiry session in btdev can be canceled
> 
> Conflicts:
> 	emulator/btdev.c

Seems like you forgot to clean up the commit message here.

> @@ -70,6 +70,7 @@ struct btdev {
>  	void *send_data;
>  
>  	int inquiry_id;
> +	bool inquiry_cancel;
>  
>  	struct hook *hook_list[MAX_HOOK_ENTRIES];
>  
> @@ -784,10 +785,20 @@ static bool inquiry_callback(void *user_data)
>  static void inquiry_destroy(void *user_data)
>  {
>  	struct inquiry_data *data = user_data;
> +	struct btdev *btdev = data->btdev;
> +	uint8_t status = BT_HCI_ERR_SUCCESS;
> +
> +	if (!btdev)
> +		goto finish;
>  
> -	if (data->btdev)
> -		data->btdev->inquiry_id = 0;
> +	if (btdev->inquiry_cancel)
> +		cmd_complete(btdev, BT_HCI_CMD_INQUIRY_CANCEL, &status,
> +							sizeof(status));
>  
> +	btdev->inquiry_cancel = false;
> +	btdev->inquiry_id = 0;
> +
> +finish:
>  	free(data);
>  }
>  
> @@ -820,6 +831,20 @@ error:
>  	send_event(btdev, BT_HCI_EVT_INQUIRY_COMPLETE, &ic, sizeof(ic));
>  }
>  
> +static void inquiry_cancel(struct btdev *btdev)
> +{
> +	uint8_t status = BT_HCI_ERR_COMMAND_DISALLOWED;
> +
> +	if (!btdev->inquiry_id) {
> +		cmd_complete(btdev, BT_HCI_CMD_INQUIRY_CANCEL, &status,
> +							sizeof(status));
> +		return;
> +	}
> +
> +	btdev->inquiry_cancel = true;
> +	timeout_remove(btdev->inquiry_id);

This whole btdev->inquiry_cancel variable seems pointless to me. Why
don't you simply send the cmd_complete for it after calling
timeout_remove here in the inquiry_cancel function?

Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux