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

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

 



Hi Johan,

On 12 March 2014 12:39, Johan Hedberg <johan.hedberg@xxxxxxxxx> wrote:
> 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.
Rather for sure :)
>
>> @@ -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?

Well you are actually right here. I will get destroy in the same
mainloop iteration anywa. Will fix it.

>
> Johan

Lukasz
--
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