aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2014-11-02 02:45:58 +0100
committerJohan Hedberg <johan.hedberg@intel.com>2014-11-02 09:58:50 +0200
commit8761f9d6620b0be6b08f21807568fbbfcbb128d2 (patch)
tree846ace1a19d0059ea2a39a750a1a08cebfbab300
parentieee802154: 6lowpan: remove set of mac address (diff)
downloadlinux-dev-8761f9d6620b0be6b08f21807568fbbfcbb128d2.tar.xz
linux-dev-8761f9d6620b0be6b08f21807568fbbfcbb128d2.zip
Bluetooth: Check status of command complete for HCI_Reset
When the HCI_Reset command returns, the status needs to be checked. It is unlikely that HCI_Reset actually fails, but when it fails, it is a bad idea to reset all values since the controller will have not reset its values in that case. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
-rw-r--r--net/bluetooth/hci_event.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index aa152140c3e2..3dd2550b4c07 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -189,6 +189,9 @@ static void hci_cc_reset(struct hci_dev *hdev, struct sk_buff *skb)
clear_bit(HCI_RESET, &hdev->flags);
+ if (status)
+ return;
+
/* Reset all non-persistent flags */
hdev->dev_flags &= ~HCI_PERSISTENT_MASK;