Commit 107adc69 authored by David S. Miller's avatar David S. Miller
Browse files

Merge tag 'wireless-drivers-2021-04-07' of...

Merge tag 'wireless-drivers-2021-04-07' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers



Kalle Valo says:

====================
wireless-drivers fixes for v5.12

Third, and last, set of fixes for v5.12. Small fixes, iwlwifi having
most of them. brcmfmac regression caused by cfg80211 changes is the
most important here.

iwlwifi

* fix a lockdep warning

* fix regulatory feature detection in certain firmware versions

* new hardware support

* fix lockdep warning

* mvm: fix beacon protection checks

mt76

* mt7921: fix airtime reporting

brcmfmac

* fix a deadlock regression
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 3cf14828 65db391d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2439,7 +2439,7 @@ void brcmf_p2p_ifp_removed(struct brcmf_if *ifp, bool locked)
	vif = ifp->vif;
	cfg = wdev_to_cfg(&vif->wdev);
	cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif = NULL;
	if (locked) {
	if (!locked) {
		rtnl_lock();
		wiphy_lock(cfg->wiphy);
		cfg80211_unregister_wdev(&vif->wdev);
+5 −5
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/*
 * Copyright (C) 2005-2014 Intel Corporation
 * Copyright (C) 2005-2014, 2021 Intel Corporation
 * Copyright (C) 2015-2017 Intel Deutschland GmbH
 */
#include <linux/sched.h>
@@ -26,7 +26,7 @@ bool iwl_notification_wait(struct iwl_notif_wait_data *notif_wait,
	if (!list_empty(&notif_wait->notif_waits)) {
		struct iwl_notification_wait *w;

		spin_lock(&notif_wait->notif_wait_lock);
		spin_lock_bh(&notif_wait->notif_wait_lock);
		list_for_each_entry(w, &notif_wait->notif_waits, list) {
			int i;
			bool found = false;
@@ -59,7 +59,7 @@ bool iwl_notification_wait(struct iwl_notif_wait_data *notif_wait,
				triggered = true;
			}
		}
		spin_unlock(&notif_wait->notif_wait_lock);
		spin_unlock_bh(&notif_wait->notif_wait_lock);
	}

	return triggered;
@@ -70,10 +70,10 @@ void iwl_abort_notification_waits(struct iwl_notif_wait_data *notif_wait)
{
	struct iwl_notification_wait *wait_entry;

	spin_lock(&notif_wait->notif_wait_lock);
	spin_lock_bh(&notif_wait->notif_wait_lock);
	list_for_each_entry(wait_entry, &notif_wait->notif_waits, list)
		wait_entry->aborted = true;
	spin_unlock(&notif_wait->notif_wait_lock);
	spin_unlock_bh(&notif_wait->notif_wait_lock);

	wake_up_all(&notif_wait->notif_waitq);
}
+1 −0
Original line number Diff line number Diff line
@@ -414,6 +414,7 @@ struct iwl_cfg {
#define IWL_CFG_MAC_TYPE_QNJ		0x36
#define IWL_CFG_MAC_TYPE_SO		0x37
#define IWL_CFG_MAC_TYPE_SNJ		0x42
#define IWL_CFG_MAC_TYPE_SOF		0x43
#define IWL_CFG_MAC_TYPE_MA		0x44

#define IWL_CFG_RF_TYPE_TH		0x105
+1 −1
Original line number Diff line number Diff line
@@ -232,7 +232,7 @@ enum iwl_reg_capa_flags_v2 {
	REG_CAPA_V2_MCS_9_ALLOWED	= BIT(6),
	REG_CAPA_V2_WEATHER_DISABLED	= BIT(7),
	REG_CAPA_V2_40MHZ_ALLOWED	= BIT(8),
	REG_CAPA_V2_11AX_DISABLED	= BIT(13),
	REG_CAPA_V2_11AX_DISABLED	= BIT(10),
};

/*
+5 −2
Original line number Diff line number Diff line
@@ -1786,10 +1786,13 @@ static ssize_t iwl_dbgfs_rfi_freq_table_write(struct iwl_mvm *mvm, char *buf,
		return -EINVAL;

	/* value zero triggers re-sending the default table to the device */
	if (!op_id)
	if (!op_id) {
		mutex_lock(&mvm->mutex);
		ret = iwl_rfi_send_config_cmd(mvm, NULL);
	else
		mutex_unlock(&mvm->mutex);
	} else {
		ret = -EOPNOTSUPP; /* in the future a new table will be added */
	}

	return ret ?: count;
}
Loading