OSDN Git Service

usb: gadget: gsi: Fix incorrect repsonse available notifications
authorSriharsha Allenki <sallenki@codeaurora.org>
Mon, 3 Apr 2017 09:14:45 +0000 (14:44 +0530)
committerMayank Rana <mrana@codeaurora.org>
Wed, 5 Apr 2017 16:23:51 +0000 (09:23 -0700)
commit343476df3e951611f32622695a5e38f5ed535976
tree4807fb972d8864bd8c12ddb24d26b12d748524f4
parent26db194916bdb891d9b2865d38cbe8068760d8ce
usb: gadget: gsi: Fix incorrect repsonse available notifications

Two notify requests are being queued for one available modem
response. So for the first GET_ENCAPSULATED_RESPONSE we provide
the host with the available response. Now for the next
GET_ENCAPSULATED_COMMAND we notify the host that the response is
available even before the modem is ready with a response because
of the extra notify request queued on the interrupt endpoint.
This causes a STALL for the next GET_ENCAPSULATED_RESPONSE request.
This is caused because we are queueing a notify request from the
completion handler of the interrupt endpoint request when the
response queue is not empty.
Fix this by queuing a notify request when a new response is
available only after the current resposne is send to the Host.

Change-Id: If84bc315f2be910503328cc6b0e21be342c6eb37
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
drivers/usb/gadget/function/f_gsi.c