Re: 2.6.13 pci driver does not work on 2.6.22

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

 



It was (re)compiled on 2.6.22.


On Fri, July 10, 2009 2:06 pm, Matthew Wilcox said:
> On Fri, Jul 10, 2009 at 12:30:51PM -0700, Elwood C. Downey wrote:
>> 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.
>
> OK, so basically you're crazy.  2.6.13 was released on August 28, 2005 and
> 2.6.22 was released on July 8th 2007.  You're posting to a development
> mailing list about kernels that dropped off the 'we care' list about 21
> months ago.  It would be slightly easier to take you seriously if you
> were at least trying to update to a kernel from this year.
>
> Who is forcing you to use such antiquated kernels?  You should be seeking
> support from them, not us.
>
>> 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.
>
> So ... you compiled this module against 2.6.13, then tried to load it
> on a machine running 2.6.22?  Has your vendor deliberately disabled all
> the safety features we put in to stop you doing something this crazy?
> Basically, every data structure in the Linux kernel is subject to change.
> You have to compile your module against the kernel you're loading it into.
>
>> 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.
>
> Thanks for posting that; it looks like a fairly standard crappy driver.
> Greg, want to pick that one up for staging?
>


-- 
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