datapth: Drop check for impossible condition after skb_gso_segment().
authorJesse Gross <jesse@nicira.com>
Thu, 9 Dec 2010 07:55:20 +0000 (23:55 -0800)
committerJesse Gross <jesse@nicira.com>
Sat, 11 Dec 2010 23:19:47 +0000 (15:19 -0800)
It's possible for skb_gso_segment to return NULL but only if the
hardware supports the correct form of segmentation offload but just
wants software to verify the offload parameters.  However, since we're
not hardware and don't support any kind of segmentation offload natively,
we can never get in this situation.  Therefore drop the check and
comment.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/datapath.c

index ffe3bd86943d2f0e0030ce8f593e431539a04b14..cc7672058cecbd309445bddf9d629fd5f84fd00b 100644 (file)
@@ -609,16 +609,12 @@ int dp_output_control(struct datapath *dp, struct sk_buff *skb, int queue_no,
         * userspace may try to stuff a 64kB packet into a 1500-byte MTU. */
        if (skb_is_gso(skb)) {
                struct sk_buff *nskb = skb_gso_segment(skb, NETIF_F_SG | NETIF_F_HW_CSUM);
-               if (nskb) {
-                       kfree_skb(skb);
-                       skb = nskb;
-                       if (unlikely(IS_ERR(skb))) {
-                               err = PTR_ERR(skb);
-                               goto err;
-                       }
-               } else {
-                       /* XXX This case might not be possible.  It's hard to
-                        * tell from the skb_gso_segment() code and comment. */
+               
+               kfree_skb(skb);
+               skb = nskb;
+               if (unlikely(IS_ERR(skb))) {
+                       err = PTR_ERR(skb);
+                       goto err;
                }
        }