diff options
author | Johan Hedberg | 2013-03-05 19:37:48 +0100 |
---|---|---|
committer | Gustavo Padovan | 2013-03-08 14:40:26 +0100 |
commit | 9238f36a5a5097018b90baa42c473d2f916a46f5 (patch) | |
tree | 304714fec2ecc9cacea615da399e8f09453f17e8 /include/net/bluetooth | |
parent | Bluetooth: Fix stand-alone HCI command handling (diff) | |
download | kernel-qcow2-linux-9238f36a5a5097018b90baa42c473d2f916a46f5.tar.gz kernel-qcow2-linux-9238f36a5a5097018b90baa42c473d2f916a46f5.tar.xz kernel-qcow2-linux-9238f36a5a5097018b90baa42c473d2f916a46f5.zip |
Bluetooth: Add request cmd_complete and cmd_status functions
This patch introduces functions to process the HCI request state when
receiving HCI Command Status or Command Complete events. Some HCI
commands, like Inquiry do not result in a Command complete event so
special handling is needed for them. Inquiry is a particularly important
one since it is the only forseeable "non-cmd_complete" command that will
make good use of the request functionality, and its completion is either
indicated by an Inquiry Complete event of a successful Command Complete
for HCI_Inquiry_Cancel.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Diffstat (limited to 'include/net/bluetooth')
-rw-r--r-- | include/net/bluetooth/hci_core.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index 67fe661259ba..d732d6894adc 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h @@ -1049,6 +1049,8 @@ struct hci_request { void hci_req_init(struct hci_request *req, struct hci_dev *hdev); int hci_req_run(struct hci_request *req, hci_req_complete_t complete); int hci_req_add(struct hci_request *req, u16 opcode, u32 plen, void *param); +void hci_req_cmd_complete(struct hci_dev *hdev, u16 opcode, u8 status); +void hci_req_cmd_status(struct hci_dev *hdev, u16 opcode, u8 status); int hci_send_cmd(struct hci_dev *hdev, __u16 opcode, __u32 plen, void *param); void hci_send_acl(struct hci_chan *chan, struct sk_buff *skb, __u16 flags); |