diff options
Diffstat (limited to 'meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch')
-rw-r--r-- | meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch b/meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch new file mode 100644 index 0000000000..cef02436d6 --- /dev/null +++ b/meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | |||
2 | Always send a stop command at the end of a data transfer. If we avoid | ||
3 | sending the stop command, some cards remain in data transfer mode, and | ||
4 | refuse to accept further read/write commands. | ||
5 | |||
6 | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | ||
7 | |||
8 | diff --git a/drivers/mmc/pxamci.c b/drivers/mmc/pxamci.c | ||
9 | --- a/drivers/mmc/pxamci.c | ||
10 | +++ b/drivers/mmc/pxamci.c | ||
11 | @@ -291,7 +291,7 @@ static int pxamci_data_done(struct pxamc | ||
12 | pxamci_disable_irq(host, DATA_TRAN_DONE); | ||
13 | |||
14 | host->data = NULL; | ||
15 | - if (host->mrq->stop && data->error == MMC_ERR_NONE) { | ||
16 | + if (host->mrq->stop) { | ||
17 | pxamci_stop_clock(host); | ||
18 | pxamci_start_cmd(host, host->mrq->stop, 0); | ||
19 | } else { | ||
20 | |||
21 | |||
22 | ------------------------------------------------------------------- | ||
23 | List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel | ||
24 | FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php | ||
25 | Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php | ||
26 | |||