| From 3652116add8909971a7643948039f9c08c30d17a Mon Sep 17 00:00:00 2001 |
| From: Sameeh Jubran <sameehj@amazon.com> |
| Date: Tue, 11 Feb 2020 15:17:45 +0000 |
| Subject: [PATCH] net: ena: rss: fix failure to get indirection table |
| |
| commit 0c8923c0a64fb5d14bebb9a9065d2dc25ac5e600 upstream. |
| |
| On old hardware, getting / setting the hash function is not supported while |
| gettting / setting the indirection table is. |
| |
| This commit enables us to still show the indirection table on older |
| hardwares by setting the hash function and key to NULL. |
| |
| Fixes: 1738cd3ed342 ("net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)") |
| Signed-off-by: Sameeh Jubran <sameehj@amazon.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/net/ethernet/amazon/ena/ena_ethtool.c b/drivers/net/ethernet/amazon/ena/ena_ethtool.c |
| index de8c78ae9801..cef47c1ed789 100644 |
| --- a/drivers/net/ethernet/amazon/ena/ena_ethtool.c |
| +++ b/drivers/net/ethernet/amazon/ena/ena_ethtool.c |
| @@ -663,7 +663,21 @@ static int ena_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key, |
| if (rc) |
| return rc; |
| |
| + /* We call this function in order to check if the device |
| + * supports getting/setting the hash function. |
| + */ |
| rc = ena_com_get_hash_function(adapter->ena_dev, &ena_func, key); |
| + |
| + if (rc) { |
| + if (rc == -EOPNOTSUPP) { |
| + key = NULL; |
| + hfunc = NULL; |
| + rc = 0; |
| + } |
| + |
| + return rc; |
| + } |
| + |
| if (rc) |
| return rc; |
| |
| -- |
| 2.7.4 |
| |