mirror of
https://github.com/torvalds/linux.git
synced 2024-12-20 10:01:56 +00:00
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 [akpm@linux-foundation.org: build fix] Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Acked-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
b808ab16a9
commit
a5acc379e5
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user