summaryrefslogtreecommitdiff
path: root/recipes/linux/linux-2.6.18/mmc-core-dma-fix.patch
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/linux/linux-2.6.18/mmc-core-dma-fix.patch
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/linux/linux-2.6.18/mmc-core-dma-fix.patch')
-rw-r--r--recipes/linux/linux-2.6.18/mmc-core-dma-fix.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/recipes/linux/linux-2.6.18/mmc-core-dma-fix.patch b/recipes/linux/linux-2.6.18/mmc-core-dma-fix.patch
new file mode 100644
index 0000000000..4106970035
--- /dev/null
+++ b/recipes/linux/linux-2.6.18/mmc-core-dma-fix.patch
@@ -0,0 +1,33 @@
+Index: linux-2.6.18-avr32/drivers/mmc/mmc.c
+===================================================================
+--- linux-2.6.18-avr32.orig/drivers/mmc/mmc.c 2007-01-04 09:54:56.000000000 +0100
++++ linux-2.6.18-avr32/drivers/mmc/mmc.c 2007-01-04 09:58:08.000000000 +0100
+@@ -961,6 +961,7 @@ static void mmc_read_scrs(struct mmc_hos
+ struct mmc_command cmd;
+ struct mmc_data data;
+ struct scatterlist sg;
++ u32 *buf;
+
+ list_for_each_entry(card, &host->cards, node) {
+ if (card->state & (MMC_STATE_DEAD|MMC_STATE_PRESENT))
+@@ -1008,7 +1009,8 @@ static void mmc_read_scrs(struct mmc_hos
+ mrq.cmd = &cmd;
+ mrq.data = &data;
+
+- sg_init_one(&sg, (u8*)card->raw_scr, 8);
++ buf = kmalloc(8, GFP_KERNEL);
++ sg_init_one(&sg, (u8*)buf, 8);
+
+ mmc_wait_for_req(host, &mrq);
+
+@@ -1017,8 +1019,8 @@ static void mmc_read_scrs(struct mmc_hos
+ continue;
+ }
+
+- card->raw_scr[0] = ntohl(card->raw_scr[0]);
+- card->raw_scr[1] = ntohl(card->raw_scr[1]);
++ card->raw_scr[0] = ntohl(buf[0]);
++ card->raw_scr[1] = ntohl(buf[1]);
+
+ mmc_decode_scr(card);
+ }