diff options
author | Marek Belisko <marek.belisko@gmail.com> | 2010-11-10 04:04:30 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-11-10 19:28:29 -0500 |
commit | 2dab1ac81b4767095f96503a9ac093a68c6e9c95 (patch) | |
tree | cd1b4722833b8b4077dcf541c6a322d585b3994e | |
parent | c8b124e21dbb7f4941f292fea446ce63d92d80dd (diff) |
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>
-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, | |||
178 | 178 | ||
179 | if (IS_ERR(pft1000info->pPollThread)) { | 179 | if (IS_ERR(pft1000info->pPollThread)) { |
180 | ret = PTR_ERR(pft1000info->pPollThread); | 180 | ret = PTR_ERR(pft1000info->pPollThread); |
181 | goto err_load; | 181 | goto err_thread; |
182 | } | 182 | } |
183 | 183 | ||
184 | msleep(500); | 184 | msleep(500); |
185 | 185 | ||
186 | while (!pft1000info->CardReady) { | 186 | while (!pft1000info->CardReady) { |
187 | if (gPollingfailed) { | 187 | if (gPollingfailed) { |
188 | if (pft1000info->pPollThread) | ||
189 | kthread_stop(pft1000info->pPollThread); | ||
190 | ret = -EIO; | 188 | ret = -EIO; |
191 | goto err_load; | 189 | goto err_load; |
192 | } | 190 | } |
@@ -207,6 +205,8 @@ static int ft1000_probe(struct usb_interface *interface, | |||
207 | return 0; | 205 | return 0; |
208 | 206 | ||
209 | err_load: | 207 | err_load: |
208 | kthread_stop(pft1000info->pPollThread); | ||
209 | err_thread: | ||
210 | kfree(pFileStart); | 210 | kfree(pFileStart); |
211 | err_fw: | 211 | err_fw: |
212 | kfree(ft1000dev); | 212 | kfree(ft1000dev); |