Merge 3b9de981fe ("wifi: iwlwifi: pcie: fix NULL pointer dereference in iwl_pcie_irq_rx_msix_handler()") into android13-5.15-lts
Steps on the way to 5.15.121 Change-Id: Iefb0618aba7c535c1a482c9195ae686c4867943d Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
@@ -1309,8 +1309,11 @@ static void iwl_mvm_queue_state_change(struct iwl_op_mode *op_mode,
|
||||
else
|
||||
set_bit(IWL_MVM_TXQ_STATE_STOP_FULL, &mvmtxq->state);
|
||||
|
||||
if (start && mvmsta->sta_state != IEEE80211_STA_NOTEXIST)
|
||||
if (start && mvmsta->sta_state != IEEE80211_STA_NOTEXIST) {
|
||||
local_bh_disable();
|
||||
iwl_mvm_mac_itxq_xmit(mvm->hw, txq);
|
||||
local_bh_enable();
|
||||
}
|
||||
}
|
||||
|
||||
out:
|
||||
|
||||
@@ -1601,18 +1601,22 @@ irqreturn_t iwl_pcie_irq_rx_msix_handler(int irq, void *dev_id)
|
||||
struct msix_entry *entry = dev_id;
|
||||
struct iwl_trans_pcie *trans_pcie = iwl_pcie_get_trans_pcie(entry);
|
||||
struct iwl_trans *trans = trans_pcie->trans;
|
||||
struct iwl_rxq *rxq = &trans_pcie->rxq[entry->entry];
|
||||
struct iwl_rxq *rxq;
|
||||
|
||||
trace_iwlwifi_dev_irq_msix(trans->dev, entry, false, 0, 0);
|
||||
|
||||
if (WARN_ON(entry->entry >= trans->num_rx_queues))
|
||||
return IRQ_NONE;
|
||||
|
||||
if (WARN_ONCE(!rxq,
|
||||
"[%d] Got MSI-X interrupt before we have Rx queues",
|
||||
entry->entry))
|
||||
if (!trans_pcie->rxq) {
|
||||
if (net_ratelimit())
|
||||
IWL_ERR(trans,
|
||||
"[%d] Got MSI-X interrupt before we have Rx queues\n",
|
||||
entry->entry);
|
||||
return IRQ_NONE;
|
||||
}
|
||||
|
||||
rxq = &trans_pcie->rxq[entry->entry];
|
||||
lock_map_acquire(&trans->sync_cmd_lockdep_map);
|
||||
IWL_DEBUG_ISR(trans, "[%d] Got interrupt\n", entry->entry);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user