]> git.karo-electronics.de Git - linux-beck.git/commit
usb: dwc3: gadget: don't rely on jiffies while holding spinlock
authorNicolas Saenz Julienne <nicolassaenzj@gmeil.com>
Tue, 16 Aug 2016 09:22:38 +0000 (10:22 +0100)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Mon, 22 Aug 2016 07:45:13 +0000 (10:45 +0300)
commitd6011f6fc21b4d4ab1586f01c4f62becaa0a28d7
tree26cd4cb81813fa12e4d55f39e9e9e3b49268827b
parentf4693b08cc901912a87369c46537b94ed4084ea0
usb: dwc3: gadget: don't rely on jiffies while holding spinlock

__dwc3_gadget_wakeup() is called while holding a spinlock, then depends on
jiffies in order to timeout while polling the USB core for a link state
update. In the case the wakeup failed, the timeout will never happen and
will also cause the cpu to stall until rcu_preempt kicks in.

This switches to a "decrement variable and wait" timeout scheme.

Signed-off-by: Nicolas Saenz Julienne <nicolassaenzj@gmail.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/gadget.c