qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [5242] [PATCH] usb-serial: Fix data corruption with usb ser


From: Aurelien Jarno
Subject: [Qemu-devel] [5242] [PATCH] usb-serial: Fix data corruption with usb serial emulation
Date: Wed, 17 Sep 2008 22:04:22 +0000

Revision: 5242
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5242
Author:   aurel32
Date:     2008-09-17 22:04:21 +0000 (Wed, 17 Sep 2008)

Log Message:
-----------
[PATCH] usb-serial: Fix data corruption with usb serial emulation

* Remove the unused send_buf variable and its constant.

* Fix a math error
  The variables recv_ptr and recv_used are not large enough to hold
  the constant 384, which causes data corruption when the pointer is
  reset with: s->recv_ptr = (s->recv_ptr + len) % RECV_BUF;

Signed-off-by: Jason Wessel <address@hidden>
Acked-by: Samuel Thibault <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>

Modified Paths:
--------------
    trunk/hw/usb-serial.c

Modified: trunk/hw/usb-serial.c
===================================================================
--- trunk/hw/usb-serial.c       2008-09-17 19:05:19 UTC (rev 5241)
+++ trunk/hw/usb-serial.c       2008-09-17 22:04:21 UTC (rev 5242)
@@ -22,7 +22,6 @@
 #endif
 
 #define RECV_BUF 384
-#define SEND_BUF 128        // Not used for now
 
 /* Commands */
 #define FTDI_RESET             0
@@ -94,9 +93,8 @@
     uint16_t vendorid;
     uint16_t productid;
     uint8_t recv_buf[RECV_BUF];
-    uint8_t recv_ptr;
-    uint8_t recv_used;
-    uint8_t send_buf[SEND_BUF];
+    uint16_t recv_ptr;
+    uint16_t recv_used;
     uint8_t event_chr;
     uint8_t error_chr;
     uint8_t event_trigger;






reply via email to

[Prev in Thread] Current Thread [Next in Thread]