On Tue, 2 Jul 2019, Thinh Nguyen wrote: > Hi, > > Alan Stern wrote: > > On Fri, 10 May 2019, EJ Hsu wrote: > > > >> 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. > >> > >> Signed-off-by: EJ Hsu <ejh@xxxxxxxxxx> > >> --- > >> v2: remove the copyright info > >> v3: change fsg_unbind() to use FSG_STATE_DISCONNECT > >> --- > This patch causes a failure in USB CV TD 9.13 Set Configuration Test. > Please review and help resolve it. > Apologize for the short report description. I'll try to capture more > info if you cannot reproduce it. Yes, please provide the complete log and information from the failing USB CV test. Alan Stern