That's great! :)
I made changees as you mentioned in kernel.c for using kmalloc intead vmalloc and now loading modules is working.
But this situation is really really strange. I used insmod while I was programming my module for custom hardware in FPGA in two last weeks. I loaded modules via NFS. Everything was ok... When my driver was finished I changed to put it into the kernel and I didn't use dynamic loading. And sometime ago I tried load the driver again and it was not working... I didn't know what was going on. But now when I made changes as you Kazu said it comes back to work... But befere it wokrs with vmalloc I think..