diff options
Diffstat (limited to 'drivers/usb/serial/generic.c')
| -rw-r--r-- | drivers/usb/serial/generic.c | 12 | 
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c index 1be8bea372a2..5cdf180cda23 100644 --- a/drivers/usb/serial/generic.c +++ b/drivers/usb/serial/generic.c @@ -417,7 +417,7 @@ void usb_serial_generic_read_bulk_callback(struct urb *urb)  	/*  	 * Make sure URB is marked as free before checking the throttled flag  	 * to avoid racing with unthrottle() on another CPU. Matches the -	 * smp_mb() in unthrottle(). +	 * smp_mb__after_atomic() in unthrottle().  	 */  	smp_mb__after_atomic(); @@ -489,7 +489,7 @@ void usb_serial_generic_unthrottle(struct tty_struct *tty)  	 * Matches the smp_mb__after_atomic() in  	 * usb_serial_generic_read_bulk_callback().  	 */ -	smp_mb(); +	smp_mb__after_atomic();  	usb_serial_generic_submit_read_urbs(port, GFP_KERNEL);  } @@ -609,12 +609,10 @@ EXPORT_SYMBOL_GPL(usb_serial_handle_break);   * @tty: tty for the port   * @status: new carrier detect status, nonzero if active   */ -void usb_serial_handle_dcd_change(struct usb_serial_port *usb_port, +void usb_serial_handle_dcd_change(struct usb_serial_port *port,  				struct tty_struct *tty, unsigned int status)  { -	struct tty_port *port = &usb_port->port; - -	dev_dbg(&usb_port->dev, "%s - status %d\n", __func__, status); +	dev_dbg(&port->dev, "%s - status %d\n", __func__, status);  	if (tty) {  		struct tty_ldisc *ld = tty_ldisc_ref(tty); @@ -627,7 +625,7 @@ void usb_serial_handle_dcd_change(struct usb_serial_port *usb_port,  	}  	if (status) -		wake_up_interruptible(&port->open_wait); +		wake_up_interruptible(&port->port.open_wait);  	else if (tty && !C_CLOCAL(tty))  		tty_hangup(tty);  }  |