]> err.no Git - linux-2.6/blobdiff - net/sunrpc/socklib.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[linux-2.6] / net / sunrpc / socklib.c
index 8f97e90f36c8bb18b8ca403547fa0a4339d930d3..6f17527b9e695684038b2824443e2ab6a80a550e 100644 (file)
@@ -6,6 +6,9 @@
  * Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de>
  */
 
+#include <linux/compiler.h>
+#include <linux/netdevice.h>
+#include <linux/skbuff.h>
 #include <linux/types.h>
 #include <linux/pagemap.h>
 #include <linux/udp.h>
@@ -165,6 +168,8 @@ int csum_partial_copy_to_xdr(struct xdr_buf *xdr, struct sk_buff *skb)
                return -1;
        if ((unsigned short)csum_fold(desc.csum))
                return -1;
+       if (unlikely(skb->ip_summed == CHECKSUM_COMPLETE))
+               netdev_rx_csum_fault(skb->dev);
        return 0;
 no_checksum:
        if (xdr_partial_copy_from_skb(xdr, 0, &desc, skb_read_bits) < 0)