<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/hyperv/hyperv_net.h, branch linux-4.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-08-07T04:23:21Z</updated>
<entry>
<title>netvsc: fix race on sub channel creation</title>
<updated>2017-08-07T04:23:21Z</updated>
<author>
<name>stephen hemminger</name>
</author>
<published>2017-08-04T00:13:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=732e49850c5e15231e11a0a464748bcbade5e3c2'/>
<id>urn:sha1:732e49850c5e15231e11a0a464748bcbade5e3c2</id>
<content type='text'>
The existing sub channel code did not wait for all the sub-channels
to completely initialize. This could lead to race causing crash
in napi_netif_del() from bad list. The existing code would send
an init message, then wait only for the initial response that
the init message was received. It thought it was waiting for
sub channels but really the init response did the wakeup.

The new code keeps track of the number of open channels and
waits until that many are open.

Other issues here were:
  * host might return less sub-channels than was requested.
  * the new init status is not valid until after init was completed.

Fixes: b3e6b82a0099 ("hv_netvsc: Wait for sub-channels to be processed during probe")
Signed-off-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hv_netvsc: Fix the carrier state error when data path is off</title>
<updated>2017-06-22T17:30:37Z</updated>
<author>
<name>Haiyang Zhang</name>
</author>
<published>2017-06-21T23:40:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=53fa1a6f33520f01f9dbee48369074b34d77616b'/>
<id>urn:sha1:53fa1a6f33520f01f9dbee48369074b34d77616b</id>
<content type='text'>
When the VF NIC is opened, the synthetic NIC's carrier state is set to
off. This tells the host to transitions data path to the VF device. But
if startup script or user manipulates the admin state of the netvsc
device directly for example:
        # ifconfig eth0 down
	# ifconfig eth0 up
Then the carrier state of the synthetic NIC would be on, even though the
data path was still over the VF NIC. This patch sets the carrier state
of synthetic NIC with consideration of the related VF state.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hv_netvsc: Remove unnecessary var link_state from struct netvsc_device_info</title>
<updated>2017-06-22T17:30:37Z</updated>
<author>
<name>Haiyang Zhang</name>
</author>
<published>2017-06-21T23:40:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dedb459e13f05824bc33d2d861e9b576bfc8d0bb'/>
<id>urn:sha1:dedb459e13f05824bc33d2d861e9b576bfc8d0bb</id>
<content type='text'>
We simply use rndis_device-&gt;link_state in the netdev_dbg. The variable,
link_state from struct netvsc_device_info, is not used anywhere else.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: Stephen Hemminger &lt;sthemmin@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>2017-06-15T15:59:32Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2017-06-15T15:31:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ddead90b223faae475f3296a50bf574b7f7c69a'/>
<id>urn:sha1:0ddead90b223faae475f3296a50bf574b7f7c69a</id>
<content type='text'>
The conflicts were two cases of overlapping changes in
batman-adv and the qed driver.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netvsc: use typed pointer for internal state</title>
<updated>2017-06-09T16:15:02Z</updated>
<author>
<name>stephen hemminger</name>
</author>
<published>2017-06-08T23:21:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2d05b56097664e1d8b7fd690e6eac03cc6a82cc3'/>
<id>urn:sha1:2d05b56097664e1d8b7fd690e6eac03cc6a82cc3</id>
<content type='text'>
The element netvsc_device:extension is always a pointer to RNDIS
information.

Signed-off-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netvsc: move filter setting to rndis_device</title>
<updated>2017-06-08T15:45:48Z</updated>
<author>
<name>stephen hemminger</name>
</author>
<published>2017-06-07T22:53:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f19c0d8070cd4aa8e85bbf8a19d9ef5bef77c90'/>
<id>urn:sha1:4f19c0d8070cd4aa8e85bbf8a19d9ef5bef77c90</id>
<content type='text'>
The work queue and handling of network filter parameters should
be in rndis_device. This gets rid of warning from RCU checks,
eliminates a race and cleans up code.

Signed-off-by: Stephen Hemminger &lt;sthemmin@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>2017-04-27T02:39:08Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2017-04-27T02:39:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b1513c35317c106a1588f3ab32f6888f0e2afd71'/>
<id>urn:sha1:b1513c35317c106a1588f3ab32f6888f0e2afd71</id>
<content type='text'>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netvsc: fix calculation of available send sections</title>
<updated>2017-04-25T15:56:59Z</updated>
<author>
<name>stephen hemminger</name>
</author>
<published>2017-04-25T01:33:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fdfb70d275223b9d69d5d3abe1f88507da579139'/>
<id>urn:sha1:fdfb70d275223b9d69d5d3abe1f88507da579139</id>
<content type='text'>
My change (introduced in 4.11) to use find_first_clear_bit
incorrectly assumed that the size argument was words, not bits.
The effect was only a small limited number of the available send
sections were being actually used. This can cause performance loss
with some workloads.

Since map_words is now used only during initialization, it can
be on stack instead of in per-device data.

Fixes: b58a185801da ("netvsc: simplify get next send section")
Signed-off-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>hv_netvsc: Fix the queue index computation in forwarding case</title>
<updated>2017-04-17T15:05:19Z</updated>
<author>
<name>Haiyang Zhang</name>
</author>
<published>2017-04-12T18:35:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8db91f6a9b2ff2bb5355ad11c668fe63eb8ae0c3'/>
<id>urn:sha1:8db91f6a9b2ff2bb5355ad11c668fe63eb8ae0c3</id>
<content type='text'>
If the outgoing skb has a RX queue mapping available, we use the queue
number directly, other than put it through Send Indirection Table.

Signed-off-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Reviewed-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netvsc: use refcount_t for keeping track of sub channels</title>
<updated>2017-03-23T02:38:56Z</updated>
<author>
<name>stephen hemminger</name>
</author>
<published>2017-03-22T21:51:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=43c7bd1ffcd1621c64cedf1be52156e2f95bba9b'/>
<id>urn:sha1:43c7bd1ffcd1621c64cedf1be52156e2f95bba9b</id>
<content type='text'>
Rather than a lock and variable, use a refcount_t to keep track
of the number of sub channels.  Don't need to wait for subchannels
on device removal since wait was already done in device_add.

Also fix the error handling; don't wait forever in case of
an error on request to create sub channels.

Signed-off-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
