]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/linux/0003-hyperv-Simplify-the-send_completion-variables.patch
correct wrong headline at hardwaregraphs.cgi
[ipfire-2.x.git] / src / patches / linux / 0003-hyperv-Simplify-the-send_completion-variables.patch
CommitLineData
a7b0967d
MT
1From 893f66277799cd46bdf97429cc5d16a815a51273 Mon Sep 17 00:00:00 2001
2From: Haiyang Zhang <haiyangz@microsoft.com>
3Date: Mon, 21 Apr 2014 14:54:44 -0700
4Subject: [PATCH 03/11] hyperv: Simplify the send_completion variables
5
6The union contains only one member now, so we use the variables in it directly.
7
8Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
9Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
10Signed-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
18diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
19index 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;
39diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
40index 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;
64diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
65index 8f6d53a2ed95..c76b66515e92 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@@ -425,9 +425,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
90diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
91index 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--
1042.4.3
105