|
@@ -3650,7 +3650,7 @@ int hci_send_cmd(struct hci_dev *hdev, __u16 opcode, __u32 plen,
|
|
|
/* Stand-alone HCI commands must be flagged as
|
|
|
* single-command requests.
|
|
|
*/
|
|
|
- bt_cb(skb)->req.start = true;
|
|
|
+ bt_cb(skb)->hci.req_start = true;
|
|
|
|
|
|
skb_queue_tail(&hdev->cmd_q, skb);
|
|
|
queue_work(hdev->workqueue, &hdev->cmd_work);
|
|
@@ -4347,7 +4347,7 @@ static bool hci_req_is_complete(struct hci_dev *hdev)
|
|
|
if (!skb)
|
|
|
return true;
|
|
|
|
|
|
- return bt_cb(skb)->req.start;
|
|
|
+ return bt_cb(skb)->hci.req_start;
|
|
|
}
|
|
|
|
|
|
static void hci_resend_last(struct hci_dev *hdev)
|
|
@@ -4407,26 +4407,26 @@ void hci_req_cmd_complete(struct hci_dev *hdev, u16 opcode, u8 status,
|
|
|
* callback would be found in hdev->sent_cmd instead of the
|
|
|
* command queue (hdev->cmd_q).
|
|
|
*/
|
|
|
- if (bt_cb(hdev->sent_cmd)->req.complete) {
|
|
|
- *req_complete = bt_cb(hdev->sent_cmd)->req.complete;
|
|
|
+ if (bt_cb(hdev->sent_cmd)->hci.req_complete) {
|
|
|
+ *req_complete = bt_cb(hdev->sent_cmd)->hci.req_complete;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (bt_cb(hdev->sent_cmd)->req.complete_skb) {
|
|
|
- *req_complete_skb = bt_cb(hdev->sent_cmd)->req.complete_skb;
|
|
|
+ if (bt_cb(hdev->sent_cmd)->hci.req_complete_skb) {
|
|
|
+ *req_complete_skb = bt_cb(hdev->sent_cmd)->hci.req_complete_skb;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
/* Remove all pending commands belonging to this request */
|
|
|
spin_lock_irqsave(&hdev->cmd_q.lock, flags);
|
|
|
while ((skb = __skb_dequeue(&hdev->cmd_q))) {
|
|
|
- if (bt_cb(skb)->req.start) {
|
|
|
+ if (bt_cb(skb)->hci.req_start) {
|
|
|
__skb_queue_head(&hdev->cmd_q, skb);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- *req_complete = bt_cb(skb)->req.complete;
|
|
|
- *req_complete_skb = bt_cb(skb)->req.complete_skb;
|
|
|
+ *req_complete = bt_cb(skb)->hci.req_complete;
|
|
|
+ *req_complete_skb = bt_cb(skb)->hci.req_complete_skb;
|
|
|
kfree_skb(skb);
|
|
|
}
|
|
|
spin_unlock_irqrestore(&hdev->cmd_q.lock, flags);
|