--- coredrv/softserial.h.orig 2005-03-23 01:55:22.000000000 +0100 +++ coredrv/softserial.h 2005-03-23 01:55:49.000000000 +0100 @@ -86,7 +86,7 @@ int softserial_open (struct tty_struct*, struct file*); void softserial_put_char (struct tty_struct*, unsigned char); void softserial_set_termios (struct tty_struct*, struct termios*); -int softserial_write (struct tty_struct*, int, const unsigned char*, int); +int softserial_write (struct tty_struct*, const unsigned char*, int); int softserial_ioctl (struct tty_struct*, struct file*, unsigned int, unsigned long); --- coredrv/softserial_io.c.orig 2005-03-23 01:56:46.000000000 +0100 +++ coredrv/softserial_io.c 2005-03-23 01:58:59.000000000 +0100 @@ -55,7 +55,7 @@ //============================================================================= static DECLARE_MUTEX(softserial_write_sem); int softserial_write(struct tty_struct* ptty, - int from_user_space, + //int from_user_space, const unsigned char* input_buffer, int write_count_asked) //why is it a signed int? { @@ -73,7 +73,7 @@ //printk("softserial:softserial_write()\n"); //printk("write: fus%d, count%d\n",from_user_space, write_count_asked); - if(from_user_space) + /*if(from_user_space) { down(&softserial_write_sem); //this may not be enough while(write_count_asked - written_count > 0) @@ -107,7 +107,7 @@ up(&softserial_write_sem); } else //data is from kernel space - { + {*/ while(write_count_asked - written_count > 0) { softcore_space = G.softcore.write_free(); @@ -127,7 +127,7 @@ input_buffer_ptr += copy_size; written_count += copy_size; } - } + //} return(written_count); }