From: Ben Hutchings <bhutchings@solarflare.com>
Date: Sat, 14 May 2011 01:35:25 +0000 (+0100)
Subject: sfc: Fix return value from efx_ethtool_set_rx_ntuple()
X-Git-Tag: firefly_0821_release~7613^2~1367^2~51^2~2
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=47a8467cc0907e2fd3e6f4d02465dfb64494133e;p=firefly-linux-kernel-4.4.55.git

sfc: Fix return value from efx_ethtool_set_rx_ntuple()

ethtool_ops::set_rx_ntuple is supposed to return 0 on success, but it
currently returns the filter ID when it inserts or modifies a filter.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---

diff --git a/drivers/net/sfc/ethtool.c b/drivers/net/sfc/ethtool.c
index 8c5e0052c44a..348437a8117e 100644
--- a/drivers/net/sfc/ethtool.c
+++ b/drivers/net/sfc/ethtool.c
@@ -955,8 +955,9 @@ static int efx_ethtool_set_rx_ntuple(struct net_device *net_dev,
 
 	if (ntuple->fs.action == ETHTOOL_RXNTUPLE_ACTION_CLEAR)
 		return efx_filter_remove_filter(efx, &filter);
-	else
-		return efx_filter_insert_filter(efx, &filter, true);
+
+	rc = efx_filter_insert_filter(efx, &filter, true);
+	return rc < 0 ? rc : 0;
 }
 
 static int efx_ethtool_get_rxfh_indir(struct net_device *net_dev,