• Matthias Kaehlcke's avatar
    ASoC: rt5682: Disable jack detection interrupt during suspend · 8b271370
    Matthias Kaehlcke authored
    The rt5682 driver switches its regmap to cache-only when the
    device suspends and back to regular mode on resume. When the
    jack detect interrupt fires rt5682_irq() schedules the jack
    detect work. This can result in invalid reads from the regmap
    in cache-only mode if the work runs before the device has
    resumed:
    
    [   56.245502] rt5682 9-001a: ASoC: error at soc_component_read_no_lock on rt5682.9-001a for register: [0x000000f0] -16
    
    Disable the jack detection interrupt during suspend and
    re-enable it on resume. The driver already schedules the
    jack detection work on resume, so any state change during
    suspend is still handled.
    
    This is essentially the same as commit f7d00a9b ("SoC:
    rt5682s: Disable jack detection interrupt during suspend")
    for the rt5682s.
    
    Cc: stable@kernel.org
    Signed-off-by: Matthias Kaehlcke <mka@chromium.org
    Reviewed-by: Douglas Anderson <dianders@chromium.org
    Reviewed-by: Stephen Boyd <swboyd@chromium.org
    Link: https://lore.kernel.org/r/20230516164629.1.Ibf79e94b3442eecc0054d2b478779cc512d967fc@changeid
    Signed-off-by: Mark Brown <broonie@kernel.org
    8b271370
rt5682.h 51.8 KB