Re: 2.6.11-rc4-mm1 - pcmcia weirdness/breakage

From: Valdis . Kletnieks
Date: Tue Mar 01 2005 - 03:58:35 EST


On Mon, 28 Feb 2005 14:48:20 EST, Valdis.Kletnieks@xxxxxx said:

> Symptoms: Running '/etc/init.d/pcmcia start' bombs - cardmgr goes into
> a loop spewing repeated 'Common memory region at 0x0: Generic or SRAM'
> messages. In the dmesg, we find:

> [4294859.369000] cs: unable to map card memory!
> [4294859.369000] cs: unable to map card memory!

I backed the bk-pci.patch out, and it started working again, so the problem is
somewhere in there (progress - we've got it down to one 5,500 patch ;).
Perhaps related, the following compile warnings also went away:

CC [M] drivers/ieee1394/ohci1394.o
drivers/ieee1394/ohci1394.c: In function `ohci_initialize':
drivers/ieee1394/ohci1394.c:589: warning: long unsigned int format, different type arg (arg 7)
drivers/ieee1394/ohci1394.c:589: warning: long unsigned int format, different type arg (arg 8)
drivers/ieee1394/ohci1394.c: In function `ohci1394_pci_probe':
drivers/ieee1394/ohci1394.c:3266: warning: long unsigned int format, different type arg (arg 4)

CC drivers/pci/rom.o
drivers/pci/rom.c: In function `pci_map_rom':
drivers/pci/rom.c:74: warning: cast to pointer from integer of different size
drivers/pci/rom.c: In function `pci_map_rom_copy':
drivers/pci/rom.c:160: warning: cast to pointer from integer of different size
drivers/pci/rom.c:164: warning: cast to pointer from integer of different size
drivers/pci/rom.c: In function `pci_cleanup_rom':
drivers/pci/rom.c:217: warning: cast to pointer from integer of different size

CC [M] drivers/pcmcia/rsrc_nonstatic.o
drivers/pcmcia/rsrc_nonstatic.c: In function `nonstatic_find_io_region':
drivers/pcmcia/rsrc_nonstatic.c:629: warning: passing arg 7 of `pci_bus_alloc_resource' from incompatible pointer type
drivers/pcmcia/rsrc_nonstatic.c:633: warning: passing arg 7 of `allocate_resource' from incompatible pointer type
drivers/pcmcia/rsrc_nonstatic.c: In function `nonstatic_find_mem_region':
drivers/pcmcia/rsrc_nonstatic.c:672: warning: passing arg 7 of `pci_bus_alloc_resource' from incompatible pointer type
drivers/pcmcia/rsrc_nonstatic.c:676: warning: passing arg 7 of `allocate_resource' from incompatible pointer type

I'm suspicious of the warnings for rsrc_nonstatic.o, because we end up in that
exact piece of code just before failing with the 'unable to map card memory'
message. Maybe that arg 7 is causing us to pass a stack that doesn't quite
match what's expected, and thus the bug?


Attachment: pgp00000.pgp
Description: PGP signature