OpenCloudOS-Kernel/drivers/mmc/core
Ohad Ben-Cohen 4d0812c37f mmc: sdio: fix nasty oops in mmc_sdio_detect
Power off the card in mmc_sdio_detect __before__ a potential error
handler, which completely removes the card, executes, and only if the
card was successfully powered on beforehand.

While we're at it, use the _sync variant of the runtime PM put API, in
order to ensure that the card is left powered off in case an error
occurred, and the card is going to be removed.

Reproduced and tested on the OLPC XO-1.5.

Reported-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2010-11-19 17:06:52 -05:00
..
Kconfig mmc: add module parameter to set whether cards are assumed removable 2009-12-15 08:53:35 -08:00
Makefile mmc: Makefile: Fix EXTRA_CFLAGS assignment 2010-10-23 21:11:15 +08:00
bus.c mmc: add runtime PM handlers 2010-10-23 21:11:18 +08:00
bus.h mmc: rename dev_to_mmc_card() to mmc_dev_to_card() 2010-10-23 21:11:12 +08:00
core.c mmc: fix rmmod race for hosts using card-detection polling 2010-11-11 18:42:38 -05:00
core.h mmc: propagate power save/restore ops return value 2010-10-23 21:11:17 +08:00
debugfs.c mmc: add a file to debugfs for changing host clock at runtime 2010-10-23 21:11:20 +08:00
host.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
host.h mmc: add 'enable' and 'disable' methods to mmc host 2009-09-23 07:39:33 -07:00
mmc.c mmc: Fix printing of card DDR type 2010-11-07 16:45:08 -05:00
mmc_ops.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mmc_ops.h mmc: add mmc card sleep and awake support 2009-09-23 07:39:33 -07:00
sd.c mmc: propagate power save/restore ops return value 2010-10-23 21:11:17 +08:00
sd.h mmc: split mmc_sd_init_card() 2010-08-11 08:59:02 -07:00
sd_ops.c mmc: add erase, secure erase, trim and secure trim operations 2010-08-12 08:43:30 -07:00
sd_ops.h mmc: add erase, secure erase, trim and secure trim operations 2010-08-12 08:43:30 -07:00
sdio.c mmc: sdio: fix nasty oops in mmc_sdio_detect 2010-11-19 17:06:52 -05:00
sdio_bus.c mmc: sdio: support suspend/resume while runtime suspended 2010-10-23 21:11:19 +08:00
sdio_bus.h mmc: basic SDIO device model 2007-09-23 19:45:31 +02:00
sdio_cis.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sdio_cis.h sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
sdio_io.c sdio: add new function for RAW (Read after Write) operation 2010-05-27 09:12:40 -07:00
sdio_irq.c sdio: give sdio irq thread a host specific name 2008-10-12 11:04:30 +02:00
sdio_ops.c sdio: recognize io card without powercycle 2010-03-12 15:52:28 -08:00
sdio_ops.h sdio: recognize io card without powercycle 2010-03-12 15:52:28 -08:00