Browse Source

slhc annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Al Viro 17 years ago
parent
commit
7cd61888d2
1 changed files with 6 additions and 6 deletions
  1. 6 6
      drivers/net/slhc.c

+ 6 - 6
drivers/net/slhc.c

@@ -233,6 +233,7 @@ slhc_compress(struct slcompress *comp, unsigned char *icp, int isize,
 	register unsigned char *cp = new_seq;
 	register unsigned char *cp = new_seq;
 	struct iphdr *ip;
 	struct iphdr *ip;
 	struct tcphdr *th, *oth;
 	struct tcphdr *th, *oth;
+	__sum16 csum;
 
 
 
 
 	/*
 	/*
@@ -428,7 +429,7 @@ found:
 	/* Grab the cksum before we overwrite it below.  Then update our
 	/* Grab the cksum before we overwrite it below.  Then update our
 	 * state with this packet's header.
 	 * state with this packet's header.
 	 */
 	 */
-	deltaA = ntohs(th->check);
+	csum = th->check;
 	memcpy(&cs->cs_ip,ip,20);
 	memcpy(&cs->cs_ip,ip,20);
 	memcpy(&cs->cs_tcp,th,20);
 	memcpy(&cs->cs_tcp,th,20);
 	/* We want to use the original packet as our compressed packet.
 	/* We want to use the original packet as our compressed packet.
@@ -449,7 +450,8 @@ found:
 		*cpp = ocp;
 		*cpp = ocp;
 		*cp++ = changes;
 		*cp++ = changes;
 	}
 	}
-	cp = put16(cp,(short)deltaA);	/* Write TCP checksum */
+	*(__sum16 *)cp = csum;
+	cp += 2;
 /* deltaS is now the size of the change section of the compressed header */
 /* deltaS is now the size of the change section of the compressed header */
 	memcpy(cp,new_seq,deltaS);	/* Write list of deltas */
 	memcpy(cp,new_seq,deltaS);	/* Write list of deltas */
 	memcpy(cp+deltaS,icp+hlen,isize-hlen);
 	memcpy(cp+deltaS,icp+hlen,isize-hlen);
@@ -519,10 +521,8 @@ slhc_uncompress(struct slcompress *comp, unsigned char *icp, int isize)
 	thp = &cs->cs_tcp;
 	thp = &cs->cs_tcp;
 	ip = &cs->cs_ip;
 	ip = &cs->cs_ip;
 
 
-	if((x = pull16(&cp)) == -1) {	/* Read the TCP checksum */
-		goto bad;
-        }
-	thp->check = htons(x);
+	thp->check = *(__sum16 *)cp;
+	cp += 2;
 
 
 	thp->psh = (changes & TCP_PUSH_BIT) ? 1 : 0;
 	thp->psh = (changes & TCP_PUSH_BIT) ? 1 : 0;
 /*
 /*