Re: [PATCH] usb: gadget: fix switch off blocked in u_serial

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux