• Anton Ivanov's avatar
    um: tty: Fix handling of close in tty lines · 9b1c0c0e
    Anton Ivanov authored
    Fix a logical error in tty reading. We get 0 and errno == EAGAIN
    on the first attempt to read from a closed file descriptor.
    
    Compared to that a true EAGAIN is EAGAIN and -1.
    
    If we check errno for EAGAIN first, before checking the return
    value we miss the fact that the descriptor is closed.
    
    This bug is as old as the driver. It was not showing up with
    the original POLL based IRQ controller, because it was
    producing multiple events. Switching to EPOLL unmasked it.
    
    Fixes: ff6a1798 ("Epoll based IRQ controller")
    Signed-off-by: default avatarAnton Ivanov <anton.ivanov@cambridgegreys.com>
    Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
    9b1c0c0e
chan_user.c 6.96 KB