diff options
Diffstat (limited to 'net/bluetooth/hci_debugfs.c')
| -rw-r--r-- | net/bluetooth/hci_debugfs.c | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/net/bluetooth/hci_debugfs.c b/net/bluetooth/hci_debugfs.c index bb67f4a5479a..402e2cc54044 100644 --- a/net/bluetooth/hci_debugfs.c +++ b/net/bluetooth/hci_debugfs.c @@ -433,6 +433,35 @@ static int auto_accept_delay_set(void *data, u64 val)  	return 0;  } +static int min_encrypt_key_size_set(void *data, u64 val) +{ +	struct hci_dev *hdev = data; + +	if (val < 1 || val > 16) +		return -EINVAL; + +	hci_dev_lock(hdev); +	hdev->min_enc_key_size = val; +	hci_dev_unlock(hdev); + +	return 0; +} + +static int min_encrypt_key_size_get(void *data, u64 *val) +{ +	struct hci_dev *hdev = data; + +	hci_dev_lock(hdev); +	*val = hdev->min_enc_key_size; +	hci_dev_unlock(hdev); + +	return 0; +} + +DEFINE_SIMPLE_ATTRIBUTE(min_encrypt_key_size_fops, +			min_encrypt_key_size_get, +			min_encrypt_key_size_set, "%llu\n"); +  static int auto_accept_delay_get(void *data, u64 *val)  {  	struct hci_dev *hdev = data; @@ -545,6 +574,8 @@ void hci_debugfs_create_bredr(struct hci_dev *hdev)  	if (lmp_ssp_capable(hdev)) {  		debugfs_create_file("ssp_debug_mode", 0444, hdev->debugfs,  				    hdev, &ssp_debug_mode_fops); +		debugfs_create_file("min_encrypt_key_size", 0644, hdev->debugfs, +				    hdev, &min_encrypt_key_size_fops);  		debugfs_create_file("auto_accept_delay", 0644, hdev->debugfs,  				    hdev, &auto_accept_delay_fops);  	}  |