Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 361544 Details for
Bug 488912
=sys-kernel/gentoo-sources-3.10.x(3.11.x) - Cambridge Silicon Radio Bluetooth Dongle doesn't work
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bluetooth patch
bluetooth.patch (text/plain), 3.10 KB, created by
Boris Vingradov
on 2013-10-21 17:01:14 UTC
(
hide
)
Description:
Bluetooth patch
Filename:
MIME Type:
Creator:
Boris Vingradov
Created:
2013-10-21 17:01:14 UTC
Size:
3.10 KB
patch
obsolete
>diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h >index 10eb9b3..2ee2520 100644 >--- a/include/net/bluetooth/bluetooth.h >+++ b/include/net/bluetooth/bluetooth.h >@@ -265,6 +265,7 @@ typedef void (*hci_req_complete_t)(struct hci_dev *hdev, u8 status); > > struct hci_req_ctrl { > bool start; >+ bool ignore_status; > u8 event; > hci_req_complete_t complete; > }; >diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h >index 7cb6d36..f1d7500 100644 >--- a/include/net/bluetooth/hci_core.h >+++ b/include/net/bluetooth/hci_core.h >@@ -1084,7 +1084,7 @@ int hci_req_run(struct hci_request *req, hci_req_complete_t complete); > void hci_req_add(struct hci_request *req, u16 opcode, u32 plen, > const void *param); > void hci_req_add_ev(struct hci_request *req, u16 opcode, u32 plen, >- const void *param, u8 event); >+ const void *param, u8 event, bool ignore_status); > void hci_req_cmd_complete(struct hci_dev *hdev, u16 opcode, u8 status); > > struct sk_buff *__hci_cmd_sync(struct hci_dev *hdev, u16 opcode, u32 plen, >diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c >index 48e1e04..0b5070b 100644 >--- a/net/bluetooth/hci_core.c >+++ b/net/bluetooth/hci_core.c >@@ -145,7 +145,7 @@ struct sk_buff *__hci_cmd_sync_ev(struct hci_dev *hdev, u16 opcode, u32 plen, > > hci_req_init(&req, hdev); > >- hci_req_add_ev(&req, opcode, plen, param, event); >+ hci_req_add_ev(&req, opcode, plen, param, event, false); > > hdev->req_status = HCI_REQ_PEND; > >@@ -606,8 +606,8 @@ static void hci_init3_req(struct hci_request *req, unsigned long opt) > > bacpy(&cp.bdaddr, BDADDR_ANY); > cp.delete_all = 0x01; >- hci_req_add(req, HCI_OP_DELETE_STORED_LINK_KEY, >- sizeof(cp), &cp); >+ hci_req_add_ev(req, HCI_OP_DELETE_STORED_LINK_KEY, >+ sizeof(cp), &cp, 0, true); > } > > if (hdev->commands[5] & 0x10) >@@ -2674,7 +2674,7 @@ int hci_send_cmd(struct hci_dev *hdev, __u16 opcode, __u32 plen, > > /* Queue a command to an asynchronous HCI request */ > void hci_req_add_ev(struct hci_request *req, u16 opcode, u32 plen, >- const void *param, u8 event) >+ const void *param, u8 event, bool ignore_status) > { > struct hci_dev *hdev = req->hdev; > struct sk_buff *skb; >@@ -2699,6 +2699,7 @@ void hci_req_add_ev(struct hci_request *req, u16 opcode, u32 plen, > bt_cb(skb)->req.start = true; > > bt_cb(skb)->req.event = event; >+ bt_cb(skb)->req.ignore_status = ignore_status; > > skb_queue_tail(&req->cmd_q, skb); > } >@@ -2706,7 +2707,7 @@ void hci_req_add_ev(struct hci_request *req, u16 opcode, u32 plen, > void hci_req_add(struct hci_request *req, u16 opcode, u32 plen, > const void *param) > { >- hci_req_add_ev(req, opcode, plen, param, 0); >+ hci_req_add_ev(req, opcode, plen, param, 0, false); > } > > /* Get data from the previously sent command */ >@@ -3430,6 +3431,10 @@ void hci_req_cmd_complete(struct hci_dev *hdev, u16 opcode, u8 status) > return; > } > >+ /* Check for commands whose failures aren't critical */ >+ if (bt_cb(hdev->sent_cmd)->req.ignore_status) >+ status = 0; >+ > /* If the command succeeded and there's still more commands in > * this request the request is not yet complete. > */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 488912
: 361544