Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b73af82 authored by Ron Rindjunsky's avatar Ron Rindjunsky Committed by John W. Linville
Browse files

iwlwifi: fix spinlock used before initialized



The patch fixes spinlock priv->lock (apm_ops.init) is used before it has
been initialized.

Signed-off-by: default avatarRon Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: default avatarZhu Yi <yi.zhu@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 16466903
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -489,10 +489,8 @@ static int iwl4965_disable_tx_fifo(struct iwl_priv *priv)


static int iwl4965_apm_init(struct iwl_priv *priv)
static int iwl4965_apm_init(struct iwl_priv *priv)
{
{
	unsigned long flags;
	int ret = 0;
	int ret = 0;


	spin_lock_irqsave(&priv->lock, flags);
	iwl_set_bit(priv, CSR_GIO_CHICKEN_BITS,
	iwl_set_bit(priv, CSR_GIO_CHICKEN_BITS,
			  CSR_GIO_CHICKEN_BITS_REG_BIT_DIS_L0S_EXIT_TIMER);
			  CSR_GIO_CHICKEN_BITS_REG_BIT_DIS_L0S_EXIT_TIMER);


@@ -524,7 +522,6 @@ static int iwl4965_apm_init(struct iwl_priv *priv)


	iwl_release_nic_access(priv);
	iwl_release_nic_access(priv);
out:
out:
	spin_unlock_irqrestore(&priv->lock, flags);
	return ret;
	return ret;
}
}


+1 −2
Original line number Original line Diff line number Diff line
@@ -174,9 +174,8 @@ int iwl_hw_nic_init(struct iwl_priv *priv)
	int ret;
	int ret;


	/* nic_init */
	/* nic_init */
	priv->cfg->ops->lib->apm_ops.init(priv);

	spin_lock_irqsave(&priv->lock, flags);
	spin_lock_irqsave(&priv->lock, flags);
	priv->cfg->ops->lib->apm_ops.init(priv);
	iwl_write32(priv, CSR_INT_COALESCING, 512 / 32);
	iwl_write32(priv, CSR_INT_COALESCING, 512 / 32);
	spin_unlock_irqrestore(&priv->lock, flags);
	spin_unlock_irqrestore(&priv->lock, flags);