net: qualcomm: rmnet: simplify rmnet_map_get_csum_field()
authorAlex Elder <elder@linaro.org>
Fri, 11 Jun 2021 19:05:25 +0000 (14:05 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Jun 2021 20:37:49 +0000 (13:37 -0700)
The checksum fields of the TCP and UDP header structures already
have type __sum16.  We don't support any other protocol headers, so
we can simplify rmnet_map_get_csum_field(), getting rid of the local
variable entirely and just returning the appropriate address.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c

index ca07b87..79f1d51 100644 (file)
 static __sum16 *rmnet_map_get_csum_field(unsigned char protocol,
                                         const void *txporthdr)
 {
-       __sum16 *check = NULL;
+       if (protocol == IPPROTO_TCP)
+               return &((struct tcphdr *)txporthdr)->check;
 
-       switch (protocol) {
-       case IPPROTO_TCP:
-               check = &(((struct tcphdr *)txporthdr)->check);
-               break;
-
-       case IPPROTO_UDP:
-               check = &(((struct udphdr *)txporthdr)->check);
-               break;
-
-       default:
-               check = NULL;
-               break;
-       }
+       if (protocol == IPPROTO_UDP)
+               return &((struct udphdr *)txporthdr)->check;
 
-       return check;
+       return NULL;
 }
 
 static int