linux/drivers/pcmcia
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
..
au1000_db1x00.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
au1000_generic.c [PATCH] fix u32 vs. pm_message_t in pcmcia 2005-04-16 15:25:26 -07:00
au1000_generic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
au1000_pb1x00.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
au1000_xxs1500.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cardbus.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cirrus.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cistpl.c [PATCH] pcmcia: resource handling fixes 2005-06-27 18:03:21 -07:00
cs.c [PATCH] pcmcia: release_class 2005-06-27 18:03:20 -07:00
cs_internal.h [PATCH] pcmcia: rename some functions 2005-06-27 18:03:19 -07:00
ds.c [PATCH] pcmcia: fix modalias attribute in sysfs 2005-06-30 08:45:08 -07:00
ds_internal.h [PATCH] pcmcia: merge struct pcmcia_bus_socket into struct pcmcia_socket 2005-06-27 18:03:19 -07:00
hd64465_ss.c [PATCH] fix u32 vs. pm_message_t in pcmcia 2005-04-16 15:25:26 -07:00
i82092.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i82092aa.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i82365.c [PATCH] pcmcia: fix i82365 request_region double usage 2005-07-07 18:24:04 -07:00
i82365.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig [PATCH] pcmcia: select crc32 in Kconfig for PCMCIA 2005-06-27 18:03:21 -07:00
m32r_cfc.c [PATCH] m32r: Update m32r_cfc.[ch] to support Mappi-III platform 2005-06-21 19:07:30 -07:00
m32r_cfc.h [PATCH] m32r: Update m32r_cfc.[ch] to support Mappi-III platform 2005-06-21 19:07:30 -07:00
m32r_pcc.c [PATCH] fix u32 vs. pm_message_t in pcmcia 2005-04-16 15:25:26 -07:00
m32r_pcc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile [PATCH] pcmcia: move pcmcia resource handling out of cs.c 2005-06-27 18:03:20 -07:00
o2micro.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pcmcia_compat.c [PATCH] pcmcia: ds.c cleanup 2005-06-27 18:03:20 -07:00
pcmcia_ioctl.c [PATCH] pcmcia: properly handle all errors of register_chrdev 2005-06-27 18:03:22 -07:00
pcmcia_resource.c [PATCH] pcmcia: 8 and 16 bit access for static_map 2005-06-27 18:03:22 -07:00
pd6729.c [PATCH] pcmcia: enable 32-bit memory windows on pd6729 2005-05-05 16:36:43 -07:00
pd6729.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pxa2xx_base.c [PATCH] fix u32 vs. pm_message_t in pcmcia 2005-04-16 15:25:26 -07:00
pxa2xx_base.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pxa2xx_lubbock.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pxa2xx_mainstone.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pxa2xx_sharpsl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ricoh.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rsrc_mgr.c [PATCH] pcmcia: move pcmcia resource handling out of cs.c 2005-06-27 18:03:20 -07:00
rsrc_nonstatic.c [PATCH] ACPI-based PCI resources: PCMCIA bugfix, but resources missing in trees 2005-06-27 18:03:22 -07:00
sa11xx_base.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa11xx_base.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa1100_assabet.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa1100_badge4.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa1100_cerf.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa1100_generic.c [PATCH] fix u32 vs. pm_message_t in pcmcia 2005-04-16 15:25:26 -07:00
sa1100_generic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa1100_h3600.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa1100_jornada720.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa1100_neponset.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa1100_shannon.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa1100_simpad.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sa1111_generic.c [PATCH] fix u32 vs. pm_message_t in pcmcia 2005-04-16 15:25:26 -07:00
sa1111_generic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
soc_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
soc_common.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
socket_sysfs.c [PATCH] pcmcia: rescan bus always upon echoing into setup_done 2005-06-27 18:03:08 -07:00
tcic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tcic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ti113x.h [PATCH] yenta TI: turn off interrupts during card power-on #2 2005-06-23 09:45:31 -07:00
topic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vg468.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vrc4171_card.c [PATCH] fix u32 vs. pm_message_t in pcmcia 2005-04-16 15:25:26 -07:00
vrc4173_cardu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vrc4173_cardu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
yenta_socket.c [PATCH] pci: yenta cardbus fix 2005-06-27 18:03:05 -07:00
yenta_socket.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00