• Stephen Boyd's avatar
    tty: hvc_dcc: Fix duplicate character inputs · 5a25cbde
    Stephen Boyd authored
    commit c2a3e84f upstream.
    
    Reading from the DCC grabs a character from the buffer and
    clears the status bit. Since this is a context-changing
    operation, instructions following the character read that rely on
    the status bit being accurate need to be synchronized with an
    ISB.
    
    In this case, the status bit check needs to execute after the
    character read otherwise we run the risk of reading the character
    and checking the status bit before the read can clear the status
    bit in the first place. When this happens, the user will see the
    same character they typed twice, instead of once.
    
    Add an ISB after the read and the write, so that the status check
    is synchronized with the read/write operations.
    Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    5a25cbde
hvc_dcc.c 2.29 KB