Lines Matching defs:msft

12 #include "msft.h"
143 struct msft_data *msft)
170 msft->evt_prefix = kmemdup(rp->evt_prefix, rp->evt_prefix_len,
172 if (!msft->evt_prefix)
176 msft->evt_prefix_len = rp->evt_prefix_len;
177 msft->features = __le64_to_cpu(rp->features);
179 if (msft->features & MSFT_FEATURE_MASK_CURVE_VALIDITY)
191 * is_mgmt = false matches the handle used by the msft controller.
198 struct msft_data *msft = hdev->msft_data;
200 list_for_each_entry(entry, &msft->handle_map, list) {
210 /* This function requires the caller holds msft->filter_lock */
216 struct msft_data *msft = hdev->msft_data;
218 list_for_each_entry(entry, &msft->address_filters, list) {
265 struct msft_data *msft = hdev->msft_data;
290 list_add(&handle_data->list, &msft->handle_map);
308 struct msft_data *msft = hdev->msft_data;
315 mutex_lock(&msft->filter_lock);
317 list_for_each_entry_safe(address_filter, n, &msft->address_filters,
343 mutex_unlock(&msft->filter_lock);
374 struct msft_data *msft = hdev->msft_data;
399 if (!msft->suspending) {
452 struct msft_data *msft = hdev->msft_data;
456 if (!msft || !msft_monitor_supported(hdev))
459 msft->suspending = true;
472 msft->suspending = false;
586 struct msft_data *msft = hdev->msft_data;
589 if (!msft)
592 msft->resuming = true;
605 msft->resuming = false;
611 struct msft_data *msft = hdev->msft_data;
613 if (!msft || !msft_monitor_supported(hdev))
634 struct msft_data *msft = hdev->msft_data;
639 if (!msft) {
647 kfree(msft->evt_prefix);
648 msft->evt_prefix = NULL;
649 msft->evt_prefix_len = 0;
650 msft->features = 0;
652 if (!read_supported_features(hdev, msft)) {
654 kfree(msft);
659 msft->resuming = true;
670 struct msft_data *msft = hdev->msft_data;
675 if (!msft)
683 list_for_each_entry_safe(handle_data, tmp, &msft->handle_map, list) {
694 mutex_lock(&msft->filter_lock);
695 list_for_each_entry_safe(address_filter, n, &msft->address_filters,
700 mutex_unlock(&msft->filter_lock);
715 struct msft_data *msft = hdev->msft_data;
719 if (!msft) {
720 bt_dev_err(hdev, "MSFT: msft data is freed");
728 mutex_lock(&msft->filter_lock);
730 mutex_unlock(&msft->filter_lock);
756 struct msft_data *msft = NULL;
760 msft = kzalloc(sizeof(*msft), GFP_KERNEL);
761 if (!msft) {
766 INIT_LIST_HEAD(&msft->handle_map);
767 INIT_LIST_HEAD(&msft->address_filters);
768 hdev->msft_data = msft;
769 mutex_init(&msft->filter_lock);
774 struct msft_data *msft = hdev->msft_data;
776 if (!msft)
783 kfree(msft->evt_prefix);
784 mutex_destroy(&msft->filter_lock);
785 kfree(msft);
839 struct msft_data *msft = hdev->msft_data;
844 if (!msft) {
845 bt_dev_err(hdev, "MSFT: msft data is freed");
862 mutex_lock(&msft->filter_lock);
864 mutex_unlock(&msft->filter_lock);
907 mutex_lock(&msft->filter_lock);
920 mutex_unlock(&msft->filter_lock);
927 /* This function requires the caller holds msft->filter_lock */
933 struct msft_data *msft = hdev->msft_data;
955 list_add_tail(&address_filter->list, &msft->address_filters);
978 struct msft_data *msft = hdev->msft_data;
1023 list_for_each_entry(n, &msft->address_filters, list) {
1071 struct msft_data *msft = hdev->msft_data;
1075 if (!msft)
1081 if (msft->evt_prefix_len > 0) {
1082 evt_prefix = msft_skb_pull(hdev, skb, 0, msft->evt_prefix_len);
1086 if (memcmp(evt_prefix, msft->evt_prefix, msft->evt_prefix_len))
1104 mutex_lock(&msft->filter_lock);
1106 mutex_unlock(&msft->filter_lock);
1119 struct msft_data *msft = hdev->msft_data;
1121 return msft ? msft->features : 0;
1129 struct msft_data *msft = hdev->msft_data;
1143 msft->filter_enabled = cp->enable;
1155 struct msft_data *msft = hdev->msft_data;
1157 if (!msft)
1160 if (msft->resuming || msft->suspending)
1169 struct msft_data *msft = hdev->msft_data;
1171 if (!msft)
1174 if (msft->resuming || msft->suspending)
1183 struct msft_data *msft = hdev->msft_data;
1186 if (!msft)