kernel-ark/drivers/pcmcia
Dominik Brodowski a1b274fbe3 [PATCH] pcmcia: fix sharing IRQs and request_irq without IRQ_HANDLE_PRESENT
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>
2005-07-28 08:39:01 -07:00
..
au1000_db1x00.c
au1000_generic.c [PATCH] pcmcia: update au1000 to work with recent changes 2005-07-28 08:39:00 -07:00
au1000_generic.h [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
au1000_pb1x00.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
au1000_xxs1500.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
cardbus.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
cirrus.h
cistpl.c [PATCH] pcmcia: avoid duble iounmap of one address 2005-07-28 08:39:00 -07:00
cs_internal.h [PATCH] pcmcia: remove client_t usage 2005-07-07 18:24:06 -07:00
cs.c [PATCH] yenta: no CardBus if IRQ fails 2005-07-07 18:24:07 -07:00
ds_internal.h
ds.c [PATCH] pcmcia: fix comment 2005-07-28 08:38:59 -07:00
hd64465_ss.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
i82092.c
i82092aa.h
i82365.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
i82365.h
Kconfig [PATCH] yenta: don't depend on CardBus 2005-07-07 18:24:07 -07:00
m32r_cfc.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
m32r_cfc.h
m32r_pcc.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
m32r_pcc.h
Makefile
o2micro.h
pcmcia_compat.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
pcmcia_ioctl.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
pcmcia_resource.c [PATCH] pcmcia: fix sharing IRQs and request_irq without IRQ_HANDLE_PRESENT 2005-07-28 08:39:01 -07:00
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 [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
sa1100_generic.h
sa1100_h3600.c
sa1100_jornada720.c [PATCH] ARM: 2830/1: Fix Jornada 720 PCMCIA-support 2005-07-26 19:21:47 +01:00
sa1100_neponset.c
sa1100_shannon.c
sa1100_simpad.c
sa1111_generic.c
sa1111_generic.h
soc_common.c
soc_common.h [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
socket_sysfs.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
tcic.c [PATCH] pcmcia: remove references to pcmcia/version.h 2005-07-07 18:24:07 -07:00
tcic.h
ti113x.h [PATCH] yenta: don't depend on CardBus 2005-07-07 18:24:07 -07:00
topic.h
vg468.h
vrc4171_card.c
vrc4173_cardu.c
vrc4173_cardu.h
yenta_socket.c Merge master.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-2.6 2005-07-12 16:04:50 -07:00
yenta_socket.h