summaryrefslogtreecommitdiffstats
path: root/net/appletalk
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2009-11-04 11:26:13 +0100
committerDavid S. Miller <davem@davemloft.net>2009-11-08 09:43:19 +0100
commitf7a3a1d8affe563846fc17f0e7c0cc1500190c57 (patch)
tree40ae89d2dc8ba236706ed9d4f73abe78c90ad1a5 /net/appletalk
parentipv6: avoid dev_hold()/dev_put() in rawv6_bind() (diff)
downloadlinux-f7a3a1d8affe563846fc17f0e7c0cc1500190c57.tar.xz
linux-f7a3a1d8affe563846fc17f0e7c0cc1500190c57.zip
appletalk/ddp.c: Neaten checksum function
atalk_sum_partial can now use the rol16 function in bitops.h Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/appletalk')
-rw-r--r--net/appletalk/ddp.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c
index 31fca64d17a2..b631cc734540 100644
--- a/net/appletalk/ddp.c
+++ b/net/appletalk/ddp.c
@@ -922,13 +922,8 @@ static unsigned long atalk_sum_partial(const unsigned char *data,
{
/* This ought to be unwrapped neatly. I'll trust gcc for now */
while (len--) {
- sum += *data;
- sum <<= 1;
- if (sum & 0x10000) {
- sum++;
- sum &= 0xffff;
- }
- data++;
+ sum += *data++;
+ sum = rol16(sum, 1);
}
return sum;
}