When reg_ft1000_netdev() fails created kthread isn't stopped.
So add return point for stopping thread.

Signed-off-by: Marek Belisko <[email protected]>
---
 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 dcbc97c..99e3339 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);
-- 
1.7.1

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to