2.6.13 pci driver does not work on 2.6.22

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

I have a problem with a PCI char driver. I would appreciate any pointers on how to proceed.

Basically, I have a PCI char driver that worked under 2.6.13 and does not work under
2.6.22. The system is a 1.8 GHz Intel SBC (single-board computer) with 2GB RAM. There is
no disk, just a 32 GB Flash drive. I did the original development on an Intel desktop
running 2.6.13. I temporarily connected the IDE disk from that desktop to the SBC and
everything works fine that way so it doesn't appear to be the hardware, although I
suppose it's possible the flash-based configuration might be an issue in some way.
Unfortunately, changing the Flash to use 2.6.22 is not an option for reasons unrelated.

Anyway, insmod loads the module just fine. It is listed by lsmod; "lspci -v" shows the
device addresses and correct module; and its char device, /dev/ik220, is created
correctly. But the first time an app calls open ("/dev/ik220", O_RDWR) the kernel
crashes flat immediately. I put a printk in the open file_operations and it does even
get into the open (or at least there is nothing in /var/log/syslog after a reboot).

Since it loaded OK I figured the probe code was setting up for some future problem. So I
gutted all the probe code and added it back slowly. I found that the open would not
crash until I added the first call to ioremap(). That call itself claims to succeed but
evidently sets up for later disaster.

I actually don't really need an open entry, just ioctl is fine, but I added one with
just a printk to see what would happen. The same thing happens in the ioctl: it never
gets called because the kernel crashes.

I've put a copy of the driver at http://www.clearskyinstitute.com/ik220. Any thoughts
would be appreciated.

Regards,

Elwood Downey, ecdowney@xxxxxxxxxxxxxxxxxxxxx
Tucson, AZ




-- 
Elwood Downey, President/CTO, Clear Sky Institute, Inc.
http://www.clearskyinstitute.com
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux