alpha: fix broken network checksum
[pandora-kernel.git] / arch / alpha / lib / csum_partial_copy.c
index 40736da..1d2ef5a 100644 (file)
@@ -373,6 +373,11 @@ csum_partial_copy_from_user(const void __user *src, void *dst, int len,
 __wsum
 csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum)
 {
-       return csum_partial_copy_from_user((__force const void __user *)src,
-                       dst, len, sum, NULL);
+       __wsum checksum;
+       mm_segment_t oldfs = get_fs();
+       set_fs(KERNEL_DS);
+       checksum = csum_partial_copy_from_user((__force const void __user *)src,
+                                               dst, len, sum, NULL);
+       set_fs(oldfs);
+       return checksum;
 }