• Yoshihiro Shimoda's avatar
    usb: renesas_usbhs: fix the behavior of some usbhs_pkt_handle · 8355b2b3
    Yoshihiro Shimoda authored
    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: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    8355b2b3
pipe.c 17.2 KB