X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fum%2Fdrivers%2Ffd.c;h=33c6c7868ce250c7dd2ddbee1d212fc7506e2ff6;hb=5e3b93f248c98873cc843e83092bb8da92ac85a2;hp=42cba3fe62039a2633273fdccbeb74e3241e01ee;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/arch/um/drivers/fd.c b/arch/um/drivers/fd.c index 42cba3fe6..33c6c7868 100644 --- a/arch/um/drivers/fd.c +++ b/arch/um/drivers/fd.c @@ -7,7 +7,6 @@ #include #include #include -#include #include "user.h" #include "user_util.h" #include "chan_user.h" @@ -46,16 +45,10 @@ void *fd_init(char *str, int device, struct chan_opts *opts) int fd_open(int input, int output, int primary, void *d, char **dev_out) { struct fd_chan *data = d; - int err; if(data->raw && isatty(data->fd)){ - CATCH_EINTR(err = tcgetattr(data->fd, &data->tt)); - if(err) - return(err); - - err = raw(data->fd); - if(err) - return(err); + tcgetattr(data->fd, &data->tt); + raw(data->fd, 0); } sprintf(data->str, "%d", data->fd); *dev_out = data->str; @@ -65,13 +58,9 @@ int fd_open(int input, int output, int primary, void *d, char **dev_out) void fd_close(int fd, void *d) { struct fd_chan *data = d; - int err; if(data->raw && isatty(fd)){ - CATCH_EINTR(err = tcsetattr(fd, TCSAFLUSH, &data->tt)); - if(err) - printk("Failed to restore terminal state - " - "errno = %d\n", -err); + tcsetattr(fd, TCSAFLUSH, &data->tt); data->raw = 0; } }