This would be the reason that my brain was totally fried last night.
this would be an example of the code:Now, the issue is this: If I unregister_my_system then attempt to register_my_system I hang. Sometimes I get an error from the kernel:Code:static void *mmio, *control; int32_t register_my_system(MY_SYSTEM_USER *user) { // request memory region is done at insmod time and _should_not_ be where the problem is. mmio = ioremap(0x080C0000, 0x100); control = mmio + 0x28; iowrite16(6, control); // enables bits 2 and 3 (one of these is an IRQ enable) return 0; } EXPORT_SYMBOL(register_my_system); void unregister_my_system(MY_SYSTEM_USER *user) { iounmap(mmio); control = NULL; mmio = NULL; }but this is the ONLY thing I can get from it. The actual virtual address is 0xCAA6C028 and is that address each time I reboot and register with the driver.Originally Posted by Linux Kernel
So, my question is what could possibly be hanging the system? I have tried absolutely everything I can think of but still cannot figure this one out. Any help would be greatly appreciated.



LinkBack URL
About LinkBacks


