diff options
Diffstat (limited to 'net/bluetooth/mgmt.c')
-rw-r--r-- | net/bluetooth/mgmt.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index 27830f401698..c4d3bc9c86b5 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c | |||
@@ -1260,7 +1260,7 @@ static int set_le(struct sock *sk, u16 index, void *data, u16 len) | |||
1260 | struct pending_cmd *cmd; | 1260 | struct pending_cmd *cmd; |
1261 | struct hci_dev *hdev; | 1261 | struct hci_dev *hdev; |
1262 | int err; | 1262 | int err; |
1263 | u8 val; | 1263 | u8 val, enabled; |
1264 | 1264 | ||
1265 | BT_DBG("request for hci%u", index); | 1265 | BT_DBG("request for hci%u", index); |
1266 | 1266 | ||
@@ -1280,8 +1280,9 @@ static int set_le(struct sock *sk, u16 index, void *data, u16 len) | |||
1280 | } | 1280 | } |
1281 | 1281 | ||
1282 | val = !!cp->val; | 1282 | val = !!cp->val; |
1283 | enabled = !!(hdev->host_features[0] & LMP_HOST_LE); | ||
1283 | 1284 | ||
1284 | if (!hdev_is_powered(hdev)) { | 1285 | if (!hdev_is_powered(hdev) || val == enabled) { |
1285 | bool changed = false; | 1286 | bool changed = false; |
1286 | 1287 | ||
1287 | if (val != test_bit(HCI_LE_ENABLED, &hdev->dev_flags)) { | 1288 | if (val != test_bit(HCI_LE_ENABLED, &hdev->dev_flags)) { |