linux-stable/drivers/s390/net
Thomas Richter f9d8e6dc0f s390/qeth: test RX/TX checksum offload reply
Turning on receive and/or transmit checksum offload support
on the OSA card requires 2 commands:
1. start command which replies with available features
2. enable command to turn on selected features.

The current version does not check the reply of the start
command and simply uses the returned value to enable
offload features. When the start command returns zero, this
leads to a situation where no checksum offload
is turned on by the hardware. Even worse no error
indication is returned. The Linux kernel assumes
the OSA card performs RX/TX checksum offload, but the hardware
does not perform any checksum verification at all.

This patch checks the return of the start and enable
command responses from the hardware and turns off
checksum offloading if the commands fails or does not
respond with the correct bit setting.

Signed-off-by: Thomas Richter <tmricht@linux.vnet.ibm.com>
Reviewed-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Reviewed-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-12 10:02:43 -05:00
..
ctcm_dbug.c
ctcm_dbug.h
ctcm_fsms.c
ctcm_fsms.h
ctcm_main.c s390/net: use net core MTU range checking 2016-10-20 14:51:10 -04:00
ctcm_main.h
ctcm_mpc.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
ctcm_mpc.h
ctcm_sysfs.c
fsm.c
fsm.h
Kconfig s390: remove claw driver 2015-02-28 23:38:29 -05:00
lcs.c s390/lcs: remove trailing space at end of dev_err message 2016-10-13 10:59:45 -04:00
lcs.h
Makefile s390: remove claw driver 2015-02-28 23:38:29 -05:00
netiucv.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
qeth_core.h s390/qeth: rework RX/TX checksum offload 2017-01-12 10:02:43 -05:00
qeth_core_main.c s390/qeth: test RX/TX checksum offload reply 2017-01-12 10:02:43 -05:00
qeth_core_mpc.c qeth: OSA version of SETBRIDGEPORT command 2015-05-18 12:14:17 -04:00
qeth_core_mpc.h s390/qeth: test RX/TX checksum offload reply 2017-01-12 10:02:43 -05:00
qeth_core_sys.c qeth: omit outbound queue 3 for unicast packets in Priority Queuing on HiperSockets 2016-06-16 22:16:13 -07:00
qeth_l2.h qeth: optimize IP handling in rx_mode callback 2016-06-16 22:16:12 -07:00
qeth_l2_main.c s390/net: use net core MTU range checking 2016-10-20 14:51:10 -04:00
qeth_l2_sys.c qeth: no write permission for readonly sysattr 2015-09-21 16:03:04 -07:00
qeth_l3.h qeth: optimize IP handling in rx_mode callback 2016-06-16 22:16:12 -07:00
qeth_l3_main.c s390/net: use net core MTU range checking 2016-10-20 14:51:10 -04:00
qeth_l3_sys.c s390/qeth: use ip_lock for hsuid configuration 2016-09-16 04:29:13 -04:00
smsgiucv.c s390/iucv: do not use arrays as argument 2015-09-21 16:03:04 -07:00
smsgiucv.h
smsgiucv_app.c