<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/hyperv, branch v4.6</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=v4.6</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.6'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2016-03-24T01:51:08Z</updated>
<entry>
<title>hv_netvsc: Fix the order of num_sc_offered decrement</title>
<updated>2016-03-24T01:51:08Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2016-03-23T21:54:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3f735131d9c2523eb54a6c5099fa8c60a4292d48'/>
<id>urn:sha1:3f735131d9c2523eb54a6c5099fa8c60a4292d48</id>
<content type='text'>
Reorder the code in netvsc_sc_open(), so num_sc_offered is only decremented
after vmbus_open() is called. This avoid pontential race of removing device
before all channels are setup.

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>hv_netvsc: Fix the array sizes to be max supported channels</title>
<updated>2016-03-23T18:38:55Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2016-03-23T16:43:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9efc2f7dcd06e04d7b6a3032ae65bfd628b1aebe'/>
<id>urn:sha1:9efc2f7dcd06e04d7b6a3032ae65bfd628b1aebe</id>
<content type='text'>
The VRSS_CHANNEL_MAX is the max number of channels supported by Hyper-V
hosts. We use it for the related array sizes instead of using NR_CPUS,
which may be set to several thousands.
This patch reduces possible memory allocation failures.

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>hv_netvsc: Fix accessing freed memory in netvsc_change_mtu()</title>
<updated>2016-03-23T18:38:55Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2016-03-23T16:43:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d212b4633c3a99561939f2d423eacf3263850bcd'/>
<id>urn:sha1:d212b4633c3a99561939f2d423eacf3263850bcd</id>
<content type='text'>
struct netvsc_device is freed in rndis_filter_device_remove(). So we save
the nvdev-&gt;num_chn into a temp variable for later usage.

(Please also include this patch into stable branch.)

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>hv_netvsc: Move subchannel waiting to rndis_filter_device_remove()</title>
<updated>2016-03-07T20:37:50Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2016-03-04T23:07:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d66ab51442211158b677c2f12310c314d9587f74'/>
<id>urn:sha1:d66ab51442211158b677c2f12310c314d9587f74</id>
<content type='text'>
During hot add, vmbus_device_register() is called from vmbus_onoffer(), on
the same workqueue as the subchannel offer message work-queue, so
subchannel offer won't be processed until the vmbus_device_register()/...
/netvsc_probe() is done.
Also, vmbus_device_register() is called with channel_mutex locked, which
prevents subchannel processing too. So the "waiting for sub-channel
processing" will not success in hot add case. But, in usual module loading,
the netvsc_probe() is called from different code path, and doesn't fail.

This patch resolves the deadlock during NIC hot-add, and speeds up NIC
loading time.

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>hv_netvsc: add ethtool support for set and get of settings</title>
<updated>2016-02-29T22:08:50Z</updated>
<author>
<name>sixiao@microsoft.com</name>
<email>sixiao@microsoft.com</email>
</author>
<published>2016-02-25T23:24:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=49eb93892d8dfcf5dc5088e640f486d08572d8bf'/>
<id>urn:sha1:49eb93892d8dfcf5dc5088e640f486d08572d8bf</id>
<content type='text'>
This patch allows the user to set and retrieve speed and duplex of the
hv_netvsc device via ethtool.

Example:
$ ethtool eth0
Settings for eth0:
...
    Speed: Unknown!
    Duplex: Unknown! (255)
...
$ ethtool -s eth0 speed 1000 duplex full
$ ethtool eth0
Settings for eth0:
...
    Speed: 1000Mb/s
    Duplex: Full
...

This is based on patches by Roopa Prabhu and Nikolay Aleksandrov.

Signed-off-by: Simon Xiao &lt;sixiao@microsoft.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>2016-02-23T05:09:14Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2016-02-23T05:09:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b633353115e352d3c31c12d4c61978c810f05ea1'/>
<id>urn:sha1:b633353115e352d3c31c12d4c61978c810f05ea1</id>
<content type='text'>
Conflicts:
	drivers/net/phy/bcm7xxx.c
	drivers/net/phy/marvell.c
	drivers/net/vxlan.c

All three conflicts were cases of simple overlapping changes.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hv_netvsc: add software transmit timestamp support</title>
<updated>2016-02-19T20:46:56Z</updated>
<author>
<name>sixiao@microsoft.com</name>
<email>sixiao@microsoft.com</email>
</author>
<published>2016-02-18T00:43:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=76d13b568776fdef646c70878de406c90aef46a9'/>
<id>urn:sha1:76d13b568776fdef646c70878de406c90aef46a9</id>
<content type='text'>
Enable skb_tx_timestamp in hyperv netvsc.

Signed-off-by: Simon Xiao &lt;sixiao@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hv_netvsc: Restore needed_headroom request</title>
<updated>2016-02-13T11:04:44Z</updated>
<author>
<name>Vitaly Kuznetsov</name>
<email>vkuznets@redhat.com</email>
</author>
<published>2016-02-05T16:29:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=14a03cf80edf3e19953bb744938e48bc9d496d30'/>
<id>urn:sha1:14a03cf80edf3e19953bb744938e48bc9d496d30</id>
<content type='text'>
Commit c0eb454034aa ("hv_netvsc: Don't ask for additional head room in the
skb") got rid of needed_headroom setting for the driver. With the change I
hit the following issue trying to use ptkgen module:

[   57.522021] kernel BUG at net/core/skbuff.c:1128!
[   57.522021] invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC
...
[   58.721068] Call Trace:
[   58.721068]  [&lt;ffffffffa0144e86&gt;] netvsc_start_xmit+0x4c6/0x8e0 [hv_netvsc]
...
[   58.721068]  [&lt;ffffffffa02f87fc&gt;] ? pktgen_finalize_skb+0x25c/0x2a0 [pktgen]
[   58.721068]  [&lt;ffffffff814f5760&gt;] ? __netdev_alloc_skb+0xc0/0x100
[   58.721068]  [&lt;ffffffffa02f9907&gt;] pktgen_thread_worker+0x257/0x1920 [pktgen]

Basically, we're calling skb_cow_head(skb, RNDIS_AND_PPI_SIZE) and crash on
    if (skb_shared(skb))
        BUG();

We probably need to restore needed_headroom setting (but shrunk to
RNDIS_AND_PPI_SIZE as we don't need more) to request the required headroom
space. In theory, it should not give us performance penalty.

Signed-off-by: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hv_netvsc: cleanup netdev feature flags for netvsc</title>
<updated>2016-02-11T12:17:58Z</updated>
<author>
<name>sixiao@microsoft.com</name>
<email>sixiao@microsoft.com</email>
</author>
<published>2016-02-04T23:49:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a060679c6b3da17dc9e95d0500f811de118ec901'/>
<id>urn:sha1:a060679c6b3da17dc9e95d0500f811de118ec901</id>
<content type='text'>
1. Adding NETIF_F_TSO6 feature flag;
2. Adding NETIF_F_HW_CSUM. NETIF_F_IPV6_CSUM and NETIF_F_IP_CSUM are
being deprecated;
3. Cleanup the coding style of flag assignment by using macro.

Signed-off-by: Simon Xiao &lt;sixiao@microsoft.com&gt;
Reviewed-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hv_netvsc: Fix book keeping of skb during batching process</title>
<updated>2016-01-25T18:51:53Z</updated>
<author>
<name>Haiyang Zhang</name>
<email>haiyangz@microsoft.com</email>
</author>
<published>2016-01-25T17:49:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c85e4924452ae8225c8829f3fa8a2f7baa34bc5c'/>
<id>urn:sha1:c85e4924452ae8225c8829f3fa8a2f7baa34bc5c</id>
<content type='text'>
Since eliminating send_completion_tid from struct hv_netvsc_packet, we
haven't add proper book keeping for the skb of the batched packet. This
patch fixes this issue and allows the previous skb is properly freed.
Otherwise, a panic may happen.
Thanks to Simon Xiao &lt;sixiao@microsoft.com&gt; for bisecting and analysis.

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>
</feed>
