diff options
author | Vasiliy Kulikov <segooon@gmail.com> | 2010-09-28 21:07:55 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-09-30 04:14:08 -0700 |
commit | 8db3271cb24d4298e39a249c4dd966b189b05e97 (patch) | |
tree | 7ece062848a7456dcda10618606541fcc64aa996 /drivers/staging/ath6kl | |
parent | 2166abebc55843409327ddf6cc424cafadd33a30 (diff) | |
download | kernel_samsung_tuna-8db3271cb24d4298e39a249c4dd966b189b05e97.zip kernel_samsung_tuna-8db3271cb24d4298e39a249c4dd966b189b05e97.tar.gz kernel_samsung_tuna-8db3271cb24d4298e39a249c4dd966b189b05e97.tar.bz2 |
staging: ath6kl: use free_netdev(netdev) instead of kfree()
It is not guaranteed that free_netdev() is macro.
Freeing netdev without free_netdev() leads to net, tx leaks.
I might lead to dereferencing freed pointer.
Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/ath6kl')
-rw-r--r-- | drivers/staging/ath6kl/os/linux/ar6000_drv.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/staging/ath6kl/os/linux/ar6000_drv.c b/drivers/staging/ath6kl/os/linux/ar6000_drv.c index daba6e4..c5a6d6c 100644 --- a/drivers/staging/ath6kl/os/linux/ar6000_drv.c +++ b/drivers/staging/ath6kl/os/linux/ar6000_drv.c @@ -2143,11 +2143,7 @@ ar6000_destroy(struct net_device *dev, unsigned int unregister) unregister_netdev(dev); is_netdev_registered = 0; } -#ifndef free_netdev - kfree(dev); -#else free_netdev(dev); -#endif #ifdef ATH6K_CONFIG_CFG80211 ar6k_cfg80211_deinit(ar); @@ -6429,11 +6425,7 @@ A_STATUS ar6000_remove_ap_interface(AR_SOFTC_T *ar) ar6000_stop_ap_interface(ar); unregister_netdev(arApNetDev); -#ifndef free_netdev - kfree(arApNetDev); -#else free_netdev(apApNetDev); -#endif A_PRINTF("Remove AP interface\n"); } |