• Longfang Liu's avatar
    USB: ehci: fix an interrupt calltrace error · 643a4df7
    Longfang Liu authored
    The system that use Synopsys USB host controllers goes to suspend
    when using USB audio player. This causes the USB host controller
    continuous send interrupt signal to system, When the number of
    interrupts exceeds 100000, the system will forcibly close the
    interrupts and output a calltrace error.
    
    When the system goes to suspend, the last interrupt is reported to
    the driver. At this time, the system has set the state to suspend.
    This causes the last interrupt to not be processed by the system and
    not clear the interrupt flag. This uncleared interrupt flag constantly
    triggers new interrupt event. This causing the driver to receive more
    than 100,000 interrupts, which causes the system to forcibly close the
    interrupt report and report the calltrace error.
    
    so, when the driver goes to sleep and changes the system state to
    suspend, the interrupt flag needs to be cleared.
    Signed-off-by: default avatarLongfang Liu <liulongfang@huawei.com>
    Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Link: https://lore.kernel.org/r/1610416647-45774-1-git-send-email-liulongfang@huawei.com
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    643a4df7
ehci-hub.c 36.5 KB