Browse Source

USB: pl2303: fix return value of tiocmset

Make sure we return 0 or a negative error number appropriate for
userspace on errors.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Johan Hovold 12 years ago
parent
commit
aff5b323b3
1 changed files with 5 additions and 2 deletions
  1. 5 2
      drivers/usb/serial/pl2303.c

+ 5 - 2
drivers/usb/serial/pl2303.c

@@ -550,10 +550,13 @@ static int pl2303_tiocmset(struct tty_struct *tty,
 	spin_unlock_irqrestore(&priv->lock, flags);
 
 	mutex_lock(&serial->disc_mutex);
-	if (!serial->disconnected)
+	if (!serial->disconnected) {
 		ret = pl2303_set_control_lines(port, control);
-	else
+		if (ret)
+			ret = usb_translate_errors(ret);
+	} else {
 		ret = -ENODEV;
+	}
 	mutex_unlock(&serial->disc_mutex);
 
 	return ret;