On Tue, Nov 27, 2012 at 03:11:15PM +0100, Linus Walleij wrote: > On Wed, Nov 21, 2012 at 3:33 PM, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > 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... > > Ping again. This is stopping our systems from shutting down > so would really appreciate some advice if this is the way > to go. That's up to Felipe, not me. -- 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