I think I found the root-cause.

It seems that a thread fell into an infinite-loop in pci_lcap_locate().
pci_lcap_locate() tries to find a specified capability in PCI configuration
space. It gets the pointer to the capabity list from PCI_CONF_CAP_PTR
register atoffset 0x34. But for Cardbus bridges it is incorrect. Reading
datasheets of cardbus bridge products, the right register for the capability
pointer is at offset  0x14 in PCI configuration space, I think.

-masa
 
 
This message posted from opensolaris.org

Reply via email to