Hello kernel gurus.

I have a char driver module that has been working fine under 2.6.13. It is a PCI card for a Heidenhaim rotational encoder. I am now moving to 2.6.22 and it no longer works. In order to get it to build I changed exactly one line:

I changed this:

rc = pci_module_init(&ik220_driver);

to this:

rc = pci_register_driver(&ik220_driver);

Under 2.6.22 it loads fine but as soon as my app opens /dev/ik200 the kernel crashes without a trace. I added lots of printk statements to see what is going on. The printk statements for pci_driver .probe and .remove show up as expected. But as soon as my application does an open the kernel crashes immediately -- I do not even see the file_operations .open() fops entry getting called.

Any clues would be appreciated.

Thanks in advance,

Elwood, Tucson AZ