[lkml]   [2019]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH AUTOSEL 5.1 054/141] usb: gadget: storage: Remove warning message
On Fri, Jul 19, 2019 at 05:27:31AM +0000, Thinh Nguyen wrote:
>Hi Sasha,
>Sasha Levin wrote:
>> From: EJ Hsu <>
>> [ Upstream commit e70b3f5da00119e057b7faa557753fee7f786f17 ]
>> This change is to fix below warning message in following scenario:
>> usb_composite_setup_continue: Unexpected call
>> When system tried to enter suspend, the fsg_disable() will be called to
>> disable fsg driver and send a signal to fsg_main_thread. However, at
>> this point, the fsg_main_thread has already been frozen and can not
>> respond to this signal. So, this signal will be pended until
>> fsg_main_thread wakes up.
>> Once system resumes from suspend, fsg_main_thread will detect a signal
>> pended and do some corresponding action (in handle_exception()). Then,
>> host will send some setup requests (get descriptor, set configuration...)
>> to UDC driver trying to enumerate this device. During the handling of "set
>> configuration" request, it will try to sync up with fsg_main_thread by
>> sending a signal (which is the same as the signal sent by fsg_disable)
>> to it. In a similar manner, once the fsg_main_thread receives this
>> signal, it will call handle_exception() to handle the request.
>> However, if the fsg_main_thread wakes up from suspend a little late and
>> "set configuration" request from Host arrives a little earlier,
>> fsg_main_thread might come across the request from "set configuration"
>> when it handles the signal from fsg_disable(). In this case, it will
>> handle this request as well. So, when fsg_main_thread tries to handle
>> the signal sent from "set configuration" later, there will nothing left
>> to do and warning message "Unexpected call" is printed.
>> Acked-by: Alan Stern <>
>> Signed-off-by: EJ Hsu <>
>> Signed-off-by: Felipe Balbi <>
>> Signed-off-by: Sasha Levin <>
>> ---
>> drivers/usb/gadget/function/f_mass_storage.c | 21 ++++++++++++++------
>> drivers/usb/gadget/function/storage_common.h | 1 +
>> 2 files changed, 16 insertions(+), 6 deletions(-)
>> diff --git a/drivers/usb/gadget/function/f_mass_storage.c b/drivers/usb/gadget/function/f_mass_storage.c
>> index 043f97ad8f22..982c3e89eb0d 100644
>> --- a/drivers/usb/gadget/function/f_mass_storage.c
>> +++ b/drivers/usb/gadget/function/f_mass_storage.c
>This patch may have issue. It was reverted upstream. Please don't queue
>to stable.

I've dropped it, thanks!


 \ /
  Last update: 2019-07-28 17:38    [W:0.085 / U:0.348 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site