Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5acc379e52c78db407c73537daff387b179202c
Commit:     a5acc379e52c78db407c73537daff387b179202c
Parent:     b808ab16a9c99c00e3d8c3b351977fce62781dd0
Author:     Cyrill Gorcunov <[EMAIL PROTECTED]>
AuthorDate: Thu Dec 13 15:52:12 2007 -0800
Committer:  John W. Linville <[EMAIL PROTECTED]>
CommitDate: Mon Dec 17 17:01:39 2007 -0500

    iwlwifi3945/4965: fix rate control algo reference leak
    
    Fix rate control algo reference leak in case if network device has been
    failed to register.  In this case special flag priv->mac80211_registered is
    not set and the rate algo reference is not freeing on module unload.  That
    leads to OOPs in further ieee80211 rate register/unregister procedure (by
    any callee).
    
    It should fix the bug #9470
    
        http://bugzilla.kernel.org/show_bug.cgi?id=9470
    
    [EMAIL PROTECTED]: build fix]
    Signed-off-by: Cyrill Gorcunov <[EMAIL PROTECTED]>
    Acked-by: Zhu Yi <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
---
 drivers/net/wireless/iwlwifi/iwl3945-base.c |    1 +
 drivers/net/wireless/iwlwifi/iwl4965-base.c |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c 
b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 4bdf237..1c3ca6e 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -6171,6 +6171,7 @@ static void iwl_alive_start(struct iwl_priv *priv)
                mutex_lock(&priv->mutex);
 
                if (rc) {
+                       iwl_rate_control_unregister(priv->hw);
                        IWL_ERROR("Failed to register network "
                                  "device (error %d)\n", rc);
                        return;
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c 
b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 8f85564..3b31607 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -6527,6 +6527,7 @@ static void iwl_alive_start(struct iwl_priv *priv)
                mutex_lock(&priv->mutex);
 
                if (rc) {
+                       iwl_rate_control_unregister(priv->hw);
                        IWL_ERROR("Failed to register network "
                                  "device (error %d)\n", rc);
                        return;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to