Messages in this thread | | | Date | Tue, 28 Jan 2003 20:56:33 -0800 (PST) | From | Dhruv Gami <> | Subject | module programming blues |
| |
Hello Everyone,
I am trying to develop a kernel module that will read some user input (being given to a file) and perform certain flag settings based on the information dumped in the file.
After reading up on the basics of kernel programming etc (im a newbie), i wrote a code that creates a character device, and uses ioctl to read and write from the file kept in user space.
I got sample code from The Linux Kernel Module Programming Guide by Ori Pomerantz. In chapter 5, it talks about talking to character devices.
I am able to compile the code, and insmod my module. The problem is that the function device_open is not being called on accessing it. It calls device_release TWICE, and thus reduces reference count by 2, taking the count in negatives. That way im unable to rmmod this module.
Also, I am not able to figure out how to interact with this module. If i cat something onto it, it goes into an infinite loop echo'ing the file again n again.
If i do "/dev/char_dev < params" where /dev/char_dev is the device i made using mknod(and giving major number returned by my module), it gives an error saying Permission Denied.
Can somebody tell me what i'm doing wrong ? Or give me some pointers to text that can explain how things work in a module. I dont know how control flows within a module once init_module has been called.
Kindly CC replies to dhruvgami@yahoo.com as i am not subscribed to the list.
thanks in advance regards, Gami
__________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |