diff options
Diffstat (limited to 'drivers/net/vmxnet3/vmxnet3_drv.c')
-rw-r--r-- | drivers/net/vmxnet3/vmxnet3_drv.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c index 45a23b2599f3..67402350d0df 100644 --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c | |||
@@ -2947,6 +2947,7 @@ vmxnet3_probe_device(struct pci_dev *pdev, | |||
2947 | else | 2947 | else |
2948 | #endif | 2948 | #endif |
2949 | num_rx_queues = 1; | 2949 | num_rx_queues = 1; |
2950 | num_rx_queues = rounddown_pow_of_two(num_rx_queues); | ||
2950 | 2951 | ||
2951 | if (enable_mq) | 2952 | if (enable_mq) |
2952 | num_tx_queues = min(VMXNET3_DEVICE_MAX_TX_QUEUES, | 2953 | num_tx_queues = min(VMXNET3_DEVICE_MAX_TX_QUEUES, |
@@ -2954,6 +2955,7 @@ vmxnet3_probe_device(struct pci_dev *pdev, | |||
2954 | else | 2955 | else |
2955 | num_tx_queues = 1; | 2956 | num_tx_queues = 1; |
2956 | 2957 | ||
2958 | num_tx_queues = rounddown_pow_of_two(num_tx_queues); | ||
2957 | netdev = alloc_etherdev_mq(sizeof(struct vmxnet3_adapter), | 2959 | netdev = alloc_etherdev_mq(sizeof(struct vmxnet3_adapter), |
2958 | max(num_tx_queues, num_rx_queues)); | 2960 | max(num_tx_queues, num_rx_queues)); |
2959 | printk(KERN_INFO "# of Tx queues : %d, # of Rx queues : %d\n", | 2961 | printk(KERN_INFO "# of Tx queues : %d, # of Rx queues : %d\n", |
@@ -3138,6 +3140,7 @@ vmxnet3_remove_device(struct pci_dev *pdev) | |||
3138 | else | 3140 | else |
3139 | #endif | 3141 | #endif |
3140 | num_rx_queues = 1; | 3142 | num_rx_queues = 1; |
3143 | num_rx_queues = rounddown_pow_of_two(num_rx_queues); | ||
3141 | 3144 | ||
3142 | cancel_work_sync(&adapter->work); | 3145 | cancel_work_sync(&adapter->work); |
3143 | 3146 | ||