Hello! I'm writing kernel module for embedded system working on Linux kernel 2.4.xx. CPU on the device is ARM926ejs. Communication with device - serial port (COM). Here is a code fragment: if( sock->ops && sock->ops->ioctl ) { old_fs = get_fs(); printk( KERN_ALERT "aaa\n" ); set_fs( KERNEL_DS ); printk( KERN_ALERT "bbb\n" ); retval = sock->ops->ioctl( ... ); set_fs( old_fs ); ... } Module loads perfectly and works until the function "set_fs(KERNEL_DS)" is called. In HyperTerminal i see message "aaa", but cannot see "bbb". The behavior of device is strange: no kernel_panic, no error messages, nothing, it "dies" silently and absolutely till power switching. I suppose that the problem dialed with domain switching but cannot see where is error. I tried to write local_irq_disable()/local_irq_enable() around set_fs() - no effect. Does anybody know how to fix problem? P.S. On x86 processors module works.
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.