Blame SOURCES/9006-Revert-netdrv-ionic-let-core-reject-the-unsupported-coalesc.patch

1632d2
Reverting the following patch:
1632d2
1632d2
From 8d7542cf03abbf25caa2be86fa9e99a3cecbc971 Mon Sep 17 00:00:00 2001
1632d2
From: Jonathan Toppins <jtoppins@redhat.com>
1632d2
Date: Tue, 28 Apr 2020 19:08:32 -0400
1632d2
Subject: [PATCH] [netdrv] ionic: let core reject the unsupported coalescing
1632d2
 parameters
1632d2
1632d2
Message-id: <c642a3d6a4808815176d7a6bef8f94bba2fce80d.1588100139.git.jtoppins@redhat.com>
1632d2
Patchwork-id: 305678
1632d2
Patchwork-instance: patchwork
1632d2
O-Subject: [PATCH RHEL-8.3 48/84] ionic: let core reject the unsupported coalescing parameters
1632d2
Bugzilla: 1780645
1632d2
RH-Acked-by: John Linville <linville@redhat.com>
1632d2
RH-Acked-by: Corinna Vinschen <vinschen@redhat.com>
1632d2
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
1632d2
1632d2
Set ethtool_ops->supported_coalesce_params to let
1632d2
the core reject unsupported coalescing parameters.
1632d2
1632d2
This driver correctly rejects all unsupported parameters.
1632d2
As a side effect of these changes the error code for
1632d2
unsupported params changes from EINVAL to EOPNOTSUPP.
1632d2
1632d2
v3: adjust commit message for new error code and member name
1632d2
1632d2
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1632d2
Acked-by: Shannon Nelson <snelson@pensando.io>
1632d2
Signed-off-by: David S. Miller <davem@davemloft.net>
1632d2
(cherry picked from commit 987b191c16f9b7568a756b0745ee4a93611879ae)
1632d2
Bugzilla: 1780645
1632d2
Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=28076826
1632d2
Tested: partner and local testing show driver seems to work as expected
1632d2
Signed-off-by: Jonathan Toppins <jtoppins@redhat.com>
1632d2
Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com>
1632d2
---
1632d2
 .../net/ethernet/pensando/ionic/ionic_ethtool.c    | 23 +---------------------
1632d2
 1 file changed, 1 insertion(+), 22 deletions(-)
1632d2
1632d2
Index: src/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
1632d2
===================================================================
1632d2
--- src.orig/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c	2020-06-28 19:17:55.043944702 +0200
1632d2
+++ src/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c	2020-06-28 19:18:06.838959767 +0200
1632d2
@@ -416,6 +416,28 @@
1632d2
 	unsigned int i;
1632d2
 	u32 coal;
1632d2
 
1632d2
+	if (coalesce->rx_max_coalesced_frames ||
1632d2
+	    coalesce->rx_coalesce_usecs_irq ||
1632d2
+	    coalesce->rx_max_coalesced_frames_irq ||
1632d2
+	    coalesce->tx_max_coalesced_frames ||
1632d2
+	    coalesce->tx_coalesce_usecs_irq ||
1632d2
+	    coalesce->tx_max_coalesced_frames_irq ||
1632d2
+	    coalesce->stats_block_coalesce_usecs ||
1632d2
+	    coalesce->use_adaptive_rx_coalesce ||
1632d2
+	    coalesce->use_adaptive_tx_coalesce ||
1632d2
+	    coalesce->pkt_rate_low ||
1632d2
+	    coalesce->rx_coalesce_usecs_low ||
1632d2
+	    coalesce->rx_max_coalesced_frames_low ||
1632d2
+	    coalesce->tx_coalesce_usecs_low ||
1632d2
+	    coalesce->tx_max_coalesced_frames_low ||
1632d2
+	    coalesce->pkt_rate_high ||
1632d2
+	    coalesce->rx_coalesce_usecs_high ||
1632d2
+	    coalesce->rx_max_coalesced_frames_high ||
1632d2
+	    coalesce->tx_coalesce_usecs_high ||
1632d2
+	    coalesce->tx_max_coalesced_frames_high ||
1632d2
+	    coalesce->rate_sample_interval)
1632d2
+		return -EINVAL;
1632d2
+
1632d2
 	ident = &lif->ionic->ident;
1632d2
 	if (ident->dev.intr_coal_div == 0) {
1632d2
 		netdev_warn(netdev, "bad HW value in dev.intr_coal_div = %d\n",
1632d2
@@ -766,7 +788,6 @@
1632d2
 }
1632d2
 
1632d2
 static const struct ethtool_ops ionic_ethtool_ops = {
1632d2
-	.supported_coalesce_params = ETHTOOL_COALESCE_USECS,
1632d2
 	.get_drvinfo		= ionic_get_drvinfo,
1632d2
 	.get_regs_len		= ionic_get_regs_len,
1632d2
 	.get_regs		= ionic_get_regs,