• F
    power: reset: ltc2952: check trigger value before starting timer · c1ada2ff
    Frans Klaver 提交于
    In ltc2952_poweroff_handler it is theoretically possible that the timer
    fails to start on first pass (button press), but succeeds in starting on
    the second (button release). This will cause the button press to be
    misinterpreted, and will incorrectly shut down the system. Because a
    picture says more than a thousand words:
    
    Expected behavior:
    tmr:      ++++++++++
    btn: -----__________-----
    
    Faulty behavior:
    tmr:                +++++
    btn: -----__________-----
    
    Legend:
    + timer runs
    _ button pressed
    - button depressed
    
    To prevent this from happening, check the value of the gpio before
    starting the timer. If the button is active, we should start the timer,
    else we should stop it.
    
    The situation described can now still occur if the polarity of the input
    pin is set incorrectly, but that at least is predictable behavior and
    can be detected during the first tests.
    Signed-off-by: NFrans Klaver <frans.klaver@xsens.com>
    Signed-off-by: NSebastian Reichel <sre@kernel.org>
    c1ada2ff
ltc2952-poweroff.c 8.5 KB