• Andrey Moiseev's avatar
    Input: i8042 - i8042_flush fix for a full 8042 buffer · 2f0d2604
    Andrey Moiseev authored
    When 8042 internal data buffer is full, the driver
    erroneously decides that the controller is not present.
    
    i8042_flush returns the number of flushed bytes, which is
    in 0 - I8042_BUFFER_SIZE range inclusive. Therefore, i8042_flush
    has no way to indicate an error. Moreover i8042_controller_check
    takes initially full buffer (i8042_flush returned
    I8042_BUFFER_SIZE) as a sign of absence of the controller.
    
    Let's change i8042 to return success/error instead and make sure
    we do not return error prematurely.
    Signed-off-by: default avatarAndrey Moiseev <o2g.org.ru@gmail.com>
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    2f0d2604
i8042.c 33.3 KB