vmxnet3: adjust ring sizes when interface is down
If ethtool is used to update ring sizes on a vmxnet3 interface that isn't running, the change isn't stored, meaning the ring update is effectively is ignored and lost without any indication to the user. Other network drivers store the ring size update so that ring allocation uses the new sizes next time the interface is brought up. This patch modifies vmxnet3 to behave this way as well Signed-off-by: Neil Horman <nhorman@tuxdriver.com> CC: "David S. Miller" <davem@davemloft.net> CC: Shreyas Bhatewara <sbhatewara@vmware.com> CC: "VMware, Inc." <pv-drivers@vmware.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
7171511eae
commit
f00e2b0ac3
@@ -2589,8 +2589,8 @@ vmxnet3_open(struct net_device *netdev)
|
||||
for (i = 0; i < adapter->num_tx_queues; i++)
|
||||
spin_lock_init(&adapter->tx_queue[i].tx_lock);
|
||||
|
||||
err = vmxnet3_create_queues(adapter, VMXNET3_DEF_TX_RING_SIZE,
|
||||
VMXNET3_DEF_RX_RING_SIZE,
|
||||
err = vmxnet3_create_queues(adapter, adapter->tx_ring_size,
|
||||
adapter->rx_ring_size,
|
||||
VMXNET3_DEF_RX_RING_SIZE);
|
||||
if (err)
|
||||
goto queue_err;
|
||||
@@ -2968,6 +2968,9 @@ vmxnet3_probe_device(struct pci_dev *pdev,
|
||||
adapter->netdev = netdev;
|
||||
adapter->pdev = pdev;
|
||||
|
||||
adapter->tx_ring_size = VMXNET3_DEF_TX_RING_SIZE;
|
||||
adapter->rx_ring_size = VMXNET3_DEF_RX_RING_SIZE;
|
||||
|
||||
spin_lock_init(&adapter->cmd_lock);
|
||||
adapter->adapter_pa = dma_map_single(&adapter->pdev->dev, adapter,
|
||||
sizeof(struct vmxnet3_adapter),
|
||||
|
Reference in New Issue
Block a user