diff options
| -rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_cm.c | 6 | ||||
| -rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_ib.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c index 03103d2bd641..67b0c1d23678 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c | |||
| @@ -741,6 +741,9 @@ void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_ | |||
| 741 | 741 | ||
| 742 | tx_req->mapping = addr; | 742 | tx_req->mapping = addr; |
| 743 | 743 | ||
| 744 | skb_orphan(skb); | ||
| 745 | skb_dst_drop(skb); | ||
| 746 | |||
| 744 | rc = post_send(priv, tx, tx->tx_head & (ipoib_sendq_size - 1), | 747 | rc = post_send(priv, tx, tx->tx_head & (ipoib_sendq_size - 1), |
| 745 | addr, skb->len); | 748 | addr, skb->len); |
| 746 | if (unlikely(rc)) { | 749 | if (unlikely(rc)) { |
| @@ -752,9 +755,6 @@ void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_ | |||
| 752 | dev->trans_start = jiffies; | 755 | dev->trans_start = jiffies; |
| 753 | ++tx->tx_head; | 756 | ++tx->tx_head; |
| 754 | 757 | ||
| 755 | skb_orphan(skb); | ||
| 756 | skb_dst_drop(skb); | ||
| 757 | |||
| 758 | if (++priv->tx_outstanding == ipoib_sendq_size) { | 758 | if (++priv->tx_outstanding == ipoib_sendq_size) { |
| 759 | ipoib_dbg(priv, "TX ring 0x%x full, stopping kernel net queue\n", | 759 | ipoib_dbg(priv, "TX ring 0x%x full, stopping kernel net queue\n", |
| 760 | tx->qp->qp_num); | 760 | tx->qp->qp_num); |
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c index a1bca70e20aa..2cfa76f5d99e 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c | |||
| @@ -600,6 +600,9 @@ void ipoib_send(struct net_device *dev, struct sk_buff *skb, | |||
| 600 | netif_stop_queue(dev); | 600 | netif_stop_queue(dev); |
| 601 | } | 601 | } |
| 602 | 602 | ||
| 603 | skb_orphan(skb); | ||
| 604 | skb_dst_drop(skb); | ||
| 605 | |||
| 603 | rc = post_send(priv, priv->tx_head & (ipoib_sendq_size - 1), | 606 | rc = post_send(priv, priv->tx_head & (ipoib_sendq_size - 1), |
| 604 | address->ah, qpn, tx_req, phead, hlen); | 607 | address->ah, qpn, tx_req, phead, hlen); |
| 605 | if (unlikely(rc)) { | 608 | if (unlikely(rc)) { |
| @@ -615,9 +618,6 @@ void ipoib_send(struct net_device *dev, struct sk_buff *skb, | |||
| 615 | 618 | ||
| 616 | address->last_send = priv->tx_head; | 619 | address->last_send = priv->tx_head; |
| 617 | ++priv->tx_head; | 620 | ++priv->tx_head; |
| 618 | |||
| 619 | skb_orphan(skb); | ||
| 620 | skb_dst_drop(skb); | ||
| 621 | } | 621 | } |
| 622 | 622 | ||
| 623 | if (unlikely(priv->tx_outstanding > MAX_SEND_CQE)) | 623 | if (unlikely(priv->tx_outstanding > MAX_SEND_CQE)) |
