When dealing with HCI command status events, the reasoning for trying to
mark a request as complete if no specific event is being waited for and
status was success is not self-evident. This patch adds a clarifying
comment above the if-statement.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
        if (ev->ncmd && !test_bit(HCI_RESET, &hdev->flags))
                atomic_set(&hdev->cmd_cnt, 1);
 
+       /* Indicate request completion if the command failed. Also, if
+        * we're not waiting for a special event and we get a success
+        * command status we should try to flag the request as completed
+        * (since for this kind of commands there will not be a command
+        * complete event).
+        */
        if (ev->status ||
            (hdev->sent_cmd && !bt_cb(hdev->sent_cmd)->req.event))
                hci_req_cmd_complete(hdev, opcode, ev->status);