aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/ftdi_sio.c
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2008-02-20 15:49:53 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2008-04-25 00:16:38 -0400
commit9b0f2582d57d4c9081307c86e11afc9169de7d3e (patch)
tree77acda33a2be1f9a9fde1c63902cac126c10ebdb /drivers/usb/serial/ftdi_sio.c
parent2097890c43a8fe90763f31b0010fd6963f5512c8 (diff)
USB: ftdi_sio: Note missing locking
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 <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/ftdi_sio.c')
-rw-r--r--drivers/usb/serial/ftdi_sio.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 3abb3c863647..4643212eb959 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -533,9 +533,8 @@ static int update_mctrl(struct usb_serial_port *port, unsigned int set, unsigned
533 } 533 }
534 534
535 buf = kmalloc(1, GFP_NOIO); 535 buf = kmalloc(1, GFP_NOIO);
536 if (!buf) { 536 if (!buf)
537 return -ENOMEM; 537 return -ENOMEM;
538 }
539 538
540 clear &= ~set; /* 'set' takes precedence over 'clear' */ 539 clear &= ~set; /* 'set' takes precedence over 'clear' */
541 urb_value = 0; 540 urb_value = 0;
@@ -568,6 +567,7 @@ static int update_mctrl(struct usb_serial_port *port, unsigned int set, unsigned
568 (clear & TIOCM_DTR) ? "LOW" : "unchanged", 567 (clear & TIOCM_DTR) ? "LOW" : "unchanged",
569 (set & TIOCM_RTS) ? "HIGH" : 568 (set & TIOCM_RTS) ? "HIGH" :
570 (clear & TIOCM_RTS) ? "LOW" : "unchanged"); 569 (clear & TIOCM_RTS) ? "LOW" : "unchanged");
570 /* FIXME: locking on last_dtr_rts */
571 priv->last_dtr_rts = (priv->last_dtr_rts & ~clear) | set; 571 priv->last_dtr_rts = (priv->last_dtr_rts & ~clear) | set;
572 } 572 }
573 return rv; 573 return rv;