summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlen Lee <glen.lee@atmel.com>2015-10-27 09:27:45 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-10-28 23:08:47 (GMT)
commit75a94665a12313e051f1c2595a41fe20da668981 (patch)
tree106f445b2e08641a8f3183e12307bbac360d90f4
parent472791a94ff6a3f698feb51b7c41618a4f7dd5b1 (diff)
downloadlinux-75a94665a12313e051f1c2595a41fe20da668981.tar.xz
staging: wilc1000: wlan_initialize_threads: change argument with net_device
This patch changes function argument with net_device and use netdev private data member wilc instead of g_linux_wlan. And there are assignment code with different value continuously. Take last code. Signed-off-by: Glen Lee <glen.lee@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/wilc1000/linux_wlan.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
index 8c81de9..4e88cbe 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -1011,31 +1011,34 @@ void linux_to_wlan(wilc_wlan_inp_t *nwi, struct wilc *nic)
#endif
}
-int wlan_initialize_threads(perInterface_wlan_t *nic)
+int wlan_initialize_threads(struct net_device *dev)
{
-
+ perInterface_wlan_t *nic;
+ struct wilc *wilc;
int ret = 0;
+ nic = netdev_priv(dev);
+ wilc = nic->wilc;
+
PRINT_D(INIT_DBG, "Initializing Threads ...\n");
/* create tx task */
PRINT_D(INIT_DBG, "Creating kthread for transmission\n");
- g_linux_wlan->txq_thread = kthread_run(linux_wlan_txq_task, (void *)g_linux_wlan, "K_TXQ_TASK");
- if (g_linux_wlan->txq_thread == NULL) {
+ wilc->txq_thread = kthread_run(linux_wlan_txq_task, (void *)wilc,
+ "K_TXQ_TASK");
+ if (!wilc->txq_thread) {
PRINT_ER("couldn't create TXQ thread\n");
ret = -ENOBUFS;
goto _fail_2;
}
/* wait for TXQ task to start. */
- down(&g_linux_wlan->txq_thread_started);
+ down(&wilc->txq_thread_started);
return 0;
_fail_2:
/*De-Initialize 2nd thread*/
- g_linux_wlan->close = 1;
-
- g_linux_wlan->close = 0;
+ wilc->close = 0;
return ret;
}
@@ -1084,7 +1087,7 @@ int wilc1000_wlan_init(struct net_device *dev, perInterface_wlan_t *p_nic)
}
#endif
- ret = wlan_initialize_threads(nic);
+ ret = wlan_initialize_threads(dev);
if (ret < 0) {
PRINT_ER("Initializing Threads FAILED\n");
ret = -EIO;