|
做了一块PCI卡,接口用的是IPcore,在2.4内核下写的pci驱动测试DMA传输,第一次insmod正常,然后如果rmmod,再次insmod的话,就会dma超时,这时候只有重启才能进行,感觉可能是rmmod出问题了,不知何故,谢谢大家。相关程序如下:
static int __init board_init_module (void)
{
int board_init_result;
#ifdef MODULE
printk(KERN_INFO "%s initial\n", MODULE_NAME);
#endif
board_file = create_proc_entry ( "pcitest", 0666, NULL);
board_init_result=pci_module_init (&board_pci_driver);
printk(KERN_INFO "%d is the init result\n", board_init_result);
return board_init_result;
}
static void __exit board_cleanup_module (void)
{
pci_unregister_driver(&board_pci_driver);
remove_proc_entry ( "pcitest", NULL );
printk(KERN_INFO "%s removed\n", MODULE_NAME);
} |
|