Correct ftdi_poll_modem_status() result code
authorThomas Jarosch <thomas.jarosch@intra2net.com>
Fri, 6 May 2011 13:16:03 +0000 (15:16 +0200)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Fri, 6 May 2011 13:16:03 +0000 (15:16 +0200)
AUTHORS
src/ftdi.c

diff --git a/AUTHORS b/AUTHORS
index a0b2231..d9fa7c6 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -40,5 +40,6 @@ see Changelog for full details:
   Thimo Eichstaedt <abc@digithi.de>
   Thomas Fischl <fischl@fundf.net>
   Tim Ansell <mithro@mithis.com>
+  Tom Saunders <trsaunders@gmail.com>
   Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
   Wilfried Holzke <libftdi@holzke.net>
index 54e33c0..e7e91f9 100644 (file)
@@ -1901,7 +1901,7 @@ int ftdi_poll_modem_status(struct ftdi_context *ftdi, unsigned short *status)
     if (usb_control_msg(ftdi->usb_dev, FTDI_DEVICE_IN_REQTYPE, SIO_POLL_MODEM_STATUS_REQUEST, 0, ftdi->index, usb_val, 2, ftdi->usb_read_timeout) != 2)
         ftdi_error_return(-1, "getting modem status failed");
 
-    *status = (usb_val[1] << 8) | usb_val[0];
+    *status = (usb_val[1] << 8) | (usb_val[0] & 0xFF);
 
     return 0;
 }