On Wed, Nov 14, 2012 at 3:40 PM, Linus Walleij <linus.walleij@xxxxxxxxxxxxxx> wrote: > From: Haipeng YU <haipeng.yu@xxxxxxxxxxxxxx> > > When a device is switched off by software, gserial_cleanup will > be called, and switch off will be blocked in this function > because wake_up_interruptible() in gs_close() can not wake_up > the wait_event() in gserial_cleanup(), it should be changed to > wake_up() to match the wait_event(). > > Signed-off-by: Haipeng YU <haipeng.yu@xxxxxxxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > drivers/usb/gadget/u_serial.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/gadget/u_serial.c b/drivers/usb/gadget/u_serial.c > index f173952..2d074ba 100644 > --- a/drivers/usb/gadget/u_serial.c > +++ b/drivers/usb/gadget/u_serial.c > @@ -887,7 +887,7 @@ static void gs_close(struct tty_struct *tty, struct file *file) > pr_debug("gs_close: ttyGS%d (%p,%p) done!\n", > port->port_num, tty, file); > > - wake_up_interruptible(&port->port.close_wait); > + wake_up(&port->port.close_wait); > exit: > spin_unlock_irq(&port->port_lock); > } Ping on this, we're trying to figure out if we're doing the right thing here so help... Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html