Commit ef9a6df0 authored by David S. Miller's avatar David S. Miller

Merge tag 'wireless-drivers-2021-03-03' of...

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

Kalle Valo says:

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

Second set of fixes for v5.12. Only three iwlwifi fixes this time, the
crash with MVM being the most important one and reported by multiple
people.

iwlwifi

* fix kernel crash regression when using LTO with MVM devices

* fix printk format warnings

* fix potential deadlock found by lockdep
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents dbbe7c96 295d4cd8
...@@ -271,12 +271,12 @@ static int iwl_pnvm_get_from_efi(struct iwl_trans *trans, ...@@ -271,12 +271,12 @@ static int iwl_pnvm_get_from_efi(struct iwl_trans *trans,
err = efivar_entry_get(pnvm_efivar, NULL, &package_size, package); err = efivar_entry_get(pnvm_efivar, NULL, &package_size, package);
if (err) { if (err) {
IWL_DEBUG_FW(trans, IWL_DEBUG_FW(trans,
"PNVM UEFI variable not found %d (len %zd)\n", "PNVM UEFI variable not found %d (len %lu)\n",
err, package_size); err, package_size);
goto out; goto out;
} }
IWL_DEBUG_FW(trans, "Read PNVM fro UEFI with size %zd\n", package_size); IWL_DEBUG_FW(trans, "Read PNVM fro UEFI with size %lu\n", package_size);
*data = kmemdup(package->data, *len, GFP_KERNEL); *data = kmemdup(package->data, *len, GFP_KERNEL);
if (!*data) if (!*data)
......
...@@ -1083,6 +1083,7 @@ static const struct dmi_system_id dmi_ppag_approved_list[] = { ...@@ -1083,6 +1083,7 @@ static const struct dmi_system_id dmi_ppag_approved_list[] = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTek COMPUTER INC."), DMI_MATCH(DMI_SYS_VENDOR, "ASUSTek COMPUTER INC."),
}, },
}, },
{}
}; };
static int iwl_mvm_ppag_init(struct iwl_mvm *mvm) static int iwl_mvm_ppag_init(struct iwl_mvm *mvm)
......
...@@ -1129,6 +1129,8 @@ static int _iwl_pcie_rx_init(struct iwl_trans *trans) ...@@ -1129,6 +1129,8 @@ static int _iwl_pcie_rx_init(struct iwl_trans *trans)
iwl_pcie_rx_init_rxb_lists(rxq); iwl_pcie_rx_init_rxb_lists(rxq);
spin_unlock_bh(&rxq->lock);
if (!rxq->napi.poll) { if (!rxq->napi.poll) {
int (*poll)(struct napi_struct *, int) = iwl_pcie_napi_poll; int (*poll)(struct napi_struct *, int) = iwl_pcie_napi_poll;
...@@ -1149,7 +1151,6 @@ static int _iwl_pcie_rx_init(struct iwl_trans *trans) ...@@ -1149,7 +1151,6 @@ static int _iwl_pcie_rx_init(struct iwl_trans *trans)
napi_enable(&rxq->napi); napi_enable(&rxq->napi);
} }
spin_unlock_bh(&rxq->lock);
} }
/* move the pool to the default queue and allocator ownerships */ /* move the pool to the default queue and allocator ownerships */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment