Бесконечная печать по команде чтения символьного устройства (через команду cat)
Я получаю циклическую печать записанных данных на символьном устройстве при использовании команды cat для чтения из файла устройства. Я новичок в этом, поэтому я, вероятно, делаю это неправильно, был бы признателен за помощь, пытаясь понять это`
static ssize_t device_read( struct file* file,
char __user* buffer,
size_t length,
loff_t* offset )
{
// read doesnt really do anything (for now)
int i;
printk( "Invocing device_read(%p,%d) - "
"operation not supported yet\n"
"(last written - %s)\n",
file, length, the_message );
for(i = 0; i < length && i < BUF_LEN; ++i )
{
put_user(the_message[i],&buffer[i]);
}
return i;
//invalid argument error
return -EINVAL;
}