<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net/ethernet, branch v3.19</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>qlcnic: Fix NAPI poll routine for Tx completion</title>
<updated>2015-02-05T08:24:08+00:00</updated>
<author>
<name>Shahed Shaikh</name>
<email>shahed.shaikh@qlogic.com</email>
</author>
<published>2015-02-04T10:41:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f31ec95fa19e07a8beebcc0297284f23aa57967e'/>
<id>f31ec95fa19e07a8beebcc0297284f23aa57967e</id>
<content type='text'>
After d75b1ade567f ("net: less interrupt masking in NAPI")
driver's NAPI poll routine is expected to return
exact budget value if it wants to be re-called.

Signed-off-by: Shahed Shaikh &lt;shahed.shaikh@qlogic.com&gt;
Fixes: d75b1ade567f ("net: less interrupt masking in NAPI")
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After d75b1ade567f ("net: less interrupt masking in NAPI")
driver's NAPI poll routine is expected to return
exact budget value if it wants to be re-called.

Signed-off-by: Shahed Shaikh &lt;shahed.shaikh@qlogic.com&gt;
Fixes: d75b1ade567f ("net: less interrupt masking in NAPI")
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>amd-xgbe: Set RSS enablement based on hardware features</title>
<updated>2015-02-05T04:31:51+00:00</updated>
<author>
<name>Lendacky, Thomas</name>
<email>Thomas.Lendacky@amd.com</email>
</author>
<published>2015-02-03T20:14:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=cf180b8acf2627fdc9ab472ed0dc565803cd388a'/>
<id>cf180b8acf2627fdc9ab472ed0dc565803cd388a</id>
<content type='text'>
The RSS support requires enablement based on the features reported by
the hardware. The setting of this flag is missing. Add support to
set the RSS enablement flag based on the reported hardware features.

Signed-off-by: Tom Lendacky &lt;thomas.lendacky@amd.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The RSS support requires enablement based on the features reported by
the hardware. The setting of this flag is missing. Add support to
set the RSS enablement flag based on the reported hardware features.

Signed-off-by: Tom Lendacky &lt;thomas.lendacky@amd.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>amd-xgbe: Adjust for zero-based traffic class count</title>
<updated>2015-02-05T04:28:14+00:00</updated>
<author>
<name>Lendacky, Thomas</name>
<email>Thomas.Lendacky@amd.com</email>
</author>
<published>2015-02-03T18:49:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=211fcf6d2100e625ec1d4a50e8adf67370a37bad'/>
<id>211fcf6d2100e625ec1d4a50e8adf67370a37bad</id>
<content type='text'>
The number of traffic classes reported by the hardware is zero-based
so increment the value returned to get an actual count.

Signed-off-by: Tom Lendacky &lt;thomas.lendacky@amd.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The number of traffic classes reported by the hardware is zero-based
so increment the value returned to get an actual count.

Signed-off-by: Tom Lendacky &lt;thomas.lendacky@amd.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gianfar: correct the bad expression while writing bit-pattern</title>
<updated>2015-02-04T21:55:24+00:00</updated>
<author>
<name>Sanjeev Sharma</name>
<email>sanjeev_sharma@mentor.com</email>
</author>
<published>2015-02-03T07:32:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=75300ad2d91fac50852dc4123977d55e64c874cc'/>
<id>75300ad2d91fac50852dc4123977d55e64c874cc</id>
<content type='text'>
This patch correct the bad expression while writing the
bit-pattern from software's buffer to hardware registers.

Signed-off-by: Sanjeev Sharma &lt;Sanjeev_Sharma@mentor.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch correct the bad expression while writing the
bit-pattern from software's buffer to hardware registers.

Signed-off-by: Sanjeev Sharma &lt;Sanjeev_Sharma@mentor.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/mlx4_core: Fix kernel Oops (mem corruption) when working with more than 80 VFs</title>
<updated>2015-02-03T03:38:04+00:00</updated>
<author>
<name>Jack Morgenstein</name>
<email>jackm@dev.mellanox.co.il</email>
</author>
<published>2015-02-02T13:18:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5a2e87b16875f9b83b7e9494cf1fce8e17dc764a'/>
<id>5a2e87b16875f9b83b7e9494cf1fce8e17dc764a</id>
<content type='text'>
Commit de966c592802 (net/mlx4_core: Support more than 64 VFs) was meant to
allow up to 126 VFs.  However, due to leaving MLX4_MFUNC_MAX too low, using
more than 80 VFs resulted in memory corruptions (and Oopses) when more than
80 VFs were requested. In addition, the number of slaves was left too high.

This commit fixes these issues.

Fixes: de966c592802 ("net/mlx4_core: Support more than 64 VFs")
Signed-off-by: Jack Morgenstein &lt;jackm@dev.mellanox.co.il&gt;
Signed-off-by: Amir Vadai &lt;amirv@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit de966c592802 (net/mlx4_core: Support more than 64 VFs) was meant to
allow up to 126 VFs.  However, due to leaving MLX4_MFUNC_MAX too low, using
more than 80 VFs resulted in memory corruptions (and Oopses) when more than
80 VFs were requested. In addition, the number of slaves was left too high.

This commit fixes these issues.

Fixes: de966c592802 ("net/mlx4_core: Support more than 64 VFs")
Signed-off-by: Jack Morgenstein &lt;jackm@dev.mellanox.co.il&gt;
Signed-off-by: Amir Vadai &lt;amirv@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sunvnet: set queue mapping when doing packet copies</title>
<updated>2015-02-03T02:20:35+00:00</updated>
<author>
<name>David L Stevens</name>
<email>david.stevens@oracle.com</email>
</author>
<published>2015-01-30T17:29:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=44ba582beac4ff8e05a15e38548ebf3deb509547'/>
<id>44ba582beac4ff8e05a15e38548ebf3deb509547</id>
<content type='text'>
This patch fixes a bug where vnet_skb_shape() didn't set the already-selected
queue mapping when a packet copy was required. This results in using the
wrong queue index for stops/starts, hung tx queues and watchdog timeouts
under heavy load.

Signed-off-by: David L Stevens &lt;david.stevens@oracle.com&gt;
Acked-by: Sowmini Varadhan &lt;sowmini.varadhan@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes a bug where vnet_skb_shape() didn't set the already-selected
queue mapping when a packet copy was required. This results in using the
wrong queue index for stops/starts, hung tx queues and watchdog timeouts
under heavy load.

Signed-off-by: David L Stevens &lt;david.stevens@oracle.com&gt;
Acked-by: Sowmini Varadhan &lt;sowmini.varadhan@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qlge: Fix qlge_update_hw_vlan_features to handle if interface is down</title>
<updated>2015-02-03T01:51:14+00:00</updated>
<author>
<name>Marcelo Leitner</name>
<email>mleitner@redhat.com</email>
</author>
<published>2015-01-30T11:56:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=61132bf7fbe3a802df1f68ad08e8ca10d6b30ddc'/>
<id>61132bf7fbe3a802df1f68ad08e8ca10d6b30ddc</id>
<content type='text'>
Currently qlge_update_hw_vlan_features() will always first put the
interface down, then update features and then bring it up again. But it
is possible to hit this code while the adapter is down and this causes a
non-paired call to napi_disable(), which will get stuck.

This patch fixes it by skipping these down/up actions if the interface
is already down.

Fixes: a45adbe8d352 ("qlge: Enhance nested VLAN (Q-in-Q) handling.")
Cc: Harish Patil &lt;harish.patil@qlogic.com&gt;
Signed-off-by: Marcelo Ricardo Leitner &lt;mleitner@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently qlge_update_hw_vlan_features() will always first put the
interface down, then update features and then bring it up again. But it
is possible to hit this code while the adapter is down and this causes a
non-paired call to napi_disable(), which will get stuck.

This patch fixes it by skipping these down/up actions if the interface
is already down.

Fixes: a45adbe8d352 ("qlge: Enhance nested VLAN (Q-in-Q) handling.")
Cc: Harish Patil &lt;harish.patil@qlogic.com&gt;
Signed-off-by: Marcelo Ricardo Leitner &lt;mleitner@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers: net: xgene: fix: Out of order descriptor bytes read</title>
<updated>2015-01-31T02:17:31+00:00</updated>
<author>
<name>Iyappan Subramanian</name>
<email>isubramanian@apm.com</email>
</author>
<published>2015-01-29T22:38:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ecf6ba83d76e0c78e89401750dc527008e14faa2'/>
<id>ecf6ba83d76e0c78e89401750dc527008e14faa2</id>
<content type='text'>
This patch fixes the following kernel crash,

	WARNING: CPU: 2 PID: 0 at net/ipv4/tcp_input.c:3079 tcp_clean_rtx_queue+0x658/0x80c()
	Call trace:
	[&lt;fffffe0000096b7c&gt;] dump_backtrace+0x0/0x184
	[&lt;fffffe0000096d10&gt;] show_stack+0x10/0x1c
	[&lt;fffffe0000685ea0&gt;] dump_stack+0x74/0x98
	[&lt;fffffe00000b44e0&gt;] warn_slowpath_common+0x88/0xb0
	[&lt;fffffe00000b461c&gt;] warn_slowpath_null+0x14/0x20
	[&lt;fffffe00005b5c1c&gt;] tcp_clean_rtx_queue+0x654/0x80c
	[&lt;fffffe00005b6228&gt;] tcp_ack+0x454/0x688
	[&lt;fffffe00005b6ca8&gt;] tcp_rcv_established+0x4a4/0x62c
	[&lt;fffffe00005bf4b4&gt;] tcp_v4_do_rcv+0x16c/0x350
	[&lt;fffffe00005c225c&gt;] tcp_v4_rcv+0x8e8/0x904
	[&lt;fffffe000059d470&gt;] ip_local_deliver_finish+0x100/0x26c
	[&lt;fffffe000059dad8&gt;] ip_local_deliver+0xac/0xc4
	[&lt;fffffe000059d6c4&gt;] ip_rcv_finish+0xe8/0x328
	[&lt;fffffe000059dd3c&gt;] ip_rcv+0x24c/0x38c
	[&lt;fffffe0000563950&gt;] __netif_receive_skb_core+0x29c/0x7c8
	[&lt;fffffe0000563ea4&gt;] __netif_receive_skb+0x28/0x7c
	[&lt;fffffe0000563f54&gt;] netif_receive_skb_internal+0x5c/0xe0
	[&lt;fffffe0000564810&gt;] napi_gro_receive+0xb4/0x110
	[&lt;fffffe0000482a2c&gt;] xgene_enet_process_ring+0x144/0x338
	[&lt;fffffe0000482d18&gt;] xgene_enet_napi+0x1c/0x50
	[&lt;fffffe0000565454&gt;] net_rx_action+0x154/0x228
	[&lt;fffffe00000b804c&gt;] __do_softirq+0x110/0x28c
	[&lt;fffffe00000b8424&gt;] irq_exit+0x8c/0xc0
	[&lt;fffffe0000093898&gt;] handle_IRQ+0x44/0xa8
	[&lt;fffffe000009032c&gt;] gic_handle_irq+0x38/0x7c
	[...]

Software writes poison data into the descriptor bytes[15:8] and upon
receiving the interrupt, if those bytes are overwritten by the hardware with
the valid data, software also reads bytes[7:0] and executes receive/tx
completion logic.

If the CPU executes the above two reads in out of order fashion, then the
bytes[7:0] will have older data and causing the kernel panic.  We have to
force the order of the reads and thus this patch introduces read memory
barrier between these reads.

Signed-off-by: Iyappan Subramanian &lt;isubramanian@apm.com&gt;
Signed-off-by: Keyur Chudgar &lt;kchudgar@apm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes the following kernel crash,

	WARNING: CPU: 2 PID: 0 at net/ipv4/tcp_input.c:3079 tcp_clean_rtx_queue+0x658/0x80c()
	Call trace:
	[&lt;fffffe0000096b7c&gt;] dump_backtrace+0x0/0x184
	[&lt;fffffe0000096d10&gt;] show_stack+0x10/0x1c
	[&lt;fffffe0000685ea0&gt;] dump_stack+0x74/0x98
	[&lt;fffffe00000b44e0&gt;] warn_slowpath_common+0x88/0xb0
	[&lt;fffffe00000b461c&gt;] warn_slowpath_null+0x14/0x20
	[&lt;fffffe00005b5c1c&gt;] tcp_clean_rtx_queue+0x654/0x80c
	[&lt;fffffe00005b6228&gt;] tcp_ack+0x454/0x688
	[&lt;fffffe00005b6ca8&gt;] tcp_rcv_established+0x4a4/0x62c
	[&lt;fffffe00005bf4b4&gt;] tcp_v4_do_rcv+0x16c/0x350
	[&lt;fffffe00005c225c&gt;] tcp_v4_rcv+0x8e8/0x904
	[&lt;fffffe000059d470&gt;] ip_local_deliver_finish+0x100/0x26c
	[&lt;fffffe000059dad8&gt;] ip_local_deliver+0xac/0xc4
	[&lt;fffffe000059d6c4&gt;] ip_rcv_finish+0xe8/0x328
	[&lt;fffffe000059dd3c&gt;] ip_rcv+0x24c/0x38c
	[&lt;fffffe0000563950&gt;] __netif_receive_skb_core+0x29c/0x7c8
	[&lt;fffffe0000563ea4&gt;] __netif_receive_skb+0x28/0x7c
	[&lt;fffffe0000563f54&gt;] netif_receive_skb_internal+0x5c/0xe0
	[&lt;fffffe0000564810&gt;] napi_gro_receive+0xb4/0x110
	[&lt;fffffe0000482a2c&gt;] xgene_enet_process_ring+0x144/0x338
	[&lt;fffffe0000482d18&gt;] xgene_enet_napi+0x1c/0x50
	[&lt;fffffe0000565454&gt;] net_rx_action+0x154/0x228
	[&lt;fffffe00000b804c&gt;] __do_softirq+0x110/0x28c
	[&lt;fffffe00000b8424&gt;] irq_exit+0x8c/0xc0
	[&lt;fffffe0000093898&gt;] handle_IRQ+0x44/0xa8
	[&lt;fffffe000009032c&gt;] gic_handle_irq+0x38/0x7c
	[...]

Software writes poison data into the descriptor bytes[15:8] and upon
receiving the interrupt, if those bytes are overwritten by the hardware with
the valid data, software also reads bytes[7:0] and executes receive/tx
completion logic.

If the CPU executes the above two reads in out of order fashion, then the
bytes[7:0] will have older data and causing the kernel panic.  We have to
force the order of the reads and thus this patch introduces read memory
barrier between these reads.

Signed-off-by: Iyappan Subramanian &lt;isubramanian@apm.com&gt;
Signed-off-by: Keyur Chudgar &lt;kchudgar@apm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ixgbevf: Fix checksum error when using stacked vlan</title>
<updated>2015-01-31T02:03:47+00:00</updated>
<author>
<name>Toshiaki Makita</name>
<email>makita.toshiaki@lab.ntt.co.jp</email>
</author>
<published>2015-01-29T11:37:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=10e4fb333c9ad72491f80bed018f8007e17060d1'/>
<id>10e4fb333c9ad72491f80bed018f8007e17060d1</id>
<content type='text'>
When a skb has multiple vlans and it is CHECKSUM_PARTIAL,
ixgbevf_tx_csum() fails to get the network protocol and checksum related
descriptor fields are not configured correctly because skb-&gt;protocol
doesn't show the L3 protocol in this case.

Use first-&gt;protocol instead of skb-&gt;protocol to get the proper network
protocol.

Signed-off-by: Toshiaki Makita &lt;makita.toshiaki@lab.ntt.co.jp&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a skb has multiple vlans and it is CHECKSUM_PARTIAL,
ixgbevf_tx_csum() fails to get the network protocol and checksum related
descriptor fields are not configured correctly because skb-&gt;protocol
doesn't show the L3 protocol in this case.

Use first-&gt;protocol instead of skb-&gt;protocol to get the proper network
protocol.

Signed-off-by: Toshiaki Makita &lt;makita.toshiaki@lab.ntt.co.jp&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ixgbe: Fix checksum error when using stacked vlan</title>
<updated>2015-01-31T02:03:47+00:00</updated>
<author>
<name>Toshiaki Makita</name>
<email>makita.toshiaki@lab.ntt.co.jp</email>
</author>
<published>2015-01-29T11:37:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0213668f060ea966ee8f4e6334f0fd27b6a1c428'/>
<id>0213668f060ea966ee8f4e6334f0fd27b6a1c428</id>
<content type='text'>
When a skb has multiple vlans and it is CHECKSUM_PARTIAL,
ixgbe_tx_csum() fails to get the network protocol and checksum related
descriptor fields are not configured correctly because skb-&gt;protocol
doesn't show the L3 protocol in this case.

Use vlan_get_protocol() to get the proper network protocol.

Signed-off-by: Toshiaki Makita &lt;makita.toshiaki@lab.ntt.co.jp&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a skb has multiple vlans and it is CHECKSUM_PARTIAL,
ixgbe_tx_csum() fails to get the network protocol and checksum related
descriptor fields are not configured correctly because skb-&gt;protocol
doesn't show the L3 protocol in this case.

Use vlan_get_protocol() to get the proper network protocol.

Signed-off-by: Toshiaki Makita &lt;makita.toshiaki@lab.ntt.co.jp&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
