<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/hyperv, branch v3.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2012-06-04T17:50:38Z</updated>
<entry>
<title>net/hyperv: Use wait_event on outstanding sends during device removal</title>
<updated>2012-06-04T17:50:38Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2012-06-04T06:42:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dc5cd894cace7bda4a743487a9f87d59a3f0a095'/>
<id>urn:sha1:dc5cd894cace7bda4a743487a9f87d59a3f0a095</id>
<content type='text'>
Change the busy-waiting/udelay to wait_event on outstanding sends.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>usb/net: rndis: merge command codes</title>
<updated>2012-05-12T19:11:18Z</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2012-05-11T22:17:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=514911678fdcb35f7f69ebf96daf0e22cdae95ae'/>
<id>urn:sha1:514911678fdcb35f7f69ebf96daf0e22cdae95ae</id>
<content type='text'>
Switch the hyperv filter and rndis gadget driver to use the same command
enumerators as the other drivers and delete the surplus command codes.

Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>usb/net: rndis: remove ambigous status codes</title>
<updated>2012-05-12T19:03:14Z</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2012-05-11T22:15:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=007e5c8e6aad8526e234b2481d2104e3e1fe8b88'/>
<id>urn:sha1:007e5c8e6aad8526e234b2481d2104e3e1fe8b88</id>
<content type='text'>
The RNDIS status codes are redefined with much stranged ifdeffery
and only one of these codes was used in the hyperv driver, and
there it is very clearly referring to the RNDIS variant, not some
other status. So clarify this by explictly using the RNDIS_*
prefixed status code in the hyperv drivera and delete the
duplicate defines.

Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>usb/net: rndis: break out &lt;linux/rndis.h&gt; defines</title>
<updated>2012-05-12T19:02:22Z</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2012-05-11T22:15:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7591157e1848b5db900b34016e2a2182329a93bb'/>
<id>urn:sha1:7591157e1848b5db900b34016e2a2182329a93bb</id>
<content type='text'>
As a first step to consolidate the RNDIS implementations, break out
a common file with all the #defines and move it to &lt;linux/rndis.h&gt;.

This also deletes the immediate duplicated defines in the
&lt;linux/rndis.h&gt; file that yields a lot of compilation warnings.

Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2012-04-24T03:15:17Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-04-24T03:14:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f24001941c99776f41bd3f09c07d91205c2ad9d4'/>
<id>urn:sha1:f24001941c99776f41bd3f09c07d91205c2ad9d4</id>
<content type='text'>
Fix merge between commit 3adadc08cc1e ("net ax25: Reorder ax25_exit to
remove races") and commit 0ca7a4c87d27 ("net ax25: Simplify and
cleanup the ax25 sysctl handling")

The former moved around the sysctl register/unregister calls, the
later simply removed them.

With help from Stephen Rothwell.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/hyperv: Adding cancellation to ensure rndis filter is closed</title>
<updated>2012-04-21T19:38:10Z</updated>
<author>
<name>Wenqi Ma</name>
<email>wenqi_ma@trendmicro.com.cn</email>
</author>
<published>2012-04-19T00:39:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=792df87228965c58c307877af00498641584bd47'/>
<id>urn:sha1:792df87228965c58c307877af00498641584bd47</id>
<content type='text'>
Although the network interface is down, the RX packets number which
could be observed by ifconfig may keep on increasing.

This is because the WORK scheduled in netvsc_set_multicast_list()
may be executed after netvsc_close(). That means the rndis filter
may be re-enabled by do_set_multicast() even if it was closed by
netvsc_close().

By canceling possible WORK before close the rndis filter, the issue
could be never happened.

Signed-off-by: Wenqi Ma &lt;wenqi_ma@trendmicro.com.cn&gt;
Reviewed-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/hyperv: Add flow control based on hi/low watermark</title>
<updated>2012-04-03T21:47:15Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2012-03-27T13:20:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=33be96e47cc27f2f1a753a0707b02a73df8c8d46'/>
<id>urn:sha1:33be96e47cc27f2f1a753a0707b02a73df8c8d46</id>
<content type='text'>
In the existing code, we only stop queue when the ringbuffer is full,
so the current packet has to be dropped or retried from upper layer.

This patch stops the tx queue when available ringbuffer is below
the low watermark. So the ringbuffer still has small amount of space
available for the current packet. This will reduce the overhead of
retries on sending.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/hyperv: Fix the code handling tx busy</title>
<updated>2012-03-19T21:27:06Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2012-03-19T21:27:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=da24e906cbfc08171d24a2b7cf66fad565fdd121'/>
<id>urn:sha1:da24e906cbfc08171d24a2b7cf66fad565fdd121</id>
<content type='text'>
Instead of dropping the packet, we keep the skb buffer, and return
NETDEV_TX_BUSY to let upper layer retry send. This will not cause
endless loop, because the host is taking data away from ring buffer,
and we have called the stop_queue before returning NETDEV_TX_BUSY.

The stop_queue was called in the function netvsc_send() in file 
netvsc.c, then it returns to rndis_filter_send(), which returns to
netvsc_start_xmit() in file netvsc_drv.c. So the NETDEV_TX_BUSY is
indeed returned AFTER queue is stopped.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2012-03-19T03:29:41Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-03-19T03:29:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4da0bd736552e6377b407b3c3d3ae518ebbdd269'/>
<id>urn:sha1:4da0bd736552e6377b407b3c3d3ae518ebbdd269</id>
<content type='text'>
</content>
</entry>
<entry>
<title>net/hyperv: fix erroneous NETDEV_TX_BUSY use</title>
<updated>2012-03-16T09:01:17Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2012-03-14T08:53:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bb6d5e76fb4fba9aa36726db41404512f3286c0f'/>
<id>urn:sha1:bb6d5e76fb4fba9aa36726db41404512f3286c0f</id>
<content type='text'>
A driver start_xmit() method cannot free skb and return NETDEV_TX_BUSY,
since caller is going to reuse freed skb.

This is mostly a revert of commit bf769375c (staging: hv: fix the return
status of netvsc_start_xmit())

In fact netif_tx_stop_queue() / netif_stop_queue() is needed before
returning NETDEV_TX_BUSY or you can trigger a ksoftirqd fatal loop.

In case of memory allocation error, only safe way is to drop the packet
and return NETDEV_TX_OK

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: "K. Y. Srinivasan" &lt;kys@microsoft.com&gt;
Cc: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
