iwlwifi: initialize spinlock before use

Previous thread: rt2x00: Disable powersaving for rt61pci and rt2800pci. by Linux Kernel Mailing List on Wednesday, December 30, 2009 - 3:59 pm. (1 message)

Next thread: iwlwifi: fix more eeprom endian bugs by Linux Kernel Mailing List on Wednesday, December 30, 2009 - 3:59 pm. (1 message)
From: Linux Kernel Mailing List
Date: Wednesday, December 30, 2009 - 3:59 pm

Gitweb:     http://git.kernel.org/linus/731a29b74aa823e09a6547befce3f721bef32f86
Commit:     731a29b74aa823e09a6547befce3f721bef32f86
Parent:     bc45a67079c916a9bd0a95b0b879cc0f259bac6e
Author:     Reinette Chatre <reinette.chatre@intel.com>
AuthorDate: Mon Dec 14 14:12:11 2009 -0800
Committer:  John W. Linville <linville@tuxdriver.com>
CommitDate: Mon Dec 21 11:32:10 2009 -0500

    iwlwifi: initialize spinlock before use
    
    Recent powersaving work resulted in power management ops being called
    during EEPROM initialization. The lock used by these functions is not
    initialized at this time. Ensure lock is initialized before it is used.
    
    Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
 drivers/net/wireless/iwlwifi/iwl-agn.c      |    4 ++--
 drivers/net/wireless/iwlwifi/iwl3945-base.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 715db21..1c9866d 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -3173,7 +3173,6 @@ static int iwl_init_drv(struct iwl_priv *priv)
 
 	priv->ibss_beacon = NULL;
 
-	spin_lock_init(&priv->lock);
 	spin_lock_init(&priv->sta_lock);
 	spin_lock_init(&priv->hcmd_lock);
 
@@ -3361,10 +3360,11 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		(unsigned long long) pci_resource_len(pdev, 0));
 	IWL_DEBUG_INFO(priv, "pci_resource_base = %p\n", priv->hw_base);
 
-	/* this spin lock will be used in apm_ops.init and EEPROM access
+	/* these spin locks will be used in apm_ops.init and EEPROM access
 	 * we should init now
 	 */
 	spin_lock_init(&priv->reg_lock);
+	spin_lock_init(&priv->lock);
 	iwl_hw_detect(priv);
 	IWL_INFO(priv, "Detected Intel Wireless WiFi Link %s REV=0x%X\n",
 		priv->cfg->name, priv->hw_rev);
diff --git ...
Previous thread: rt2x00: Disable powersaving for rt61pci and rt2800pci. by Linux Kernel Mailing List on Wednesday, December 30, 2009 - 3:59 pm. (1 message)

Next thread: iwlwifi: fix more eeprom endian bugs by Linux Kernel Mailing List on Wednesday, December 30, 2009 - 3:59 pm. (1 message)