Loading drivers/net/wireless/mac80211_hwsim.c +4 −6 Original line number Original line Diff line number Diff line Loading @@ -678,8 +678,7 @@ static bool mac80211_hwsim_tx_frame_no_nl(struct ieee80211_hw *hw, continue; continue; if (data2->idle || !data2->started || if (data2->idle || !data2->started || !hwsim_ps_rx_ok(data2, skb) || !hwsim_ps_rx_ok(data2, skb) || !data2->channel || !data->channel || !data2->channel || data->channel->center_freq != data2->channel->center_freq || data->channel->center_freq != data2->channel->center_freq || !(data->group & data2->group)) !(data->group & data2->group)) continue; continue; Loading Loading @@ -1486,7 +1485,7 @@ static int hwsim_tx_info_frame_received_nl(struct sk_buff *skb_2, struct mac80211_hwsim_data *data2; struct mac80211_hwsim_data *data2; struct ieee80211_tx_info *txi; struct ieee80211_tx_info *txi; struct hwsim_tx_rate *tx_attempts; struct hwsim_tx_rate *tx_attempts; struct sk_buff __user *ret_skb; unsigned long ret_skb_ptr; struct sk_buff *skb, *tmp; struct sk_buff *skb, *tmp; struct mac_address *src; struct mac_address *src; unsigned int hwsim_flags; unsigned int hwsim_flags; Loading @@ -1504,8 +1503,7 @@ static int hwsim_tx_info_frame_received_nl(struct sk_buff *skb_2, info->attrs[HWSIM_ATTR_ADDR_TRANSMITTER]); info->attrs[HWSIM_ATTR_ADDR_TRANSMITTER]); hwsim_flags = nla_get_u32(info->attrs[HWSIM_ATTR_FLAGS]); hwsim_flags = nla_get_u32(info->attrs[HWSIM_ATTR_FLAGS]); ret_skb = (struct sk_buff __user *) ret_skb_ptr = nla_get_u64(info->attrs[HWSIM_ATTR_COOKIE]); (unsigned long) nla_get_u64(info->attrs[HWSIM_ATTR_COOKIE]); data2 = get_hwsim_data_ref_from_addr(src); data2 = get_hwsim_data_ref_from_addr(src); Loading @@ -1514,7 +1512,7 @@ static int hwsim_tx_info_frame_received_nl(struct sk_buff *skb_2, /* look for the skb matching the cookie passed back from user */ /* look for the skb matching the cookie passed back from user */ skb_queue_walk_safe(&data2->pending, skb, tmp) { skb_queue_walk_safe(&data2->pending, skb, tmp) { if (skb == ret_skb) { if ((unsigned long)skb == ret_skb_ptr) { skb_unlink(skb, &data2->pending); skb_unlink(skb, &data2->pending); found = true; found = true; break; break; Loading include/linux/ieee80211.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -1633,6 +1633,8 @@ enum ieee80211_sa_query_action { #define WLAN_OUI_TYPE_WFA_P2P 9 #define WLAN_OUI_TYPE_WFA_P2P 9 #define WLAN_OUI_MICROSOFT 0x0050f2 #define WLAN_OUI_MICROSOFT 0x0050f2 #define WLAN_OUI_TYPE_MICROSOFT_WPA 1 #define WLAN_OUI_TYPE_MICROSOFT_WPA 1 #define WLAN_OUI_TYPE_MICROSOFT_WMM 2 #define WLAN_OUI_TYPE_MICROSOFT_WPS 4 /* /* * WMM/802.11e Tspec Element * WMM/802.11e Tspec Element Loading include/linux/nl80211.h +6 −0 Original line number Original line Diff line number Diff line Loading @@ -1542,6 +1542,9 @@ enum nl80211_attrs { #define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10 #define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10 /* default RSSI threshold for scan results if none specified. */ #define NL80211_SCAN_RSSI_THOLD_OFF -300 /** /** * enum nl80211_iftype - (virtual) interface types * enum nl80211_iftype - (virtual) interface types * * Loading Loading @@ -1974,6 +1977,8 @@ enum nl80211_reg_rule_attr { * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching, * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching, * only report BSS with matching SSID. * only report BSS with matching SSID. * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI: RSSI threshold (in dBm) for reporting a * BSS in scan results. Filtering is turned off if not specified. * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter * attribute number currently defined * attribute number currently defined * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use Loading @@ -1982,6 +1987,7 @@ enum nl80211_sched_scan_match_attr { __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID, __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID, NL80211_SCHED_SCAN_MATCH_ATTR_SSID, NL80211_SCHED_SCAN_MATCH_ATTR_SSID, NL80211_SCHED_SCAN_MATCH_ATTR_RSSI, /* keep last */ /* keep last */ __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, Loading include/net/cfg80211.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -1027,6 +1027,7 @@ struct cfg80211_match_set { * @wiphy: the wiphy this was for * @wiphy: the wiphy this was for * @dev: the interface * @dev: the interface * @channels: channels to scan * @channels: channels to scan * @rssi_thold: don't report scan results below this threshold (in s32 dBm) */ */ struct cfg80211_sched_scan_request { struct cfg80211_sched_scan_request { struct cfg80211_ssid *ssids; struct cfg80211_ssid *ssids; Loading @@ -1037,6 +1038,7 @@ struct cfg80211_sched_scan_request { size_t ie_len; size_t ie_len; struct cfg80211_match_set *match_sets; struct cfg80211_match_set *match_sets; int n_match_sets; int n_match_sets; s32 rssi_thold; /* internal */ /* internal */ struct wiphy *wiphy; struct wiphy *wiphy; Loading include/net/mac80211.h +5 −24 Original line number Original line Diff line number Diff line Loading @@ -2254,6 +2254,9 @@ enum ieee80211_rate_control_changed { * @get_et_strings: Ethtool API to get a set of strings to describe stats * @get_et_strings: Ethtool API to get a set of strings to describe stats * and perhaps other supported types of ethtool data-sets. * and perhaps other supported types of ethtool data-sets. * * * @get_rssi: Get current signal strength in dBm, the function is optional * and can sleep. * */ */ struct ieee80211_ops { struct ieee80211_ops { void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); Loading Loading @@ -2393,6 +2396,8 @@ struct ieee80211_ops { void (*get_et_strings)(struct ieee80211_hw *hw, void (*get_et_strings)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_vif *vif, u32 sset, u8 *data); u32 sset, u8 *data); int (*get_rssi)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, s8 *rssi_dbm); }; }; /** /** Loading Loading @@ -3843,28 +3848,4 @@ int ieee80211_add_ext_srates_ie(struct ieee80211_vif *vif, */ */ int ieee80211_ave_rssi(struct ieee80211_vif *vif); int ieee80211_ave_rssi(struct ieee80211_vif *vif); /* Extra debugging macros */ #ifdef CONFIG_MAC80211_HT_DEBUG #define ht_vdbg(fmt, ...) \ pr_debug(fmt, ##__VA_ARGS__) #else #define ht_vdbg(fmt, ...) \ do { \ if (0) \ pr_debug(fmt, ##__VA_ARGS__); \ } while (0) #endif #ifdef CONFIG_MAC80211_IBSS_DEBUG #define ibss_vdbg(fmt, ...) \ pr_debug(fmt, ##__VA_ARGS__) #else #define ibss_vdbg(fmt, ...) \ do { \ if (0) \ pr_debug(fmt, ##__VA_ARGS__); \ } while (0) #endif #endif /* MAC80211_H */ #endif /* MAC80211_H */ Loading
drivers/net/wireless/mac80211_hwsim.c +4 −6 Original line number Original line Diff line number Diff line Loading @@ -678,8 +678,7 @@ static bool mac80211_hwsim_tx_frame_no_nl(struct ieee80211_hw *hw, continue; continue; if (data2->idle || !data2->started || if (data2->idle || !data2->started || !hwsim_ps_rx_ok(data2, skb) || !hwsim_ps_rx_ok(data2, skb) || !data2->channel || !data->channel || !data2->channel || data->channel->center_freq != data2->channel->center_freq || data->channel->center_freq != data2->channel->center_freq || !(data->group & data2->group)) !(data->group & data2->group)) continue; continue; Loading Loading @@ -1486,7 +1485,7 @@ static int hwsim_tx_info_frame_received_nl(struct sk_buff *skb_2, struct mac80211_hwsim_data *data2; struct mac80211_hwsim_data *data2; struct ieee80211_tx_info *txi; struct ieee80211_tx_info *txi; struct hwsim_tx_rate *tx_attempts; struct hwsim_tx_rate *tx_attempts; struct sk_buff __user *ret_skb; unsigned long ret_skb_ptr; struct sk_buff *skb, *tmp; struct sk_buff *skb, *tmp; struct mac_address *src; struct mac_address *src; unsigned int hwsim_flags; unsigned int hwsim_flags; Loading @@ -1504,8 +1503,7 @@ static int hwsim_tx_info_frame_received_nl(struct sk_buff *skb_2, info->attrs[HWSIM_ATTR_ADDR_TRANSMITTER]); info->attrs[HWSIM_ATTR_ADDR_TRANSMITTER]); hwsim_flags = nla_get_u32(info->attrs[HWSIM_ATTR_FLAGS]); hwsim_flags = nla_get_u32(info->attrs[HWSIM_ATTR_FLAGS]); ret_skb = (struct sk_buff __user *) ret_skb_ptr = nla_get_u64(info->attrs[HWSIM_ATTR_COOKIE]); (unsigned long) nla_get_u64(info->attrs[HWSIM_ATTR_COOKIE]); data2 = get_hwsim_data_ref_from_addr(src); data2 = get_hwsim_data_ref_from_addr(src); Loading @@ -1514,7 +1512,7 @@ static int hwsim_tx_info_frame_received_nl(struct sk_buff *skb_2, /* look for the skb matching the cookie passed back from user */ /* look for the skb matching the cookie passed back from user */ skb_queue_walk_safe(&data2->pending, skb, tmp) { skb_queue_walk_safe(&data2->pending, skb, tmp) { if (skb == ret_skb) { if ((unsigned long)skb == ret_skb_ptr) { skb_unlink(skb, &data2->pending); skb_unlink(skb, &data2->pending); found = true; found = true; break; break; Loading
include/linux/ieee80211.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -1633,6 +1633,8 @@ enum ieee80211_sa_query_action { #define WLAN_OUI_TYPE_WFA_P2P 9 #define WLAN_OUI_TYPE_WFA_P2P 9 #define WLAN_OUI_MICROSOFT 0x0050f2 #define WLAN_OUI_MICROSOFT 0x0050f2 #define WLAN_OUI_TYPE_MICROSOFT_WPA 1 #define WLAN_OUI_TYPE_MICROSOFT_WPA 1 #define WLAN_OUI_TYPE_MICROSOFT_WMM 2 #define WLAN_OUI_TYPE_MICROSOFT_WPS 4 /* /* * WMM/802.11e Tspec Element * WMM/802.11e Tspec Element Loading
include/linux/nl80211.h +6 −0 Original line number Original line Diff line number Diff line Loading @@ -1542,6 +1542,9 @@ enum nl80211_attrs { #define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10 #define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10 /* default RSSI threshold for scan results if none specified. */ #define NL80211_SCAN_RSSI_THOLD_OFF -300 /** /** * enum nl80211_iftype - (virtual) interface types * enum nl80211_iftype - (virtual) interface types * * Loading Loading @@ -1974,6 +1977,8 @@ enum nl80211_reg_rule_attr { * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching, * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching, * only report BSS with matching SSID. * only report BSS with matching SSID. * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI: RSSI threshold (in dBm) for reporting a * BSS in scan results. Filtering is turned off if not specified. * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter * attribute number currently defined * attribute number currently defined * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use Loading @@ -1982,6 +1987,7 @@ enum nl80211_sched_scan_match_attr { __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID, __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID, NL80211_SCHED_SCAN_MATCH_ATTR_SSID, NL80211_SCHED_SCAN_MATCH_ATTR_SSID, NL80211_SCHED_SCAN_MATCH_ATTR_RSSI, /* keep last */ /* keep last */ __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST, Loading
include/net/cfg80211.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -1027,6 +1027,7 @@ struct cfg80211_match_set { * @wiphy: the wiphy this was for * @wiphy: the wiphy this was for * @dev: the interface * @dev: the interface * @channels: channels to scan * @channels: channels to scan * @rssi_thold: don't report scan results below this threshold (in s32 dBm) */ */ struct cfg80211_sched_scan_request { struct cfg80211_sched_scan_request { struct cfg80211_ssid *ssids; struct cfg80211_ssid *ssids; Loading @@ -1037,6 +1038,7 @@ struct cfg80211_sched_scan_request { size_t ie_len; size_t ie_len; struct cfg80211_match_set *match_sets; struct cfg80211_match_set *match_sets; int n_match_sets; int n_match_sets; s32 rssi_thold; /* internal */ /* internal */ struct wiphy *wiphy; struct wiphy *wiphy; Loading
include/net/mac80211.h +5 −24 Original line number Original line Diff line number Diff line Loading @@ -2254,6 +2254,9 @@ enum ieee80211_rate_control_changed { * @get_et_strings: Ethtool API to get a set of strings to describe stats * @get_et_strings: Ethtool API to get a set of strings to describe stats * and perhaps other supported types of ethtool data-sets. * and perhaps other supported types of ethtool data-sets. * * * @get_rssi: Get current signal strength in dBm, the function is optional * and can sleep. * */ */ struct ieee80211_ops { struct ieee80211_ops { void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); Loading Loading @@ -2393,6 +2396,8 @@ struct ieee80211_ops { void (*get_et_strings)(struct ieee80211_hw *hw, void (*get_et_strings)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_vif *vif, u32 sset, u8 *data); u32 sset, u8 *data); int (*get_rssi)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, s8 *rssi_dbm); }; }; /** /** Loading Loading @@ -3843,28 +3848,4 @@ int ieee80211_add_ext_srates_ie(struct ieee80211_vif *vif, */ */ int ieee80211_ave_rssi(struct ieee80211_vif *vif); int ieee80211_ave_rssi(struct ieee80211_vif *vif); /* Extra debugging macros */ #ifdef CONFIG_MAC80211_HT_DEBUG #define ht_vdbg(fmt, ...) \ pr_debug(fmt, ##__VA_ARGS__) #else #define ht_vdbg(fmt, ...) \ do { \ if (0) \ pr_debug(fmt, ##__VA_ARGS__); \ } while (0) #endif #ifdef CONFIG_MAC80211_IBSS_DEBUG #define ibss_vdbg(fmt, ...) \ pr_debug(fmt, ##__VA_ARGS__) #else #define ibss_vdbg(fmt, ...) \ do { \ if (0) \ pr_debug(fmt, ##__VA_ARGS__); \ } while (0) #endif #endif /* MAC80211_H */ #endif /* MAC80211_H */