Displaying 20 results from an estimated 38 matches for "netvsc_start_xmit".
2011 Jun 06
3
[PATCH 1/3] Staging: hv: netvsc: Fix a bug in accounting transmit slots
...evice_ctx->avail += num_pages;
- if (net_device_ctx->avail >= PACKET_PAGES_HIWATER)
+ atomic_add(num_pages, &net_device_ctx->avail);
+ if (atomic_read(&net_device_ctx->avail) >=
+ PACKET_PAGES_HIWATER)
netif_wake_queue(net);
}
}
@@ -133,7 +135,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
/* Add 1 for skb->data and additional one for RNDIS */
num_pages = skb_shinfo(skb)->nr_frags + 1 + 1;
- if (num_pages > net_device_ctx->avail)
+ if (num_pages > atomic_read(&net_device_ctx->avail))
return NETDEV_TX_BUSY;...
2011 Jun 06
3
[PATCH 1/3] Staging: hv: netvsc: Fix a bug in accounting transmit slots
...evice_ctx->avail += num_pages;
- if (net_device_ctx->avail >= PACKET_PAGES_HIWATER)
+ atomic_add(num_pages, &net_device_ctx->avail);
+ if (atomic_read(&net_device_ctx->avail) >=
+ PACKET_PAGES_HIWATER)
netif_wake_queue(net);
}
}
@@ -133,7 +135,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
/* Add 1 for skb->data and additional one for RNDIS */
num_pages = skb_shinfo(skb)->nr_frags + 1 + 1;
- if (num_pages > net_device_ctx->avail)
+ if (num_pages > atomic_read(&net_device_ctx->avail))
return NETDEV_TX_BUSY;...
2011 Feb 26
2
[PATCH 3/6] Staging: hv: Cleanup hyperv_device variable names
...t;nr_frags + 2;
dev_kfree_skb_any(skb);
- net_device_ctx->avail += num_pages;
- if (net_device_ctx->avail >= PACKET_PAGES_HIWATER)
+ net_device_obj->avail += num_pages;
+ if (net_device_obj->avail >= PACKET_PAGES_HIWATER)
netif_wake_queue(net);
}
}
static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
{
- struct net_device_context *net_device_ctx = netdev_priv(net);
+ struct net_device_context *net_device_obj = netdev_priv(net);
struct driver_context *driver_ctx =
- driver_to_driver_context(net_device_ctx->device_ctx->device.driver);
+...
2011 Feb 26
2
[PATCH 3/6] Staging: hv: Cleanup hyperv_device variable names
...t;nr_frags + 2;
dev_kfree_skb_any(skb);
- net_device_ctx->avail += num_pages;
- if (net_device_ctx->avail >= PACKET_PAGES_HIWATER)
+ net_device_obj->avail += num_pages;
+ if (net_device_obj->avail >= PACKET_PAGES_HIWATER)
netif_wake_queue(net);
}
}
static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
{
- struct net_device_context *net_device_ctx = netdev_priv(net);
+ struct net_device_context *net_device_obj = netdev_priv(net);
struct driver_context *driver_ctx =
- driver_to_driver_context(net_device_ctx->device_ctx->device.driver);
+...
2010 Aug 02
1
[PATCH 1/1] staging: hv: Fix missing functions for net_device_ops
...-git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index 56e1157..64a0114 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -327,6 +327,9 @@ static const struct net_device_ops device_ops = {
.ndo_stop = netvsc_close,
.ndo_start_xmit = netvsc_start_xmit,
.ndo_set_multicast_list = netvsc_set_multicast_list,
+ .ndo_change_mtu = eth_change_mtu,
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_set_mac_address = eth_mac_addr,
};
static int netvsc_probe(struct device *device)
--
1.6.3.2
-------------- next part --------------
A non-text attac...
2010 Aug 02
1
[PATCH 1/1] staging: hv: Fix missing functions for net_device_ops (resubmit)
...-git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index 56e1157..64a0114 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -327,6 +327,9 @@ static const struct net_device_ops device_ops = {
.ndo_stop = netvsc_close,
.ndo_start_xmit = netvsc_start_xmit,
.ndo_set_multicast_list = netvsc_set_multicast_list,
+ .ndo_change_mtu = eth_change_mtu,
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_set_mac_address = eth_mac_addr,
};
static int netvsc_probe(struct device *device)
--
1.6.3.2
2010 Aug 03
0
[PATCH 1/1] staging: hv: Fix missing functions for net_device_ops (submit again)
...-git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index 56e1157..64a0114 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -327,6 +327,9 @@ static const struct net_device_ops device_ops = {
.ndo_stop = netvsc_close,
.ndo_start_xmit = netvsc_start_xmit,
.ndo_set_multicast_list = netvsc_set_multicast_list,
+ .ndo_change_mtu = eth_change_mtu,
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_set_mac_address = eth_mac_addr,
};
static int netvsc_probe(struct device *device)
--
1.6.3.2
2010 Aug 03
0
[PATCH 1/1] staging: hv: Fix missing functions for net_device_ops (with detailed comments)
...-git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index 56e1157..64a0114 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -327,6 +327,9 @@ static const struct net_device_ops device_ops = {
.ndo_stop = netvsc_close,
.ndo_start_xmit = netvsc_start_xmit,
.ndo_set_multicast_list = netvsc_set_multicast_list,
+ .ndo_change_mtu = eth_change_mtu,
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_set_mac_address = eth_mac_addr,
};
static int netvsc_probe(struct device *device)
--
1.6.3.2
2010 Aug 02
1
[PATCH 1/1] staging: hv: Fix missing functions for net_device_ops
...-git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index 56e1157..64a0114 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -327,6 +327,9 @@ static const struct net_device_ops device_ops = {
.ndo_stop = netvsc_close,
.ndo_start_xmit = netvsc_start_xmit,
.ndo_set_multicast_list = netvsc_set_multicast_list,
+ .ndo_change_mtu = eth_change_mtu,
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_set_mac_address = eth_mac_addr,
};
static int netvsc_probe(struct device *device)
--
1.6.3.2
-------------- next part --------------
A non-text attac...
2010 Aug 02
1
[PATCH 1/1] staging: hv: Fix missing functions for net_device_ops (resubmit)
...-git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index 56e1157..64a0114 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -327,6 +327,9 @@ static const struct net_device_ops device_ops = {
.ndo_stop = netvsc_close,
.ndo_start_xmit = netvsc_start_xmit,
.ndo_set_multicast_list = netvsc_set_multicast_list,
+ .ndo_change_mtu = eth_change_mtu,
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_set_mac_address = eth_mac_addr,
};
static int netvsc_probe(struct device *device)
--
1.6.3.2
2010 Aug 03
0
[PATCH 1/1] staging: hv: Fix missing functions for net_device_ops (submit again)
...-git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index 56e1157..64a0114 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -327,6 +327,9 @@ static const struct net_device_ops device_ops = {
.ndo_stop = netvsc_close,
.ndo_start_xmit = netvsc_start_xmit,
.ndo_set_multicast_list = netvsc_set_multicast_list,
+ .ndo_change_mtu = eth_change_mtu,
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_set_mac_address = eth_mac_addr,
};
static int netvsc_probe(struct device *device)
--
1.6.3.2
2010 Aug 03
0
[PATCH 1/1] staging: hv: Fix missing functions for net_device_ops (with detailed comments)
...-git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c
index 56e1157..64a0114 100644
--- a/drivers/staging/hv/netvsc_drv.c
+++ b/drivers/staging/hv/netvsc_drv.c
@@ -327,6 +327,9 @@ static const struct net_device_ops device_ops = {
.ndo_stop = netvsc_close,
.ndo_start_xmit = netvsc_start_xmit,
.ndo_set_multicast_list = netvsc_set_multicast_list,
+ .ndo_change_mtu = eth_change_mtu,
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_set_mac_address = eth_mac_addr,
};
static int netvsc_probe(struct device *device)
--
1.6.3.2
2011 Sep 01
10
[PATCH 00/10] netvsc bug fixes and cleanups
...tvsc
staging: hv: fix a kernel warning in netvsc_linkstatus_callback()
staging: hv: re-order the code in netvsc_probe()
staging: hv: fix counting of #outstanding-sends in failed sends
staging: hv: fix counting of available buffer slots when send fails
staging: hv: fix the return status of netvsc_start_xmit()
staging: hv: fix the page buffer when rndis data go across page
boundary
staging: hv: fix some typos in netvsc.c
drivers/staging/hv/netvsc.c | 124 ++++++++++++++++++++-----------------
drivers/staging/hv/netvsc_drv.c | 44 +++++++------
drivers/staging/hv/rndis_filter.c |...
2011 Sep 01
10
[PATCH 00/10] netvsc bug fixes and cleanups
...tvsc
staging: hv: fix a kernel warning in netvsc_linkstatus_callback()
staging: hv: re-order the code in netvsc_probe()
staging: hv: fix counting of #outstanding-sends in failed sends
staging: hv: fix counting of available buffer slots when send fails
staging: hv: fix the return status of netvsc_start_xmit()
staging: hv: fix the page buffer when rndis data go across page
boundary
staging: hv: fix some typos in netvsc.c
drivers/staging/hv/netvsc.c | 124 ++++++++++++++++++++-----------------
drivers/staging/hv/netvsc_drv.c | 44 +++++++------
drivers/staging/hv/rndis_filter.c |...
2011 Mar 07
0
[PATCH 10/16] Staging: hv: Eliminate netvsc_driver_context
...and only one */
-static struct netvsc_driver_context g_netvsc_drv;
+static struct netvsc_driver g_netvsc_drv;
/* no-op so the netdev core doesn't return -EINVAL when modifying the the
* multicast address list in SIOCADDMULTI. hv is setup to get all multicast
@@ -134,9 +131,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
struct net_device_context *net_device_ctx = netdev_priv(net);
struct hv_driver *drv =
drv_to_hv_drv(net_device_ctx->device_ctx->device.driver);
- struct netvsc_driver_context *net_drv_ctx =
- (struct netvsc_driver_context *)drv->priv;...
2011 Mar 07
0
[PATCH 10/16] Staging: hv: Eliminate netvsc_driver_context
...and only one */
-static struct netvsc_driver_context g_netvsc_drv;
+static struct netvsc_driver g_netvsc_drv;
/* no-op so the netdev core doesn't return -EINVAL when modifying the the
* multicast address list in SIOCADDMULTI. hv is setup to get all multicast
@@ -134,9 +131,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
struct net_device_context *net_device_ctx = netdev_priv(net);
struct hv_driver *drv =
drv_to_hv_drv(net_device_ctx->device_ctx->device.driver);
- struct netvsc_driver_context *net_drv_ctx =
- (struct netvsc_driver_context *)drv->priv;...
2011 Jul 21
11
[PATCH 0/9] netvsc bug fixes and cleanups
...tvsc
staging: hv: fix a kernel warning in netvsc_linkstatus_callback()
staging: hv: re-order the code in netvsc_probe()
staging: hv: fix counting of #outstanding-sends in failed sends
staging: hv: fix counting of available buffer slots when send fails
staging: hv: fix the return status of netvsc_start_xmit()
staging: hv: fix the page buffer when rndis data go across page
boundary
drivers/staging/hv/netvsc.c | 124 ++++++++++++++++++++-----------------
drivers/staging/hv/netvsc_drv.c | 46 +++++++-------
drivers/staging/hv/rndis_filter.c | 28 ++++++---
3 files changed, 111 insert...
2011 Jul 21
11
[PATCH 0/9] netvsc bug fixes and cleanups
...tvsc
staging: hv: fix a kernel warning in netvsc_linkstatus_callback()
staging: hv: re-order the code in netvsc_probe()
staging: hv: fix counting of #outstanding-sends in failed sends
staging: hv: fix counting of available buffer slots when send fails
staging: hv: fix the return status of netvsc_start_xmit()
staging: hv: fix the page buffer when rndis data go across page
boundary
drivers/staging/hv/netvsc.c | 124 ++++++++++++++++++++-----------------
drivers/staging/hv/netvsc_drv.c | 46 +++++++-------
drivers/staging/hv/rndis_filter.c | 28 ++++++---
3 files changed, 111 insert...
2011 Feb 23
7
[PATCH 1/4] staging: hv: Fix the code depending on struct vmbus_driver_context data order
The patch fixed the code depending on the exact order of fields in the
struct vmbus_driver_context, so the unused field drv_ctx can be removed,
and drv_obj doesn't have to be the second field in this structure.
Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
Signed-off-by: Hank Janssen <hjanssen at
2011 Feb 23
7
[PATCH 1/4] staging: hv: Fix the code depending on struct vmbus_driver_context data order
The patch fixed the code depending on the exact order of fields in the
struct vmbus_driver_context, so the unused field drv_ctx can be removed,
and drv_obj doesn't have to be the second field in this structure.
Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
Signed-off-by: Hank Janssen <hjanssen at