--- linux/fs/umsdos/emd.c.org	Sat Aug 26 18:36:57 2000
+++ linux/fs/umsdos/emd.c	Sat Aug 26 19:30:53 2000
@@ -142,7 +142,7 @@
 	recsize = umsdos_evalrecsize(p->name_len);
 	if (offs + recsize > PAGE_CACHE_SIZE) {
 		struct page *page2;
-		int part = (page_address(page) + PAGE_CACHE_SIZE) - p->spare;
+		int part = (char *)(page_address(page) + PAGE_CACHE_SIZE) - p->spare;
 		page2 = read_cache_page(mapping, 1+(*pos>>PAGE_CACHE_SHIFT),
 				(filler_t*)mapping->a_ops->readpage, NULL);
 		if (IS_ERR(page2)) {
@@ -261,7 +261,7 @@
 		p->rdev = cpu_to_le16(entry->rdev);
 		p->mode = cpu_to_le16(entry->mode);
 		memcpy(p->name,entry->name,
-			(page_address(page) + PAGE_CACHE_SIZE) - p->spare);
+			(char *)(page_address(page) + PAGE_CACHE_SIZE) - p->spare);
 		memcpy(page_address(page2),
 				entry->spare+PAGE_CACHE_SIZE-offs,
 				offs+info->recsize-PAGE_CACHE_SIZE);
