• Peter Chen's avatar
    usb: chipidea: udc: fix sleeping function called from invalid context · 7368760d
    Peter Chen authored
    The code calls pm_runtime_get_sync with irq disabled, it causes below
    warning:
    
    BUG: sleeping function called from invalid context at
    wer/runtime.c:1075
    in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid:
    er/u8:1
    CPU: 1 PID: 37 Comm: kworker/u8:1 Not tainted
    20200304-00181-gbebfd2a5be98 #1588
    Hardware name: NVIDIA Tegra SoC (Flattened Device Tree)
    Workqueue: ci_otg ci_otg_work
    [<c010e8bd>] (unwind_backtrace) from [<c010a315>]
    1/0x14)
    [<c010a315>] (show_stack) from [<c0987d29>]
    5/0x94)
    [<c0987d29>] (dump_stack) from [<c013e77f>]
    +0xeb/0x118)
    [<c013e77f>] (___might_sleep) from [<c052fa1d>]
    esume+0x75/0x78)
    [<c052fa1d>] (__pm_runtime_resume) from [<c0627a33>]
    0x23/0x74)
    [<c0627a33>] (ci_udc_pullup) from [<c062fb93>]
    nect+0x2b/0xcc)
    [<c062fb93>] (usb_gadget_connect) from [<c062769d>]
    _connect+0x59/0x104)
    [<c062769d>] (ci_hdrc_gadget_connect) from [<c062778b>]
    ssion+0x43/0x48)
    [<c062778b>] (ci_udc_vbus_session) from [<c062f997>]
    s_connect+0x17/0x9c)
    [<c062f997>] (usb_gadget_vbus_connect) from [<c062634d>]
    bd/0x128)
    [<c062634d>] (ci_otg_work) from [<c0134719>]
    rk+0x149/0x404)
    [<c0134719>] (process_one_work) from [<c0134acb>]
    0xf7/0x3bc)
    [<c0134acb>] (worker_thread) from [<c0139433>]
    x118)
    [<c0139433>] (kthread) from [<c01010bd>]
    (ret_from_fork+0x11/0x34)
    Tested-by: default avatarDmitry Osipenko <digetx@gmail.com>
    Cc: <stable@vger.kernel.org> #v5.5
    Fixes: 72dc8df7 ("usb: chipidea: udc: protect usb interrupt enable")
    Reported-by: default avatarDmitry Osipenko <digetx@gmail.com>
    Signed-off-by: default avatarPeter Chen <peter.chen@nxp.com>
    Link: https://lore.kernel.org/r/20200316031034.17847-2-peter.chen@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    7368760d
udc.c 49.4 KB