[PATCH 3/8] staging: ft1000: Use return value for ft1000InitProc.

Marek Belisko marek.belisko at open-nandra.com
Thu Dec 9 15:13:49 UTC 2010


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

Signed-off-by: Marek Belisko <marek.belisko at open-nandra.com>
---
 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.1




More information about the devel mailing list