summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex/pcie.c
diff options
context:
space:
mode:
authorAmitkumar Karwar <akarwar@marvell.com>2013-11-15 04:10:41 +0100
committerJohn W. Linville <linville@tuxdriver.com>2013-11-15 20:29:32 +0100
commit3c59e328eb4ff23781bfa4cfc9f6f496003bf8b9 (patch)
tree11c69a91582c9eed44c5cb583bf65ab8dc052e57 /drivers/net/wireless/mwifiex/pcie.c
parentmwifiex: fix potential mem leak in .del_virtual_intf (diff)
downloadlinux-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.c2
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);
}
/*