From: Thomas Richter Date: Thu, 12 Jan 2017 14:48:34 +0000 (+0100) Subject: s390/qeth: display warning for OSA3 RX/TX checksum offloading X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=dae84c8e2a88fab45ff943675410b6c9c0d96a15;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git s390/qeth: display warning for OSA3 RX/TX checksum offloading When RX/TX checksum offloading is turned on and the adapter is an OSA 3 card in layer 3 mode, the checksum offloading is only performed when both peers use different adapters. If both peers share an OSA 3 card, communication is a memory copy and checksum offloading is not performed. This patch adds a warning to inform the administrator. OSA 3 in layer 2 mode does not offer the RX/TX checksum offload feature. Signed-off-by: Thomas Richter Reviewed-by: Julian Wiedmann Reviewed-by: Ursula Braun Signed-off-by: David S. Miller --- diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index 49b813f8f91b..ca8309ff3ad4 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c @@ -6116,6 +6116,11 @@ static int qeth_send_checksum_on(struct qeth_card *card, int cstype) if ((required_features & chksum_cb.supported) != required_features) rc = -EIO; + else if (!(QETH_IPA_CHECKSUM_LP2LP & chksum_cb.supported) && + cstype == IPA_INBOUND_CHECKSUM) + dev_warn(&card->gdev->dev, + "Hardware checksumming is performed only if %s and its peer use different OSA Express 3 ports\n", + QETH_CARD_IFNAME(card)); } if (rc) { qeth_send_simple_setassparms(card, cstype, IPA_CMD_ASS_STOP, 0);