diff options
author | Roland Dreier <rdreier@cisco.com> | 2008-04-23 19:22:13 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-04-23 21:25:36 -0400 |
commit | 099714934d80100624829f1e2961b9dccaef3280 (patch) | |
tree | 50c8b78f62c0f1f5e27643896330f7627a0f8163 /drivers | |
parent | 4d381ffb02701c3fc976091473aead7c03523133 (diff) |
iwlwifi: Don't unlock priv->mutex if it isn't locked
Commit b716bb91 ("iwlwifi: Cancel scanning upon association") moved the
test of priv->vif in iwl{3945,4964}_mac_config_interface() outside of
where priv->mutex is held, but still tries to do mutex_unlock() on
return. This is clearly wrong and triggers a nasty lockdep warning when
this codepath is triggered. Fix this by removing the mutex_unlock().
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 1 |
2 files changed, 0 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 1a5678fe4224..a1a0b3c581f1 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -6907,7 +6907,6 @@ static int iwl3945_mac_config_interface(struct ieee80211_hw *hw, | |||
6907 | 6907 | ||
6908 | if (priv->vif != vif) { | 6908 | if (priv->vif != vif) { |
6909 | IWL_DEBUG_MAC80211("leave - priv->vif != vif\n"); | 6909 | IWL_DEBUG_MAC80211("leave - priv->vif != vif\n"); |
6910 | mutex_unlock(&priv->mutex); | ||
6911 | return 0; | 6910 | return 0; |
6912 | } | 6911 | } |
6913 | 6912 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index d7e2358a213a..d0bbcaaeb94c 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
@@ -6473,7 +6473,6 @@ static int iwl4965_mac_config_interface(struct ieee80211_hw *hw, | |||
6473 | 6473 | ||
6474 | if (priv->vif != vif) { | 6474 | if (priv->vif != vif) { |
6475 | IWL_DEBUG_MAC80211("leave - priv->vif != vif\n"); | 6475 | IWL_DEBUG_MAC80211("leave - priv->vif != vif\n"); |
6476 | mutex_unlock(&priv->mutex); | ||
6477 | return 0; | 6476 | return 0; |
6478 | } | 6477 | } |
6479 | 6478 | ||