diff options
author | Marek Belisko <marek.belisko@gmail.com> | 2010-11-10 10:04:30 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-11-10 16:28:29 -0800 |
commit | 2dab1ac81b4767095f96503a9ac093a68c6e9c95 (patch) | |
tree | cd1b4722833b8b4077dcf541c6a322d585b3994e /drivers | |
parent | c8b124e21dbb7f4941f292fea446ce63d92d80dd (diff) | |
download | linux-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.c | 6 |
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); |