diff options
| author | Don Skidmore <donald.c.skidmore@intel.com> | 2013-03-02 07:17:37 +0000 | 
|---|---|---|
| committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2013-04-24 17:29:02 -0700 | 
| commit | bdbeefe8ea8c7aa1e00397641e1f3dfa41a20968 (patch) | |
| tree | 24462633c17118c7cb61c2de997047f40b82cba9 | |
| parent | 01f27fc085574b301248d4da241e9d5ebd61e5c9 (diff) | |
| download | olio-linux-3.10-bdbeefe8ea8c7aa1e00397641e1f3dfa41a20968.tar.xz olio-linux-3.10-bdbeefe8ea8c7aa1e00397641e1f3dfa41a20968.zip  | |
ixgbe: fix possible divide by zero in ixgbe_update_itr
Protect the code by bailing out of ixgbe_update_itr() when this occurs.
The next call to ixgbe_update_itr will continue to dynamically update ITR.
Signed-of-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 6225f880a3f..9afc959c149 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -2095,6 +2095,9 @@ static void ixgbe_update_itr(struct ixgbe_q_vector *q_vector,  	 */  	/* what was last interrupt timeslice? */  	timepassed_us = q_vector->itr >> 2; +	if (timepassed_us == 0) +		return; +  	bytes_perint = bytes / timepassed_us; /* bytes/usec */  	switch (itr_setting) {  |