UPSTREAM mwifiex: fix memory leak issue when driver unload
authorBing Zhao <bzhao@marvell.com>
Thu, 9 May 2013 18:42:54 +0000 (11:42 -0700)
committerChromeBot <chrome-bot@google.com>
Fri, 10 May 2013 22:45:28 +0000 (15:45 -0700)
commitcc7cd8696f158fd7323cd05fadecf1226332d88d
treea675cd8a334b6ef521da3d5cc09c3e07f41c84ea
parent1819d3da10dd1ee0c398a98e36d5ea0625855d3b
UPSTREAM mwifiex: fix memory leak issue when driver unload

After unregister_netdevice() call the request is queued and
reg_state is changed to NETREG_UNREGISTERING.
As we check for NETREG_UNREGISTERED state, free_netdev() never
gets executed causing memory leak.

Initialize "dev->destructor" to free_netdev() to free device
data after unregistration.

BUG=None
TEST="iwlist mlan0 scan & sleep 1; rmmod mwifiex_sdio";
"echo scan > /sys/kernel/debug/kmemleak; cat /sys/kernel/debug/kmemleak"

Change-Id: I4ac505e2711770a2536dd5434e5dc2ff020e406b
Cc: <stable@vger.kernel.org>
Reported-by: Daniel Drake <dsd@laptop.org>
Tested-by: Daniel Drake <dsd@laptop.org>
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>
Reviewed-on: https://gerrit.chromium.org/gerrit/50683
Reviewed-by: Paul Stewart <pstew@chromium.org>
drivers/net/wireless/mwifiex/cfg80211.c
drivers/net/wireless/mwifiex/main.c