Commit 32dd51bc authored by Glen Lee's avatar Glen Lee Committed by Greg Kroah-Hartman

staging: wilc1000: wlan_deinitialize_threads: change argument and use wilc

This patch changes function parameter type struct wilc with struct net_device
and use netdev private data member wilc instead of g_linux_wlan.
Signed-off-by: default avatarGlen Lee <glen.lee@atmel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 11f4b2ee
...@@ -96,7 +96,7 @@ static struct notifier_block g_dev_notifier = { ...@@ -96,7 +96,7 @@ static struct notifier_block g_dev_notifier = {
static struct semaphore close_exit_sync; static struct semaphore close_exit_sync;
static int wlan_deinit_locks(struct net_device *dev); static int wlan_deinit_locks(struct net_device *dev);
static void wlan_deinitialize_threads(struct wilc *nic); static void wlan_deinitialize_threads(struct net_device *dev);
extern void WILC_WFI_monitor_rx(u8 *buff, u32 size); extern void WILC_WFI_monitor_rx(u8 *buff, u32 size);
extern void WILC_WFI_p2p_rx(struct net_device *dev, u8 *buff, u32 size); extern void WILC_WFI_p2p_rx(struct net_device *dev, u8 *buff, u32 size);
...@@ -919,7 +919,7 @@ void wilc1000_wlan_deinit(struct net_device *dev) ...@@ -919,7 +919,7 @@ void wilc1000_wlan_deinit(struct net_device *dev)
up(&wl->txq_event); up(&wl->txq_event);
PRINT_D(INIT_DBG, "Deinitializing Threads\n"); PRINT_D(INIT_DBG, "Deinitializing Threads\n");
wlan_deinitialize_threads(wl); wlan_deinitialize_threads(dev);
PRINT_D(INIT_DBG, "Deinitializing IRQ\n"); PRINT_D(INIT_DBG, "Deinitializing IRQ\n");
deinit_irq(dev); deinit_irq(dev);
...@@ -1053,18 +1053,23 @@ int wlan_initialize_threads(struct net_device *dev) ...@@ -1053,18 +1053,23 @@ int wlan_initialize_threads(struct net_device *dev)
return ret; return ret;
} }
static void wlan_deinitialize_threads(struct wilc *nic) static void wlan_deinitialize_threads(struct net_device *dev)
{ {
perInterface_wlan_t *nic;
struct wilc *wl;
nic = netdev_priv(dev);
wl = nic->wilc;
g_linux_wlan->close = 1; wl->close = 1;
PRINT_D(INIT_DBG, "Deinitializing Threads\n"); PRINT_D(INIT_DBG, "Deinitializing Threads\n");
if (&g_linux_wlan->txq_event != NULL) if (&wl->txq_event != NULL)
up(&g_linux_wlan->txq_event); up(&wl->txq_event);
if (g_linux_wlan->txq_thread != NULL) { if (wl->txq_thread != NULL) {
kthread_stop(g_linux_wlan->txq_thread); kthread_stop(wl->txq_thread);
g_linux_wlan->txq_thread = NULL; wl->txq_thread = NULL;
} }
} }
...@@ -1171,7 +1176,7 @@ int wilc1000_wlan_init(struct net_device *dev, perInterface_wlan_t *p_nic) ...@@ -1171,7 +1176,7 @@ int wilc1000_wlan_init(struct net_device *dev, perInterface_wlan_t *p_nic)
deinit_irq(dev); deinit_irq(dev);
#endif #endif
wlan_deinitialize_threads(wl); wlan_deinitialize_threads(dev);
_fail_wilc_wlan_: _fail_wilc_wlan_:
wilc_wlan_cleanup(); wilc_wlan_cleanup();
_fail_locks_: _fail_locks_:
......
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