<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi,<br>

<br>

&nbsp;The following program hangs the kernel, when the insmod on it, is run. Can any one provide ideas why :<br>

<br>

#include &lt;linux/module.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // for init_module()<br>

#include &lt;linux/proc_fs.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // for create_proc_info_entry()<br>

#include &lt;asm/io.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // for inb(), outb()<br>

<br>

int my_func( char *buf, char **start, off_t off, int count, int *eof, void *data )<br>

{<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br>

}<br>

<br>

char modname[] = "cmos";<br>

static int __init my_init( void )<br>

{<br>

<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct proc_dir_entry *pde, *tmp;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tmp = kmalloc(sizeof(struct proc_dir_entry), GFP_KERNEL);<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pde= create_proc_entry(modname, S_IFDIR | S_IRUGO | S_IXUGO , tmp);<br>

<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pde-&gt;nlink = 1;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pde-&gt;read_proc = my_func;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(pde)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printk("proc_create sucessfull name = %s\n", pde-&gt;name);<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printk("proc_create not so sucessfull. Exiting........... \n");<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br>

}<br>

<br>

static void __exit my_exit(void )<br>

{<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; remove_proc_entry( modname, NULL );<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printk("Exiting ................\n");<br>

}<br>

<br>

module_init( my_init );<br>

module_exit( my_exit );<br>

MODULE_LICENSE("GPL");<br>

<br>

Thanks,<br>

Giriprasad<br>

<br>
</td></tr></table><br>