From fcb39f3f9038b6c9c7dd6abcabc3595ddefa17f1 Mon Sep 17 00:00:00 2001 From: Anton Blanchard Date: Fri, 14 Oct 2011 05:31:07 +0000 Subject: [PATCH] --- yaml --- r: 266822 b: refs/heads/master c: 30e2e90b4de735769c8c9dc2397388fdf305e5ca h: refs/heads/master v: v3 --- [refs] | 2 +- .../drivers/net/ethernet/ibm/ehea/ehea_main.c | 19 +++---------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/[refs] b/[refs] index 0c04469c8729..fc1dfe814eba 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 13946f5e4eefd5162733a75c03bb9f52c9c69614 +refs/heads/master: 30e2e90b4de735769c8c9dc2397388fdf305e5ca diff --git a/trunk/drivers/net/ethernet/ibm/ehea/ehea_main.c b/trunk/drivers/net/ethernet/ibm/ehea/ehea_main.c index 0fc0ae8b830f..289ad4d31f1d 100644 --- a/trunk/drivers/net/ethernet/ibm/ehea/ehea_main.c +++ b/trunk/drivers/net/ethernet/ibm/ehea/ehea_main.c @@ -2087,27 +2087,14 @@ static void ehea_xmit2(struct sk_buff *skb, struct net_device *dev, static void ehea_xmit3(struct sk_buff *skb, struct net_device *dev, struct ehea_swqe *swqe) { - int nfrags = skb_shinfo(skb)->nr_frags; u8 *imm_data = &swqe->u.immdata_nodesc.immediate_data[0]; - skb_frag_t *frag; - int i; xmit_common(skb, swqe); - if (nfrags == 0) { + if (!skb->data_len) skb_copy_from_linear_data(skb, imm_data, skb->len); - } else { - skb_copy_from_linear_data(skb, imm_data, - skb_headlen(skb)); - imm_data += skb_headlen(skb); - - /* ... then copy data from the fragments */ - for (i = 0; i < nfrags; i++) { - frag = &skb_shinfo(skb)->frags[i]; - memcpy(imm_data, skb_frag_address(frag), frag->size); - imm_data += frag->size; - } - } + else + skb_copy_bits(skb, 0, imm_data, skb->len); swqe->immediate_data_length = skb->len; dev_kfree_skb(skb);