On 1.04.2019 13:54, Radoslav Gerganov wrote:
commit 072684e8c58d17e853f8e8b9f6d9ce2e58d2b036 upstream.
In f_hidg_write() the write_spinlock is acquired before calling usb_ep_queue() which causes a deadlock when dummy_hcd is being used. This is because dummy_queue() callbacks into f_hidg_req_complete() which tries to acquire the same spinlock. This is (part of) the backtrace when the deadlock occurs:
This is the backport of commit 072684e8c to the stable 4.9 branch. I missed to point that in the subject line, sorry.
Thanks, Rado