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: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Glen Lee 2015-10-27 18:27:52 +09:00 committed by Greg Kroah-Hartman
parent 11f4b2eee7
commit 32dd51bca6
1 changed files with 15 additions and 10 deletions

View File

@ -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)
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 @@ _fail_2:
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;
g_linux_wlan->close = 1; nic = netdev_priv(dev);
wl = nic->wilc;
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 @@ _fail_irq_init_:
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_: