@@ -970,6 +970,62 @@ static int adv_channel_map_get(void *data, u64 *val)
970
970
DEFINE_SIMPLE_ATTRIBUTE (adv_channel_map_fops , adv_channel_map_get ,
971
971
adv_channel_map_set , "%llu\n" );
972
972
973
+ static int adv_min_interval_set (void * data , u64 val )
974
+ {
975
+ struct hci_dev * hdev = data ;
976
+
977
+ if (val < 0x0020 || val > 0x4000 || val > hdev -> le_adv_max_interval )
978
+ return - EINVAL ;
979
+
980
+ hci_dev_lock (hdev );
981
+ hdev -> le_adv_min_interval = val ;
982
+ hci_dev_unlock (hdev );
983
+
984
+ return 0 ;
985
+ }
986
+
987
+ static int adv_min_interval_get (void * data , u64 * val )
988
+ {
989
+ struct hci_dev * hdev = data ;
990
+
991
+ hci_dev_lock (hdev );
992
+ * val = hdev -> le_adv_min_interval ;
993
+ hci_dev_unlock (hdev );
994
+
995
+ return 0 ;
996
+ }
997
+
998
+ DEFINE_SIMPLE_ATTRIBUTE (adv_min_interval_fops , adv_min_interval_get ,
999
+ adv_min_interval_set , "%llu\n" );
1000
+
1001
+ static int adv_max_interval_set (void * data , u64 val )
1002
+ {
1003
+ struct hci_dev * hdev = data ;
1004
+
1005
+ if (val < 0x0020 || val > 0x4000 || val < hdev -> le_adv_min_interval )
1006
+ return - EINVAL ;
1007
+
1008
+ hci_dev_lock (hdev );
1009
+ hdev -> le_adv_max_interval = val ;
1010
+ hci_dev_unlock (hdev );
1011
+
1012
+ return 0 ;
1013
+ }
1014
+
1015
+ static int adv_max_interval_get (void * data , u64 * val )
1016
+ {
1017
+ struct hci_dev * hdev = data ;
1018
+
1019
+ hci_dev_lock (hdev );
1020
+ * val = hdev -> le_adv_max_interval ;
1021
+ hci_dev_unlock (hdev );
1022
+
1023
+ return 0 ;
1024
+ }
1025
+
1026
+ DEFINE_SIMPLE_ATTRIBUTE (adv_max_interval_fops , adv_max_interval_get ,
1027
+ adv_max_interval_set , "%llu\n" );
1028
+
973
1029
static int device_list_show (struct seq_file * f , void * ptr )
974
1030
{
975
1031
struct hci_dev * hdev = f -> private ;
@@ -1833,6 +1889,10 @@ static int __hci_init(struct hci_dev *hdev)
1833
1889
hdev , & supervision_timeout_fops );
1834
1890
debugfs_create_file ("adv_channel_map" , 0644 , hdev -> debugfs ,
1835
1891
hdev , & adv_channel_map_fops );
1892
+ debugfs_create_file ("adv_min_interval" , 0644 , hdev -> debugfs ,
1893
+ hdev , & adv_min_interval_fops );
1894
+ debugfs_create_file ("adv_max_interval" , 0644 , hdev -> debugfs ,
1895
+ hdev , & adv_max_interval_fops );
1836
1896
debugfs_create_file ("device_list" , 0444 , hdev -> debugfs , hdev ,
1837
1897
& device_list_fops );
1838
1898
debugfs_create_u16 ("discov_interleaved_timeout" , 0644 ,
0 commit comments