--- linux/mm/highmem.c.orig Fri Nov 12 00:31:13 1999 +++ linux/mm/highmem.c Fri Nov 12 00:32:30 1999 @@ -269,9 +269,9 @@ unsigned long vto; p_to = to->b_page; - vto = kmap_atomic(p_to, KM_BOUNCE_WRITE); + vto = kmap_atomic(p_to, KM_BOUNCE_READ); memcpy((char *)vto + bh_offset(to), from->b_data, to->b_size); - kunmap_atomic(vto, KM_BOUNCE_WRITE); + kunmap_atomic(vto, KM_BOUNCE_READ); } static inline void bounce_end_io (struct buffer_head *bh, int uptodate)