[parisc-linux-cvs] linux bame

Paul Bame bame@puffin.external.hp.com
Tue, 8 May 2001 12:24:19 -0600


CVSROOT:	/home/cvs/parisc
Module name:	linux
Changes by:	bame	01/05/08 12:24:19

Modified files:
	drivers/block  : rd.c 

Log message:
Added a cache flush workaround to make ramdisks work (from jsm, not with
his permission however).
Index: rd.c
===================================================================
RCS file: /home/cvs/parisc/linux/drivers/block/rd.c,v
retrieving revision 1.12
diff -u -r1.12 rd.c
--- rd.c	2001/01/25 00:00:36	1.12
+++ rd.c	2001/05/08 18:23:40
@@ -227,8 +227,15 @@
*/
bdata = bh_kmap(sbh);
if (rw == READ) {
-		if (sbh != rbh)
+		/* XXX FIXME This is probably not the right fix, and the
+		 * upstream kernel will probably fix this a different way,
+		 * but for now I'd rather have something which works in
+		 * CVS rather than a semi-secret patch. -PB
+		 */
+		if (sbh != rbh) {
memcpy(bdata, rbh->b_data, rbh->b_size);
+			flush_kernel_dcache_range(bdata,rbh->b_size);
+		}
} else
if (sbh != rbh)
memcpy(rbh->b_data, bdata, rbh->b_size);