usb: gadget: f_uac2: don't queue new requests when shutting down
authorAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Thu, 15 May 2014 11:43:50 +0000 (13:43 +0200)
committerFelipe Balbi <balbi@ti.com>
Thu, 15 May 2014 15:30:31 +0000 (10:30 -0500)
commit1ade5d7e179170e3cf4780ba578ebb8cc7aa15ef
tree547b295da1c84b8afeb96753d6274ce8c5d83c17
parentf1c7e7108109bfa12ad4544dce5cdcbf3c6f0a0a
usb: gadget: f_uac2: don't queue new requests when shutting down

In some circumstances when g_audio is being unloaded there happens
an endless loop in udc driver. It has happend on a board with
s3c-hsotg. If there are requests in endpoint's queue, they are completed
in a loop. But completing them might cause appending new requests
to the queue. This patch causes agdev_iso_complete() to return immediately
if request's status is -ESHUTDOWN. If it does not return immediately,
then although the current request is removed from the queue, a new one
is appended to the queue, so the above mentioned loop cannot end.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/f_uac2.c