<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net/usb, branch v4.9.5</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>r8152: fix rx issue for runtime suspend</title>
<updated>2017-01-15T12:42:55+00:00</updated>
<author>
<name>hayeswang</name>
<email>hayeswang@realtek.com</email>
</author>
<published>2017-01-10T09:04:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=66f24d624baaa9934c3288cd01d2b6dd65a399d3'/>
<id>66f24d624baaa9934c3288cd01d2b6dd65a399d3</id>
<content type='text'>
[ Upstream commit 75dc692eda114cb234a46cb11893a9c3ea520934 ]

Pause the rx and make sure the rx fifo is empty when the autosuspend
occurs.

If the rx data comes when the driver is canceling the rx urb, the host
controller would stop getting the data from the device and continue
it after next rx urb is submitted. That is, one continuing data is
split into two different urb buffers. That let the driver take the
data as a rx descriptor, and unexpected behavior happens.

Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 75dc692eda114cb234a46cb11893a9c3ea520934 ]

Pause the rx and make sure the rx fifo is empty when the autosuspend
occurs.

If the rx data comes when the driver is canceling the rx urb, the host
controller would stop getting the data from the device and continue
it after next rx urb is submitted. That is, one continuing data is
split into two different urb buffers. That let the driver take the
data as a rx descriptor, and unexpected behavior happens.

Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>r8152: split rtl8152_suspend function</title>
<updated>2017-01-15T12:42:55+00:00</updated>
<author>
<name>hayeswang</name>
<email>hayeswang@realtek.com</email>
</author>
<published>2017-01-10T09:04:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c8a89b4f5248e8d6742317b674010bdfeb31e06e'/>
<id>c8a89b4f5248e8d6742317b674010bdfeb31e06e</id>
<content type='text'>
[ Upstream commit 8fb280616878b81c0790a0c33acbeec59c5711f4 ]

Split rtl8152_suspend() into rtl8152_system_suspend() and
rtl8152_rumtime_suspend().

Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 8fb280616878b81c0790a0c33acbeec59c5711f4 ]

Split rtl8152_suspend() into rtl8152_system_suspend() and
rtl8152_rumtime_suspend().

Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NET: usb: cdc_mbim: add quirk for supporting Telit LE922A</title>
<updated>2016-12-08T18:02:25+00:00</updated>
<author>
<name>Daniele Palmas</name>
<email>dnlplm@gmail.com</email>
</author>
<published>2016-12-07T13:07:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7b8076ce8a00d553ae9d3b7eb5f0cc3e63cb16f1'/>
<id>7b8076ce8a00d553ae9d3b7eb5f0cc3e63cb16f1</id>
<content type='text'>
Telit LE922A MBIM based composition does not work properly
with altsetting toggle done in cdc_ncm_bind_common.

This patch adds CDC_MBIM_FLAG_AVOID_ALTSETTING_TOGGLE quirk
to avoid this procedure that, instead, is mandatory for
other modems.

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Reviewed-by: Bjørn Mork &lt;bjorn@mork.no&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>
Telit LE922A MBIM based composition does not work properly
with altsetting toggle done in cdc_ncm_bind_common.

This patch adds CDC_MBIM_FLAG_AVOID_ALTSETTING_TOGGLE quirk
to avoid this procedure that, instead, is mandatory for
other modems.

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Reviewed-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: usb: set error code when usb_alloc_urb fails</title>
<updated>2016-12-05T18:27:15+00:00</updated>
<author>
<name>Pan Bian</name>
<email>bianpan2016@163.com</email>
</author>
<published>2016-12-03T11:24:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=51920830d9d0eb617af18dc60443fcd4fb50a533'/>
<id>51920830d9d0eb617af18dc60443fcd4fb50a533</id>
<content type='text'>
In function lan78xx_probe(), variable ret takes the errno code on
failures. However, when the call to usb_alloc_urb() fails, its value
will keeps 0. 0 indicates success in the context, which is inconsistent
with the execution result. This patch fixes the bug, assigning
"-ENOMEM" to ret when usb_alloc_urb() returns a NULL pointer.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188771

Signed-off-by: Pan Bian &lt;bianpan2016@163.com&gt;
Acked-by: Woojung Huh &lt;woojung.huh@microchip.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>
In function lan78xx_probe(), variable ret takes the errno code on
failures. However, when the call to usb_alloc_urb() fails, its value
will keeps 0. 0 indicates success in the context, which is inconsistent
with the execution result. This patch fixes the bug, assigning
"-ENOMEM" to ret when usb_alloc_urb() returns a NULL pointer.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188771

Signed-off-by: Pan Bian &lt;bianpan2016@163.com&gt;
Acked-by: Woojung Huh &lt;woojung.huh@microchip.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NET: usb: qmi_wwan: add support for Telit LE922A PID 0x1040</title>
<updated>2016-12-02T18:42:12+00:00</updated>
<author>
<name>Daniele Palmas</name>
<email>dnlplm@gmail.com</email>
</author>
<published>2016-12-01T15:52:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9bd813da24cd49d749911d7fdc0e9ae9a673d746'/>
<id>9bd813da24cd49d749911d7fdc0e9ae9a673d746</id>
<content type='text'>
This patch adds support for PID 0x1040 of Telit LE922A.

The qmi adapter requires to have DTR set for proper working,
so QMI_WWAN_QUIRK_DTR has been enabled.

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Acked-by: Bjørn Mork &lt;bjorn@mork.no&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 adds support for PID 0x1040 of Telit LE922A.

The qmi adapter requires to have DTR set for proper working,
so QMI_WWAN_QUIRK_DTR has been enabled.

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Acked-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cdc_ether: Fix handling connection notification</title>
<updated>2016-12-02T18:40:09+00:00</updated>
<author>
<name>Kristian Evensen</name>
<email>kristian.evensen@gmail.com</email>
</author>
<published>2016-12-01T13:23:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d5c83d0d1d83b3798c71e0c8b7c3624d39c91d88'/>
<id>d5c83d0d1d83b3798c71e0c8b7c3624d39c91d88</id>
<content type='text'>
Commit bfe9b9d2df66 ("cdc_ether: Improve ZTE MF823/831/910 handling")
introduced a work-around in usbnet_cdc_status() for devices that exported
cdc carrier on twice on connect. Before the commit, this behavior caused
the link state to be incorrect. It was assumed that all CDC Ethernet
devices would either export this behavior, or send one off and then one on
notification (which seems to be the default behavior).

Unfortunately, it turns out multiple devices sends a connection
notification multiple times per second (via an interrupt), even when
connection state does not change. This has been observed with several
different USB LAN dongles (at least), for example 13b1:0041 (Linksys).
After bfe9b9d2df66, the link state has been set as down and then up for
each notification. This has caused a flood of Netlink NEWLINK messages and
syslog to be flooded with messages similar to:

cdc_ether 2-1:2.0 eth1: kevent 12 may have been dropped

This commit fixes the behavior by reverting usbnet_cdc_status() to how it
was before bfe9b9d2df66. The work-around has been moved to a separate
status-function which is only called when a known, affect device is
detected.

v1-&gt;v2:

* Do not open-code netif_carrier_ok() (thanks Henning Schild).
* Call netif_carrier_off() instead of usb_link_change(). This prevents
calling schedule_work() twice without giving the work queue a chance to be
processed (thanks Bjørn Mork).

Fixes: bfe9b9d2df66 ("cdc_ether: Improve ZTE MF823/831/910 handling")
Reported-by: Henning Schild &lt;henning.schild@siemens.com&gt;
Signed-off-by: Kristian Evensen &lt;kristian.evensen@gmail.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 bfe9b9d2df66 ("cdc_ether: Improve ZTE MF823/831/910 handling")
introduced a work-around in usbnet_cdc_status() for devices that exported
cdc carrier on twice on connect. Before the commit, this behavior caused
the link state to be incorrect. It was assumed that all CDC Ethernet
devices would either export this behavior, or send one off and then one on
notification (which seems to be the default behavior).

Unfortunately, it turns out multiple devices sends a connection
notification multiple times per second (via an interrupt), even when
connection state does not change. This has been observed with several
different USB LAN dongles (at least), for example 13b1:0041 (Linksys).
After bfe9b9d2df66, the link state has been set as down and then up for
each notification. This has caused a flood of Netlink NEWLINK messages and
syslog to be flooded with messages similar to:

cdc_ether 2-1:2.0 eth1: kevent 12 may have been dropped

This commit fixes the behavior by reverting usbnet_cdc_status() to how it
was before bfe9b9d2df66. The work-around has been moved to a separate
status-function which is only called when a known, affect device is
detected.

v1-&gt;v2:

* Do not open-code netif_carrier_ok() (thanks Henning Schild).
* Call netif_carrier_off() instead of usb_link_change(). This prevents
calling schedule_work() twice without giving the work queue a chance to be
processed (thanks Bjørn Mork).

Fixes: bfe9b9d2df66 ("cdc_ether: Improve ZTE MF823/831/910 handling")
Reported-by: Henning Schild &lt;henning.schild@siemens.com&gt;
Signed-off-by: Kristian Evensen &lt;kristian.evensen@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: asix: Fix AX88772_suspend() USB vendor commands failure issues</title>
<updated>2016-12-01T19:26:56+00:00</updated>
<author>
<name>allan</name>
<email>allan@asix.com.tw</email>
</author>
<published>2016-11-30T08:29:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=fadf3a28054404f075c05d9ca8ebd4b4ce9ebc0f'/>
<id>fadf3a28054404f075c05d9ca8ebd4b4ce9ebc0f</id>
<content type='text'>
The change fixes AX88772_suspend() USB vendor commands failure issues.

Signed-off-by: Allan Chou &lt;allan@asix.com.tw&gt;
Tested-by: Allan Chou &lt;allan@asix.com.tw&gt;
Tested-by: Jon Hunter &lt;jonathanh@nvidia.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 change fixes AX88772_suspend() USB vendor commands failure issues.

Signed-off-by: Allan Chou &lt;allan@asix.com.tw&gt;
Tested-by: Allan Chou &lt;allan@asix.com.tw&gt;
Tested-by: Jon Hunter &lt;jonathanh@nvidia.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>r8152: Fix error path in open function</title>
<updated>2016-11-13T17:03:20+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2016-11-10T03:51:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ca0a75316dc62af92943761b1cc049e15c92eb09'/>
<id>ca0a75316dc62af92943761b1cc049e15c92eb09</id>
<content type='text'>
If usb_submit_urb() called from the open function fails, the following
crash may be observed.

r8152 8-1:1.0 eth0: intr_urb submit failed: -19
...
r8152 8-1:1.0 eth0: v1.08.3
Unable to handle kernel paging request at virtual address 6b6b6b6b6b6b6b7b
pgd = ffffffc0e7305000
[6b6b6b6b6b6b6b7b] *pgd=0000000000000000, *pud=0000000000000000
Internal error: Oops: 96000004 [#1] PREEMPT SMP
...
PC is at notifier_chain_register+0x2c/0x58
LR is at blocking_notifier_chain_register+0x54/0x70
...
Call trace:
[&lt;ffffffc0002407f8&gt;] notifier_chain_register+0x2c/0x58
[&lt;ffffffc000240bdc&gt;] blocking_notifier_chain_register+0x54/0x70
[&lt;ffffffc00026991c&gt;] register_pm_notifier+0x24/0x2c
[&lt;ffffffbffc183200&gt;] rtl8152_open+0x3dc/0x3f8 [r8152]
[&lt;ffffffc000808000&gt;] __dev_open+0xac/0x104
[&lt;ffffffc0008082f8&gt;] __dev_change_flags+0xb0/0x148
[&lt;ffffffc0008083c4&gt;] dev_change_flags+0x34/0x70
[&lt;ffffffc000818344&gt;] do_setlink+0x2c8/0x888
[&lt;ffffffc0008199d4&gt;] rtnl_newlink+0x328/0x644
[&lt;ffffffc000819e98&gt;] rtnetlink_rcv_msg+0x1a8/0x1d4
[&lt;ffffffc0008373c8&gt;] netlink_rcv_skb+0x68/0xd0
[&lt;ffffffc000817990&gt;] rtnetlink_rcv+0x2c/0x3c
[&lt;ffffffc000836d1c&gt;] netlink_unicast+0x16c/0x234
[&lt;ffffffc00083720c&gt;] netlink_sendmsg+0x340/0x364
[&lt;ffffffc0007e85d0&gt;] sock_sendmsg+0x48/0x60
[&lt;ffffffc0007e9c30&gt;] SyS_sendto+0xe0/0x120
[&lt;ffffffc0007e9cb0&gt;] SyS_send+0x40/0x4c
[&lt;ffffffc000203e34&gt;] el0_svc_naked+0x24/0x28

Clean up error handling to avoid registering the notifier if the open
function is going to fail.

Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&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>
If usb_submit_urb() called from the open function fails, the following
crash may be observed.

r8152 8-1:1.0 eth0: intr_urb submit failed: -19
...
r8152 8-1:1.0 eth0: v1.08.3
Unable to handle kernel paging request at virtual address 6b6b6b6b6b6b6b7b
pgd = ffffffc0e7305000
[6b6b6b6b6b6b6b7b] *pgd=0000000000000000, *pud=0000000000000000
Internal error: Oops: 96000004 [#1] PREEMPT SMP
...
PC is at notifier_chain_register+0x2c/0x58
LR is at blocking_notifier_chain_register+0x54/0x70
...
Call trace:
[&lt;ffffffc0002407f8&gt;] notifier_chain_register+0x2c/0x58
[&lt;ffffffc000240bdc&gt;] blocking_notifier_chain_register+0x54/0x70
[&lt;ffffffc00026991c&gt;] register_pm_notifier+0x24/0x2c
[&lt;ffffffbffc183200&gt;] rtl8152_open+0x3dc/0x3f8 [r8152]
[&lt;ffffffc000808000&gt;] __dev_open+0xac/0x104
[&lt;ffffffc0008082f8&gt;] __dev_change_flags+0xb0/0x148
[&lt;ffffffc0008083c4&gt;] dev_change_flags+0x34/0x70
[&lt;ffffffc000818344&gt;] do_setlink+0x2c8/0x888
[&lt;ffffffc0008199d4&gt;] rtnl_newlink+0x328/0x644
[&lt;ffffffc000819e98&gt;] rtnetlink_rcv_msg+0x1a8/0x1d4
[&lt;ffffffc0008373c8&gt;] netlink_rcv_skb+0x68/0xd0
[&lt;ffffffc000817990&gt;] rtnetlink_rcv+0x2c/0x3c
[&lt;ffffffc000836d1c&gt;] netlink_unicast+0x16c/0x234
[&lt;ffffffc00083720c&gt;] netlink_sendmsg+0x340/0x364
[&lt;ffffffc0007e85d0&gt;] sock_sendmsg+0x48/0x60
[&lt;ffffffc0007e9c30&gt;] SyS_sendto+0xe0/0x120
[&lt;ffffffc0007e9cb0&gt;] SyS_send+0x40/0x4c
[&lt;ffffffc000203e34&gt;] el0_svc_naked+0x24/0x28

Clean up error handling to avoid registering the notifier if the open
function is going to fail.

Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Net Driver: Add Cypress GX3 VID=04b4 PID=3610.</title>
<updated>2016-11-10T02:45:34+00:00</updated>
<author>
<name>Allan Chou</name>
<email>allan@asix.com.tw</email>
</author>
<published>2016-11-08T22:08:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8da3cf2a49a6d0ca5e620c6a5eee49b99a3f0880'/>
<id>8da3cf2a49a6d0ca5e620c6a5eee49b99a3f0880</id>
<content type='text'>
Add support for Cypress GX3 SuperSpeed to Gigabit Ethernet
Bridge Controller (Vendor=04b4 ProdID=3610).

Patch verified on x64 linux kernel 4.7.4, 4.8.6, 4.9-rc4 systems
with the Kensington SD4600P USB-C Universal Dock with Power,
which uses the Cypress GX3 SuperSpeed to Gigabit Ethernet Bridge
Controller.

A similar patch was signed-off and tested-by Allan Chou
&lt;allan@asix.com.tw&gt; on 2015-12-01.

Allan verified his similar patch on x86 Linux kernel 4.1.6 system
with Cypress GX3 SuperSpeed to Gigabit Ethernet Bridge Controller.

Tested-by: Allan Chou &lt;allan@asix.com.tw&gt;
Tested-by: Chris Roth &lt;chris.roth@usask.ca&gt;
Tested-by: Artjom Simon &lt;artjom.simon@gmail.com&gt;

Signed-off-by: Allan Chou &lt;allan@asix.com.tw&gt;
Signed-off-by: Chris Roth &lt;chris.roth@usask.ca&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>
Add support for Cypress GX3 SuperSpeed to Gigabit Ethernet
Bridge Controller (Vendor=04b4 ProdID=3610).

Patch verified on x64 linux kernel 4.7.4, 4.8.6, 4.9-rc4 systems
with the Kensington SD4600P USB-C Universal Dock with Power,
which uses the Cypress GX3 SuperSpeed to Gigabit Ethernet Bridge
Controller.

A similar patch was signed-off and tested-by Allan Chou
&lt;allan@asix.com.tw&gt; on 2015-12-01.

Allan verified his similar patch on x86 Linux kernel 4.1.6 system
with Cypress GX3 SuperSpeed to Gigabit Ethernet Bridge Controller.

Tested-by: Allan Chou &lt;allan@asix.com.tw&gt;
Tested-by: Chris Roth &lt;chris.roth@usask.ca&gt;
Tested-by: Artjom Simon &lt;artjom.simon@gmail.com&gt;

Signed-off-by: Allan Chou &lt;allan@asix.com.tw&gt;
Signed-off-by: Chris Roth &lt;chris.roth@usask.ca&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>r8152: Fix broken RX checksums.</title>
<updated>2016-10-31T00:56:13+00:00</updated>
<author>
<name>Mark Lord</name>
<email>mlord@pobox.com</email>
</author>
<published>2016-10-30T23:28:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b9a321b48af40e0606009df8aff0a8c65dfbbfd8'/>
<id>b9a321b48af40e0606009df8aff0a8c65dfbbfd8</id>
<content type='text'>
The r8152 driver has been broken since (approx) 3.16.xx
when support was added for hardware RX checksums
on newer chip versions.  Symptoms include random
segfaults and silent data corruption over NFS.

The hardware checksum logig does not work on the VER_02
dongles I have here when used with a slow embedded system CPU.
Google reveals others reporting similar issues on Raspberry Pi.

So, disable hardware RX checksum support for VER_02, and fix
an obvious coding error for IPV6 checksums in the same function.

Because this bug results in silent data corruption,
it is a good candidate for back-porting to -stable &gt;= 3.16.xx.

Signed-off-by: Mark Lord &lt;mlord@pobox.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 r8152 driver has been broken since (approx) 3.16.xx
when support was added for hardware RX checksums
on newer chip versions.  Symptoms include random
segfaults and silent data corruption over NFS.

The hardware checksum logig does not work on the VER_02
dongles I have here when used with a slow embedded system CPU.
Google reveals others reporting similar issues on Raspberry Pi.

So, disable hardware RX checksum support for VER_02, and fix
an obvious coding error for IPV6 checksums in the same function.

Because this bug results in silent data corruption,
it is a good candidate for back-porting to -stable &gt;= 3.16.xx.

Signed-off-by: Mark Lord &lt;mlord@pobox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
