Lines 55-61
Link Here
|
55 |
//============================================================================= |
55 |
//============================================================================= |
56 |
static DECLARE_MUTEX(softserial_write_sem); |
56 |
static DECLARE_MUTEX(softserial_write_sem); |
57 |
int softserial_write(struct tty_struct* ptty, |
57 |
int softserial_write(struct tty_struct* ptty, |
58 |
int from_user_space, |
58 |
//int from_user_space, |
59 |
const unsigned char* input_buffer, |
59 |
const unsigned char* input_buffer, |
60 |
int write_count_asked) //why is it a signed int? |
60 |
int write_count_asked) //why is it a signed int? |
61 |
{ |
61 |
{ |
Lines 73-79
Link Here
|
73 |
//printk("softserial:softserial_write()\n"); |
73 |
//printk("softserial:softserial_write()\n"); |
74 |
//printk("write: fus%d, count%d\n",from_user_space, write_count_asked); |
74 |
//printk("write: fus%d, count%d\n",from_user_space, write_count_asked); |
75 |
|
75 |
|
76 |
if(from_user_space) |
76 |
/*if(from_user_space) |
77 |
{ |
77 |
{ |
78 |
down(&softserial_write_sem); //this may not be enough |
78 |
down(&softserial_write_sem); //this may not be enough |
79 |
while(write_count_asked - written_count > 0) |
79 |
while(write_count_asked - written_count > 0) |
Lines 107-113
Link Here
|
107 |
up(&softserial_write_sem); |
107 |
up(&softserial_write_sem); |
108 |
} |
108 |
} |
109 |
else //data is from kernel space |
109 |
else //data is from kernel space |
110 |
{ |
110 |
{*/ |
111 |
while(write_count_asked - written_count > 0) |
111 |
while(write_count_asked - written_count > 0) |
112 |
{ |
112 |
{ |
113 |
softcore_space = G.softcore.write_free(); |
113 |
softcore_space = G.softcore.write_free(); |
Lines 127-133
Link Here
|
127 |
input_buffer_ptr += copy_size; |
127 |
input_buffer_ptr += copy_size; |
128 |
written_count += copy_size; |
128 |
written_count += copy_size; |
129 |
} |
129 |
} |
130 |
} |
130 |
//} |
131 |
|
131 |
|
132 |
return(written_count); |
132 |
return(written_count); |
133 |
} |
133 |
} |