r1186 - trunk/src/host/dfu-util/src

laforge at sita.openmoko.org laforge at sita.openmoko.org
Thu Mar 1 16:52:56 CET 2007


Author: laforge
Date: 2007-03-01 16:52:55 +0100 (Thu, 01 Mar 2007)
New Revision: 1186

Modified:
   trunk/src/host/dfu-util/src/main.c
Log:
* only print error message if usb_reset() returns error != -ENODEV, since that seems to be
  somewhat standard ?!?


Modified: trunk/src/host/dfu-util/src/main.c
===================================================================
--- trunk/src/host/dfu-util/src/main.c	2007-03-01 15:32:24 UTC (rev 1185)
+++ trunk/src/host/dfu-util/src/main.c	2007-03-01 15:52:55 UTC (rev 1186)
@@ -308,6 +308,8 @@
 	struct usb_dfu_func_descriptor func_dfu;
 	char *filename = NULL;
 	int final_reset = 0;
+	int page_size = getpagesize();
+	int ret;
 	
 	printf("dfu-util - (C) 2007 by OpenMoko Inc.\n"
 	       "This program is Free Software and has ABSOLUTELY NO WARRANTY\n\n");
@@ -461,9 +463,10 @@
 				break;
 			}
 			printf("Resetting USB...\n");
-			if (usb_reset(_rt_dif.dev_handle) < 0) {
-				fprintf(stderr, "error resetting after detach: %s\n", usb_strerror());
-			}
+			ret = usb_reset(_rt_dif.dev_handle);
+			if (ret < 0 && ret != -ENODEV)
+				fprintf(stderr, "error resetting after detach: %s\n", 
+					usb_strerror());
 			sleep(2);
 			break;
 		case DFU_STATE_dfuERROR:
@@ -581,26 +584,21 @@
 	}
 
 	/* Obtain DFU functional descriptor */
-	{
-		int ret;
-		int page_size = getpagesize();
-		
-		ret = usb_get_descriptor(dif->dev_handle, 0x21, dif->interface,
-					 &func_dfu, sizeof(func_dfu));
-		if (ret < 0) {
-			fprintf(stderr, "Error obtaining DFU functional "
-				"descriptor: %s\n", usb_strerror());
-			exit(1);
-		}
-		/* FIXME: Endian! */
-		if (!transfer_size)
-			transfer_size = func_dfu.wTransferSize;
+	ret = usb_get_descriptor(dif->dev_handle, 0x21, dif->interface,
+				 &func_dfu, sizeof(func_dfu));
+	if (ret < 0) {
+		fprintf(stderr, "Error obtaining DFU functional "
+			"descriptor: %s\n", usb_strerror());
+		exit(1);
+	}
+	/* FIXME: Endian! */
+	if (!transfer_size)
+		transfer_size = func_dfu.wTransferSize;
 
-		printf("Transfer Size = 0x%04x\n", transfer_size);
+	printf("Transfer Size = 0x%04x\n", transfer_size);
 
-		if (func_dfu.wTransferSize > page_size)
-			func_dfu.wTransferSize = page_size;
-	}
+	if (func_dfu.wTransferSize > page_size)
+		func_dfu.wTransferSize = page_size;
 	
 	if (DFU_STATUS_OK != status.bStatus ) {
 		printf("WARNING: DFU Status: '%s'\n",
@@ -636,7 +634,8 @@
 			fprintf(stderr, "can't detach: %s\n", usb_strerror());
 		}
 		printf("Resetting USB to swithc back to runtime mode\n");
-		if (usb_reset(dif->dev_handle) < 0) {
+		ret = usb_reset(dif->dev_handle);
+		if (ret < 0 && ret != -ENODEV) {
 			fprintf(stderr, "error resetting after download: %s\n", 
 			usb_strerror());
 		}





More information about the commitlog mailing list