diff options
Diffstat (limited to 'drivers/net/wireless/mac80211_hwsim.c')
-rw-r--r-- | drivers/net/wireless/mac80211_hwsim.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c index fb787df0166..a0b7cfd3468 100644 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c | |||
@@ -1555,6 +1555,7 @@ static int hwsim_tx_info_frame_received_nl(struct sk_buff *skb_2, | |||
1555 | hdr = (struct ieee80211_hdr *) skb->data; | 1555 | hdr = (struct ieee80211_hdr *) skb->data; |
1556 | mac80211_hwsim_monitor_ack(data2->hw, hdr->addr2); | 1556 | mac80211_hwsim_monitor_ack(data2->hw, hdr->addr2); |
1557 | } | 1557 | } |
1558 | txi->flags |= IEEE80211_TX_STAT_ACK; | ||
1558 | } | 1559 | } |
1559 | ieee80211_tx_status_irqsafe(data2->hw, skb); | 1560 | ieee80211_tx_status_irqsafe(data2->hw, skb); |
1560 | return 0; | 1561 | return 0; |
@@ -1721,6 +1722,24 @@ static void hwsim_exit_netlink(void) | |||
1721 | "unregister family %i\n", ret); | 1722 | "unregister family %i\n", ret); |
1722 | } | 1723 | } |
1723 | 1724 | ||
1725 | static const struct ieee80211_iface_limit hwsim_if_limits[] = { | ||
1726 | { .max = 1, .types = BIT(NL80211_IFTYPE_ADHOC) }, | ||
1727 | { .max = 2048, .types = BIT(NL80211_IFTYPE_STATION) | | ||
1728 | BIT(NL80211_IFTYPE_P2P_CLIENT) | | ||
1729 | #ifdef CONFIG_MAC80211_MESH | ||
1730 | BIT(NL80211_IFTYPE_MESH_POINT) | | ||
1731 | #endif | ||
1732 | BIT(NL80211_IFTYPE_AP) | | ||
1733 | BIT(NL80211_IFTYPE_P2P_GO) }, | ||
1734 | }; | ||
1735 | |||
1736 | static const struct ieee80211_iface_combination hwsim_if_comb = { | ||
1737 | .limits = hwsim_if_limits, | ||
1738 | .n_limits = ARRAY_SIZE(hwsim_if_limits), | ||
1739 | .max_interfaces = 2048, | ||
1740 | .num_different_channels = 1, | ||
1741 | }; | ||
1742 | |||
1724 | static int __init init_mac80211_hwsim(void) | 1743 | static int __init init_mac80211_hwsim(void) |
1725 | { | 1744 | { |
1726 | int i, err = 0; | 1745 | int i, err = 0; |
@@ -1782,6 +1801,9 @@ static int __init init_mac80211_hwsim(void) | |||
1782 | hw->wiphy->n_addresses = 2; | 1801 | hw->wiphy->n_addresses = 2; |
1783 | hw->wiphy->addresses = data->addresses; | 1802 | hw->wiphy->addresses = data->addresses; |
1784 | 1803 | ||
1804 | hw->wiphy->iface_combinations = &hwsim_if_comb; | ||
1805 | hw->wiphy->n_iface_combinations = 1; | ||
1806 | |||
1785 | if (fake_hw_scan) { | 1807 | if (fake_hw_scan) { |
1786 | hw->wiphy->max_scan_ssids = 255; | 1808 | hw->wiphy->max_scan_ssids = 255; |
1787 | hw->wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN; | 1809 | hw->wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN; |