patch-2.3.43 linux/drivers/usb/acm.c
Next file: linux/drivers/usb/audio.c
Previous file: linux/drivers/usb/Makefile
Back to the patch index
Back to the overall index
-  Lines: 33
-  Date:
Wed Feb  9 11:51:13 2000
-  Orig file: 
v2.3.42/linux/drivers/usb/acm.c
-  Orig date: 
Tue Feb  1 01:35:44 2000
diff -u --recursive --new-file v2.3.42/linux/drivers/usb/acm.c linux/drivers/usb/acm.c
@@ -223,21 +223,25 @@
 
 	if (!ACM_READY(acm)) return;
 
+	if (urb->status)
+		dbg("nonzero read bulk status received: %d", urb->status);
+
 	if (!urb->status & !acm->throttle)  {
 		for (i = 0; i < urb->actual_length && !acm->throttle; i++)
 			tty_insert_flip_char(tty, data[i], 0);
 		tty_flip_buffer_push(tty);
-	} else
-		dbg("nonzero read bulk status received: %d", urb->status);
+	}
 
-	if (!acm->throttle) {
-		urb->actual_length = 0;
-		if (usb_submit_urb(urb))
-			dbg("failed resubmitting read urb");
-	} else {
+	if (acm->throttle) {
 		memmove(data, data + i, urb->actual_length - i);
 		urb->actual_length -= i;
+		return;
 	}
+
+	urb->actual_length = 0;
+
+	if (usb_submit_urb(urb))
+		dbg("failed resubmitting read urb");
 }
 
 static void acm_write_bulk(struct urb *urb)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)