summaryrefslogtreecommitdiff
path: root/drivers/usb/serial
diff options
context:
space:
mode:
authorIan Abbott <abbotti@mev.co.uk>2017-03-08 19:02:57 +0300
committerJohan Hovold <johan@kernel.org>2017-03-13 18:13:48 +0300
commit2dea7cd7287781cd4bfd0167dba423e0f486ef61 (patch)
treeb7936e359cade511ba269ffd27a7ad52734e85ac /drivers/usb/serial
parent4495c08e84729385774601b5146d51d9e5849f81 (diff)
downloadlinux-2dea7cd7287781cd4bfd0167dba423e0f486ef61.tar.xz
USB: serial: ftdi_sio: don't access latency timer on old chips
The latency timer was introduced with the FT232BM and FT245BM chips. Do not bother attempting to read or write it for older chip versions. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Johan Hovold <johan@kernel.org>
Diffstat (limited to 'drivers/usb/serial')
-rw-r--r--drivers/usb/serial/ftdi_sio.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index c540de15aad2..72314734dfd0 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -1406,6 +1406,9 @@ static int write_latency_timer(struct usb_serial_port *port)
int rv;
int l = priv->latency;
+ if (priv->chip_type == SIO || priv->chip_type == FT8U232AM)
+ return -EINVAL;
+
if (priv->flags & ASYNC_LOW_LATENCY)
l = 1;
@@ -1429,6 +1432,9 @@ static int read_latency_timer(struct usb_serial_port *port)
unsigned char *buf;
int rv;
+ if (priv->chip_type == SIO || priv->chip_type == FT8U232AM)
+ return -EINVAL;
+
buf = kmalloc(1, GFP_KERNEL);
if (!buf)
return -ENOMEM;