Lines Matching refs:msft

143 				    struct msft_data *msft)  in read_supported_features()  argument
173 msft->evt_prefix = kmemdup(rp->evt_prefix, rp->evt_prefix_len, in read_supported_features()
175 if (!msft->evt_prefix) in read_supported_features()
179 msft->evt_prefix_len = rp->evt_prefix_len; in read_supported_features()
180 msft->features = __le64_to_cpu(rp->features); in read_supported_features()
182 if (msft->features & MSFT_FEATURE_MASK_CURVE_VALIDITY) in read_supported_features()
201 struct msft_data *msft = hdev->msft_data; in msft_find_handle_data() local
203 list_for_each_entry(entry, &msft->handle_map, list) { in msft_find_handle_data()
219 struct msft_data *msft = hdev->msft_data; in msft_find_address_data() local
221 list_for_each_entry(entry, &msft->address_filters, list) { in msft_find_address_data()
268 struct msft_data *msft = hdev->msft_data; in msft_le_monitor_advertisement_cb() local
293 list_add(&handle_data->list, &msft->handle_map); in msft_le_monitor_advertisement_cb()
311 struct msft_data *msft = hdev->msft_data; in msft_remove_addr_filters_sync() local
318 mutex_lock(&msft->filter_lock); in msft_remove_addr_filters_sync()
320 list_for_each_entry_safe(address_filter, n, &msft->address_filters, in msft_remove_addr_filters_sync()
346 mutex_unlock(&msft->filter_lock); in msft_remove_addr_filters_sync()
377 struct msft_data *msft = hdev->msft_data; in msft_le_cancel_monitor_advertisement_cb() local
402 if (!msft->suspending) { in msft_le_cancel_monitor_advertisement_cb()
458 struct msft_data *msft = hdev->msft_data; in msft_suspend_sync() local
462 if (!msft || !msft_monitor_supported(hdev)) in msft_suspend_sync()
465 msft->suspending = true; in msft_suspend_sync()
478 msft->suspending = false; in msft_suspend_sync()
592 struct msft_data *msft = hdev->msft_data; in reregister_monitor() local
595 if (!msft) in reregister_monitor()
598 msft->resuming = true; in reregister_monitor()
611 msft->resuming = false; in reregister_monitor()
617 struct msft_data *msft = hdev->msft_data; in msft_resume_sync() local
619 if (!msft || !msft_monitor_supported(hdev)) in msft_resume_sync()
640 struct msft_data *msft = hdev->msft_data; in msft_do_open() local
645 if (!msft) { in msft_do_open()
653 kfree(msft->evt_prefix); in msft_do_open()
654 msft->evt_prefix = NULL; in msft_do_open()
655 msft->evt_prefix_len = 0; in msft_do_open()
656 msft->features = 0; in msft_do_open()
658 if (!read_supported_features(hdev, msft)) { in msft_do_open()
660 kfree(msft); in msft_do_open()
665 msft->resuming = true; in msft_do_open()
676 struct msft_data *msft = hdev->msft_data; in msft_do_close() local
681 if (!msft) in msft_do_close()
689 list_for_each_entry_safe(handle_data, tmp, &msft->handle_map, list) { in msft_do_close()
700 mutex_lock(&msft->filter_lock); in msft_do_close()
701 list_for_each_entry_safe(address_filter, n, &msft->address_filters, in msft_do_close()
706 mutex_unlock(&msft->filter_lock); in msft_do_close()
721 struct msft_data *msft = hdev->msft_data; in msft_cancel_address_filter_sync() local
725 if (!msft) { in msft_cancel_address_filter_sync()
734 mutex_lock(&msft->filter_lock); in msft_cancel_address_filter_sync()
736 mutex_unlock(&msft->filter_lock); in msft_cancel_address_filter_sync()
762 struct msft_data *msft = NULL; in msft_register() local
766 msft = kzalloc(sizeof(*msft), GFP_KERNEL); in msft_register()
767 if (!msft) { in msft_register()
772 INIT_LIST_HEAD(&msft->handle_map); in msft_register()
773 INIT_LIST_HEAD(&msft->address_filters); in msft_register()
774 hdev->msft_data = msft; in msft_register()
775 mutex_init(&msft->filter_lock); in msft_register()
780 struct msft_data *msft = hdev->msft_data; in msft_unregister() local
782 if (!msft) in msft_unregister()
789 kfree(msft->evt_prefix); in msft_unregister()
790 mutex_destroy(&msft->filter_lock); in msft_unregister()
791 kfree(msft); in msft_unregister()
845 struct msft_data *msft = hdev->msft_data; in msft_add_address_filter_sync() local
850 if (!msft) { in msft_add_address_filter_sync()
868 mutex_lock(&msft->filter_lock); in msft_add_address_filter_sync()
870 mutex_unlock(&msft->filter_lock); in msft_add_address_filter_sync()
910 mutex_lock(&msft->filter_lock); in msft_add_address_filter_sync()
923 mutex_unlock(&msft->filter_lock); in msft_add_address_filter_sync()
936 struct msft_data *msft = hdev->msft_data; in msft_add_address_filter() local
958 list_add_tail(&address_filter->list, &msft->address_filters); in msft_add_address_filter()
981 struct msft_data *msft = hdev->msft_data; in msft_monitor_device_evt() local
1026 list_for_each_entry(n, &msft->address_filters, list) { in msft_monitor_device_evt()
1074 struct msft_data *msft = hdev->msft_data; in msft_vendor_evt() local
1078 if (!msft) in msft_vendor_evt()
1084 if (msft->evt_prefix_len > 0) { in msft_vendor_evt()
1085 evt_prefix = msft_skb_pull(hdev, skb, 0, msft->evt_prefix_len); in msft_vendor_evt()
1089 if (memcmp(evt_prefix, msft->evt_prefix, msft->evt_prefix_len)) in msft_vendor_evt()
1107 mutex_lock(&msft->filter_lock); in msft_vendor_evt()
1109 mutex_unlock(&msft->filter_lock); in msft_vendor_evt()
1122 struct msft_data *msft = hdev->msft_data; in msft_get_features() local
1124 return msft ? msft->features : 0; in msft_get_features()
1132 struct msft_data *msft = hdev->msft_data; in msft_le_set_advertisement_filter_enable_cb() local
1146 msft->filter_enabled = cp->enable; in msft_le_set_advertisement_filter_enable_cb()
1158 struct msft_data *msft = hdev->msft_data; in msft_add_monitor_pattern() local
1160 if (!msft) in msft_add_monitor_pattern()
1163 if (msft->resuming || msft->suspending) in msft_add_monitor_pattern()
1172 struct msft_data *msft = hdev->msft_data; in msft_remove_monitor() local
1174 if (!msft) in msft_remove_monitor()
1177 if (msft->resuming || msft->suspending) in msft_remove_monitor()
1186 struct msft_data *msft = hdev->msft_data; in msft_set_filter_enable() local
1189 if (!msft) in msft_set_filter_enable()