]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/linux/0018-hyperv-Simplify-the-send_completion-variables.patch
make.sh limit build to 23 parallel threads.
[ipfire-2.x.git] / src / patches / linux / 0018-hyperv-Simplify-the-send_completion-variables.patch
1 From d6eeeb452c1e6e7cf14f4a581a8f2ea2c50ec17a Mon Sep 17 00:00:00 2001
2 From: Haiyang Zhang <haiyangz@microsoft.com>
3 Date: Mon, 21 Apr 2014 14:54:44 -0700
4 Subject: [PATCH 18/25] hyperv: Simplify the send_completion variables
5
6 The union contains only one member now, so we use the variables in it directly.
7
8 Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
9 Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
10 Signed-off-by: David S. Miller <davem@davemloft.net>
11 ---
12 drivers/net/hyperv/hyperv_net.h | 10 +++-------
13 drivers/net/hyperv/netvsc.c | 7 +++----
14 drivers/net/hyperv/netvsc_drv.c | 8 ++++----
15 drivers/net/hyperv/rndis_filter.c | 2 +-
16 4 files changed, 11 insertions(+), 16 deletions(-)
17
18 diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
19 index a1af0f7711e2..d1f7826aa75f 100644
20 --- a/drivers/net/hyperv/hyperv_net.h
21 +++ b/drivers/net/hyperv/hyperv_net.h
22 @@ -136,13 +136,9 @@ struct hv_netvsc_packet {
23 u16 q_idx;
24 struct vmbus_channel *channel;
25
26 - union {
27 - struct {
28 - u64 send_completion_tid;
29 - void *send_completion_ctx;
30 - void (*send_completion)(void *context);
31 - } send;
32 - } completion;
33 + u64 send_completion_tid;
34 + void *send_completion_ctx;
35 + void (*send_completion)(void *context);
36
37 /* This points to the memory after page_buf */
38 struct rndis_message *rndis_msg;
39 diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
40 index b10334773b32..bbee44635035 100644
41 --- a/drivers/net/hyperv/netvsc.c
42 +++ b/drivers/net/hyperv/netvsc.c
43 @@ -479,9 +479,8 @@ static void netvsc_send_completion(struct netvsc_device *net_device,
44 if (nvsc_packet) {
45 q_idx = nvsc_packet->q_idx;
46 channel = nvsc_packet->channel;
47 - nvsc_packet->completion.send.send_completion(
48 - nvsc_packet->completion.send.
49 - send_completion_ctx);
50 + nvsc_packet->send_completion(nvsc_packet->
51 + send_completion_ctx);
52 }
53
54 num_outstanding_sends =
55 @@ -534,7 +533,7 @@ int netvsc_send(struct hv_device *device,
56 0xFFFFFFFF;
57 sendMessage.msg.v1_msg.send_rndis_pkt.send_buf_section_size = 0;
58
59 - if (packet->completion.send.send_completion)
60 + if (packet->send_completion)
61 req_id = (ulong)packet;
62 else
63 req_id = 0;
64 diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
65 index 6cc4db064fec..f3d3525ed42d 100644
66 --- a/drivers/net/hyperv/netvsc_drv.c
67 +++ b/drivers/net/hyperv/netvsc_drv.c
68 @@ -235,7 +235,7 @@ static void netvsc_xmit_completion(void *context)
69 {
70 struct hv_netvsc_packet *packet = (struct hv_netvsc_packet *)context;
71 struct sk_buff *skb = (struct sk_buff *)
72 - (unsigned long)packet->completion.send.send_completion_tid;
73 + (unsigned long)packet->send_completion_tid;
74
75 kfree(packet);
76
77 @@ -426,9 +426,9 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
78 (num_data_pgs * sizeof(struct hv_page_buffer)));
79
80 /* Set the completion routine */
81 - packet->completion.send.send_completion = netvsc_xmit_completion;
82 - packet->completion.send.send_completion_ctx = packet;
83 - packet->completion.send.send_completion_tid = (unsigned long)skb;
84 + packet->send_completion = netvsc_xmit_completion;
85 + packet->send_completion_ctx = packet;
86 + packet->send_completion_tid = (unsigned long)skb;
87
88 isvlan = packet->vlan_tci & VLAN_TAG_PRESENT;
89
90 diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
91 index 48f5a0fbd674..99c527adae5b 100644
92 --- a/drivers/net/hyperv/rndis_filter.c
93 +++ b/drivers/net/hyperv/rndis_filter.c
94 @@ -236,7 +236,7 @@ static int rndis_filter_send_request(struct rndis_device *dev,
95 packet->page_buf[0].len;
96 }
97
98 - packet->completion.send.send_completion = NULL;
99 + packet->send_completion = NULL;
100
101 ret = netvsc_send(dev->net_dev->dev, packet);
102 return ret;
103 --
104 2.4.3
105