I was thinking that it could be due to the pci changes - that's one of
the areas I've been working in recently which could have caused this.
However, I believe it is to do with the recent PCMCIA changes to use
the device model, and deadlock within the device model itself.
What basically seems to be happening is this:
- the ds module is inserted
- ds registers a driver model interface for pcmcia socket drivers,
which takes the global devclass_sem.
- ds causes the pcmcia core to evaluate the status of the sockets, and
perform "card insertion" processing if cards are present.
- this processing detects a cardbus card, and calls the cardbus code to
scan pci devices, and add them to the device tree.
- each device gets passed to the device model's class layer, which tries
to take devclass_sem. But wait! We've locked it while initialising
the ds module -> deadlock.
I'm currently working on the card insertion/removal code which hopefully
should fix this. However, it's not going to be immediately available,
so please be patient.
-- Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/