USB: last abuses of intfdata in close for usb-serial drivers
these drivers abused intfdata in close() as flags for binding. That races with reprobing of those devices. This patch fixes that by using the flag and the locks introduced with the patch against mos7720. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Šī revīzija ir iekļauta:

revīziju iesūtīja
Greg Kroah-Hartman

vecāks
3edbc98650
revīzija
0915f490d8
@@ -667,7 +667,7 @@ static void pl2303_close(struct usb_serial_port *port, struct file *filp)
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
if (pl2303_buf_data_avail(priv->buf) == 0 ||
|
||||
timeout == 0 || signal_pending(current) ||
|
||||
!usb_get_intfdata(port->serial->interface)) /* disconnect */
|
||||
port->serial->disconnected)
|
||||
break;
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
timeout = schedule_timeout(timeout);
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user