summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/mgmt.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2012-02-22 22:06:38 +0200
committerJohan Hedberg <johan.hedberg@intel.com>2012-02-23 13:07:01 +0200
commit7770c4aacaf34fb69cb2acfb7469e9b4e34f1674 (patch)
tree98c0ab7916a0dae04b2c1317ff44bf16452a88f5 /net/bluetooth/mgmt.c
parent8ec37034ef36b89cfb060bd9273db24e6acb1b3a (diff)
downloadlinux-7770c4aacaf34fb69cb2acfb7469e9b4e34f1674.tar.bz2
Bluetooth: mgmt: Check for HCI_UP in update_eir() and update_class()
These functions should just silently fail when we're not powered on instead of trying to send HCI commands. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Acked-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/mgmt.c')
-rw-r--r--net/bluetooth/mgmt.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 23421f05abf2..3a2066504ffe 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -532,6 +532,9 @@ static int update_eir(struct hci_dev *hdev)
{
struct hci_cp_write_eir cp;
+ if (!test_bit(HCI_UP, &hdev->flags))
+ return 0;
+
if (!(hdev->features[6] & LMP_EXT_INQ))
return 0;
@@ -570,6 +573,9 @@ static int update_class(struct hci_dev *hdev)
BT_DBG("%s", hdev->name);
+ if (!test_bit(HCI_UP, &hdev->flags))
+ return 0;
+
if (test_bit(HCI_SERVICE_CACHE, &hdev->dev_flags))
return 0;