summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMarek Belisko <marek.belisko@gmail.com>2010-11-10 10:04:30 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-11-10 16:28:29 -0800
commit2dab1ac81b4767095f96503a9ac093a68c6e9c95 (patch)
treecd1b4722833b8b4077dcf541c6a322d585b3994e /drivers
parentc8b124e21dbb7f4941f292fea446ce63d92d80dd (diff)
downloadlinux-2dab1ac81b4767095f96503a9ac093a68c6e9c95.tar.bz2
staging: ft1000: Create common return point.
When reg_ft1000_netdev() fails created kthread isn't stopped. So add return point for stopping thread. Signed-off-by: Marek Belisko <marek.belisko@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/ft1000/ft1000-usb/ft1000_usb.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
index dcbc97c432e5..99e333902376 100644
--- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
+++ b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
@@ -178,15 +178,13 @@ static int ft1000_probe(struct usb_interface *interface,
if (IS_ERR(pft1000info->pPollThread)) {
ret = PTR_ERR(pft1000info->pPollThread);
- goto err_load;
+ goto err_thread;
}
msleep(500);
while (!pft1000info->CardReady) {
if (gPollingfailed) {
- if (pft1000info->pPollThread)
- kthread_stop(pft1000info->pPollThread);
ret = -EIO;
goto err_load;
}
@@ -207,6 +205,8 @@ static int ft1000_probe(struct usb_interface *interface,
return 0;
err_load:
+ kthread_stop(pft1000info->pPollThread);
+err_thread:
kfree(pFileStart);
err_fw:
kfree(ft1000dev);