I think I'm beginning to make a lot of confusion. Is the problem that the PCI1510 must NOT be behind a bridge, or the problem is that PCI1510 acts as a bridge, so cardbus cards cannot work?
This is my lspci at start:
00:0c.0 RAID bus controller: Triones Technologies, Inc. HPT371/371N (rev 02)
00:0d.0 Non-VGA unclassified device: Texas Instruments TMS320DM642 (rev 01)
00:12.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller
While this is the situation when I load yenta_socket:
00:0c.0 RAID bus controller: Triones Technologies, Inc. HPT371/371N (rev 02)
00:0d.0 Non-VGA unclassified device: Texas Instruments TMS320DM642 (rev 01)
00:12.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller
01:00.0 Network controller: 3Com Corporation 3com 3CRWE154G72 [Office Connect Wireless LAN Adapter] (rev 01)
So it seems that the 3Com card is behind a bus. Should this work? From what I've understood, it should now work.. In fact my problem is that it seems to work if I try to ping a host, but it fails when I try some serious transfer. In this case, at some point, any readl() on 3Com returns 0xFFFFFFFF. Just to test I've tried a pci_config_read() on the PCI1510 and it fails. The entire boards seems hung. The only thing I can do is to remove the 3Com card.
Thanks!