forked from Minki/linux
bnxt_en: Fix invalid max channel parameter in ethtool -l.
When there is only 1 MSI-X vector or in INTA mode, tx and rx pre-set max channel parameters are shown incorrectly in ethtool -l. With only 1 vector, bnxt_get_max_rings() will return -ENOMEM. bnxt_get_channels should check this return value, and set max_rx/max_tx to 0 if it is non-zero. Signed-off-by: Satish Baddipadige <sbaddipa@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
909b27f706
commit
18d6e4e2d8
@ -327,7 +327,11 @@ static void bnxt_get_channels(struct net_device *dev,
|
||||
bnxt_get_max_rings(bp, &max_rx_rings, &max_tx_rings, true);
|
||||
channel->max_combined = max_rx_rings;
|
||||
|
||||
bnxt_get_max_rings(bp, &max_rx_rings, &max_tx_rings, false);
|
||||
if (bnxt_get_max_rings(bp, &max_rx_rings, &max_tx_rings, false)) {
|
||||
max_rx_rings = 0;
|
||||
max_tx_rings = 0;
|
||||
}
|
||||
|
||||
tcs = netdev_get_num_tc(dev);
|
||||
if (tcs > 1)
|
||||
max_tx_rings /= tcs;
|
||||
|
Loading…
Reference in New Issue
Block a user