From alan@lxorguk.ukuu.org.uk Wed Feb 20 14:27:26 2008 From: Alan Cox Date: Wed, 20 Feb 2008 20:49:53 +0000 Subject: USB: ftdi_sio: Note missing locking To: akpm@osdl.org, greg@kroah.com, linux-usb@vger.kerne.org Message-ID: <20080220204953.38030773@core> The ftdi_sio driver has no internal locking on the dtr/rts state. Flag that up for someone to fix. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman --- drivers/usb/serial/ftdi_sio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c @@ -533,9 +533,8 @@ static int update_mctrl(struct usb_seria } buf = kmalloc(1, GFP_NOIO); - if (!buf) { + if (!buf) return -ENOMEM; - } clear &= ~set; /* 'set' takes precedence over 'clear' */ urb_value = 0; @@ -568,6 +567,7 @@ static int update_mctrl(struct usb_seria (clear & TIOCM_DTR) ? "LOW" : "unchanged", (set & TIOCM_RTS) ? "HIGH" : (clear & TIOCM_RTS) ? "LOW" : "unchanged"); + /* FIXME: locking on last_dtr_rts */ priv->last_dtr_rts = (priv->last_dtr_rts & ~clear) | set; } return rv;