diff options
Diffstat (limited to 'net/bluetooth/mgmt.c')
| -rw-r--r-- | net/bluetooth/mgmt.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index ad6613d17ca..eba022de3c2 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c @@ -2875,6 +2875,22 @@ int mgmt_powered(struct hci_dev *hdev, u8 powered)  		if (scan)  			hci_send_cmd(hdev, HCI_OP_WRITE_SCAN_ENABLE, 1, &scan); +		if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) { +			u8 ssp = 1; + +			hci_send_cmd(hdev, HCI_OP_WRITE_SSP_MODE, 1, &ssp); +		} + +		if (test_bit(HCI_LE_ENABLED, &hdev->dev_flags)) { +			struct hci_cp_write_le_host_supported cp; + +			cp.le = 1; +			cp.simul = !!(hdev->features[6] & LMP_SIMUL_LE_BR); + +			hci_send_cmd(hdev, HCI_OP_WRITE_LE_HOST_SUPPORTED, +				     sizeof(cp), &cp); +		} +  		update_class(hdev);  		update_name(hdev, hdev->dev_name);  		update_eir(hdev);  |