Wolfgang Muees
d08ebeddfb
mmc_spi: fail gracefully if host or card do not support the switch command
...
Some time ago, I have send a patch to the mmc_spi subsystem changing the
error codes. This was after a discussion with Pierre about using EINVAL
only for non-recoverable errors. This patch was accepted as
http://git.kernel.org/linus/fdd858db7113ca64132de390188d7ca00701013d
Unfortunately, several weeks later, I realized that this patch has opened
a little can of worms because there are SD cards on the market which
a) claim that they support the switch command
AND
b) refuse to execute this command if operating in SPI mode.
So, such a card would get unusuable in an embedded linux system in SPI
mode, because the init sequence terminates with an error.
This patch adds the missing error codes to the caller of the switch
command and restores the old behaviour to fail gracefully if these
commands can not execute.
Signed-off-by: Wolfgang Muees <wolfgang.mues@auerswald.de>
Cc: <linux-mmc@vger.kernel.org>
Cc: <stable@kernel.org> [2.6.31.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-09-23 07:39:37 -07:00
..
accessibility
acpi
x86: Trivial whitespace cleanups
2009-09-20 20:18:57 +02:00
amba
ata
trivial: fix comment typo in drivers/ata/pata_hpt37x.c
2009-09-21 15:15:53 +02:00
atm
auxdisplay
base
mm: oom analysis: add shmem vmstat
2009-09-22 07:17:27 -07:00
block
seq_file: constify seq_operations
2009-09-23 07:39:29 -07:00
bluetooth
cdrom
const: make block_device_operations const
2009-09-22 07:17:25 -07:00
char
BUILD_BUG_ON(): fix it and a couple of bogus uses of it
2009-09-23 07:39:29 -07:00
clocksource
connector
proc connector: add event for process becoming session leader
2009-09-23 07:39:29 -07:00
cpufreq
cpuidle
cpuidle: menu governor: reduce latency on exit
2009-09-22 07:17:45 -07:00
crypto
dca
dio
dma
edac
trivial: fix typo "for for" in multiple files
2009-09-21 15:14:54 +02:00
eisa
firewire
firmware
mm: don't use alloc_bootmem_low() where not strictly needed
2009-09-22 07:17:38 -07:00
gpio
trivial: add __init/__exit macros in drivers/gpio/bt8xxgpio.c
2009-09-21 15:14:59 +02:00
gpu
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
hid
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2009-09-22 07:51:28 -07:00
hwmon
dme1737: Keep index within pwm_config[]
2009-09-23 07:39:28 -07:00
i2c
[PATCH] i2c-imx: make bus available early
2009-09-19 23:36:56 +01:00
ide
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
idle
ieee1394
ieee802154
infiniband
trivial: fix typo "for for" in multiple files
2009-09-21 15:14:54 +02:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
isdn
seq_file: constify seq_operations
2009-09-23 07:39:29 -07:00
leds
lguest
trivial: fix typo "to to" in multiple files
2009-09-21 15:14:55 +02:00
macintosh
trivial: remove unnecessary semicolons
2009-09-21 15:14:58 +02:00
mca
md
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
media
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
memstick
const: make block_device_operations const
2009-09-22 07:17:25 -07:00
message
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
mfd
drivers/mfd/ab3100-core.c: fix powerpc build error
2009-09-22 07:17:24 -07:00
misc
kprobes: use do_IRQ() in lkdtm
2009-09-23 07:39:27 -07:00
mmc
mmc_spi: fail gracefully if host or card do not support the switch command
2009-09-23 07:39:37 -07:00
mtd
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
net
BUILD_BUG_ON(): fix it and a couple of bogus uses of it
2009-09-23 07:39:29 -07:00
nubus
of
oprofile
const: mark remaining super_operations const
2009-09-22 07:17:24 -07:00
parisc
mm: replace various uses of num_physpages by totalram_pages
2009-09-22 07:17:38 -07:00
parport
pci
pcmcia
pcmcia: cleanup/fixup patch for sa1100_jornada_pcmcia driver
2009-09-22 07:17:42 -07:00
platform
pnp
pnp: add a shutdown method to pnp drivers
2009-09-22 07:17:49 -07:00
power
pps
ps3
rapidio
regulator
rtc
trivial: remove unnecessary semicolons
2009-09-21 15:14:58 +02:00
s390
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
sbus
const: make block_device_operations const
2009-09-22 07:17:25 -07:00
scsi
seq_file: constify seq_operations
2009-09-23 07:39:29 -07:00
serial
uartlite: support shared interrupt lines
2009-09-19 13:13:38 -07:00
sh
sn
spi
trivial: remove unnecessary semicolons
2009-09-21 15:14:58 +02:00
ssb
staging
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
tc
telephony
thermal
uio
usb
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
uwb
trivial: remove unnecessary semicolons
2009-09-21 15:14:58 +02:00
video
trivial: remove unnecessary semicolons
2009-09-21 15:14:58 +02:00
virtio
vlynq
vlynq: includecheck fix: drivers/vlynq/vlynq.c
2009-09-23 07:39:30 -07:00
w1
watchdog
xen
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-09-22 07:51:45 -07:00
zorro
Kconfig
Makefile