android_kernel_xiaomi_sm7250/drivers
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
..
acorn
acpi [PATCH] acpi: Don't call acpi_sleep_prepare from acpi_power_off 2005-07-26 14:35:45 -07:00
atm
base
block [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
bluetooth
cdrom [PATCH] Update CREDITS entry and listings in source files for Jesper Juhl 2005-07-27 16:26:20 -07:00
char [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
cpufreq
crypto
dio
eisa
fc4
firmware
hwmon
i2c [PATCH] I2C-MPC: Restore code removed 2005-07-27 16:25:47 -07:00
ide [PATCH] pcmcia: fix many device IDs 2005-07-28 08:39:00 -07:00
ieee1394 [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
infiniband [IB/ucm]: Clean up userspace CM 2005-07-27 20:38:56 -07:00
input
isdn [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
macintosh [PATCH] ppc64: hide CONFIG_ADB 2005-07-27 16:25:57 -07:00
mca
md [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
media [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
message Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6 2005-07-26 13:28:47 -07:00
misc
mmc [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
mtd [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
net [PATCH] pcmcia: fix many device IDs 2005-07-28 08:39:00 -07:00
nubus
oprofile [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
parisc
parport
pci
pcmcia [PATCH] pcmcia: fix sharing IRQs and request_irq without IRQ_HANDLE_PRESENT 2005-07-28 08:39:01 -07:00
pnp [PATCH] drivers/pnp/pnpbios/rsparser.c: fix compile error with PCI=n 2005-07-27 16:25:50 -07:00
s390 [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
sbus
scsi [PATCH] More qla2xxx configuration fixes 2005-07-27 22:31:35 -07:00
serial [PATCH] pcmcia: fix many device IDs 2005-07-28 08:39:00 -07:00
sh
sn
tc
telephony
usb [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
video [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
w1
zorro
Kconfig
Makefile