diff --git a/[refs] b/[refs] index 3c459e0f0999..aab5e84c0604 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c8b124e21dbb7f4941f292fea446ce63d92d80dd +refs/heads/master: 2dab1ac81b4767095f96503a9ac093a68c6e9c95 diff --git a/trunk/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c b/trunk/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c index dcbc97c432e5..99e333902376 100644 --- a/trunk/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c +++ b/trunk/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);