broken pcmcia_bus_match for dynids

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


Hi,

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?

thanks,
-- 
js



More information about the linux-pcmcia mailing list