diff options
author | Amitkumar Karwar <akarwar@marvell.com> | 2013-11-15 04:10:41 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-11-15 20:29:32 +0100 |
commit | 3c59e328eb4ff23781bfa4cfc9f6f496003bf8b9 (patch) | |
tree | 11c69a91582c9eed44c5cb583bf65ab8dc052e57 /drivers/net/wireless/mwifiex/pcie.c | |
parent | mwifiex: fix potential mem leak in .del_virtual_intf (diff) | |
download | linux-3c59e328eb4ff23781bfa4cfc9f6f496003bf8b9.tar.xz linux-3c59e328eb4ff23781bfa4cfc9f6f496003bf8b9.zip |
mwifiex: fix memory leak issue for sdio and pcie cards
When driver is failed to load, card pointer doesn't get
freed. We will free it in cleanup handler which is called
in failure as well as unload path.
Also, update drvdata in init/cleanup handlers instead of
register/unregister handlers.
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwifiex/pcie.c')
-rw-r--r-- | drivers/net/wireless/mwifiex/pcie.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/pcie.c b/drivers/net/wireless/mwifiex/pcie.c index 33fa9432b241..03688aa14e8a 100644 --- a/drivers/net/wireless/mwifiex/pcie.c +++ b/drivers/net/wireless/mwifiex/pcie.c @@ -232,7 +232,6 @@ static void mwifiex_pcie_remove(struct pci_dev *pdev) } mwifiex_remove_card(card->adapter, &add_remove_card_sem); - kfree(card); } static void mwifiex_pcie_shutdown(struct pci_dev *pdev) @@ -2313,6 +2312,7 @@ static void mwifiex_pcie_cleanup(struct mwifiex_adapter *adapter) pci_release_region(pdev, 0); pci_set_drvdata(pdev, NULL); } + kfree(card); } /* |