USB: gadget: diag: Ratelimit ep request queuing failure messages

USB diag gadget driver prints an error message and return error code
when ep request queue is failed.  Diag char driver drops this packet
but does not stop queuing further.  This results a flood of log messages
on serial console.  The target eventually crash due to watchdog timeout.

(cherry picked from commit ac3aa91a5a73df0d3bb5577ee4efc3c75958ef86)
CRs-fixed: 422601

Change-Id: I2e7be3b7aa5469a2abe8daa220ba27c010bee2a1
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
USB: gadget: diag: Take spin lock while freeing requests

Freeing USB requests and retiring pending requests can happen in
parallel.  Take spin lock while freeing requests to prevent list
corruption.  Ensure all stale requests are freed before allocating
new requests upon next cable connection.

CRs-Fixed: 436769
(cherry picked from commit eb1ed0ec838f616677918974fa667ee0752e5bf3)

Change-Id: I162bfd72da7a205e80caf9ae53db12f0eb335388
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>