Commit 5998dd02 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge tag 'mac80211-next-for-net-next-2021-01-27' of...

Merge tag 'mac80211-next-for-net-next-2021-01-27' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next

Johannes Berg says:

====================
More updates:
 * many minstrel improvements, including removal of the old
   minstrel in favour of minstrel_ht
 * speed improvements on FQ
 * support for RX decapsulation (header conversion) offload
 * RTNL reduction: limit RTNL usage in the wireless stack
   mostly to where really needed (regulatory not yet) to
   reduce contention on it

* tag 'mac80211-next-for-net-next-2021-01-27' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next: (24 commits)
  mac80211: minstrel_ht: fix regression in the max_prob_rate fix
  virt_wifi: fix deadlock on RTNL
  cfg80211: avoid holding the RTNL when calling the driver
  cfg80211: change netdev registration/unregistration semantics
  mac80211: minstrel_ht: fix rounding error in throughput calculation
  mac80211: minstrel_ht: increase stats update interval
  mac80211: minstrel_ht: fix max probability rate selection
  mac80211: minstrel_ht: improve sample rate selection
  mac80211: minstrel_ht: improve ampdu length estimation
  mac80211: minstrel_ht: remove old ewma based rate average code
  mac80211: remove legacy minstrel rate control
  mac80211: minstrel_ht: add support for OFDM rates on non-HT clients
  mac80211: minstrel_ht: clean up CCK code
  mac80211: introduce aql_enable node in debugfs
  cfg80211: Add phyrate conversion support for extended MCS in 60GHz band
  cfg80211: add VHT rate entries for MCS-10 and MCS-11
  mac80211: reduce peer HE MCS/NSS to own capabilities
  mac80211: remove NSS number of 160MHz if not support 160MHz for HE
  mac80211_hwsim: add 6GHz channels
  mac80211: add LDPC encoding to ieee80211_parse_tx_radiotap
  ...
====================

Link: https://lore.kernel.org/r/20210127210915.135550-1-johannes@sipsolutions.net


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents df9d8047 d3b9b45f
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -247,7 +247,9 @@ int ath11k_regd_update(struct ath11k *ar, bool init)
	}
	}


	rtnl_lock();
	rtnl_lock();
	ret = regulatory_set_wiphy_regd_sync_rtnl(ar->hw->wiphy, regd_copy);
	wiphy_lock(ar->hw->wiphy);
	ret = regulatory_set_wiphy_regd_sync(ar->hw->wiphy, regd_copy);
	wiphy_unlock(ar->hw->wiphy);
	rtnl_unlock();
	rtnl_unlock();


	kfree(regd_copy);
	kfree(regd_copy);
+2 −2
Original line number Original line Diff line number Diff line
@@ -3648,7 +3648,7 @@ void ath6kl_cfg80211_vif_cleanup(struct ath6kl_vif *vif)
		kfree(mc_filter);
		kfree(mc_filter);
	}
	}


	unregister_netdevice(vif->ndev);
	cfg80211_unregister_netdevice(vif->ndev);


	ar->num_vif--;
	ar->num_vif--;
}
}
@@ -3821,7 +3821,7 @@ struct wireless_dev *ath6kl_interface_add(struct ath6kl *ar, const char *name,


	netdev_set_default_ethtool_ops(ndev, &ath6kl_ethtool_ops);
	netdev_set_default_ethtool_ops(ndev, &ath6kl_ethtool_ops);


	if (register_netdevice(ndev))
	if (cfg80211_register_netdevice(ndev))
		goto err;
		goto err;


	ar->avail_idx_map &= ~BIT(fw_vif_idx);
	ar->avail_idx_map &= ~BIT(fw_vif_idx);
+2 −0
Original line number Original line Diff line number Diff line
@@ -212,11 +212,13 @@ int ath6kl_core_init(struct ath6kl *ar, enum ath6kl_htc_type htc_type)
		ar->avail_idx_map |= BIT(i);
		ar->avail_idx_map |= BIT(i);


	rtnl_lock();
	rtnl_lock();
	wiphy_lock(ar->wiphy);


	/* Add an initial station interface */
	/* Add an initial station interface */
	wdev = ath6kl_interface_add(ar, "wlan%d", NET_NAME_ENUM,
	wdev = ath6kl_interface_add(ar, "wlan%d", NET_NAME_ENUM,
				    NL80211_IFTYPE_STATION, 0, INFRA_NETWORK);
				    NL80211_IFTYPE_STATION, 0, INFRA_NETWORK);


	wiphy_unlock(ar->wiphy);
	rtnl_unlock();
	rtnl_unlock();


	if (!wdev) {
	if (!wdev) {
+2 −0
Original line number Original line Diff line number Diff line
@@ -1904,7 +1904,9 @@ void ath6kl_stop_txrx(struct ath6kl *ar)
		spin_unlock_bh(&ar->list_lock);
		spin_unlock_bh(&ar->list_lock);
		ath6kl_cfg80211_vif_stop(vif, test_bit(WMI_READY, &ar->flag));
		ath6kl_cfg80211_vif_stop(vif, test_bit(WMI_READY, &ar->flag));
		rtnl_lock();
		rtnl_lock();
		wiphy_lock(ar->wiphy);
		ath6kl_cfg80211_vif_cleanup(vif);
		ath6kl_cfg80211_vif_cleanup(vif);
		wiphy_unlock(ar->wiphy);
		rtnl_unlock();
		rtnl_unlock();
		spin_lock_bh(&ar->list_lock);
		spin_lock_bh(&ar->list_lock);
	}
	}
+2 −0
Original line number Original line Diff line number Diff line
@@ -2820,7 +2820,9 @@ void wil_p2p_wdev_free(struct wil6210_priv *wil)
	wil->radio_wdev = wil->main_ndev->ieee80211_ptr;
	wil->radio_wdev = wil->main_ndev->ieee80211_ptr;
	mutex_unlock(&wil->vif_mutex);
	mutex_unlock(&wil->vif_mutex);
	if (p2p_wdev) {
	if (p2p_wdev) {
		wiphy_lock(wil->wiphy);
		cfg80211_unregister_wdev(p2p_wdev);
		cfg80211_unregister_wdev(p2p_wdev);
		wiphy_unlock(wil->wiphy);
		kfree(p2p_wdev);
		kfree(p2p_wdev);
	}
	}
}
}
Loading