usb: renesas_usbhs: fix the behavior of some usbhs_pkt_handle
Some gadget drivers will call usb_ep_queue() more than once before
the first queue doesn't finish. However, this driver didn't handle
it correctly. So, this patch fixes the behavior of some
usbhs_pkt_handle using the "running" flag. Otherwise, the oops below
happens if we use g_ncm driver and when the "iperf -u -c host -b 200M"
is running.
Unable to handle kernel NULL pointer dereference at virtual address
00000000
pgd =
c0004000
[
00000000] *pgd=
00000000
Internal error: Oops:
80000007 [#1] SMP ARM
Modules linked in: usb_f_ncm g_ncm libcomposite u_ether
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W
3.17.0-rc1-00008-g8b2be8a-dirty #20
task:
c051c7e0 ti:
c0512000 task.ti:
c0512000
PC is at 0x0
LR is at usbhsf_pkt_handler+0xa8/0x114
pc : [<
00000000>] lr : [<
c0278fb4>] psr:
60000193
sp :
c0513ce8 ip :
c0513c58 fp :
c0513d24
r10:
00000001 r9 :
00000193 r8 :
eebec4a0
r7 :
eebec410 r6 :
eebe0c6c r5 :
00000000 r4 :
ee4a2774
r3 :
00000000 r2 :
ee251e00 r1 :
c0513cf4 r0 :
ee4a2774
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>