Browse Source

RDMA/cxgb3: Don't reuse skbs that are non-linear or cloned

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Steve Wise 18 years ago
parent
commit
1f6a849b7c
1 changed files with 1 additions and 2 deletions
  1. 1 2
      drivers/infiniband/hw/cxgb3/iwch_cm.c

+ 1 - 2
drivers/infiniband/hw/cxgb3/iwch_cm.c

@@ -305,8 +305,7 @@ static int status2errno(int status)
  */
 static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp)
 {
-	if (skb) {
-		BUG_ON(skb_cloned(skb));
+	if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) {
 		skb_trim(skb, 0);
 		skb_get(skb);
 	} else {