From: johan.hedberg@gmail.com
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH 2/2] Bluetooth: Ignore HCI_Read_Local_Commands failures
Date: Mon, 21 Nov 2011 17:19:00 +0200 [thread overview]
Message-ID: <1321888740-15598-2-git-send-email-johan.hedberg@gmail.com> (raw)
In-Reply-To: <1321888740-15598-1-git-send-email-johan.hedberg@gmail.com>
From: Johan Hedberg <johan.hedberg@intel.com>
Some 1.2 controllers will fail the HCI_Read_Local_Commands HCI command
even though (according to the specification) they should support it.
Since this HCI command is part of the controller init sequence
controllers broken in this manner would be unusable. Since not having
the list of supported commands is not critical for these controllers it
is better to just ignore failures in this case (additionally, this is
also how older kernels used to behave).
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
---
net/bluetooth/hci_core.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 9218888..1719257 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -106,6 +106,13 @@ void hci_req_complete(struct hci_dev *hdev, __u16 cmd, int result)
if (test_bit(HCI_INIT, &hdev->flags) && hdev->init_last_cmd != cmd)
return;
+ /* Some 1.2 controllers report failure for HCI_Read_Local_Commands
+ * even though they should support it. Since it's not a critical
+ * issue not to have a proper result from them just ignore a
+ * failure status */
+ if (cmd == HCI_OP_READ_LOCAL_COMMANDS && result != 0)
+ result = 0;
+
if (hdev->req_status == HCI_REQ_PEND) {
hdev->req_result = result;
hdev->req_status = HCI_REQ_DONE;
--
1.7.7.3
next prev parent reply other threads:[~2011-11-21 15:19 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-21 15:18 [PATCH 1/2] Bluetooth: Fix request completion for command status events johan.hedberg
2011-11-21 15:19 ` johan.hedberg [this message]
2011-11-21 16:44 ` [PATCH 2/2] Bluetooth: Ignore HCI_Read_Local_Commands failures Marcel Holtmann
2011-11-21 18:04 ` Johan Hedberg
2011-11-21 16:43 ` [PATCH 1/2] Bluetooth: Fix request completion for command status events Marcel Holtmann
-- strict thread matches above, loose matches on Subject: below --
2011-11-21 18:01 johan.hedberg
2011-11-21 18:01 ` [PATCH 2/2] Bluetooth: Ignore HCI_Read_Local_Commands failures johan.hedberg
2011-12-01 12:40 ` Gustavo Padovan
2011-12-01 13:09 ` Marcel Holtmann
2011-12-02 0:02 ` Gustavo Padovan
2011-12-02 15:26 ` Marcel Holtmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1321888740-15598-2-git-send-email-johan.hedberg@gmail.com \
--to=johan.hedberg@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).