mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 01:34:14 +08:00
ixgbe: handle parameters for tx and rx EITR, no div0
The driver was doing a divide by zero when adjusting tx-usecs. This patch removes the divide by zero code and changes the logic slightly to ignore tx-usecs in the case of shared TxRx vectors. Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
429d33ace5
commit
cfb3f91af4
@ -1972,6 +1972,10 @@ static int ixgbe_get_coalesce(struct net_device *netdev,
|
||||
break;
|
||||
}
|
||||
|
||||
/* if in mixed tx/rx queues per vector mode, report only rx settings */
|
||||
if (adapter->q_vector[0]->txr_count && adapter->q_vector[0]->rxr_count)
|
||||
return 0;
|
||||
|
||||
/* only valid if in constant ITR mode */
|
||||
switch (adapter->tx_itr_setting) {
|
||||
case 0:
|
||||
@ -1997,12 +2001,9 @@ static int ixgbe_set_coalesce(struct net_device *netdev,
|
||||
struct ixgbe_q_vector *q_vector;
|
||||
int i;
|
||||
|
||||
/*
|
||||
* don't accept tx specific changes if we've got mixed RxTx vectors
|
||||
* test and jump out here if needed before changing the rx numbers
|
||||
*/
|
||||
if ((1000000/ec->tx_coalesce_usecs) != adapter->tx_eitr_param &&
|
||||
adapter->q_vector[0]->txr_count && adapter->q_vector[0]->rxr_count)
|
||||
/* don't accept tx specific changes if we've got mixed RxTx vectors */
|
||||
if (adapter->q_vector[0]->txr_count && adapter->q_vector[0]->rxr_count
|
||||
&& ec->tx_coalesce_usecs)
|
||||
return -EINVAL;
|
||||
|
||||
if (ec->tx_max_coalesced_frames_irq)
|
||||
|
Loading…
Reference in New Issue
Block a user