• Paul Fox's avatar
    x86, olpc: Wait for last byte of EC command to be accepted · a3ea14df
    Paul Fox authored
    When executing EC commands, only waiting when there are still
    more bytes to write is usually fine. However, if the system
    suspends very quickly after a call to olpc_ec_cmd(), the last
    data byte may not yet be transferred to the EC, and the command
    will not complete.
    
    This solves a bug where the SCI wakeup mask was not correctly
    written when going into suspend.
    
    It means that sometimes, on XO-1.5 (but not XO-1), the
    devices that were marked as wakeup sources can't wake up
    the system. e.g. you ask for wifi wakeups, suspend, but then
    incoming wifi frames don't wake up the system as they should.
    Signed-off-by: default avatarPaul Fox <pgf@laptop.org>
    Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
    Acked-by: default avatarAndres Salomon <dilinger@queued.net>
    Cc: <stable@kernel.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    a3ea14df
olpc.c 9.04 KB