a1b274fbe3
Debugging and description from: Noah Misch <noah@cs.caltech.edu> When a driver calls pcmcia_request_irq with IRQ_HANDLE_PRESENT unset, it looks for an open IRQ by request_irq()ing with a dummy handler and NULL dev_info. free_irq uses dev_info as a key for identifying the handler to free among those sharing an IRQ, so request_irq returns -EINVAL if dev_info is NULL and the IRQ may be shared. That unknown error code is the -EINVAL. It looks like only pcnet_cs and axnet_cs are affected. Most other drivers let pcmcia_request_irq install their interrupt handlers. sym53c500_cs requests its IRQ manually, but it cannot share an IRQ. The appended patch changes pcmcia_request_irq to pass an arbitrary, unique, non-NULL dev_info with the dummy handler. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
---|---|---|
.. | ||
au1000_db1x00.c | ||
au1000_generic.c | ||
au1000_generic.h | ||
au1000_pb1x00.c | ||
au1000_xxs1500.c | ||
cardbus.c | ||
cirrus.h | ||
cistpl.c | ||
cs_internal.h | ||
cs.c | ||
ds_internal.h | ||
ds.c | ||
hd64465_ss.c | ||
i82092.c | ||
i82092aa.h | ||
i82365.c | ||
i82365.h | ||
Kconfig | ||
m32r_cfc.c | ||
m32r_cfc.h | ||
m32r_pcc.c | ||
m32r_pcc.h | ||
Makefile | ||
o2micro.h | ||
pcmcia_compat.c | ||
pcmcia_ioctl.c | ||
pcmcia_resource.c | ||
pd6729.c | ||
pd6729.h | ||
pxa2xx_base.c | ||
pxa2xx_base.h | ||
pxa2xx_lubbock.c | ||
pxa2xx_mainstone.c | ||
pxa2xx_sharpsl.c | ||
ricoh.h | ||
rsrc_mgr.c | ||
rsrc_nonstatic.c | ||
sa11xx_base.c | ||
sa11xx_base.h | ||
sa1100_assabet.c | ||
sa1100_badge4.c | ||
sa1100_cerf.c | ||
sa1100_generic.c | ||
sa1100_generic.h | ||
sa1100_h3600.c | ||
sa1100_jornada720.c | ||
sa1100_neponset.c | ||
sa1100_shannon.c | ||
sa1100_simpad.c | ||
sa1111_generic.c | ||
sa1111_generic.h | ||
soc_common.c | ||
soc_common.h | ||
socket_sysfs.c | ||
tcic.c | ||
tcic.h | ||
ti113x.h | ||
topic.h | ||
vg468.h | ||
vrc4171_card.c | ||
vrc4173_cardu.c | ||
vrc4173_cardu.h | ||
yenta_socket.c | ||
yenta_socket.h |