android_kernel_xiaomi_sm8350/drivers
Ian Campbell 69a4d56bae [PATCH] pcmcia: fix i82365 request_region double usage
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f354942cb301fed273f423fb5c4f57bde3efc5b2
converted the check_region() calls in drivers/pcmcia/i82365.c into
request_regions.  Unfortunately this seems to have broken things.

isa_probe() used to call check_region() and then call add_pcic() which would
request_region().

Now isa_probe() calls request_region() and then calls add_pcic() which calls
request_region() again, this fails and add_pcic() returns immediately without
doing all the setup etc.

On the face of it the patch below fixes the problem, by not doing the second
request region in add_pcic().  I think this is preferable to remove the call
in isa_probe() since identify() touches the I/O regions and is called before
add_pcic().

However I haven't fully grokked the meaning of the code which follows the
request_region() in isa_probe(), so I'm not sure that the handling WRT
multiple sockets and multiple bridge chips is correct.  In particular I'm not
convinced that the regions for subsequent sockets and/or bridges will be
requested at all.  I suspect a more thorough reworking by someone who
understands what is going on there might be in order.

I should mention that I'm actually messing about with this on an ARM platform
with wacky memory and i/o mapping offsets etc, it doesn't quite work yet for
other reasons which preclude full testing etc, but I think the problem above
is still present for more normal x86 stuff.

Signed-off-by: Ian Campbell <icampbell@arcom.com>
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-07 18:24:04 -07:00
..
acorn
acpi If ACPI doesn't find an irq listed, don't accept 0 as a valid PCI irq. 2005-07-02 10:35:33 -07:00
atm
base [PATCH] Driver core: Use klist_del() instead of klist_remove(). 2005-06-29 22:48:05 -07:00
block [PATCH] Fix get_request nastiness 2005-06-29 08:46:30 -07:00
bluetooth [PATCH] pcmcia: id_table for dtl1_cs.c 2005-06-27 18:03:15 -07:00
cdrom
char [PATCH] mostly_read data section 2005-07-07 18:23:46 -07:00
cpufreq [PATCH] pm: fix u32 vs. pm_message_t confusion in cpufreq 2005-07-07 18:23:43 -07:00
crypto [CRYPTO] Update IV correctly for Padlock CBC encryption 2005-07-06 13:54:09 -07:00
dio
eisa
fc4
firmware [IA64-SGI] pcdp: add PCDP pci interface support 2005-06-28 09:09:06 -07:00
i2c [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
ide [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
ieee1394 ieee1394: fix broken signed char assumption. 2005-07-06 13:05:50 -07:00
infiniband [PATCH] IB uverbs: add mthca user QP support 2005-07-07 18:23:50 -07:00
input [PATCH] x86: i8253/i8259A lock cleanup 2005-06-30 08:45:10 -07:00
isdn [PATCH] drivers/isdn/: make some code static 2005-06-28 21:20:31 -07:00
macintosh [PATCH] openfirmware: implement hotplug for macio devices 2005-07-06 12:55:20 -07:00
mca
md [PATCH] md: bio leak fix 2005-06-28 14:53:41 -07:00
media [PATCH] v4l: LGDT3302 read status fix 2005-07-07 18:24:04 -07:00
message [PATCH] pm: more u32 vs. pm_message_t fixes 2005-07-07 18:23:43 -07:00
misc
mmc [PATCH] MMC: wbsd cleanups 2005-07-01 13:07:37 +01:00
mtd [PATCH] ARM: 2780/1: AFS partition length calculation fix 2005-06-30 23:01:09 +01:00
net [PATCH] pm: more u32 vs. pm_message_t fixes 2005-07-07 18:23:43 -07:00
nubus
oprofile
parisc [PATCH] acpi bridge hotadd: ACPI based root bridge hot-add 2005-06-27 21:52:39 -07:00
parport [PATCH] PCI: clean up dynamic pci id logic 2005-07-01 13:35:50 -07:00
pci [PATCH] pm: more u32 vs. pm_message_t fixes 2005-07-07 18:23:43 -07:00
pcmcia [PATCH] pcmcia: fix i82365 request_region double usage 2005-07-07 18:24:04 -07:00
pnp
s390
sbus [SPARC]: bpp: remove sleep_on usage 2005-07-04 13:24:14 -07:00
scsi [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
serial [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
sh
sn
tc
telephony [PATCH] pcmcia: id_table for ixj_pcmcia.c 2005-06-27 18:03:16 -07:00
usb [PATCH] pcmcia id_table for sl811.cs 2005-06-27 18:03:17 -07:00
video [PATCH] coverity: fix fbsysfs null pointer check 2005-07-07 18:23:47 -07:00
w1
zorro
Kconfig
Makefile