lkml.org 
[lkml]   [2020]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 19/31] usb: musb: Disable pullup at init
    Date
    From: Paul Cercueil <paul@crapouillou.net>

    commit 96a0c12843109e5c4d5eb1e09d915fdd0ce31d25 upstream.

    The pullup may be already enabled before the driver is initialized. This
    happens for instance on JZ4740.

    It has to be disabled at init time, as we cannot guarantee that a gadget
    driver will be bound to the UDC.

    Signed-off-by: Paul Cercueil <paul@crapouillou.net>
    Suggested-by: Bin Liu <b-liu@ti.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Bin Liu <b-liu@ti.com>
    Link: https://lore.kernel.org/r/20200107152625.857-3-b-liu@ti.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/usb/musb/musb_core.c | 3 +++
    1 file changed, 3 insertions(+)

    --- a/drivers/usb/musb/musb_core.c
    +++ b/drivers/usb/musb/musb_core.c
    @@ -2317,6 +2317,9 @@ musb_init_controller(struct device *dev,
    musb_platform_disable(musb);
    musb_generic_disable(musb);

    + /* MUSB_POWER_SOFTCONN might be already set, JZ4740 does this. */
    + musb_writeb(musb->mregs, MUSB_POWER, 0);
    +
    /* Init IRQ workqueue before request_irq */
    INIT_DELAYED_WORK(&musb->irq_work, musb_irq_work);
    INIT_DELAYED_WORK(&musb->deassert_reset_work, musb_deassert_reset);

    \
     
     \ /
      Last update: 2020-01-14 11:15    [W:4.104 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site