Sample Header Ad - 728x90

Kernel throws error while writing to the character device file in 4.9.82-ti-r102 debian 9.3

2 votes
1 answer
1251 views
I created the device file under /dev folder successfully, but writing to that device file makes kernel to throw following error messages. Message from syslogd@beaglebone at Feb 26 15:40:10 ... kernel:[10090.943733] Internal error: : 1b [#3] PREEMPT SMP ARM Message from syslogd@beaglebone at Feb 26 15:40:10 ... kernel:[10091.049020] Process echo (pid: 3728, stack limit = 0xdc40a218) Message from syslogd@beaglebone at Feb 26 15:40:10 ... kernel:[10091.054880] Stack: (0xdc40be60 to 0xdc40c000) Message from syslogd@beaglebone at Feb 26 15:40:10 ... kernel:[10091.059267] be60: c15491c6 00000022 dc5cb14c bf30430c dc40bedc dc40be88 c075312c c074fe5c Message from syslogd@beaglebone at Feb 26 15:40:10 ... kernel:[10091.067488] be80: c0753018 ffffff04 ffff0a00 c140414c c0d407c8 bf30430c c140414c 40cfbcf3 Message from syslogd@beaglebone at Feb 26 15:40:10 ... kernel:[10091.075709] bea0: 00852878 ffffff04 ffff0a00 00040952 c01a7404 c140414c 00852878 00852878 Segmentation fault I know very basic of Linux Device Drivers Can anyone help me with this issue?? I am attaching the code snippet I'm using for character file writing #include #include #include #include #include #include MODULE_AUTHOR("RUCHA"); MODULE_DESCRIPTION("Character Driver First test"); MODULE_LICENSE("GPL"); MODULE_VERSION("0.0.1"); static int MajorNum; static struct class* RetValOfClassRegistration = NULL; static struct device* RetVal = NULL; static char message; static int openDev(struct inode * , struct file *); static int closeDev(struct inode * , struct file *); static ssize_t readDev(struct file *, char *, size_t, loff_t *); static ssize_t writeDev(struct file *, const char *, size_t, loff_t *); static struct file_operations FileOps = { .owner = THIS_MODULE, .open = openDev, .read = readDev, .write = writeDev, .release = closeDev, }; static int registerCharDev(void){ return register_chrdev(0,"MyDev",&FileOps); } static int __init Loaded(void){ // registering device MajorNum = registerCharDev(); if(MajorNum /dev/MyDev please help me regarding this!
Asked by Desarrollador Rucha (43 rep)
Feb 26, 2020, 12:47 PM
Last activity: Feb 28, 2020, 09:05 AM