USB: msm_gadget: Implement timer based solution to check priming status

Endpoint is not getting primed some times though dQH is setup properly.
The current code waits in a busy loop to determine if re-priming is
required.  This leads to high CPU usage.  As the occurrence of this issue
is very rare, use a timer to determine if priming is required.  The timer
is deleted whenever a dTD on that endpoint is retired.  So the timer
hardly expires.  Add a debugfs file to show how many times prime failure
happened.

CRs-Fixed: 298265
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
1 file changed