usb: gadget: function: u_ether: don't starve tx request queue

[ Upstream commit 6c83f77278 ]

If we don't guarantee that we will always get an
interrupt at least when we're queueing our very last
request, we could fall into situation where we queue
every request with 'no_interrupt' set. This will
cause the link to get stuck.

The behavior above has been triggered with g_ether
and dwc3.

Cc: <stable@vger.kernel.org>
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
This commit is contained in:
Felipe Balbi 2016-10-04 15:14:43 +03:00 • committed by Sasha Levin
commit 27c8728510