Commit 2da8cbf8 authored by Amitkumar Karwar's avatar Amitkumar Karwar Committed by John W. Linville

mwifiex: add NULL checks in driver unload path

If driver load is failed, sometimes few pointers may remain
uninitialized ex. priv->wdev, priv->netdev, adapter->sleep_cfm
This will cause NULL pointer dereferance while unloading the
driver.
Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
Signed-off-by: default avatarKiran Divekar <dkiran@marvell.com>
Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 07445f68
...@@ -382,7 +382,8 @@ mwifiex_free_adapter(struct mwifiex_adapter *adapter) ...@@ -382,7 +382,8 @@ mwifiex_free_adapter(struct mwifiex_adapter *adapter)
adapter->if_ops.cleanup_if(adapter); adapter->if_ops.cleanup_if(adapter);
dev_kfree_skb_any(adapter->sleep_cfm); if (adapter->sleep_cfm)
dev_kfree_skb_any(adapter->sleep_cfm);
} }
/* /*
......
...@@ -822,7 +822,9 @@ int mwifiex_remove_card(struct mwifiex_adapter *adapter, struct semaphore *sem) ...@@ -822,7 +822,9 @@ int mwifiex_remove_card(struct mwifiex_adapter *adapter, struct semaphore *sem)
continue; continue;
rtnl_lock(); rtnl_lock();
mwifiex_del_virtual_intf(priv->wdev->wiphy, priv->netdev); if (priv->wdev && priv->netdev)
mwifiex_del_virtual_intf(priv->wdev->wiphy,
priv->netdev);
rtnl_unlock(); rtnl_unlock();
} }
...@@ -830,9 +832,11 @@ int mwifiex_remove_card(struct mwifiex_adapter *adapter, struct semaphore *sem) ...@@ -830,9 +832,11 @@ int mwifiex_remove_card(struct mwifiex_adapter *adapter, struct semaphore *sem)
if (!priv) if (!priv)
goto exit_remove; goto exit_remove;
wiphy_unregister(priv->wdev->wiphy); if (priv->wdev) {
wiphy_free(priv->wdev->wiphy); wiphy_unregister(priv->wdev->wiphy);
kfree(priv->wdev); wiphy_free(priv->wdev->wiphy);
kfree(priv->wdev);
}
mwifiex_terminate_workqueue(adapter); mwifiex_terminate_workqueue(adapter);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment