From: Haiyang Zhang <haiyangz@microsoft.com>
To: davem@davemloft.net, netdev@vger.kernel.org
Cc: haiyangz@microsoft.com, kys@microsoft.com, olaf@aepfle.de,
jasowang@redhat.com, linux-kernel@vger.kernel.org,
devel@linuxdriverproject.org
Subject: [PATCH net-next,6/6] hyperv: Add buffer for extended info after the RNDIS response message.
Date: Tue, 2 Oct 2012 08:30:24 -0700 [thread overview]
Message-ID: <1349191824-14001-6-git-send-email-haiyangz@microsoft.com> (raw)
In-Reply-To: <1349191824-14001-1-git-send-email-haiyangz@microsoft.com>
In some response messages, there may be some extended info after the
message.
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
---
drivers/net/hyperv/rndis_filter.c | 22 ++++++++++++----------
1 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
index e7e12cf..928148c 100644
--- a/drivers/net/hyperv/rndis_filter.c
+++ b/drivers/net/hyperv/rndis_filter.c
@@ -32,16 +32,19 @@
#include "hyperv_net.h"
+#define RNDIS_EXT_LEN 100
struct rndis_request {
struct list_head list_ent;
struct completion wait_event;
+ struct rndis_message response_msg;
/*
- * FIXME: We assumed a fixed size response here. If we do ever need to
- * handle a bigger response, we can either define a max response
- * message or add a response buffer variable above this field
+ * The buffer for extended info after the RNDIS response message. It's
+ * referenced based on the data offset in the RNDIS message. Its size
+ * is enough for current needs, and should be sufficient for the near
+ * future.
*/
- struct rndis_message response_msg;
+ u8 response_ext[RNDIS_EXT_LEN];
/* Simplify allocation by having a netvsc packet inline */
struct hv_netvsc_packet pkt;
@@ -50,12 +53,10 @@ struct rndis_request {
struct rndis_message request_msg;
/*
- * The buffer for the extended info after the RNDIS message. It's
- * referenced based on the data offset in the RNDIS message. Its size
- * is enough for current needs, and should be sufficient for the near
- * future.
+ * The buffer for the extended info after the RNDIS request message.
+ * It is referenced and sized in a similar way as response_ext.
*/
- u8 ext[100];
+ u8 request_ext[RNDIS_EXT_LEN];
};
static void rndis_filter_send_completion(void *ctx);
@@ -274,7 +275,8 @@ static void rndis_filter_receive_response(struct rndis_device *dev,
spin_unlock_irqrestore(&dev->request_lock, flags);
if (found) {
- if (resp->msg_len <= sizeof(struct rndis_message)) {
+ if (resp->msg_len <=
+ sizeof(struct rndis_message) + RNDIS_EXT_LEN) {
memcpy(&request->response_msg, resp,
resp->msg_len);
} else {
--
1.7.4.1
next prev parent reply other threads:[~2012-10-02 15:11 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-02 15:30 [PATCH net-next,1/6] hyperv: Fix the max_xfer_size in RNDIS initialization Haiyang Zhang
2012-10-02 15:30 ` [PATCH net-next,2/6] hyperv: Fix the missing return value in rndis_filter_set_packet_filter() Haiyang Zhang
2012-10-02 18:42 ` David Miller
2012-10-02 15:30 ` [PATCH net-next,3/6] hyperv: Fix page buffer handling in rndis_filter_send_request() Haiyang Zhang
2012-10-02 18:42 ` David Miller
2012-10-02 15:30 ` [PATCH net-next,4/6] hyperv: Remove extra allocated space for recv_pkt_list elements Haiyang Zhang
2012-10-02 18:42 ` David Miller
2012-10-02 15:30 ` [PATCH net-next,5/6] hyperv: Report actual status in receive completion packet Haiyang Zhang
2012-10-02 18:42 ` David Miller
2012-10-02 15:30 ` Haiyang Zhang [this message]
2012-10-02 18:42 ` [PATCH net-next,6/6] hyperv: Add buffer for extended info after the RNDIS response message David Miller
2012-10-02 18:40 ` [PATCH net-next,1/6] hyperv: Fix the max_xfer_size in RNDIS initialization David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1349191824-14001-6-git-send-email-haiyangz@microsoft.com \
--to=haiyangz@microsoft.com \
--cc=davem@davemloft.net \
--cc=devel@linuxdriverproject.org \
--cc=jasowang@redhat.com \
--cc=kys@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olaf@aepfle.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®