diff options
author | Michael Chan | 2017-07-11 19:05:35 +0200 |
---|---|---|
committer | David S. Miller | 2017-07-11 19:32:11 +0200 |
commit | 3b6b34df342553a7522561e34288f5bb803aa9aa (patch) | |
tree | b4f5d946005dd413f7e2bc35fa4db83c922d98d1 /drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | |
parent | bnxt_en: Fix race conditions in .ndo_get_stats64(). (diff) | |
download | kernel-qcow2-linux-3b6b34df342553a7522561e34288f5bb803aa9aa.tar.gz kernel-qcow2-linux-3b6b34df342553a7522561e34288f5bb803aa9aa.tar.xz kernel-qcow2-linux-3b6b34df342553a7522561e34288f5bb803aa9aa.zip |
bnxt_en: Fix bug in ethtool -L.
When changing channels from combined to rx/tx or vice versa, the code
uses the wrong "sh" parameter to determine if we are reserving rings
for shared or non-shared mode. It should be using the ethtool requested
"sh" parameter instead of the current "sh" parameter.
Fix it by passing the "sh" parameter to bnxt_reserve_rings(). For
ethtool, we will pass in the requested "sh" parameter.
Fixes: 391be5c27364 ("bnxt_en: Implement new scheme to reserve tx rings.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index fd1181510b65..be6acadcb202 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -432,7 +432,8 @@ static int bnxt_set_channels(struct net_device *dev, } tx_xdp = req_rx_rings; } - rc = bnxt_reserve_rings(bp, req_tx_rings, req_rx_rings, tcs, tx_xdp); + rc = bnxt_reserve_rings(bp, req_tx_rings, req_rx_rings, sh, tcs, + tx_xdp); if (rc) { netdev_warn(dev, "Unable to allocate the requested rings\n"); return rc; |