lkml.org 
[lkml]   [2022]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 0815/1157] phy: rockchip-inno-usb2: Ignore OTG IRQs in host mode
    Date
    From: Samuel Holland <samuel@sholland.org>

    [ Upstream commit fd7d47484125c7d04578de9294faa7fec6e5df0a ]

    When the OTG port is fixed to host mode, the driver does not request its
    IRQs, nor does it enable those IRQs in hardware. Similarly, the driver
    should ignore the OTG port IRQs when handling the shared interrupt.

    Otherwise, it would update the extcon based on an ID pin which may be in
    an undefined state, or try to queue a uninitialized work item.

    Fixes: 6a98df08ccd5 ("phy: rockchip-inno-usb2: Fix muxed interrupt support")
    Reported-by: Frank Wunderlich <frank-w@public-files.de>
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Tested-by: Peter Geis <pgwipeout@gmail.com>
    Tested-by: Frank Wunderlich <frank-w@public-files.de>
    Link: https://lore.kernel.org/r/20220708061434.38115-1-samuel@sholland.org
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
    index 6e44069617df..5223d4c9afdf 100644
    --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
    +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
    @@ -978,7 +978,9 @@ static irqreturn_t rockchip_usb2phy_irq(int irq, void *data)

    switch (rport->port_id) {
    case USB2PHY_PORT_OTG:
    - ret |= rockchip_usb2phy_otg_mux_irq(irq, rport);
    + if (rport->mode != USB_DR_MODE_HOST &&
    + rport->mode != USB_DR_MODE_UNKNOWN)
    + ret |= rockchip_usb2phy_otg_mux_irq(irq, rport);
    break;
    case USB2PHY_PORT_HOST:
    ret |= rockchip_usb2phy_linestate_irq(irq, rport);
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-16 06:44    [W:3.831 / U:1.412 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site