Skip to content

Commit

Permalink
[PATCH] pl2303 - unplug device.
Browse files Browse the repository at this point in the history
It's possible to unplug usb device and do tiocmset() and tiocmget() without
valid interface in pl2303 module.

The patch below check this and return -ENODEV if interface was removed.

From: Flavio Leitner <fbl@conectiva.com.br>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

diff -purN linux-05-04-11/drivers/usb/serial/pl2303.c linux-05-04-11.usb/drivers/usb/serial/pl2303.c
  • Loading branch information
Flavio Leitner authored and Greg K-H committed Apr 19, 2005
1 parent 8835f66 commit 6fdd8e8
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions drivers/usb/serial/pl2303.c
Original file line number Diff line number Diff line change
Expand Up @@ -677,6 +677,9 @@ static int pl2303_tiocmset (struct usb_serial_port *port, struct file *file,
unsigned long flags;
u8 control;

if (!usb_get_intfdata(port->serial->interface))
return -ENODEV;

spin_lock_irqsave (&priv->lock, flags);
if (set & TIOCM_RTS)
priv->line_control |= CONTROL_RTS;
Expand All @@ -702,6 +705,9 @@ static int pl2303_tiocmget (struct usb_serial_port *port, struct file *file)

dbg("%s (%d)", __FUNCTION__, port->number);

if (!usb_get_intfdata(port->serial->interface))
return -ENODEV;

spin_lock_irqsave (&priv->lock, flags);
mcr = priv->line_control;
status = priv->line_status;
Expand Down

0 comments on commit 6fdd8e8

Please sign in to comment.