From: Marek Belisko <[email protected]>

Add checking for return value ft1000InitProc and cleanup
if something fail.

Signed-off-by: Marek Belisko <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/staging/ft1000/ft1000-usb/ft1000_usb.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c 
b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
index 7dfed41..0e1fc3f 100644
--- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
+++ b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
@@ -198,12 +198,17 @@ static int ft1000_probe(struct usb_interface *interface,
        if (ret)
                goto err_thread;
 
-       pft1000info->NetDevRegDone = 1;
+       ret = ft1000InitProc(ft1000dev->net);
+       if (ret)
+               goto err_proc;
 
-       ft1000InitProc(ft1000dev->net);
+       pft1000info->NetDevRegDone = 1;
 
        return 0;
 
+err_proc:
+       unregister_netdev(ft1000dev->net);
+       free_netdev(ft1000dev->net);
 err_thread:
        kthread_stop(pft1000info->pPollThread);
 err_load:
-- 
1.7.3.2

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

Reply via email to