I am writing a device driver for my pci card to do dma transfer. I
allocated memory using dma_alloc_coherent and from then on it gave me
the following problem.
When I try to load the driver using
/sbin/insmod ./pci_skel.ko
I get Segmentation fault and following kernel messages.


<1>Unable to handle kernel paging request at virtual address fffffff9
<1> printing eip:
<4>f88fe0e0
<1>*pde = 00002067
<1>Oops: 0002 [#1]
<4>Modules linked in: pci_skel snd_mixer_oss snd_intel8x0
snd_ac97_codec snd_pcm snd_timer snd snd_page_alloc soundcore
cisco_ipsec parport_pc lp parport autofs4 sunrpc sis900 mii sg
microcode dm_mod ohci_hcd ehci_hcd video button battery ac radeon ipv6
ext3 jbd sata_sis libata sd_mod scsi_mod
<4>CPU: 0
<4>EIP: 0060:[] Tainted: P VLI
<4>EFLAGS: 00210246 (2.6.13my_kernel)
<4>EIP is at probe+0x78/0x180 [pci_skel]
<4>eax: f89ee000 ebx: ece9a400 ecx: 28d32000 edx: f89ee000
<4>esi: c18fb400 edi: ffffffed ebp: c03275a0 esp: e8d65f10
<4>ds: 007b es: 007b ss: 0068
<4>Process insmod (pid: 3359, threadinfo=e8d64000 task=ee52ba40)
<4>Stack: f88fe9a0 c18fb400 f88fe9e0 ffffffed c03275a0 c01b0f71
f88fe9e0 c18fb400
<4> 00000000 c01b0f9e f88fea0c c18fb444 c0214f6f c18fb444
f88fea0c f88fea0c
<4> c0215075 00000000 e8d65f60 c0214875 c0327688 c0327688
c18fb484 f88fea20
<4>Call Trace:
<4> [] __pci_device_probe+0x35/0x44
<4> [] pci_device_probe+0x1e/0x38
<4> [] driver_probe_device+0x27/0x80
<4> [] __driver_attach+0x45/0x48
<4> [] bus_for_each_dev+0x49/0x60
<4> [] driver_attach+0x11/0x14
<4> [] __driver_attach+0x0/0x48
<4> [] bus_add_driver+0x57/0x94
<4> [] pci_register_driver+0x62/0x74
<4> [] pci_skel_init+0xa/0x23 [pci_skel]
<4> [] sys_init_module+0x12e/0x1bc
<4> [] sysenter_past_esp+0x54/0x75
<4>Code: af 81 c7 89 d8 e8 a1 d2 97 c7 85 c0 5a 0f 85 f0 00 00 00 89 9e
04 01 00 00 8b 86 80 01 00 00 31 c9 ba 00 10 00 00 e8 9c 6a 81 c7 <89>
47 0c 8b 86 9c 01 00 00 8d ab 20 02 00 00 89 04 24 89 df 89
<4>

Tanks,
Nitesh