broken pcmcia_bus_match for dynids

Jiri Slaby jirislaby at
Wed Jan 13 07:42:05 EST 2010


stanse found that when PCMCIA_DEV_ID_MATCH_FAKE_CIS is set in
match_flags for a dynid, the pcmcia layer may deadlock.

pcmcia_load_firmware in such case calls non-atomic operations
(request_firmware, kzalloc(GFP_KERNEL)), while dynids.lock spinlock is held.

Any ideas how to solve this? Any idea, why p_drv->dynids.lock is not a
mutex instead?


More information about the linux-pcmcia mailing list